You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@karaf.apache.org by gg...@apache.org on 2017/07/12 13:07:14 UTC
karaf git commit: [KARAF-5164] Use Maven reactor to resolve artifacts
needed by VerifyMojo and AssemblyMojo
Repository: karaf
Updated Branches:
refs/heads/grgrzybek-KARAF-5164-master [created] 5f5163d13
[KARAF-5164] Use Maven reactor to resolve artifacts needed by VerifyMojo and AssemblyMojo
Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/5f5163d1
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/5f5163d1
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/5f5163d1
Branch: refs/heads/grgrzybek-KARAF-5164-master
Commit: 5f5163d13df1ee2fdfc3857bec1e67272fa78c47
Parents: e409ee5
Author: Grzegorz Grzybek <gr...@gmail.com>
Authored: Wed Jul 12 15:06:58 2017 +0200
Committer: Grzegorz Grzybek <gr...@gmail.com>
Committed: Wed Jul 12 15:06:58 2017 +0200
----------------------------------------------------------------------
.../java/org/apache/karaf/profile/assembly/Builder.java | 11 +++++++++++
.../main/java/org/apache/karaf/tooling/AssemblyMojo.java | 7 +++++++
.../main/java/org/apache/karaf/tooling/VerifyMojo.java | 8 +++++++-
3 files changed, 25 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/karaf/blob/5f5163d1/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
----------------------------------------------------------------------
diff --git a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
index 808c333..163997b 100644
--- a/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
+++ b/profile/src/main/java/org/apache/karaf/profile/assembly/Builder.java
@@ -45,6 +45,7 @@ import java.util.TreeSet;
import java.util.UUID;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
+import java.util.function.Function;
import java.util.jar.Attributes;
import java.util.jar.Manifest;
import java.util.regex.Pattern;
@@ -175,6 +176,8 @@ public class Builder {
private KarafPropertyEdits propertyEdits;
private Map<String, String> translatedUrls;
+ private Function<MavenResolver, MavenResolver> resolverWrapper = null;
+
public static Builder newInstance() {
return new Builder();
}
@@ -336,6 +339,11 @@ public class Builder {
return this;
}
+ public Builder resolverWrapper(Function<MavenResolver, MavenResolver> wrapper) {
+ this.resolverWrapper = wrapper;
+ return this;
+ }
+
public Builder staticFramework() {
// TODO: load this from resources
return staticFramework("4.0.0-SNAPSHOT");
@@ -471,6 +479,9 @@ public class Builder {
props.put(Builder.ORG_OPS4J_PAX_URL_MVN_PID + ".repositories", mavenRepositories);
}
MavenResolver resolver = MavenResolvers.createMavenResolver(props, ORG_OPS4J_PAX_URL_MVN_PID);
+ if (resolverWrapper != null) {
+ resolver = resolverWrapper.apply(resolver);
+ }
executor = Executors.newScheduledThreadPool(8);
manager = new CustomDownloadManager(resolver, executor, null, translatedUrls);
this.resolver = new ResolverImpl(new Slf4jResolverLog(LOGGER));
http://git-wip-us.apache.org/repos/asf/karaf/blob/5f5163d1/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java
index 4c5a5d0..3bc5b08 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/AssemblyMojo.java
@@ -37,15 +37,18 @@ import org.apache.karaf.profile.assembly.Builder;
import org.apache.karaf.tooling.utils.IoUtils;
import org.apache.karaf.tooling.utils.MavenUtil;
import org.apache.karaf.tooling.utils.MojoSupport;
+import org.apache.karaf.tooling.utils.ReactorMavenResolver;
import org.apache.karaf.tools.utils.model.KarafPropertyEdits;
import org.apache.karaf.tools.utils.model.io.stax.KarafPropertyInstructionsModelStaxReader;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.LifecyclePhase;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.repository.internal.MavenWorkspaceReader;
/**
* Creates a customized Karaf distribution by installing features and setting up
@@ -258,6 +261,9 @@ public class AssemblyMojo extends MojoSupport {
@Parameter
protected Map<String, String> system;
+ @Component(role = MavenWorkspaceReader.class, hint = "reactor")
+ protected MavenWorkspaceReader reactor;
+
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
try {
@@ -322,6 +328,7 @@ public class AssemblyMojo extends MojoSupport {
builder.offline(mavenSession.isOffline());
builder.localRepository(localRepo.getBasedir());
builder.mavenRepositories(remote.toString());
+ builder.resolverWrapper((resolver) -> new ReactorMavenResolver(reactor, resolver));
builder.javase(javase);
// Set up config and system props
http://git-wip-us.apache.org/repos/asf/karaf/blob/5f5163d1/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java
----------------------------------------------------------------------
diff --git a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java
index 5dad76a..1b592d7 100644
--- a/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java
+++ b/tooling/karaf-maven-plugin/src/main/java/org/apache/karaf/tooling/VerifyMojo.java
@@ -80,14 +80,17 @@ import org.apache.karaf.features.internal.util.MapUtils;
import org.apache.karaf.features.internal.util.MultiException;
import org.apache.karaf.profile.assembly.CustomDownloadManager;
import org.apache.karaf.tooling.utils.MojoSupport;
+import org.apache.karaf.tooling.utils.ReactorMavenResolver;
import org.apache.karaf.util.config.PropertiesLoader;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.plugins.annotations.ResolutionScope;
import org.apache.maven.project.MavenProject;
+import org.apache.maven.repository.internal.MavenWorkspaceReader;
import org.ops4j.pax.url.mvn.MavenResolver;
import org.ops4j.pax.url.mvn.MavenResolvers;
import org.osgi.framework.Bundle;
@@ -148,6 +151,9 @@ public class VerifyMojo extends MojoSupport {
@Parameter(defaultValue = "${project}", readonly = true)
protected MavenProject project;
+ @Component(role = MavenWorkspaceReader.class, hint = "reactor")
+ protected MavenWorkspaceReader reactor;
+
@Parameter(property = "skip", defaultValue = "${features.verify.skip}")
protected boolean skip;
@@ -189,7 +195,7 @@ public class VerifyMojo extends MojoSupport {
config.put("maven.localRepository", localRepo.getBasedir());
config.put("maven.settings", mavenSession.getRequest().getUserSettingsFile().toString());
// TODO: add more configuration bits ?
- resolver = MavenResolvers.createMavenResolver(config, "maven");
+ resolver = new ReactorMavenResolver(reactor, MavenResolvers.createMavenResolver(config, "maven"));
doExecute();
}