diff --git a/maven-settings-builder/pom.xml b/maven-settings-builder/pom.xml
index 381f5b197ba..fb676ca70ea 100644
--- a/maven-settings-builder/pom.xml
+++ b/maven-settings-builder/pom.xml
@@ -46,8 +46,8 @@ under the License.
- org.codehaus.plexus
- plexus-utils
+ javax.inject
+ javax.inject
org.codehaus.plexus
@@ -55,7 +55,7 @@ under the License.
org.codehaus.plexus
- plexus-component-annotations
+ plexus-utils
org.apache.maven
@@ -70,8 +70,8 @@ under the License.
- org.codehaus.plexus
- plexus-component-metadata
+ org.eclipse.sisu
+ sisu-maven-plugin
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
index 3cdae7d04f3..675ea591625 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilder.java
@@ -27,6 +27,10 @@
import java.util.List;
import java.util.Map;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import org.apache.maven.building.FileSource;
import org.apache.maven.building.Source;
import org.apache.maven.settings.Settings;
@@ -36,8 +40,6 @@
import org.apache.maven.settings.io.SettingsWriter;
import org.apache.maven.settings.merge.MavenSettingsMerger;
import org.apache.maven.settings.validation.SettingsValidator;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
import org.codehaus.plexus.interpolation.InterpolationException;
import org.codehaus.plexus.interpolation.InterpolationPostProcessor;
@@ -49,21 +51,29 @@
*
* @author Benjamin Bentmann
*/
-@Component( role = SettingsBuilder.class )
+@Named
+@Singleton
public class DefaultSettingsBuilder
implements SettingsBuilder
{
- @Requirement
private SettingsReader settingsReader;
- @Requirement
private SettingsWriter settingsWriter;
- @Requirement
private SettingsValidator settingsValidator;
- private MavenSettingsMerger settingsMerger = new MavenSettingsMerger();
+ private final MavenSettingsMerger settingsMerger = new MavenSettingsMerger();
+
+ @Inject
+ public DefaultSettingsBuilder( SettingsReader settingsReader,
+ SettingsWriter settingsWriter,
+ SettingsValidator settingsValidator )
+ {
+ this.settingsReader = settingsReader;
+ this.settingsWriter = settingsWriter;
+ this.settingsValidator = settingsValidator;
+ }
public DefaultSettingsBuilder setSettingsReader( SettingsReader settingsReader )
{
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactory.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactory.java
index e728ec55035..805a4c871d9 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactory.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/building/DefaultSettingsBuilderFactory.java
@@ -59,13 +59,9 @@ protected SettingsValidator newSettingsValidator()
*/
public DefaultSettingsBuilder newInstance()
{
- DefaultSettingsBuilder builder = new DefaultSettingsBuilder();
-
- builder.setSettingsReader( newSettingsReader() );
- builder.setSettingsWriter( newSettingsWriter() );
- builder.setSettingsValidator( newSettingsValidator() );
-
- return builder;
+ return new DefaultSettingsBuilder( newSettingsReader(),
+ newSettingsWriter(),
+ newSettingsValidator() );
}
}
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecrypter.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecrypter.java
index 671a20de7d3..7d6c8b9b662 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecrypter.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/crypto/DefaultSettingsDecrypter.java
@@ -22,13 +22,15 @@
import java.util.ArrayList;
import java.util.List;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import org.apache.maven.settings.Proxy;
import org.apache.maven.settings.Server;
import org.apache.maven.settings.building.DefaultSettingsProblem;
import org.apache.maven.settings.building.SettingsProblem;
import org.apache.maven.settings.building.SettingsProblem.Severity;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcher;
import org.sonatype.plexus.components.sec.dispatcher.SecDispatcherException;
@@ -37,13 +39,18 @@
*
* @author Benjamin Bentmann
*/
-@Component( role = SettingsDecrypter.class )
+@Named
+@Singleton
public class DefaultSettingsDecrypter
implements SettingsDecrypter
{
+ private final SecDispatcher securityDispatcher;
- @Requirement( hint = "maven" )
- private SecDispatcher securityDispatcher;
+ @Inject
+ public DefaultSettingsDecrypter( @Named( "maven" ) SecDispatcher securityDispatcher )
+ {
+ this.securityDispatcher = securityDispatcher;
+ }
@Override
public SettingsDecryptionResult decrypt( SettingsDecryptionRequest request )
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsReader.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsReader.java
index fa9561371df..6044c0c882f 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsReader.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsReader.java
@@ -26,9 +26,11 @@
import java.util.Map;
import java.util.Objects;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
-import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.ReaderFactory;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
@@ -37,7 +39,8 @@
*
* @author Benjamin Bentmann
*/
-@Component( role = SettingsReader.class )
+@Named
+@Singleton
public class DefaultSettingsReader
implements SettingsReader
{
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsWriter.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsWriter.java
index 96af1a340a8..10729a2dd8c 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsWriter.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/io/DefaultSettingsWriter.java
@@ -27,9 +27,11 @@
import java.util.Map;
import java.util.Objects;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
-import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.WriterFactory;
/**
@@ -37,7 +39,8 @@
*
* @author Benjamin Bentmann
*/
-@Component( role = SettingsWriter.class )
+@Named
+@Singleton
public class DefaultSettingsWriter
implements SettingsWriter
{
diff --git a/maven-settings-builder/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java b/maven-settings-builder/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java
index 1e31f504ff0..2aec1e11031 100644
--- a/maven-settings-builder/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java
+++ b/maven-settings-builder/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java
@@ -23,6 +23,9 @@
import java.util.List;
import java.util.Set;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import org.apache.maven.settings.Mirror;
import org.apache.maven.settings.Profile;
import org.apache.maven.settings.Repository;
@@ -31,13 +34,13 @@
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.building.SettingsProblem.Severity;
import org.apache.maven.settings.building.SettingsProblemCollector;
-import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.util.StringUtils;
/**
* @author Milos Kleint
*/
-@Component( role = SettingsValidator.class )
+@Named
+@Singleton
public class DefaultSettingsValidator
implements SettingsValidator
{