baseBundles = \
 file:plugins/org.eclipse.equinox.cm_@EQUINOX.CONFIGADMIN.VERSION@.jar@start,\
 file:plugins/org.eclipse.virgo.kernel.userregion_@VIRGO.VERSION@.jar@start,\
 file:plugins/org.eclipse.virgo.shell.command_@VIRGO.VERSION@.jar@start,\
 file:plugins/org.eclipse.osgi.services_@OSGI.SERVICES.VERSION@.jar@start,\
 file:plugins/org.apache.mina.core_@MINA.CORE.VERSION@.jar@start,\
 file:plugins/org.apache.felix.gogo.command_@FELIX.GOGO.COMMAND.VERSION@.jar@start,\
 file:plugins/org.apache.felix.gogo.runtime_@FELIX.GOGO.RUNTIME.VERSION@.jar@start,\
 file:plugins/org.apache.felix.gogo.shell_@FELIX.GOGO.SHELL.VERSION@.jar@start,\
 file:plugins/org.eclipse.equinox.console_@EQUINOX.CONSOLE.VERSION@.jar@start,\
 file:plugins/org.eclipse.equinox.console.ssh_@EQUINOX.CONSOLE.SSH.VERSION@.jar@start,\
 file:plugins/org.apache.sshd.core_@SSHD.CORE.VERSION@.jar@start

bundleImports = org.eclipse.osgi;bundle-version="0"

packageImports =\
 org.eclipse.virgo.kernel.artifact.*;version="0",\
 org.eclipse.virgo.nano.core;version="0",\
 org.eclipse.virgo.nano.deployer.api.*;version="0",\
 org.eclipse.virgo.nano.deployer.api;version="0",\
 org.eclipse.virgo.nano.deployer;version="0",\
 org.eclipse.virgo.kernel.deployer.core.event;version="0",\
 org.eclipse.virgo.kernel.install.*;version="0",\
 org.eclipse.virgo.kernel.osgi.*;version="0",\
 org.eclipse.virgo.kernel.model;version="0",\
 org.eclipse.virgo.kernel.model.management;version="0",\
 org.eclipse.virgo.kernel.module;version="0",\
 org.eclipse.virgo.kernel.equinox.extensions.hooks;version="0",\
 org.eclipse.virgo.nano.serviceability;version="0",\
 org.eclipse.virgo.nano.serviceability.*;version="0",\
 org.eclipse.virgo.kernel.services.work;version="0",\
 org.eclipse.virgo.nano.shim.*;version="0",\
 org.eclipse.virgo.medic.*;version="0",\
 org.eclipse.virgo.repository;version="0",\
 org.eclipse.virgo.repository.*;version="0",\
 org.eclipse.virgo.util.*;version="0",\
 org.apache.commons.logging;version="[1.2,2)",\
 org.apache.commons.logging.impl;version="[1.2,2)",\
 org.aspectj.*;version="[1.6.5.RELEASE,2.0.0)",\
 org.osgi.service.event;version="0",\
 org.osgi.service.log;version="0",\
 org.osgi.service.http;version="0",\
 javax.servlet;version="3.1.0",\
 javax.servlet.*;version="3.1.0",\
 org.eclipse.equinox.region;version="1",\
 ch.qos.logback.*;version="[1.0.0,2.0.0)",\
 org.slf4j;version="[1.6.4,2)",\
 org.slf4j.helpers;version="[1.6.4,2)",\
 org.slf4j.spi;version="[1.6.4,2)",\
 org.springframework.util;version="[5.0.8,6)"

serviceImports =\
 org.eclipse.equinox.region.Region,\
 org.eclipse.equinox.region.RegionDigraph,\
 org.osgi.framework.hooks.resolver.ResolverHookFactory,\
 org.eclipse.virgo.nano.deployer.api.core.ApplicationDeployer,\
 org.eclipse.virgo.nano.deployer.api.core.DeployUriNormaliser,\
 org.eclipse.virgo.kernel.install.artifact.ScopeServiceRepository,\
 org.eclipse.virgo.kernel.services.work.WorkArea,\
 org.eclipse.virgo.repository.ArtifactBridge,\
 org.eclipse.virgo.repository.RepositoryFactory,\
 org.eclipse.virgo.repository.HashGenerator,\
 org.eclipse.virgo.medic.eventlog.EventLoggerFactory,\
 org.eclipse.virgo.repository.Repository,\
 org.eclipse.virgo.nano.core.Shutdown,\
 org.osgi.service.event.EventAdmin,\
 org.osgi.service.log.LogService,\
 org.osgi.service.http.HttpService,\
 org.eclipse.virgo.medic.eventlog.EventLogger,\
 org.eclipse.virgo.medic.dump.DumpGenerator,\
 org.eclipse.virgo.nano.shim.scope.ScopeFactory,\
 org.eclipse.virgo.nano.shim.serviceability.TracingService,\
 org.eclipse.virgo.kernel.model.RuntimeArtifactRepository,\
 org.eclipse.virgo.kernel.model.management.RuntimeArtifactModelObjectNameCreator,\
 org.eclipse.osgi.service.resolver.PlatformAdmin,\
 org.osgi.service.packageadmin.PackageAdmin,\
 org.eclipse.virgo.nano.core.ConfigurationExporter,\
 javax.management.MBeanServer

serviceExports =\
 org.eclipse.virgo.kernel.install.artifact.InstallArtifactLifecycleListener,\
 org.eclipse.virgo.kernel.install.artifact.ArtifactIdentityDeterminer,\
 org.eclipse.virgo.kernel.install.pipeline.stage.transform.Transformer,\
 org.eclipse.virgo.kernel.module.ModuleContextAccessor,\
 org.eclipse.virgo.medic.dump.DumpContributor,\
 org.eclipse.virgo.kernel.osgi.quasi.QuasiFrameworkFactory,\
 org.eclipse.virgo.kernel.osgi.framework.OsgiFramework,\
 org.eclipse.virgo.kernel.osgi.framework.ImportExpander,\
 org.eclipse.virgo.kernel.osgi.framework.PackageAdminUtil,\
 org.eclipse.equinox.region.Region,\
 org.osgi.service.event.EventHandler,\
 org.osgi.framework.BundleContext,\
 org.eclipse.virgo.nano.deployer.api.config.ConfigurationDeployer

initialArtifacts = repository:plan/org.eclipse.virgo.kernel.userregion.blueprint,repository:plan/org.eclipse.virgo.management
