###############################################################################
# Copyright (c) 2010 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:
#    Gregoire DUPE (Mia-Software) - initial API and implementation
###############################################################################
bin.includes = feature.xml,\
               license.html,\
               feature.properties,\
               epl-v10.html

generate.feature@org.eclipse.gmt.modisco.java.cdo.source=org.eclipse.gmt.modisco.java.cdo
src.includes = epl-v10.html,\
               feature.properties,\
               feature.xml,\
               license.html
