###############################################################################
# Copyright (c) 2009 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,license.html,epl-v10.html,license.html,feature.properties

generate.plugin@org.apache.commons.codec.source=org.apache.commons.codec
generate.plugin@org.apache.commons.httpclient.source=org.apache.commons.httpclient
generate.plugin@org.apache.commons.logging.source=org.apache.commons.logging
generate.plugin@org.eclipse.ecf.filetransfer.source=org.eclipse.ecf.filetransfer
generate.plugin@org.eclipse.ecf.identity.source=org.eclipse.ecf.identity
generate.plugin@org.eclipse.ecf.provider.filetransfer.httpclient.source=org.eclipse.ecf.provider.filetransfer.httpclient
generate.plugin@org.eclipse.ecf.provider.filetransfer.httpclient.ssl.source=org.eclipse.ecf.provider.filetransfer.httpclient.ssl
generate.plugin@org.eclipse.ecf.provider.filetransfer.source=org.eclipse.ecf.provider.filetransfer
generate.plugin@org.eclipse.ecf.provider.filetransfer.ssl.source=org.eclipse.ecf.provider.filetransfer.ssl
generate.plugin@org.eclipse.ecf.source=org.eclipse.ecf
generate.plugin@org.eclipse.ecf.ssl.source=org.eclipse.ecf.ssl
generate.plugin@org.eclipse.equinox.frameworkadmin.equinox.source=org.eclipse.equinox.frameworkadmin.equinox
generate.plugin@org.eclipse.equinox.frameworkadmin.source=org.eclipse.equinox.frameworkadmin
generate.plugin@org.eclipse.equinox.p2.artifact.repository.source=org.eclipse.equinox.p2.artifact.repository
generate.plugin@org.eclipse.equinox.p2.console.source=org.eclipse.equinox.p2.console
generate.plugin@org.eclipse.equinox.p2.core.source=org.eclipse.equinox.p2.core
generate.plugin@org.eclipse.equinox.p2.director.app.source=org.eclipse.equinox.p2.director.app
generate.plugin@org.eclipse.equinox.p2.director.source=org.eclipse.equinox.p2.director
generate.plugin@org.eclipse.equinox.p2.directorywatcher.source=org.eclipse.equinox.p2.directorywatcher
generate.plugin@org.eclipse.equinox.p2.engine.source=org.eclipse.equinox.p2.engine
generate.plugin@org.eclipse.equinox.p2.exemplarysetup.source=org.eclipse.equinox.p2.exemplarysetup
generate.plugin@org.eclipse.equinox.p2.extensionlocation.source=org.eclipse.equinox.p2.extensionlocation
generate.plugin@org.eclipse.equinox.p2.garbagecollector.source=org.eclipse.equinox.p2.garbagecollector
generate.plugin@org.eclipse.equinox.p2.installer.source=org.eclipse.equinox.p2.installer
generate.plugin@org.eclipse.equinox.p2.jarprocessor.source=org.eclipse.equinox.p2.jarprocessor
generate.plugin@org.eclipse.equinox.p2.metadata.generator.source=org.eclipse.equinox.p2.metadata.generator
generate.plugin@org.eclipse.equinox.p2.metadata.repository.source=org.eclipse.equinox.p2.metadata.repository
generate.plugin@org.eclipse.equinox.p2.metadata.source=org.eclipse.equinox.p2.metadata
generate.plugin@org.eclipse.equinox.p2.publisher.source=org.eclipse.equinox.p2.publisher
generate.plugin@org.eclipse.equinox.p2.reconciler.dropins.source=org.eclipse.equinox.p2.reconciler.dropins
generate.plugin@org.eclipse.equinox.p2.repository.source=org.eclipse.equinox.p2.repository
generate.plugin@org.eclipse.equinox.p2.repository.tools.source=org.eclipse.equinox.p2.repository.tools
generate.plugin@org.eclipse.equinox.p2.tools.source=org.eclipse.equinox.p2.tools
generate.plugin@org.eclipse.equinox.p2.touchpoint.eclipse.source=org.eclipse.equinox.p2.touchpoint.eclipse
generate.plugin@org.eclipse.equinox.p2.touchpoint.natives.source=org.eclipse.equinox.p2.touchpoint.natives
generate.plugin@org.eclipse.equinox.p2.ui.admin.rcp.source=org.eclipse.equinox.p2.ui.admin.rcp
generate.plugin@org.eclipse.equinox.p2.ui.admin.source=org.eclipse.equinox.p2.ui.admin
generate.plugin@org.eclipse.equinox.p2.ui.sdk.scheduler.source=org.eclipse.equinox.p2.ui.sdk.scheduler
generate.plugin@org.eclipse.equinox.p2.ui.sdk.source=org.eclipse.equinox.p2.ui.sdk
generate.plugin@org.eclipse.equinox.p2.ui.source=org.eclipse.equinox.p2.ui
generate.plugin@org.eclipse.equinox.p2.updatechecker.source=org.eclipse.equinox.p2.updatechecker
generate.plugin@org.eclipse.equinox.p2.updatesite.source=org.eclipse.equinox.p2.updatesite
generate.plugin@org.eclipse.equinox.simpleconfigurator.manipulator.source=org.eclipse.equinox.simpleconfigurator.manipulator
generate.plugin@org.eclipse.equinox.simpleconfigurator.source=org.eclipse.equinox.simpleconfigurator
