# Start a full Sling instance with the Sling crankstart launcher
# TODO: not all integration tests pass, we might be missing some
# bundles or properties that the Sling launchpad provides

# Set default values for our variables
defaults http.port 12345

# Set bootstrap classpath, mvn: protocol can be used
classpath mvn:org.apache.felix/org.apache.felix.framework/4.4.0
classpath mvn:org.osgi/org.osgi.compendium/4.2.0
classpath mvn:org.slf4j/slf4j-api/1.7.6
classpath mvn:org.slf4j/slf4j-simple/1.7.6
classpath mvn:org.ops4j.pax.url/pax-url-aether/1.6.0
classpath mvn:org.ops4j.pax.url/pax-url-commons/1.6.0

# Except for the bootstrap launcher, crankstart jars are also provided via classpath
classpath mvn:org.apache.sling/org.apache.sling.crankstart.core/0.0.1-SNAPSHOT
classpath mvn:org.apache.sling/org.apache.sling.crankstart.api/0.0.1-SNAPSHOT

# Set OSGi framework properties
osgi.property org.osgi.service.http.port ${http.port}
osgi.property sling.home sling-crankstart
osgi.property org.osgi.framework.storage sling-crankstart/osgi.framework.storage
osgi.property org.apache.sling.commons.log.level INFO
osgi.property org.apache.sling.commons.log.file logs/error.log
osgi.property org.apache.sling.commons.log.file.number 5
osgi.property org.apache.sling.commons.log.file.size '.'yyyy-MM-dd
osgi.property felix.startlevel.bundle 22
osgi.property org.osgi.framework.startlevel.beginning 32

# Once OSGi properties are set, start the framework
start.framework

# Start a minimal set of bundles to get the ConfigurationAdmin service
# mvn: protocol can be used to get bundles
bundle mvn:org.slf4j/slf4j-api/1.7.6
bundle mvn:org.apache.sling/org.apache.sling.commons.log/4.0.0
bundle mvn:org.apache.sling/org.apache.sling.commons.logservice/1.0.2
bundle mvn:org.slf4j/jcl-over-slf4j/1.7.6
bundle mvn:org.slf4j/log4j-over-slf4j/1.7.6
bundle mvn:org.apache.felix/org.apache.felix.configadmin/1.6.0
start.all.bundles

# Now set example configurations
config some.example.config
   some.search.path = /test1:123
   some.search.path = /test2:456
   another.property = This is just a test configuration
config a.second.config
   foo = bar   

# Install other bundles
bundle mvn:org.apache.felix/org.apache.felix.http.jetty/2.2.0
bundle mvn:org.apache.sling/org.apache.sling.settings/1.3.0
bundle mvn:org.apache.sling/org.apache.sling.fragment.xml/1.0.2
bundle mvn:org.apache.sling/org.apache.sling.fragment.transaction/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.javax.activation/0.1.0
bundle mvn:org.apache.sling/org.apache.sling.fragment.ws/1.0.2
bundle mvn:org.apache.sling/org.apache.sling.launchpad.installer/1.2.0
bundle mvn:org.apache.sling/org.apache.sling.installer.core/3.5.0
bundle mvn:org.apache.sling/org.apache.sling.installer.provider.file/1.0.2
bundle mvn:org.apache.felix/org.apache.felix.eventadmin/1.3.2
bundle mvn:commons-io/commons-io/1.4
bundle mvn:commons-fileupload/commons-fileupload/1.3.1
bundle mvn:commons-collections/commons-collections/3.2.1
bundle mvn:commons-codec/commons-codec/1.6
bundle mvn:commons-lang/commons-lang/2.5
bundle mvn:org.apache.commons/commons-math/2.2
bundle mvn:org.apache.geronimo.bundles/commons-httpclient/3.1_1
bundle mvn:org.apache.sling/org.apache.sling.commons.osgi/2.2.1-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.commons.mime/2.1.4
bundle mvn:org.apache.sling/org.apache.sling.commons.classloader/1.3.0
bundle mvn:org.apache.sling/org.apache.sling.commons.compiler/2.1.1-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.commons.scheduler/2.4.2
bundle mvn:org.apache.sling/org.apache.sling.commons.threads/3.2.0
bundle mvn:org.apache.sling/org.apache.sling.discovery.api/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.discovery.support/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.discovery.impl/1.0.4
bundle mvn:org.apache.sling/org.apache.sling.event/3.3.6
bundle mvn:org.apache.sling/org.apache.sling.api/2.7.0
bundle mvn:org.apache.sling/org.apache.sling.serviceusermapper/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.resourceresolver/1.1.0
bundle mvn:org.apache.sling/org.apache.sling.auth.core/1.1.7-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.engine/2.3.2
bundle mvn:org.apache.sling/org.apache.sling.auth.openid/1.0.3-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.auth.form/1.0.5-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.auth.selector/1.0.5-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.adapter/2.1.0
bundle mvn:org.apache.sling/org.apache.sling.servlets.resolver/2.3.2
bundle mvn:org.apache.sling/org.apache.sling.servlets.get/2.1.8
bundle mvn:org.apache.sling/org.apache.sling.servlets.post/2.3.4
bundle mvn:org.apache.sling/org.apache.sling.jcr.contentloader/2.1.7-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.jcr.resource/2.3.6
bundle mvn:org.apache.sling/org.apache.sling.jcr.ocm/2.0.4-incubator
bundle mvn:org.apache.sling/org.apache.sling.jcr.classloader/3.2.0
bundle mvn:org.apache.sling/org.apache.sling.bundleresource.impl/2.2.0
bundle mvn:org.apache.sling/org.apache.sling.fsresource/1.1.3-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.launchpad.content/2.0.7-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.scripting.api/2.1.6
bundle mvn:org.apache.sling/org.apache.sling.scripting.core/2.0.26
bundle mvn:org.apache.sling/org.apache.sling.scripting.javascript/2.0.12
bundle mvn:org.apache.sling/org.apache.sling.scripting.jsp/2.0.29-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.scripting.jsp.taglib/2.2.0
bundle mvn:org.apache.geronimo.bundles/jstl/1.2_1
bundle mvn:org.codehaus.groovy/groovy-all/1.8.2
bundle mvn:org.apache.felix/org.apache.felix.http.whiteboard/2.2.0
bundle mvn:org.apache.sling/org.apache.sling.installer.console/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.installer.factory.configuration/1.0.12
bundle mvn:org.apache.sling/org.apache.sling.installer.provider.jcr/3.1.6
bundle mvn:org.apache.sling/org.apache.sling.extensions.webconsolebranding/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.extensions.webconsolesecurityprovider/1.0.0
bundle mvn:org.apache.felix/org.apache.felix.inventory/1.0.4
bundle mvn:org.apache.felix/org.apache.felix.webconsole/4.2.2
bundle mvn:org.apache.geronimo.bundles/json/20090211_1
bundle mvn:org.apache.felix/org.apache.felix.webconsole.plugins.ds/1.0.0
bundle mvn:org.apache.felix/org.apache.felix.webconsole.plugins.packageadmin/1.0.0
bundle mvn:org.apache.felix/org.apache.felix.webconsole.plugins.event/1.0.2
bundle mvn:org.apache.felix/org.apache.felix.webconsole.plugins.memoryusage/1.0.4
bundle mvn:org.apache.sling/org.apache.sling.commons.json/2.0.6
bundle mvn:org.apache.felix/org.apache.felix.bundlerepository/1.6.4
bundle mvn:org.apache.sling/org.apache.sling.extensions.threaddump/0.2.2
bundle mvn:org.apache.sling/org.apache.sling.jcr.webconsole/1.0.0
bundle mvn:org.apache.sling/org.apache.sling.extensions.explorer/1.0.2
bundle mvn:org.apache.sling/org.apache.sling.extensions.groovy/1.0.0-SNAPSHOT
bundle mvn:org.apache.aries.jmx/org.apache.aries.jmx.api/0.3
bundle mvn:org.apache.aries/org.apache.aries.util/0.3
bundle mvn:org.apache.aries.jmx/org.apache.aries.jmx.core/0.3
bundle mvn:org.apache.aries.jmx/org.apache.aries.jmx.whiteboard/0.3
bundle mvn:org.apache.felix/org.apache.felix.scr/1.8.2
bundle mvn:org.apache.felix/org.apache.felix.metatype/1.0.10
bundle mvn:org.apache.tika/tika-core/1.2
bundle mvn:org.apache.tika/tika-bundle/1.2
bundle mvn:org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0
bundle mvn:org.apache.sling/org.apache.sling.jcr.api/2.2.0
bundle mvn:org.apache.sling/org.apache.sling.jcr.base/2.2.2
bundle mvn:org.apache.sling/org.apache.sling.jcr.registration/1.0.0
bundle mvn:org.apache.jackrabbit/jackrabbit-api/2.7.1
bundle mvn:org.apache.derby/derby/10.5.3.0_1
bundle mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.server/2.1.3-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.usermanager/2.2.1-SNAPSHOT
bundle mvn:org.apache.sling/org.apache.sling.jcr.jackrabbit.accessmanager/2.1.1-SNAPSHOT
bundle mvn:org.apache.jackrabbit/jackrabbit-jcr-commons/2.7.1
bundle mvn:org.apache.jackrabbit/jackrabbit-spi/2.7.1
bundle mvn:org.apache.jackrabbit/jackrabbit-spi-commons/2.7.1
bundle mvn:org.apache.jackrabbit/jackrabbit-webdav/2.7.1
bundle mvn:org.apache.jackrabbit/jackrabbit-jcr-rmi/2.7.1
bundle mvn:org.apache.sling/org.apache.sling.jcr.webdav/2.2.2
bundle mvn:org.apache.sling/org.apache.sling.jcr.davex/1.2.1-SNAPSHOT
bundle mvn:com.google.guava/guava/14.0.1
bundle mvn:org.apache.sling/org.apache.sling.launchpad.api/1.1.0

# Now start bundles
start.all.bundles
log Sling will be available at http://localhost:${http.port}/system/console
