You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by jb...@apache.org on 2015/01/25 18:33:50 UTC
karaf git commit: [KARAF-3472] Avoid dual copies of kar features XML
by the InstallKars MOJO
Repository: karaf
Updated Branches:
refs/heads/karaf-3.0.x 4231115d6 -> 3ff18ef5c
[KARAF-3472] Avoid dual copies of kar features XML by the InstallKars MOJO
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/3ff18ef5
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/3ff18ef5
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/3ff18ef5
Branch: refs/heads/karaf-3.0.x
Commit: 3ff18ef5c6f30cc2e8d1eacd8b347b519b3e79a9
Parents: 4231115
Author: Jean-Baptiste Onofré <jb...@apache.org>
Authored: Sun Jan 25 18:32:57 2015 +0100
Committer: Jean-Baptiste Onofré <jb...@apache.org>
Committed: Sun Jan 25 18:32:57 2015 +0100
----------------------------------------------------------------------
.../karaf/tooling/features/InstallKarsMojo.java | 42 ++++++++++----------
1 file changed, 21 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/3ff18ef5/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
index c2142e6..a16f96f 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/features/InstallKarsMojo.java
@@ -25,7 +25,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;
-import java.net.URLEncoder;
import java.util.*;
import org.apache.felix.utils.properties.Properties;
@@ -170,7 +169,7 @@ public class InstallKarsMojo extends MojoSupport {
Kar kar = new Kar(karFile.toURI());
kar.extract(systemDirectory, workDirectory);
for (URI repositoryUri : kar.getFeatureRepos()) {
- resolveRepository(repositoryUri.getPath(), repositories, features, false, addToStartup);
+ resolveRepository(repositoryUri.getPath(), repositories, features, false, addToStartup, false);
}
} catch (Exception e) {
throw new RuntimeException("Can not install " + artifact.toString() + " kar", e);
@@ -180,7 +179,7 @@ public class InstallKarsMojo extends MojoSupport {
getLog().info("Resolving " + artifact.toString() + " features repository");
String repositoryUri = dependencyHelper.artifactToMvn(artifact);
try {
- resolveRepository(repositoryUri, repositories, features, true, addToStartup);
+ resolveRepository(repositoryUri, repositories, features, true, addToStartup, true);
} catch (Exception e) {
throw new MojoFailureException("Can not install " + artifact.toString() + " features repository", e);
}
@@ -349,7 +348,7 @@ public class InstallKarsMojo extends MojoSupport {
return false;
}
- private void resolveRepository(String repository, Set<String> repositories, Map<Feature, Boolean> features, boolean updateFeaturesCfgFile, boolean updateStartupProperties) throws Exception {
+ private void resolveRepository(String repository, Set<String> repositories, Map<Feature, Boolean> features, boolean updateFeaturesCfgFile, boolean updateStartupProperties, boolean copy) throws Exception {
// check if the repository has not been processed
if (repositories.contains(repository)) {
return;
@@ -381,22 +380,23 @@ public class InstallKarsMojo extends MojoSupport {
} else {
repositoryFile = new File(repository);
}
- // copy the repository file in system folder
-
- File repositoryFileInSystemFolder = new File(systemDirectory, repository);
- if (!repositoryFileInSystemFolder.exists()) {
- repositoryFileInSystemFolder.getParentFile().mkdirs();
- copy(repositoryFile, repositoryFileInSystemFolder);
- // add metadata for snapshot
- if (repository.startsWith("mvn")) {
- Artifact repositoryArtifact = dependencyHelper.mvnToArtifact(repository);
- if (repositoryArtifact.isSnapshot()) {
- File metadataTarget = new File(repositoryFileInSystemFolder.getParentFile(), "maven-metadata-local.xml");
- try {
- MavenUtil.generateMavenMetadata(repositoryArtifact, metadataTarget);
- } catch (Exception e) {
- getLog().warn("Could not create maven-metadata-local.xml", e);
- getLog().warn("It means that this SNAPSHOT could be overwritten by an older one present on remote repositories");
+ // copy the repository file in system folder if required
+ if (copy) {
+ File repositoryFileInSystemFolder = new File(systemDirectory, repository);
+ if (!repositoryFileInSystemFolder.exists()) {
+ repositoryFileInSystemFolder.getParentFile().mkdirs();
+ copy(repositoryFile, repositoryFileInSystemFolder);
+ // add metadata for snapshot
+ if (repository.startsWith("mvn")) {
+ Artifact repositoryArtifact = dependencyHelper.mvnToArtifact(repository);
+ if (repositoryArtifact.isSnapshot()) {
+ File metadataTarget = new File(repositoryFileInSystemFolder.getParentFile(), "maven-metadata-local.xml");
+ try {
+ MavenUtil.generateMavenMetadata(repositoryArtifact, metadataTarget);
+ } catch (Exception e) {
+ getLog().warn("Could not create maven-metadata-local.xml", e);
+ getLog().warn("It means that this SNAPSHOT could be overwritten by an older one present on remote repositories");
+ }
}
}
}
@@ -405,7 +405,7 @@ public class InstallKarsMojo extends MojoSupport {
Features featuresModel = JaxbUtil.unmarshal(new FileInputStream(repositoryFile), false);
// recursively process the inner repositories
for (String innerRepository : featuresModel.getRepository()) {
- resolveRepository(innerRepository, repositories, features, false, updateStartupProperties);
+ resolveRepository(innerRepository, repositories, features, false, updateStartupProperties, true);
}
// update features
for (Feature feature : featuresModel.getFeature()) {