# Test the crankstart launcher by setting up an HTTP # server with a few servlets that require specific OSGi configurations # Default values for our variables defaults single.path /single defaults felix.http.jetty.version 2.2.0 # Bootstrap classpath (variables are not supported here) classpath mvn:org.apache.felix/org.apache.felix.framework/4.4.0 classpath mvn:org.slf4j/slf4j-api/1.6.2 classpath mvn:org.slf4j/slf4j-simple/1.6.2 classpath mvn:org.apache.sling/org.apache.sling.crankstart.core/1.0.0 classpath mvn:org.apache.sling/org.apache.sling.crankstart.api/1.0.0 # OSGi properties osgi.property org.osgi.service.http.port ${http.port} osgi.property org.osgi.framework.storage ${osgi.storage.path} # Start the framework. Crankstart file processing will stop here # if this is not the first startup. start.framework # Start ConfigAdmin, HTTP service and SCR bundle mvn:org.apache.felix/org.apache.felix.http.jetty/${felix.http.jetty.version} bundle mvn:org.apache.felix/org.apache.felix.eventadmin/1.3.2 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.sling/org.apache.sling.commons.osgi/2.2.0 bundle mvn:org.apache.sling/org.apache.sling.commons.log/2.1.2 bundle mvn:org.apache.felix/org.apache.felix.configadmin/1.6.0 bundle mvn:org.apache.felix/org.apache.felix.webconsole/3.1.6 # The crankstart.api.fragment bundle makes the crankstart.api package available # to bundles, required for bundles to provide crankstart extension commands like # the test.system.property command below bundle mvn:org.apache.sling/org.apache.sling.crankstart.api.fragment/1.0.2 bundle mvn:org.apache.sling/org.apache.sling.crankstart.test.services/1.0.0 # Test our Sling extension commands, that add a bundle via the Sling installer # (which requires commons.json and jcr-wrapper) bundle mvn:org.apache.sling/org.apache.sling.installer.core/3.5.0 bundle mvn:org.apache.sling/org.apache.sling.commons.json/2.0.6 bundle mvn:org.apache.sling/org.apache.sling.jcr.jcr-wrapper/2.0.0 bundle mvn:org.apache.sling/org.apache.sling.crankstart.sling.extensions/1.0.0 bundle mvn:commons-io/commons-io/2.4 # Install a bundle at a start level higher than the current one # to be able to check that it's not active defaults crankstart.bundle.start.level 99 bundle mvn:commons-collections/commons-collections/3.2.1 # Now start our bundles start.all.bundles # OSGi configs that activate our test servlets config org.apache.sling.crankstart.testservices.SingleConfigServlet path=${single.path} message=doesn't matter config.factory org.apache.sling.crankstart.testservices.ConfigFactoryServlet CRANKSTART_CONFIG_ID=some.unique.ID path=/foo message=Not used config.factory org.apache.sling.crankstart.testservices.ConfigFactoryServlet path=/bar/test message=Not used # Test Felix format configs config felix.format.test FORMAT:felix.config mongouri="mongodb://localhost:27017" service.ranking.launcher.test=I"54321" array=["foo","bar.from.launcher.test"] config empty.config.should.work FORMAT:felix.config # Test an extension command provided by our test-services bundle test.system.property the.test.system.property was set by test-services bundle # Prepare additional resources for the Sling installer sling.installer.resource mvn:org.apache.sling/org.apache.sling.junit.core/1.0.8 sling.installer.resource mvn:org.apache.sling/org.apache.sling.commons.mime/2.1.4 sling.installer.resource mvn:org.apache.sling/org.apache.sling.settings/1.3.0 # And register the installer resources sling.installer.register crankstart # Informative log log felix http service should come up at http://localhost:${http.port}