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

Export-Package: org.apache.ace.deployment.verifier,\
	org.osgi.service.log,\
	org.osgi.framework.wiring
Private-Package: org.apache.felix.framework,\
	org.apache.felix.framework.capabilityset,\
	org.apache.felix.framework.resolver,\
	org.apache.felix.framework.util,\
	org.apache.felix.framework.util.manifestparser,\
	org.apache.felix.framework.wiring,\
	org.apache.ace.deployment.verifier.impl
Import-Package: org.osgi.framework;version='[1.5,2)',\
	*
Bundle-Version: 1.1.0
Bundle-Activator: org.apache.ace.deployment.verifier.impl.Activator
Bundle-Name: Apache ACE Verifier Service
Bundle-Description: Registers the Apache ACE verifier service