# 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,\
	com.vaadin,\
	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.client.repository.api;version=latest,\
	org.apache.ace.client.repository.helper.base;version=latest,\
	org.apache.ace.client.repository.helper.bundle;version=latest,\
	org.apache.ace.client.repository.helper.configuration;version=latest,\
	org.apache.ace.client.repository.impl;version=latest,\
	org.apache.ace.client.rest;version=latest,\
	org.apache.ace.client.workspace;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.consolelogger;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.discovery.api;version=latest,\
	org.apache.ace.http.listener;version=latest,\
	org.apache.ace.http.redirector;version=latest,\
	org.apache.ace.log.api;version=latest,\
	org.apache.ace.log.server.servlet;version=latest,\
	org.apache.ace.log.server.store.api;version=latest,\
	org.apache.ace.log.server.store.file;version=latest,\
	org.apache.ace.log.server.ui;version=latest,\
	org.apache.ace.nodelauncher.amazon;version=latest,\
	org.apache.ace.nodelauncher.api;version=latest,\
	org.apache.ace.nodelauncher.ui;version=latest,\
	org.apache.ace.obr.metadata;version=latest,\
	org.apache.ace.obr.servlet;version=latest,\
	org.apache.ace.obr.storage;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.tageditor;version=latest,\
	org.apache.ace.target.mgmt.ui;version=latest,\
	org.apache.ace.useradmin.ui;version=latest,\
	org.apache.ace.verifier.impl;version=latest,\
	org.apache.ace.verifier.ui;version=latest,\
	org.apache.ace.webui.vaadin;version=latest,\
	org.apache.ace.gogo;version=latest,\
	org.apache.ace.feedback.common;version=latest
-runrepos: Workspace,\
	Local Repository,\
	Release,\
	ApacheAce Hub,\
	Bndtools Hub,\
	Library Repository
-runproperties: org.apache.felix.log.storeDebug=true,\
	org.apache.felix.eventadmin.Timeout=0,\
	org.apache.ace.server=localhost:8080,\
	org.apache.ace.obr=localhost:8080,\
	org.osgi.service.http.port=8080,\
	org.apache.felix.log.maxSize=1000,\
	launch.keep=true,\
	launch.storage.dir=bundle-cache

# Add some extra memory to the VM
-runvm: -Xmx1G

# Enable Yourkit profiling
#-runvm: -Xmx1G -agentpath:/Applications/YourKit_Java_Profiler_12.0.5.app/bin/mac/libyjpagent.jnilib
