#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.

#-runjdb: 8000

-standalone: true
-runee: JavaSE-1.8
-runfw: org.eclipse.osgi
-runproperties: \
	eclipse.log.enabled=false,\
	logback.configurationFile=file:${.}/logback.xml,\
	org.osgi.service.http.port=0,\
	osgi.console=,\
	tck.config.test.javaconfig.converter.stringvalues=foo,\
	test.property.a=blah,\
	test.property.b=,\
	org.apache.felix.http.host=localhost

-resolve.effective: resolve, active

-runpath: \
	ch.qos.logback.classic,\
	ch.qos.logback.core,\
	org.apache.felix.logback,\
	slf4j.api

-runsystempackages: \
	org.slf4j;version=1.7.25,\
	org.slf4j.event;version=1.7.25,\
	org.slf4j.helpers;version=1.7.25,\
	org.slf4j.spi;version=1.7.25,\
	sun.misc

-runrequires.base: \
	osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.extra)',\
	osgi.identity;filter:='(osgi.identity=org.apache.aries.cdi.itests)',\
	osgi.identity;filter:='(osgi.identity=org.apache.aries.jndi.core)',\
	osgi.identity;filter:='(osgi.identity=org.apache.felix.gogo.command)'
