# 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;version=4.3.1,\
	org.apache.felix.http.servlet-api,\
	org.apache.felix.dependencymanager,\
	com.vaadin,\
	org.apache.ace.authentication.api;version=latest,\
	org.apache.ace.identification.api;version=latest,\
	org.apache.ace.discovery.api;version=latest,\
	org.apache.ace.connectionfactory;version=latest,\
	org.apache.ace.repository.api;version=latest,\
	org.apache.ace.repository.ext;version=latest,\
	org.apache.ace.scheduler.api;version=latest,\
	org.apache.ace.range.api;version=latest,\
	org.apache.ace.client.repository.api;version=latest,\
	org.apache.ace.test;version=latest,\
	org.apache.ace.log.target.store.impl;version=latest,\
	org.apache.ace.webui.vaadin;version=latest
-sub: *.bnd
