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

Test-Cases: ${classes;CONCRETE;EXTENDS;org.apache.ace.it.IntegrationTestBase}
-buildpath: \
	junit.osgi,\
	osgi.core;version=6.0.0,\
	osgi.cmpn,\
	org.apache.felix.dependencymanager,\
	org.apache.ace.test;version=latest,\
	org.apache.ace.http.listener;version=latest,\
	org.apache.ace.discovery.api;version=latest,\
	org.apache.ace.discovery.property;version=latest,\
	org.apache.ace.identification.api;version=latest,\
	org.apache.ace.identification.property;version=latest,\
	org.apache.ace.log.server.store.api;version=latest,\
	javax.servlet,\
	org.apache.ace.feedback.common;version=latest
-runfw: org.apache.felix.framework;version='[5.2.0,6)'
-runvm: -ea
-runbundles: osgi.cmpn,\
	org.apache.felix.eventadmin,\
	org.apache.felix.http.jetty,\
	org.apache.felix.dependencymanager,\
	org.apache.felix.configadmin,\
	org.apache.ace.test;version=latest,\
	org.apache.ace.http.listener;version=latest,\
	org.apache.ace.deployment.provider.api;version=latest
Private-Package: org.apache.ace.it.http
Bundle-Version: 1.0.0
Bundle-Name: Apache ACE HTTP itest
Bundle-Description: Integration test bundle for Apache ACE HTTP
Bundle-Category: itest
-baseline:
