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

-buildpath: \
	${^-buildpath},\
	${testng},\
	osgi.core;version=6.0.0,\
	osgi.cmpn,\
	org.apache.felix.dependencymanager,\
	org.apache.felix.http.api,\
	org.apache.felix.http.servlet-api,\
	org.apache.ace.range.api;version=latest,\
	org.apache.ace.test;version=latest,\
	org.apache.ace.authentication.api;version=latest,\
	org.apache.ace.scheduler.api;version=latest,\
	org.apache.ace.discovery.api;version=latest,\
	org.apache.ace.connectionfactory;version=latest,\
	org.apache.ace.http.api;version=latest
	
-sub: *.bnd
