###############################################################################
# Copyright (c) 2009 Mia-Software.
# 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:
#    Nicolas GUYOMAR (Mia-Software) - tests and implementation
###############################################################################
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
               .,\
               plugin.xml,\
               about.html,\
               icons/,\
               javaTypesCustomizationFacet.uiCustom,\
               javaTypesCustomizationFacet.facetSet,\
               java.uiCustom,\
               src/,\
               .classpath,\
               .project,\
               build.properties,\
               OSGI-INF/
src.includes = about.html
