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

-runfw: org.apache.felix.framework;version='[5.2.0,6)'
-runee: JavaSE-1.6
-runbundles: org.apache.felix.dependencymanager,\
	org.apache.felix.useradmin,\
	org.apache.felix.useradmin.filestore,\
	org.apache.felix.log,\
	org.apache.felix.prefs,\
	org.apache.felix.configadmin,\
	org.apache.felix.eventadmin,\
	org.apache.felix.gogo.runtime,\
	org.apache.felix.gogo.shell,\
	org.apache.felix.gogo.command,\
	org.apache.felix.http.jetty,\
	org.apache.felix.dependencymanager.shell,\
	osgi.cmpn;version=latest,\
	org.apache.ace.authentication.api;version=latest,\
	org.apache.ace.authentication.impl;version=latest,\
	org.apache.ace.authentication.processor.basicauth;version=latest,\
	org.apache.ace.authentication.processor.password;version=latest,\
	org.apache.ace.configurator.useradmin.task;version=latest,\
	org.apache.ace.configurator.impl;version=latest,\
	org.apache.ace.connectionfactory;version=latest,\
	org.apache.ace.deployment.provider.api;version=latest,\
	org.apache.ace.deployment.provider.repositorybased;version=latest,\
	org.apache.ace.deployment.servlet;version=latest,\
	org.apache.ace.deployment.streamgenerator;version=latest,\
	org.apache.ace.verifier.impl;version=latest,\
	org.apache.ace.http.listener;version=latest,\
	org.apache.ace.log.server.servlet;version=latest,\
	org.apache.ace.log.api;version=latest,\
	org.apache.ace.range.api;version=latest,\
	org.apache.ace.repository.api;version=latest,\
	org.apache.ace.repository.impl;version=latest,\
	org.apache.ace.repository.servlet;version=latest,\
	org.apache.ace.resourceprocessor.useradmin;version=latest,\
	org.apache.ace.scheduler.impl;version=latest,\
	org.apache.ace.log.server.store.api;version=latest,\
	org.apache.ace.log.server.store.file;version=latest,\
	org.apache.ace.feedback.common;version=latest
-runrepos: Workspace,\
	Release
-runproperties: org.apache.felix.log.storeDebug=true,\
	org.apache.felix.eventadmin.Timeout=0,\
	org.apache.ace.server=localhost:8080,\
	org.apache.ace.obr=localhost:8082,\
	org.osgi.service.http.port=8080,\
	org.apache.felix.log.maxSize=1000,\
	launch.keep=true,\
	launch.storage.dir=bundle-cache
	
