###############################################################################
# Copyright (c) 2009, 2011 EclipseSource 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:
#     EclipseSource - initial API and implementation
###############################################################################
bin.includes = feature.xml,feature.properties

generate.plugin@org.eclipse.equinox.app.source=org.eclipse.equinox.app
generate.plugin@org.eclipse.equinox.cm.source=org.eclipse.equinox.cm
generate.plugin@org.eclipse.equinox.device.source=org.eclipse.equinox.device
generate.plugin@org.eclipse.equinox.ds.source=org.eclipse.equinox.ds
generate.plugin@org.eclipse.equinox.event.source=org.eclipse.equinox.event
generate.plugin@org.eclipse.equinox.io.source=org.eclipse.equinox.io
generate.plugin@org.eclipse.equinox.ip.source=org.eclipse.equinox.ip
generate.plugin@org.eclipse.equinox.log.source=org.eclipse.equinox.log
generate.plugin@org.eclipse.equinox.metatype.source=org.eclipse.equinox.metatype
generate.plugin@org.eclipse.equinox.preferences.source=org.eclipse.equinox.preferences
generate.plugin@org.eclipse.equinox.useradmin.source=org.eclipse.equinox.useradmin
generate.plugin@org.eclipse.equinox.wireadmin.source=org.eclipse.equinox.wireadmin
generate.plugin@org.eclipse.equinox.util.source=org.eclipse.equinox.util
generate.plugin@org.eclipse.equinox.coordinator.source=org.eclipse.equinox.coordinator 
