SLING-4757 - fix .war bundle support - all Sling integration tests pass now
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1686226 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/crankstart/launcher/BundlesInstaller.java b/src/main/java/org/apache/sling/crankstart/launcher/BundlesInstaller.java
index 89a2d5a..bf7b33b 100644
--- a/src/main/java/org/apache/sling/crankstart/launcher/BundlesInstaller.java
+++ b/src/main/java/org/apache/sling/crankstart/launcher/BundlesInstaller.java
@@ -44,14 +44,18 @@
this.rmFilter = rmFilter;
}
+ private boolean isBundle(Artifact a) {
+ final String aType = a.getType();
+ return "jar".equals(aType) || "war".equals(aType);
+ }
+
public void installBundles(final BundleContext ctx, final FeatureFilter filter) throws Exception {
- final String JAR_TYPE = "jar";
final ArtifactsVisitor v = new ArtifactsVisitor(model) {
@Override
protected void visitArtifact(Feature f, RunMode rm, ArtifactGroup g, Artifact a) throws Exception {
- if(JAR_TYPE.equals(a.getType())) {
+ if(isBundle(a)) {
installBundle(ctx, a, g.getStartLevel());
} else {
log.info("Ignoring Artifact, not a bundle: {}", a);
@@ -81,7 +85,7 @@
}
public void installBundle(BundleContext ctx, Artifact a, int startLevel) throws IOException, BundleException {
- final String bundleUrl = "mvn:" + a.getGroupId() + "/" + a.getArtifactId() + "/" + a.getVersion();
+ final String bundleUrl = "mvn:" + a.getGroupId() + "/" + a.getArtifactId() + "/" + a.getVersion() + "/" + a.getType();
final URL url = new URL(bundleUrl);
final InputStream bundleStream = url.openStream();
try {
diff --git a/src/test/resources/sling-launchpad.txt b/src/test/resources/sling-launchpad.txt
index c2cc7dd..e3f360c 100644
--- a/src/test/resources/sling-launchpad.txt
+++ b/src/test/resources/sling-launchpad.txt
@@ -20,8 +20,7 @@
# Start the Sling Launchpad including whatever is required to
# run the Sling integration tests.
#
-# Currently those tests pass with 2 failures (WarSelectorServletTest)
-# out of 529 tests, if started with
+# Currently all those 529 tests pass if started with
# java -Xmx1G -XX:MaxPermSize=256m \
# -Dsling.run.modes=:standalone,jackrabbit -Dsling.home=CRANKSTART \
# -jar target/org.apache.sling.crankstart.launcher-1.9.9-SNAPSHOT.jar \