You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by hb...@apache.org on 2022/06/18 21:41:20 UTC
[maven] branch MNG-7353 created (now e517a8ccc)
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a change to branch MNG-7353
in repository https://gitbox.apache.org/repos/asf/maven.git
at e517a8ccc [MNG-7353] support CLI "mvn pluginPrefix:version:goal"
This branch includes the following new commits:
new e517a8ccc [MNG-7353] support CLI "mvn pluginPrefix:version:goal"
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] 01/01: [MNG-7353] support CLI "mvn pluginPrefix:version:goal"
Posted by hb...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
hboutemy pushed a commit to branch MNG-7353
in repository https://gitbox.apache.org/repos/asf/maven.git
commit e517a8ccc65ad85f313e51e9fb9182679664dda6
Author: Hervé Boutemy <hb...@apache.org>
AuthorDate: Sat Jun 18 23:41:13 2022 +0200
[MNG-7353] support CLI "mvn pluginPrefix:version:goal"
---
.../DefaultLifecycleTaskSegmentCalculator.java | 2 +-
.../lifecycle/internal/MojoDescriptorCreator.java | 37 +++++++++++++++-------
2 files changed, 26 insertions(+), 13 deletions(-)
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java
index cb49050c7..57dd0cc89 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java
@@ -96,7 +96,7 @@ public class DefaultLifecycleTaskSegmentCalculator
{
if ( isGoalSpecification( task ) )
{
- // "pluginPrefix:goal" or "groupId:artifactId[:version]:goal"
+ // "pluginPrefix[:version]:goal" or "groupId:artifactId[:version]:goal"
lifecyclePluginResolver.resolveMissingPluginVersions( session.getTopLevelProject(), session );
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
index edb8dceda..af6dfd953 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java
@@ -176,18 +176,31 @@ public class MojoDescriptorCreator
}
else if ( numTokens == 3 )
{
- // We have everything that we need except the version
- //
- // org.apache.maven.plugins:maven-remote-resources-plugin:???:process
- //
- // groupId
- // artifactId
- // ???
- // goal
- //
- plugin = new Plugin();
- plugin.setGroupId( tok.nextToken() );
- plugin.setArtifactId( tok.nextToken() );
+ // groupId:artifactId:goal or pluginPrefix:version:goal (since Maven 3.9)
+
+ String firstToken = tok.nextToken();
+ // groupId or pluginPrefix? heuristics: groupId contains . but not pluginPrefix
+ if ( firstToken.contains( "." ) )
+ {
+ // We have everything that we need except the version
+ //
+ // org.apache.maven.plugins:maven-remote-resources-plugin:???:process
+ //
+ // groupId
+ // artifactId
+ // ???
+ // goal
+ //
+ plugin = new Plugin();
+ plugin.setGroupId( firstToken );
+ plugin.setArtifactId( tok.nextToken() );
+ }
+ else
+ {
+ // remote-resources:3.5.0:process
+ plugin = findPluginForPrefix( firstToken, session );
+ plugin.setVersion( tok.nextToken() );
+ }
goal = tok.nextToken();
}
else if ( numTokens <= 2 )