From 56a30c19bb233e6e470f5e4135aaaab05e6775b3 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 11 Jan 2019 14:50:35 +0100 Subject: [PATCH] Remove local artifacts from install request Since we may have artifacts in the local repository which have modifications, we do not want to include them in the install request. Make sure we exclude such artifacts. Change-Id: Ib468cac841875e13124ead73c9f8911a29caa2ff JIRA: ODLPARENT-194 Signed-off-by: Robert Varga --- .../org/opendaylight/odlparent/FeatureUtil.java | 14 ++++++++++++++ .../odlparent/PopulateLocalRepoMojo.java | 1 + 2 files changed, 15 insertions(+) diff --git a/karaf-plugin/src/main/java/org/opendaylight/odlparent/FeatureUtil.java b/karaf-plugin/src/main/java/org/opendaylight/odlparent/FeatureUtil.java index 81c7a2aba..ff26875ed 100644 --- a/karaf-plugin/src/main/java/org/opendaylight/odlparent/FeatureUtil.java +++ b/karaf-plugin/src/main/java/org/opendaylight/odlparent/FeatureUtil.java @@ -15,6 +15,7 @@ import java.net.MalformedURLException; import java.net.URL; import java.nio.file.Path; import java.util.ArrayList; +import java.util.Iterator; import java.util.LinkedHashSet; import java.util.List; import java.util.Set; @@ -371,6 +372,19 @@ public final class FeatureUtil { return findAllFeaturesRecursively(features, new LinkedHashSet<>()); } + void removeLocalArtifacts(Set artifacts) { + if (localRepo != null) { + Iterator it = artifacts.iterator(); + while (it.hasNext()) { + Artifact artifact = it.next(); + if (getFileInLocalRepo(artifact.getFile()) != null) { + LOG.trace("Removing artifact {}", artifact); + it.remove(); + } + } + } + } + private File getFileInLocalRepo(File file) { Path filePath = file.toPath(); Path parent = filePath.getParent(); diff --git a/karaf-plugin/src/main/java/org/opendaylight/odlparent/PopulateLocalRepoMojo.java b/karaf-plugin/src/main/java/org/opendaylight/odlparent/PopulateLocalRepoMojo.java index 8d208ef30..894d2c509 100644 --- a/karaf-plugin/src/main/java/org/opendaylight/odlparent/PopulateLocalRepoMojo.java +++ b/karaf-plugin/src/main/java/org/opendaylight/odlparent/PopulateLocalRepoMojo.java @@ -121,6 +121,7 @@ public class PopulateLocalRepoMojo extends AbstractMojo { LOG.info("Feature repository discovered recursively: {}", feature.getName()); } Set artifacts = aetherUtil.resolveArtifacts(FeatureUtil.featuresToCoords(features)); + featureUtil.removeLocalArtifacts(artifacts); artifacts.addAll(featureArtifacts); Map gaceVersions = new HashMap<>(); -- 2.36.6