This is an automated email from the ASF dual-hosted git repository.
sjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-invoker-plugin.git
The following commit(s) were added to refs/heads/master by this push:
new 0ed1dc4 Refactor file utils usage and improve dependency configuration
0ed1dc4 is described below
commit 0ed1dc410e2f58ec48048ddef91a9eb493bf53ab
Author: Slawomir Jaranowski <[email protected]>
AuthorDate: Mon Mar 23 22:01:12 2026 +0100
Refactor file utils usage and improve dependency configuration
- Replaced `org.apache.commons.io.FileUtils` usage with `FileUtils` from
plexus for consistency.
- Added dependency exclusion configuration in `maven-dependency-plugin`.
- Used constructor injection and removed redundant annotations in
`InstallMojo` for cleaner, modern code.
---
pom.xml | 12 ++++++++++++
.../maven/plugins/invoker/AbstractInvokerMojo.java | 4 ++--
.../apache/maven/plugins/invoker/InstallMojo.java | 20 ++++++++++++--------
3 files changed, 26 insertions(+), 10 deletions(-)
diff --git a/pom.xml b/pom.xml
index 30e34d7..97b2ce4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -307,6 +307,18 @@ under the License.
<suppressionsLocation>src/config/checkstyle-suppressions.xml</suppressionsLocation>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-dependency-plugin</artifactId>
+ <configuration>
+ <ignoredUnusedDeclaredDependencies>
+ <!-- used in runtime for script execution, but not directly in
the code -->
+
<ignoredUnusedDeclaredDependency>org.apache-extras.beanshell:bsh</ignoredUnusedDeclaredDependency>
+
<ignoredUnusedDeclaredDependency>org.apache.groovy</ignoredUnusedDeclaredDependency>
+ </ignoredUnusedDeclaredDependencies>
+ <failOnWarning>true</failOnWarning>
+ </configuration>
+ </plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
diff --git
a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
index d2648f4..f6a193b 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/AbstractInvokerMojo.java
@@ -963,7 +963,7 @@ public abstract class AbstractInvokerMojo extends
AbstractMojo {
// If it exists from previous run...
if (reportsDirectory.exists()) {
try {
-
org.apache.commons.io.FileUtils.deleteDirectory(reportsDirectory);
+ FileUtils.deleteDirectory(reportsDirectory);
} catch (IOException e) {
throw new MojoExecutionException(
"Failure while trying to delete " +
reportsDirectory.getAbsolutePath(), e);
@@ -1169,7 +1169,7 @@ public abstract class AbstractInvokerMojo extends
AbstractMojo {
copyDirectoryStructure(projectsDirectory, temp);
-
org.apache.commons.io.FileUtils.deleteDirectory(new File(temp, cloneSubdir));
+ FileUtils.deleteDirectory(new File(temp,
cloneSubdir));
copyDirectoryStructure(temp, cloneProjectsTo);
} else {
diff --git a/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
b/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
index 8894ef9..8ac1983 100644
--- a/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
+++ b/src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java
@@ -18,6 +18,8 @@
*/
package org.apache.maven.plugins.invoker;
+import javax.inject.Inject;
+
import java.io.File;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -36,7 +38,6 @@ import org.apache.maven.model.Model;
import org.apache.maven.model.Parent;
import org.apache.maven.plugin.AbstractMojo;
import org.apache.maven.plugin.MojoExecutionException;
-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;
@@ -88,15 +89,11 @@ import org.eclipse.aether.util.filter.DependencyFilterUtils;
public class InstallMojo extends AbstractMojo {
// components used in Mojo
+ private final RepositorySystem repositorySystem;
- @Component
- private RepositorySystem repositorySystem;
-
- @Parameter(defaultValue = "${session}", readonly = true, required = true)
- private MavenSession session;
+ private final MavenSession session;
- @Parameter(defaultValue = "${project}", readonly = true, required = true)
- private MavenProject project;
+ private final MavenProject project;
/**
* The path to the local repository into which the project artifacts
should be installed for the integration tests.
@@ -151,6 +148,13 @@ public class InstallMojo extends AbstractMojo {
@Parameter(property = "invoker.install.scope", defaultValue = "runtime")
private String scope;
+ @Inject
+ public InstallMojo(RepositorySystem repositorySystem, MavenSession
session, MavenProject project) {
+ this.repositorySystem = repositorySystem;
+ this.session = session;
+ this.project = project;
+ }
+
/**
* Performs this mojo's tasks.
*