Repository: karaf Updated Branches: refs/heads/master a2630e694 -> eb1d3c1d0
[KARAF-4086] Ignore jars without symbolic name Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/eb1d3c1d Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/eb1d3c1d Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/eb1d3c1d Branch: refs/heads/master Commit: eb1d3c1d0366cfc9708d07b008f62beeacd6718d Parents: a2630e6 Author: Christian Schneider <[email protected]> Authored: Thu Oct 29 11:35:15 2015 +0100 Committer: Christian Schneider <[email protected]> Committed: Thu Oct 29 11:35:15 2015 +0100 ---------------------------------------------------------------------- .../features/ExportFeatureMetaDataMojo.java | 22 ++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/eb1d3c1d/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java index b18001f..c0aeb2b 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/ExportFeatureMetaDataMojo.java @@ -92,7 +92,12 @@ public class ExportFeatureMetaDataMojo extends AbstractFeatureMojo { Set<String> bundleIds = new HashSet<String>(); for (Feature feature : featuresSet) { for (Bundle bundle : feature.getBundle()) { - String bundleId = getBundleSymbolicName(bundle) + ":" + getBundleVersion(bundle); + String symbolicName = getBundleSymbolicName(bundle); + if (symbolicName == null) { + logIgnored(bundle); + continue; + } + String bundleId = symbolicName + ":" + getBundleVersion(bundle); if (!bundleIds.contains(bundleId)) { bundleIds.add(bundleId); merged.getBundle().add(bundle); @@ -107,15 +112,20 @@ public class ExportFeatureMetaDataMojo extends AbstractFeatureMojo { Map<String, Bundle> bundleVersions = new HashMap<>(); for (Feature feature : featuresSet) { for (Bundle bundle : feature.getBundle()) { - Bundle existingBundle = bundleVersions.get(getBundleSymbolicName(bundle)); + String symbolicName = getBundleSymbolicName(bundle); + if (symbolicName == null) { + logIgnored(bundle); + continue; + } + Bundle existingBundle = bundleVersions.get(symbolicName); if (existingBundle != null) { Version existingVersion = new Version(getBundleVersion(existingBundle)); Version newVersion = new Version(getBundleVersion(bundle)); if (newVersion.compareTo(existingVersion) > 0) { - bundleVersions.put(getBundleSymbolicName(bundle), bundle); + bundleVersions.put(symbolicName, bundle); } } else { - bundleVersions.put(getBundleSymbolicName(bundle), bundle); + bundleVersions.put(symbolicName, bundle); } } } @@ -125,6 +135,10 @@ public class ExportFeatureMetaDataMojo extends AbstractFeatureMojo { return merged; } + private void logIgnored(Bundle bundle) { + getLog().warn("Ignoring jar without BundleSymbolicName: " + bundle.getLocation()); + } + private Map<String, Attributes> manifests = new HashMap<>(); private String getBundleVersion(Bundle bundle) throws MojoExecutionException {
