Repository: karaf Updated Branches: refs/heads/karaf-3.0.x 72595e366 -> 1c7856900
[KARAF-3368] Support reference:file:xxx urls in startup.properties Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/1c785690 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/1c785690 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/1c785690 Branch: refs/heads/karaf-3.0.x Commit: 1c7856900e43af16d261af3c3aeccb769f3dd766 Parents: 72595e3 Author: Guillaume Nodet <[email protected]> Authored: Tue Nov 18 08:39:39 2014 +0100 Committer: Guillaume Nodet <[email protected]> Committed: Tue Nov 18 08:39:56 2014 +0100 ---------------------------------------------------------------------- main/src/main/java/org/apache/karaf/main/Main.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/1c785690/main/src/main/java/org/apache/karaf/main/Main.java ---------------------------------------------------------------------- diff --git a/main/src/main/java/org/apache/karaf/main/Main.java b/main/src/main/java/org/apache/karaf/main/Main.java index 51f6065..4c99533 100644 --- a/main/src/main/java/org/apache/karaf/main/Main.java +++ b/main/src/main/java/org/apache/karaf/main/Main.java @@ -374,8 +374,16 @@ public class Main { private void installAndStartBundles(ArtifactResolver resolver, BundleContext context, List<BundleInfo> bundles) { for (BundleInfo bundleInfo : bundles) { try { - URI resolvedURI = resolver.resolve(bundleInfo.uri); - Bundle b = context.installBundle(bundleInfo.uri.toString(), resolvedURI.toURL().openStream()); + Bundle b; + if (bundleInfo.uri.toString().startsWith("reference:file:")) { + URI temp = URI.create(bundleInfo.uri.toString().substring("reference:file:".length())); + URI resolvedURI = resolver.resolve(temp); + URI finalUri = URI.create("reference:file:" + config.karafBase.toURI().relativize(resolvedURI)); + b = context.installBundle(finalUri.toString()); + } else { + URI resolvedURI = resolver.resolve(bundleInfo.uri); + b = context.installBundle(bundleInfo.uri.toString(), resolvedURI.toURL().openStream()); + } b.adapt(BundleStartLevel.class).setStartLevel(bundleInfo.startLevel); if (isNotFragment(b)) { b.start();
