You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2023/02/23 19:02:30 UTC
[maven-wrapper] branch MWRAPPER-96 created (now b291b82)
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a change to branch MWRAPPER-96
in repository https://gitbox.apache.org/repos/asf/maven-wrapper.git
at b291b82 [MWRAPPER-96] Require Maven 3.2.5
This branch includes the following new commits:
new b291b82 [MWRAPPER-96] Require Maven 3.2.5
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
[maven-wrapper] 01/01: [MWRAPPER-96] Require Maven 3.2.5
Posted by sj...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch MWRAPPER-96
in repository https://gitbox.apache.org/repos/asf/maven-wrapper.git
commit b291b82d9ede18b1341a52883b223fe07606caee
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Thu Feb 23 20:02:17 2023 +0100
[MWRAPPER-96] Require Maven 3.2.5
- Use Resolver API
- add missing since tag
---
.../apache/maven/plugins/wrapper/WrapperMojo.java | 65 ++++++++++++----------
pom.xml | 2 +-
2 files changed, 37 insertions(+), 30 deletions(-)
diff --git a/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java b/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
index f6afa05..6ac1988 100644
--- a/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
+++ b/maven-wrapper-plugin/src/main/java/org/apache/maven/plugins/wrapper/WrapperMojo.java
@@ -33,21 +33,22 @@ import java.util.Map;
import java.util.Properties;
import org.apache.maven.Maven;
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
-import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
-import org.apache.maven.execution.MavenExecutionRequest;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.plugins.annotations.Mojo;
import org.apache.maven.plugins.annotations.Parameter;
-import org.apache.maven.repository.RepositorySystem;
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Settings;
import org.codehaus.plexus.archiver.UnArchiver;
import org.codehaus.plexus.components.io.fileselectors.FileSelector;
+import org.eclipse.aether.RepositorySystem;
+import org.eclipse.aether.artifact.Artifact;
+import org.eclipse.aether.artifact.DefaultArtifact;
+import org.eclipse.aether.resolution.ArtifactRequest;
+import org.eclipse.aether.resolution.ArtifactResolutionException;
+import org.eclipse.aether.resolution.ArtifactResult;
import static org.apache.maven.shared.utils.logging.MessageUtils.buffer;
@@ -68,12 +69,16 @@ public class WrapperMojo extends AbstractMojo {
/**
* The version of Maven to require, default value is the Runtime version of Maven.
* Can be any valid release above 2.0.9
+ *
+ * @since 3.0.0
*/
@Parameter(property = "maven")
private String mavenVersion;
/**
* The version of Maven Daemon to require.
+ *
+ * @since 3.2.0
*/
@Parameter(property = "mvnd")
private String mvndVersion;
@@ -88,16 +93,19 @@ public class WrapperMojo extends AbstractMojo {
* <dt>source</dt>
* <dd>Java source code, will be compiled on the fly</dd>
* <dt>only-script</dt>
- * <dd>the new lite implementation of mvnw/mvnw.cmd scripts downloads the maven directly and skips maven-wrapper.jar</dd>
+ * <dd>the new lite implementation of mvnw/mvnw.cmd scripts downloads the maven directly and skips maven-wrapper.jar - since 3.2.0</dd>
* </dl>
- *
* Value will be used as classifier of the downloaded file
+ *
+ * @since 3.0.0
*/
@Parameter(defaultValue = "bin", property = "type")
private String distributionType;
/**
* Include <code>mvnwDebug*</code> scripts?
+ *
+ * @since 3.0.0
*/
@Parameter(defaultValue = "false", property = "includeDebug")
private boolean includeDebugScript;
@@ -105,6 +113,8 @@ public class WrapperMojo extends AbstractMojo {
/**
* The expected SHA-256 checksum of the <i>maven-wrapper.jar</i> that is
* used to load the configured Maven distribution.
+ *
+ * @since 3.2.0
*/
@Parameter(property = "wrapperSha256Sum")
private String wrapperSha256Sum;
@@ -112,6 +122,8 @@ public class WrapperMojo extends AbstractMojo {
/**
* The expected SHA-256 checksum of the Maven distribution that is
* executed by the installed wrapper.
+ *
+ * @since 3.2.0
*/
@Parameter(property = "distributionSha256Sum")
private String distributionSha256Sum;
@@ -119,6 +131,8 @@ public class WrapperMojo extends AbstractMojo {
/**
* Determines if the Maven distribution should be downloaded
* on every execution of the Maven wrapper.
+ *
+ * @since 3.2.0
*/
@Parameter(defaultValue = "false", property = "alwaysDownload")
private boolean alwaysDownload;
@@ -126,6 +140,8 @@ public class WrapperMojo extends AbstractMojo {
/**
* Determines if the Maven distribution should be unpacked
* on every execution of the Maven wrapper.
+ *
+ * @since 3.2.0
*/
@Parameter(defaultValue = "false", property = "alwaysUnpack")
private boolean alwaysUnpack;
@@ -198,34 +214,25 @@ public class WrapperMojo extends AbstractMojo {
}
private Artifact downloadWrapperDistribution(String wrapperVersion) throws MojoExecutionException {
- Artifact artifact = repositorySystem.createArtifactWithClassifier(
+
+ Artifact artifact = new DefaultArtifact(
WRAPPER_DISTRIBUTION_GROUP_ID,
WRAPPER_DISTRIBUTION_ARTIFACT_ID,
- wrapperVersion,
+ distributionType,
WRAPPER_DISTRIBUTION_EXTENSION,
- distributionType);
+ wrapperVersion);
- MavenExecutionRequest executionRequest = session.getRequest();
+ ArtifactRequest request = new ArtifactRequest();
+ request.setRepositories(session.getCurrentProject().getRemotePluginRepositories());
+ request.setArtifact(artifact);
- ArtifactResolutionRequest resolutionRequest = new ArtifactResolutionRequest()
- .setArtifact(artifact)
- .setLocalRepository(session.getLocalRepository())
- .setRemoteRepositories(session.getCurrentProject().getPluginArtifactRepositories())
- .setOffline(executionRequest.isOffline())
- .setForceUpdate(executionRequest.isUpdateSnapshots());
-
- ArtifactResolutionResult resolveResult = repositorySystem.resolve(resolutionRequest);
+ try {
+ ArtifactResult artifactResult = repositorySystem.resolveArtifact(session.getRepositorySession(), request);
+ return artifactResult.getArtifact();
- if (!resolveResult.isSuccess()) {
- if (executionRequest.isShowErrors()) {
- for (Exception e : resolveResult.getExceptions()) {
- getLog().error(e.getMessage(), e);
- }
- }
- throw new MojoExecutionException("artifact: " + artifact + " not resolved.");
+ } catch (ArtifactResolutionException e) {
+ throw new MojoExecutionException("artifact: " + artifact + " not resolved.", e);
}
-
- return artifact;
}
private void unpack(Artifact artifact, Path targetFolder) {
@@ -245,7 +252,7 @@ public class WrapperMojo extends AbstractMojo {
* No need to look for other properties, restore them, respecting comments, etc.
*
* @param wrapperVersion the wrapper version
- * @param targetFolder the folder containing the wrapper.properties
+ * @param targetFolder the folder containing the wrapper.properties
* @throws MojoExecutionException if writing fails
*/
private void replaceProperties(String wrapperVersion, Path targetFolder) throws MojoExecutionException {
diff --git a/pom.xml b/pom.xml
index 589c5bd..eabd67b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -63,7 +63,7 @@ under the License.
<properties>
<maven.site.path>wrapper-archives/wrapper-LATEST</maven.site.path>
- <mavenVersion>3.1.0</mavenVersion>
+ <mavenVersion>3.2.5</mavenVersion>
<javaVersion>8</javaVersion>
<project.build.outputTimestamp>2022-05-08T09:15:34Z</project.build.outputTimestamp>
</properties>