Repository: karaf Updated Branches: refs/heads/master 205618be7 -> dbee7768c
[KARAF-3638] Avoid NPE Project: http://git-wip-us.apache.org/repos/asf/karaf/repo Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/dbee7768 Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/dbee7768 Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/dbee7768 Branch: refs/heads/master Commit: dbee7768c34a2e12791d67e9d84411bb531cac22 Parents: 205618b Author: Christian Schneider <[email protected]> Authored: Fri Sep 18 12:16:40 2015 +0200 Committer: Christian Schneider <[email protected]> Committed: Fri Sep 18 12:16:40 2015 +0200 ---------------------------------------------------------------------- .../apache/karaf/tooling/features/AbstractFeatureMojo.java | 2 +- .../apache/karaf/tooling/features/AddToRepositoryMojo.java | 9 ++++++++- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/karaf/blob/dbee7768/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java index d2af3e6..659d38b 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AbstractFeatureMojo.java @@ -232,7 +232,7 @@ public abstract class AbstractFeatureMojo extends MojoSupport { addFeatures(features, featuresSet, featuresMap, addTransitiveFeatures); - getLog().info("Base repo: " + localRepo.getUrl()); + getLog().info("Using local repository at: " + localRepo.getUrl()); for (Feature feature : featuresSet) { try { for (Bundle bundle : feature.getBundle()) { http://git-wip-us.apache.org/repos/asf/karaf/blob/dbee7768/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java ---------------------------------------------------------------------- diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java index 7290695..cf59ce0 100644 --- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java +++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/AddToRepositoryMojo.java @@ -60,7 +60,7 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo { } for (Feature feature : featuresSet) { - copyBundlesToDestRepository(feature.getBundle()); + copyBundlesToDestRepository(feature.getBundle()); copyConfigFilesToDestRepository(feature.getConfigfile()); } @@ -71,6 +71,8 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo { private void copyBundlesToDestRepository(List<? extends Bundle> artifactRefs) throws MojoExecutionException { for (Bundle artifactRef : artifactRefs) { Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols); + // Avoid getting NPE on artifact.getFile in some cases + resolveArtifact(artifact, remoteRepos); if (artifact != null) { copy(artifact, repository); } @@ -80,6 +82,8 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo { private void copyConfigFilesToDestRepository(List<? extends ConfigFile> artifactRefs) throws MojoExecutionException { for (ConfigFile artifactRef : artifactRefs) { Artifact artifact = resourceToArtifact(artifactRef.getLocation(), skipNonMavenProtocols); + // Avoid getting NPE on artifact.getFile in some cases + resolveArtifact(artifact, remoteRepos); if (artifact != null) { copy(artifact, repository); } @@ -90,6 +94,9 @@ public class AddToRepositoryMojo extends AbstractFeatureMojo { try { getLog().info("Copying artifact: " + artifact); File destFile = new File(destRepository, getRelativePath(artifact)); + if (artifact.getFile() == null) { + throw new IllegalStateException("Artifact is not present in local repo."); + } copy(artifact.getFile(), destFile); } catch (Exception e) { getLog().warn("Error copying artifact " + artifact, e);
