Repository: karaf Updated Branches: refs/heads/master 6631c4291 -> d7a1e9a2b
[KARAF-3972]add wrap feature as prerequisite OOTB when a wrap url handler is needed for a certain bundle Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d7a1e9a2 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d7a1e9a2 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d7a1e9a2 Branch: refs/heads/master Commit: d7a1e9a2bc56eb267cd3ac792948c03660a5f60f Parents: 6631c42 Author: Freeman Fang <[email protected]> Authored: Thu Oct 22 11:41:33 2015 +0800 Committer: Freeman Fang <[email protected]> Committed: Thu Oct 22 11:41:33 2015 +0800 ---------------------------------------------------------------------- .../karaf/tooling/features/GenerateDescriptorMojo.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/d7a1e9a2/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java index 73bd90d..168a639 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/GenerateDescriptorMojo.java @@ -54,7 +54,6 @@ import org.apache.karaf.tooling.utils.ManifestUtils; import org.apache.karaf.tooling.utils.MojoSupport; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; import org.apache.maven.artifact.resolver.ArtifactResolutionException; -import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.plugin.logging.Log; @@ -64,7 +63,6 @@ import org.apache.maven.plugins.annotations.LifecyclePhase; import org.apache.maven.plugins.annotations.Mojo; import org.apache.maven.plugins.annotations.Parameter; import org.apache.maven.plugins.annotations.ResolutionScope; -import org.apache.maven.project.MavenProject; import org.apache.maven.shared.filtering.MavenFileFilter; import org.apache.maven.shared.filtering.MavenFilteringException; import org.apache.maven.shared.filtering.MavenResourcesExecution; @@ -322,6 +320,7 @@ public class GenerateDescriptorMojo extends MojoSupport { } feature.getBundle().add(bundle); } + boolean needWrap = false; for (Map.Entry<?, String> entry : localDependencies.entrySet()) { Object artifact = entry.getKey(); @@ -346,6 +345,7 @@ public class GenerateDescriptorMojo extends MojoSupport { if (manifest == null || !ManifestUtils.isBundle(getManifest(bundleFile))) { bundleName = "wrap:" + bundleName; + needWrap = true; } Bundle bundle = null; @@ -371,6 +371,14 @@ public class GenerateDescriptorMojo extends MojoSupport { } } + if (needWrap) { + Dependency wrapDependency = new Dependency(); + wrapDependency.setName("wrap"); + wrapDependency.setDependency(false); + wrapDependency.setPrerequisite(true); + feature.getFeature().add(wrapDependency); + } + if ((!feature.getBundle().isEmpty() || !feature.getFeature().isEmpty()) && !features.getFeature().contains(feature)) { features.getFeature().add(feature); }
