# ==============================================================================
#*+------------------------------------------------------------------------+
#*| Copyright (c) 2005, 2013  IBM Corporation and others.                  |
#*| All rights reserved. This program and the accompanying materials       |
#*| are made available under the terms of the Eclipse Public License v1.0  |
#*| which accompanies this distribution, and is available at               |
#*| http://www.eclipse.org/legal/epl-v10.html                              |
#*|                                                                        |
#*| Contributors:                                                          |
#*|    IBM Corporation - initial API and implementation                    |
#*+------------------------------------------------------------------------+
# ==============================================================================
bin.includes = plugin.xml,\
               plugin.properties,\
               META-INF/,\
               .,\
               model/,\
               about.html
jars.compile.order = .
source.. = src/
output.. = bin/
src.includes = about.html
