You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sj...@apache.org on 2026/08/26 05:56:37 UTC

(maven-assembly-plugin) branch master updated: Replace `@Component` with JSR-330 constructor injection

This is an automated email from the ASF dual-hosted git repository.

slawekjaranowski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/maven-assembly-plugin.git


The following commit(s) were added to refs/heads/master by this push:
     new 8fb7cc10 Replace `@Component` with JSR-330 constructor injection
8fb7cc10 is described below

commit 8fb7cc10153cde15d0e6d5ff0107e78c6f39bc5b
Author: Slawomir Jaranowski <s....@gmail.com>
AuthorDate: Mon Aug 3 23:38:23 2026 +0200

    Replace `@Component` with JSR-330 constructor injection
---
 .../assembly/mojos/AbstractAssemblyMojo.java       | 38 ++++++++++------------
 .../plugins/assembly/mojos/SingleAssemblyMojo.java | 16 +++++++++
 2 files changed, 33 insertions(+), 21 deletions(-)

diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
index 578e0d44..2b58dca6 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/AbstractAssemblyMojo.java
@@ -31,7 +31,6 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
-import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
 import org.apache.maven.plugins.assembly.InvalidAssemblerConfigurationException;
@@ -52,6 +51,8 @@ import org.codehaus.plexus.interpolation.fixed.PrefixedPropertiesValueSource;
 import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource;
 import org.codehaus.plexus.util.cli.CommandLineUtils;
 
+import static java.util.Objects.requireNonNull;
+
 /**
  * @author <a href="mailto:brett@apache.org">Brett Porter</a>
  * @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
@@ -205,17 +206,9 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
     @Parameter(defaultValue = "${project.basedir}", required = true, readonly = true)
     private File basedir;
 
-    /**
-     * Maven ProjectHelper.
-     */
-    @Component
-    private MavenProjectHelper projectHelper;
+    private final MavenProjectHelper projectHelper;
 
-    /**
-     * Maven shared filtering utility.
-     */
-    @Component
-    private MavenReaderFilter mavenReaderFilter;
+    private final MavenReaderFilter mavenReaderFilter;
 
     /**
      * The Maven Session Object
@@ -300,17 +293,9 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
     @Parameter
     private String mergeManifestMode;
 
-    /**
-     *
-     */
-    @Component
-    private AssemblyArchiver assemblyArchiver;
+    private final AssemblyArchiver assemblyArchiver;
 
-    /**
-     *
-     */
-    @Component
-    private AssemblyReader assemblyReader;
+    private final AssemblyReader assemblyReader;
 
     /**
      * Allows additional configuration options that are specific to a particular type of archive format. This is
@@ -426,6 +411,17 @@ public abstract class AbstractAssemblyMojo extends AbstractMojo implements Assem
     @Parameter
     private String overrideGroupName;
 
+    protected AbstractAssemblyMojo(
+            MavenProjectHelper projectHelper,
+            MavenReaderFilter mavenReaderFilter,
+            AssemblyArchiver assemblyArchiver,
+            AssemblyReader assemblyReader) {
+        this.projectHelper = requireNonNull(projectHelper);
+        this.mavenReaderFilter = requireNonNull(mavenReaderFilter);
+        this.assemblyArchiver = requireNonNull(assemblyArchiver);
+        this.assemblyReader = requireNonNull(assemblyReader);
+    }
+
     public static FixedStringSearchInterpolator mainProjectInterpolator(MavenProject mainProject) {
         if (mainProject != null) {
             // 5
diff --git a/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java b/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
index 5dd02a21..7b85f7c4 100644
--- a/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
+++ b/src/main/java/org/apache/maven/plugins/assembly/mojos/SingleAssemblyMojo.java
@@ -18,13 +18,19 @@
  */
 package org.apache.maven.plugins.assembly.mojos;
 
+import javax.inject.Inject;
+
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.plugins.annotations.ResolutionScope;
+import org.apache.maven.plugins.assembly.archive.AssemblyArchiver;
+import org.apache.maven.plugins.assembly.io.AssemblyReader;
 import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
+import org.apache.maven.shared.filtering.MavenReaderFilter;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
 /**
@@ -41,6 +47,16 @@ import org.codehaus.plexus.util.xml.Xpp3Dom;
  */
 @Mojo(name = "single", requiresDependencyResolution = ResolutionScope.TEST, threadSafe = true)
 public class SingleAssemblyMojo extends AbstractAssemblyMojo {
+
+    @Inject
+    public SingleAssemblyMojo(
+            MavenProjectHelper projectHelper,
+            MavenReaderFilter mavenReaderFilter,
+            AssemblyArchiver assemblyArchiver,
+            AssemblyReader assemblyReader) {
+        super(projectHelper, mavenReaderFilter, assemblyArchiver, assemblyReader);
+    }
+
     @Parameter(defaultValue = "${plugin}", readonly = true)
     private PluginDescriptor plugin;