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

-buildpath: \
	${^-buildpath},\
	osgi.core;version=6.0.0,\
	osgi.cmpn,\
	org.apache.felix.dependencymanager,\
	org.apache.ace.client.repository.api;version=latest,\
	org.apache.ace.test;version=latest,\
	org.apache.felix.gogo.runtime,\
	org.apache.ace.authentication.api;version=latest
	
Bundle-Version: 1.0.0
Bundle-Activator: org.apache.ace.client.workspace.impl.Activator
Export-Package: org.apache.ace.client.workspace
Private-Package: org.apache.ace.client.workspace.impl
