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);

Reply via email to