# Licensed to the Apache Software Foundation (ASF) under the terms of ASLv2 (http://www.apache.org/licenses/LICENSE-2.0).

Private-Package: \
	org.apache.ace.obr.metadata.repoindex,\
	org.apache.ace.obr.metadata.util,\
	org.osgi.service.indexer,\
	org.osgi.service.indexer.impl,\
	org.osgi.service.indexer.impl.types,\
	org.osgi.service.indexer.impl.util
	
Bundle-Activator: org.apache.ace.obr.metadata.repoindex.Activator
Export-Package: org.apache.ace.obr.metadata,\
	org.osgi.impl.bundle.obr.resource,\
	org.osgi.service.obr
Bundle-Version: 2.0.1
Bundle-Name: Apache ACE OBR MetaData
Bundle-Description: Provides the ACE OBR MetaData packages