Copilot commented on code in PR #432:
URL:
https://github.com/apache/maven-integration-testing/pull/432#discussion_r3743357344
##########
core-it-suite/src/test/resources/mng-3536/plugin/src/main/java/plugin/Mojo3563.java:
##########
@@ -28,24 +28,19 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+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.project.MavenProject;
import org.codehaus.plexus.util.IOUtil;
-/**
- * @goal validate
- * @phase validate
- */
+@Mojo(name = "validate", defaultPhase = LifecyclePhase.VALIDATE)
public class Mojo3563 extends AbstractMojo {
- /**
- * @parameter default-value="${project}"
- */
+ @Parameter(defaultValue = "${project}")
Review Comment:
`MavenProject` is injected from Maven (expression `${project}`) and should
be marked `readonly = true` (and typically `required = true`) so the descriptor
doesn’t advertise it as a configurable plugin parameter.
##########
core-it-suite/src/test/resources/mng-3694/maven-mng3694-plugin/src/main/java/plugin/MyMojo.java:
##########
@@ -39,30 +39,27 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
+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.project.MavenProject;
-/**
- * @goal check
- * @phase validate
- */
+@Mojo(name = "check", defaultPhase = LifecyclePhase.VALIDATE)
public class MyMojo extends AbstractMojo {
/**
* Not used, just an offset to place reactorProjects in the middle.
- * @parameter default-value="${project.build.directory}"
*/
+ @Parameter(defaultValue = "${project.build.directory}")
private String outputDirectory;
- /**
- * @parameter expression="${reactorProjects}"
- * @required
- */
+ @Parameter(defaultValue = "${reactorProjects}", required = true)
Review Comment:
`${reactorProjects}` is injected by Maven. Marking it `readonly = true`
helps ensure the generated descriptor doesn’t treat it as a user-configurable
parameter.
##########
core-it-suite/src/test/resources/mng-6127-plugin-execution-configuration-interference/plugin/src/main/java/org/apache/maven/its/mng6127/plugin/TestMojo.java:
##########
@@ -45,33 +45,31 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
import org.apache.maven.project.MavenProject;
/**
* Test mojo.
- *
- * @goal test
*/
+@Mojo(name = "test")
public class TestMojo extends AbstractMojo {
/**
* The Maven project.
- *
- * @parameter expression="${project}"
*/
+ @Parameter(defaultValue = "${project}")
Review Comment:
This parameter injects the current MavenProject via expression. Without
`readonly = true` (and typically `required = true`) the generated plugin
descriptor will treat it as user-configurable, which is misleading and can
cause configuration to override an injected value.
##########
core-it-suite/src/test/resources/mng-3693/maven-mng3693-plugin/src/main/java/plugin/MyMojo.java:
##########
@@ -39,18 +39,15 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
+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.project.MavenProject;
import org.codehaus.plexus.util.FileUtils;
-/**
- * @goal move-pom
- * @phase package
- */
+@Mojo(name = "move-pom", defaultPhase = LifecyclePhase.PACKAGE)
public class MyMojo extends AbstractMojo {
- /**
- * @parameter expression="${project}"
- * @required
- */
+ @Parameter(defaultValue = "${project}", required = true)
Review Comment:
This `MavenProject` value is injected by Maven. Consider marking it
`readonly = true` so the generated descriptor doesn’t imply it can be set by
plugin configuration.
##########
core-it-suite/src/test/resources/mng-3536/project/src/main/java/plugin/Mojo3563.java:
##########
@@ -24,19 +24,18 @@
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+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.project.MavenProject;
/**
* Maven Mojo for executing nunit tests
- *
- * @goal validate
- * @phase validate
*/
+@Mojo(name = "validate", defaultPhase = LifecyclePhase.VALIDATE)
public class Mojo3563 extends AbstractMojo {
- /**
- * @parameter expression="${project}"
- */
+ @Parameter(defaultValue = "${project}")
Review Comment:
`MavenProject` is injected from Maven (expression `${project}`) and should
be marked `readonly = true` (and typically `required = true`) so the descriptor
doesn’t advertise it as a configurable plugin parameter.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]