You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by kw...@apache.org on 2022/12/01 08:20:08 UTC
[maven-plugin-tools] 01/01: [MNG-7611] Change semantics of plugin descriptor's "requiredJavaVersion"
This is an automated email from the ASF dual-hosted git repository.
kwin pushed a commit to branch bugfix/change-semantics-of-requiredJavaVersion
in repository https://gitbox.apache.org/repos/asf/maven-plugin-tools.git
commit 907e6253aaa746655051c7a92ca5e21b67443c6d
Author: Konrad Windszus <kw...@apache.org>
AuthorDate: Thu Dec 1 09:19:59 2022 +0100
[MNG-7611] Change semantics of plugin descriptor's "requiredJavaVersion"
Generate simple version constraints automatically
Fix Javadoc
---
maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy | 2 +-
maven-plugin-plugin/src/it/v4api/verify.groovy | 2 +-
.../org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java | 8 ++++----
.../java/org/apache/maven/tools/plugin/PluginToolsRequest.java | 6 ++++--
4 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy b/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy
index 51ba67d4..b3f34ed8 100644
--- a/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy
+++ b/maven-plugin-plugin/src/it/java-basic-annotations/verify.groovy
@@ -25,7 +25,7 @@ assert descriptorFile.isFile()
def pluginDescriptor = new XmlParser().parse( descriptorFile );
-assert pluginDescriptor.requiredJavaVersion.text() == '[1.8,)'
+assert pluginDescriptor.requiredJavaVersion.text() == '1.8'
assert pluginDescriptor.requiredMavenVersion.text() == '3.2.5'
def mojo = pluginDescriptor.mojos.mojo.findAll{ it.goal.text() == "first" }[0]
diff --git a/maven-plugin-plugin/src/it/v4api/verify.groovy b/maven-plugin-plugin/src/it/v4api/verify.groovy
index 8d147efa..c3c4967c 100644
--- a/maven-plugin-plugin/src/it/v4api/verify.groovy
+++ b/maven-plugin-plugin/src/it/v4api/verify.groovy
@@ -22,7 +22,7 @@ assert descriptorFile.isFile()
def pluginDescriptor = new XmlParser().parse( descriptorFile );
-assert pluginDescriptor.requiredJavaVersion.text() == '[1.8,)'
+assert pluginDescriptor.requiredJavaVersion.text() == '1.8'
assert pluginDescriptor.requiredMavenVersion.text() == '4.0.0-alpha-2'
def mojo = pluginDescriptor.mojos.mojo.findAll{ it.goal.text() == "first" }[0]
diff --git a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
index 1696335a..ba836830 100644
--- a/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
+++ b/maven-plugin-plugin/src/main/java/org/apache/maven/plugin/plugin/DescriptorGeneratorMojo.java
@@ -252,9 +252,9 @@ public class DescriptorGeneratorMojo
* Maven versions. Can be either one of the following formats:
*
* <ul>
- * <li>One of the values as for <a href="https://maven.apache.org/pom.html#Activation">POM profile activation
- * element {@code jdk}</a>, i.e. version ranges, version prefixes
- * and negated version prefixes (starting with '!').</li>
+ * <li>A version range which specifies the supported Java versions. It can either use the usual mathematical
+ * syntax like {@code "[2.0.10,2.1.0),[3.0,)"} or use a single version like {@code "2.2.1"}. The latter is a short
+ * form for {@code "[2.2.1,)"}, i.e. denotes the minimum version required.</li>
* <li>{@code "auto"} to determine the minimum Java version from the binary class version being generated during
* compilation (determined by the extractor).</li>
* </ul>
@@ -456,7 +456,7 @@ public class DescriptorGeneratorMojo
return null;
}
- return "[" + minRequiredJavaVersion + ",)";
+ return minRequiredJavaVersion;
}
/**
diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
index a014ad3c..4e440f76 100644
--- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
+++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/PluginToolsRequest.java
@@ -200,7 +200,8 @@ public interface PluginToolsRequest
/**
*
- * @param requiredJavaVersion the minimally required java version for this plugin or {@code null} if unknown.
+ * @param requiredJavaVersion the required Java version for this plugin or {@code null} if unknown.
+ * Must be a value according to semantics of {@link org.eclipse.aether.version.VersionConstraint}.
* @return This request.
* @since 3.8.0
*/
@@ -208,7 +209,8 @@ public interface PluginToolsRequest
/**
*
- * @return the minimally required java version for this plugin or {@code null} if unknown.
+ * @return the required Java version for this plugin or {@code null} if unknown.
+ * Is a value according to semantics of {@link org.eclipse.aether.version.VersionConstraint}.
* @since 3.8.0
*/
String getRequiredJavaVersion();