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.
      *

Reply via email to