###############################################################################
# Copyright (c) 2010 Ketan Padegaonkar 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:
#     Ketan Padegaonkar - initial API and implementation
###############################################################################
source.. = src
output.. = bin/
bin.includes = META-INF/,\
               .,\
               LICENSE.EPL,\
               about.html,\
               plugin.xml,\
               src/,\
               intro/,\
               about.ini,\
               about.properties,\
               icons/
jars.compile.order = .
src.includes = LICENSE.EPL,\
               about.html,\
               intro/,\
               about.ini,\
               about.properties,\
               icons/
