###############################################################################
# Copyright (c) 2011 SAP AG, Walldorf.
# 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:
#     SAP AG - initial API and implementation
###############################################################################
bin.includes = feature.xml,\
               feature.properties

generate.feature@org.eclipse.platform.discovery.source.feature=org.eclipse.platform.discovery.feature
generate.feature@org.eclipse.demo.search.example.source.feature=org.eclipse.demo.search.example.feature
generate.feature@org.eclipse.platform.discovery.compatibility.source.feature=org.eclipse.platform.discovery.compatibility.feature
