diff --git a/pom.xml b/pom.xml
index 07aa74687..48e1c2074 100644
--- a/pom.xml
+++ b/pom.xml
@@ -75,12 +75,12 @@
1.3.11
0.38.19
5.8.2
- 3.8.1
+ 3.8.8
3.3.9
4.5.1
2024-09-29T06:28:50Z
UTF-8
- 3.0.0-M2
+ 3.5.2
2.0.1
3.25.3
3.11.0.3922
@@ -144,16 +144,22 @@
2.4.0
+
+ org.apache.commons
+ commons-compress
+ 1.27.1
+
+
org.apache.commons
commons-lang3
- 3.6
+ 3.17.0
org.apache.commons
commons-text
- 1.1
+ 1.12.0
@@ -214,18 +220,19 @@
org.apache.maven.plugins
maven-assembly-plugin
- 3.1.0
-
-
- org.apache.maven
- maven-project
-
-
-
- com.google.collections
- google-collections
-
-
+ 3.7.1
+
+
+
+ org.apache.maven.shared
+ maven-filtering
+ 3.4.0
+
+
+
+ org.apache.maven.shared
+ maven-shared-utils
+ 3.4.2
@@ -237,27 +244,26 @@
org.bouncycastle
- bcpkix-jdk15on
- 1.65
+ bcpkix-jdk18on
+ 1.79
org.codehaus.plexus
- plexus-component-annotations
- 1.6
- provided
+ plexus-interpolation
+ 1.24
org.codehaus.plexus
- plexus-interpolation
- 1.24
+ plexus-utils
+ 4.0.2
org.codehaus.plexus
- plexus-utils
- 3.0.24
+ plexus-xml
+ 3.0.1
@@ -311,7 +317,7 @@
org.yaml
snakeyaml
- 1.32
+ 2.3
@@ -331,18 +337,41 @@
-
+
+
+ src/main/resources
+
+
+ true
+ src/main/resources-filtered
+
+
+
+ maven-clean-plugin
+ 3.4.0
+
maven-deploy-plugin
- 2.8.2
+ 3.1.3
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 3.2.7
+
+
+
+ maven-install-plugin
+ 3.1.3
maven-jar-plugin
- 3.2.0
+ 3.4.2
true
@@ -352,17 +381,17 @@
maven-javadoc-plugin
- 3.2.0
+ 3.11.1
maven-release-plugin
- 3.0.0-M1
+ 3.1.1
maven-source-plugin
- 3.2.0
+ 3.3.1
@@ -428,10 +457,10 @@
maven-compiler-plugin
- 3.8.1
+ 3.13.0
- 1.8
- 1.8
+ 8
+ 8
-Xlint:deprecation
true
@@ -439,7 +468,7 @@
maven-plugin-plugin
- 3.6.0
+ 3.13.1
docker
true
@@ -463,24 +492,8 @@
maven-resources-plugin
- 3.0.2
+ 3.3.1
-
- copy-plexus-resources
-
- copy-resources
-
- process-resources
-
- ${basedir}/target/filtered-resources/META-INF/plexus
-
-
- src/main/resources/META-INF/plexus
- true
-
-
-
-
copy-asciidoc
@@ -499,18 +512,16 @@
-
- org.codehaus.plexus
- plexus-component-metadata
- 2.1.0
-
- ${basedir}/target/filtered-resources/META-INF/plexus
-
+ org.eclipse.sisu
+ sisu-maven-plugin
+ 0.9.0.M3
+ index-project
- generate-metadata
+ main-index
+ test-index
@@ -544,7 +555,6 @@
org.apache.maven.plugins
maven-gpg-plugin
- 1.6
false
diff --git a/src/main/java/io/fabric8/maven/docker/AbstractDockerMojo.java b/src/main/java/io/fabric8/maven/docker/AbstractDockerMojo.java
index 399b35ce3..fd42252ba 100644
--- a/src/main/java/io/fabric8/maven/docker/AbstractDockerMojo.java
+++ b/src/main/java/io/fabric8/maven/docker/AbstractDockerMojo.java
@@ -2,10 +2,10 @@
import java.io.File;
import java.io.IOException;
-import java.util.Date;
+import java.util.ArrayList;
import java.util.Collections;
+import java.util.Date;
import java.util.List;
-import java.util.ArrayList;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Matcher;
@@ -56,11 +56,6 @@
import org.apache.maven.shared.filtering.MavenFileFilter;
import org.apache.maven.shared.filtering.MavenReaderFilter;
import org.apache.maven.shared.utils.logging.MessageUtils;
-import org.codehaus.plexus.PlexusConstants;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.context.Context;
-import org.codehaus.plexus.context.ContextException;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.fusesource.jansi.Ansi;
/**
@@ -69,7 +64,7 @@
* @author roland
* @since 26.03.14
*/
-public abstract class AbstractDockerMojo extends AbstractMojo implements Contextualizable, ConfigHelper.Customizer {
+public abstract class AbstractDockerMojo extends AbstractMojo implements ConfigHelper.Customizer {
// Key for indicating that a "start" goal has run
public static final String CONTEXT_KEY_START_CALLED = "CONTEXT_KEY_DOCKER_START_CALLED";
@@ -256,6 +251,7 @@ public abstract class AbstractDockerMojo extends AbstractMojo implements Context
List resolvedImages;
// Handler dealing with authentication credentials
+ @Component
AuthConfigFactory authConfigFactory;
protected AnsiLogger log;
@@ -482,12 +478,6 @@ protected List getVolumes() {
// =================================================================================
- @Override
- public void contextualize(Context context) throws ContextException {
- authConfigFactory = new AuthConfigFactory((PlexusContainer) context.get(PlexusConstants.PLEXUS_KEY));
- }
-
- // =================================================================================
protected GavLabel getGavLabel() {
// Label used for this run
return new GavLabel(project.getGroupId(), project.getArtifactId(), project.getVersion());
diff --git a/src/main/java/io/fabric8/maven/docker/StopMojo.java b/src/main/java/io/fabric8/maven/docker/StopMojo.java
index 1bb334b0c..964ab89c9 100644
--- a/src/main/java/io/fabric8/maven/docker/StopMojo.java
+++ b/src/main/java/io/fabric8/maven/docker/StopMojo.java
@@ -98,11 +98,6 @@ public void execute() throws MojoExecutionException, MojoFailureException {
// HttpDelete class is not used during start mojo, so we need to load it and initialize it. It is not
// possible to load classes in the shutdown hook as
Class.forName("org.apache.http.client.methods.HttpDelete", true, this.getClass().getClassLoader());
-
- // com.google.common.base.Strings class from com.google.guava is required and it depends on Platforms
- // Used in @see io.fabric8.maven.docker.util.ImageNameFormatter
- Class.forName("com.google.common.base.Strings", true, this.getClass().getClassLoader());
- Class.forName("com.google.common.base.Platform", true, this.getClass().getClassLoader());
} catch (ClassNotFoundException e) {
log.error("Failure in loading org.apache.http.client.methods.HttpDelete class: %s", e.getMessage());
}
diff --git a/src/main/java/io/fabric8/maven/docker/access/util/ExternalCommand.java b/src/main/java/io/fabric8/maven/docker/access/util/ExternalCommand.java
index 0e88e5b9d..b639f0cbd 100644
--- a/src/main/java/io/fabric8/maven/docker/access/util/ExternalCommand.java
+++ b/src/main/java/io/fabric8/maven/docker/access/util/ExternalCommand.java
@@ -19,9 +19,8 @@
import java.io.*;
import java.util.concurrent.*;
-import io.fabric8.maven.docker.util.AnsiLogger;
import io.fabric8.maven.docker.util.Logger;
-import org.apache.maven.shared.utils.StringUtils;
+import org.codehaus.plexus.util.StringUtils;
/**
* @author roland
diff --git a/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyConfigurationSource.java b/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyConfigurationSource.java
index f5accd095..32214400d 100644
--- a/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyConfigurationSource.java
+++ b/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyConfigurationSource.java
@@ -3,6 +3,7 @@
import java.io.File;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.Properties;
import javax.annotation.Nonnull;
@@ -14,11 +15,11 @@
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugins.assembly.AssemblerConfigurationSource;
+import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.plugins.assembly.utils.InterpolationConstants;
import org.apache.maven.project.MavenProject;
import org.apache.maven.shared.filtering.MavenFileFilter;
import org.apache.maven.shared.filtering.MavenReaderFilter;
-import org.apache.maven.shared.utils.cli.CommandLineUtils;
import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
import org.codehaus.plexus.interpolation.fixed.PrefixedPropertiesValueSource;
import org.codehaus.plexus.interpolation.fixed.PropertiesBasedValueSource;
@@ -93,11 +94,6 @@ public String getFinalName() {
return ".";
}
- @Override
- public ArtifactRepository getLocalRepository() {
- return params.getSession().getLocalRepository();
- }
-
public MavenFileFilter getMavenFileFilter() {
return params.getMavenFileFilter();
}
@@ -108,12 +104,6 @@ public List getReactorProjects() {
return params.getReactorProjects();
}
- // Maybe use injection
- @Override
- public List getRemoteRepositories() {
- return params.getProject().getRemoteArtifactRepositories();
- }
-
@Override
public MavenSession getMavenSession() {
return params.getSession();
@@ -265,18 +255,57 @@ public boolean isUpdateOnly() {
}
@Override
- public boolean isUseJvmChmod() {
+ public boolean isIgnorePermissions() {
+ return assemblyConfig != null ? assemblyConfig.isIgnorePermissions() : false;
+ }
+
+ @Override
+ public List getInlineDescriptors() {
+ return Collections.emptyList();
+ }
+
+ @Override
+ public Properties getAdditionalProperties() {
+ return new Properties();
+ }
+
+ @Override
+ public Integer getOverrideUid() {
+ return null;
+ }
+
+ @Override
+ public String getOverrideUserName() {
+ return null;
+ }
+
+ @Override
+ public Integer getOverrideGid() {
+ return null;
+ }
+
+ @Override
+ public String getOverrideGroupName() {
+ return null;
+ }
+
+ @Override
+ public boolean isRecompressZippedFiles() {
return false;
}
@Override
- public boolean isIgnorePermissions() {
- return assemblyConfig != null ? assemblyConfig.isIgnorePermissions() : false;
+ public String getMergeManifestMode() {
+ return null;
}
// =======================================================================
// Taken from AbstractAssemblyMojo
+ private ArtifactRepository getLocalRepository() {
+ return params.getSession().getLocalRepository();
+ }
+
private FixedStringSearchInterpolator mainProjectInterpolator(MavenProject mainProject)
{
if (mainProject != null) {
@@ -330,7 +359,18 @@ private FixedStringSearchInterpolator createCommandLinePropertiesInterpolator()
private FixedStringSearchInterpolator createEnvInterpolator() {
PrefixedPropertiesValueSource envProps = new PrefixedPropertiesValueSource(Collections.singletonList("env."),
- CommandLineUtils.getSystemEnvVars(false), true );
+ getSystemEnvVars(), true );
return FixedStringSearchInterpolator.create( envProps );
}
+
+ private static Properties getSystemEnvVars() {
+ Properties envVars = new Properties();
+ Map envs = System.getenv();
+
+ for(String key : envs.keySet()) {
+ String value = envs.get(key);
+ envVars.put(key, value);
+ }
+ return envVars;
+ }
}
diff --git a/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyManager.java b/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyManager.java
index 7910ff9ba..4ac734a7c 100644
--- a/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyManager.java
+++ b/src/main/java/io/fabric8/maven/docker/assembly/DockerAssemblyManager.java
@@ -4,10 +4,12 @@
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
+import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Objects;
+import java.util.stream.Collectors;
import io.fabric8.maven.docker.config.ArchiveCompression;
import io.fabric8.maven.docker.config.Arguments;
@@ -31,8 +33,6 @@
import org.apache.maven.plugins.assembly.io.AssemblyReader;
import org.apache.maven.plugins.assembly.model.Assembly;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.PathTool;
-import org.apache.maven.shared.utils.io.FileUtils;
import org.codehaus.plexus.archiver.ArchiverException;
import org.codehaus.plexus.archiver.manager.ArchiverManager;
import org.codehaus.plexus.archiver.manager.NoSuchArchiverException;
@@ -42,11 +42,13 @@
import org.codehaus.plexus.archiver.tar.TarUnArchiver.UntarCompressionMethod;
import org.codehaus.plexus.archiver.util.DefaultArchivedFileSet;
import org.codehaus.plexus.archiver.util.DefaultFileSet;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator;
+import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.PathTool;
import javax.annotation.Nonnull;
+import javax.inject.Inject;
+import javax.inject.Named;
/**
* Tool for creating a docker image tar ball including a Dockerfile for building
@@ -55,7 +57,7 @@
* @author roland
* @since 08.05.14
*/
-@Component(role = DockerAssemblyManager.class, instantiationStrategy = "per-lookup")
+@Named
public class DockerAssemblyManager {
public static final String DEFAULT_DATA_BASE_IMAGE = "busybox:latest";
@@ -69,16 +71,16 @@ public class DockerAssemblyManager {
private static final String TAR_ARCHIVER_TYPE = "tar";
- @Requirement
+ @Inject
private AssemblyArchiver assemblyArchiver;
- @Requirement
+ @Inject
private AssemblyReader assemblyReader;
- @Requirement
+ @Inject
private ArchiverManager archiverManager;
- @Requirement
+ @Inject
private TrackArchiverCollection trackArchivers;
/**
@@ -300,7 +302,7 @@ public AssemblyFiles getAssemblyFiles(@Nonnull String name, AssemblyConfiguratio
synchronized (trackArchivers) {
trackArchivers.init(log, assemblyName);
assembly.setId("tracker");
- File trackArchiverDestFile = assemblyArchiver.createArchive(assembly, assemblyName, "track", source, false, null);
+ File trackArchiverDestFile = assemblyArchiver.createArchive(assembly, assemblyName, "track", source, null);
trackArchivers.get(assemblyName).setDestFile(trackArchiverDestFile);
return trackArchivers.getAssemblyFiles(mojoParams.getSession(), assemblyName);
}
@@ -394,7 +396,9 @@ private void addDockerExcludes(DefaultFileSet fileSet, MojoParameters params) th
for (String file : new String[] { DOCKER_EXCLUDE, DOCKER_IGNORE } ) {
File dockerIgnore = new File(directory, file);
if (dockerIgnore.exists()) {
- excludes.addAll(Arrays.asList(FileUtils.fileReadArray(dockerIgnore)));
+ excludes.addAll(Files.readAllLines(dockerIgnore.toPath()).stream()
+ .filter(l -> !l.startsWith("#") && !l.trim().isEmpty())
+ .collect(Collectors.toList()));
excludes.add(DOCKER_IGNORE);
}
}
@@ -405,7 +409,9 @@ private void addDockerIncludes(DefaultFileSet fileSet) throws IOException {
File directory = fileSet.getDirectory();
File dockerInclude = new File(directory, DOCKER_INCLUDE);
if (dockerInclude.exists()) {
- ArrayList includes = new ArrayList<>(Arrays.asList(FileUtils.fileReadArray(dockerInclude)));
+ ArrayList includes = new ArrayList<>(Files.readAllLines(dockerInclude.toPath()).stream()
+ .filter(l -> !l.startsWith("#") && !l.trim().isEmpty())
+ .collect(Collectors.toList()));
fileSet.setIncludes(includes.toArray(new String[0]));
}
}
@@ -543,7 +549,7 @@ private void createAssemblyArchive(AssemblyConfiguration assemblyConfig, MojoPar
try {
originalArtifactFile = ensureThatArtifactFileIsSet(params.getProject());
assembly.setId("docker");
- assemblyArchiver.createArchive(assembly, assemblyConfig.getName(), buildMode.getExtension(), source, false, null);
+ assemblyArchiver.createArchive(assembly, assemblyConfig.getName(), buildMode.getExtension(), source, null);
} catch (ArchiveCreationException | AssemblyFormattingException e) {
String error = "Failed to create assembly for docker image " +
" (with mode '" + buildMode + "'): " + e.getMessage() + ".";
diff --git a/src/main/java/io/fabric8/maven/docker/assembly/DockerFileBuilder.java b/src/main/java/io/fabric8/maven/docker/assembly/DockerFileBuilder.java
index 1560ccac5..03bae0e9f 100644
--- a/src/main/java/io/fabric8/maven/docker/assembly/DockerFileBuilder.java
+++ b/src/main/java/io/fabric8/maven/docker/assembly/DockerFileBuilder.java
@@ -2,11 +2,13 @@
import java.io.File;
import java.io.IOException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.google.common.base.Joiner;
import io.fabric8.maven.docker.config.Arguments;
import io.fabric8.maven.docker.config.HealthCheckConfiguration;
@@ -21,8 +23,6 @@
*/
public class DockerFileBuilder {
- private static final Joiner JOIN_ON_COMMA = Joiner.on("\",\"");
-
private static final Pattern ENV_VAR_PATTERN = Pattern.compile("^\\$(\\{[a-zA-Z0-9_]+\\}|[a-zA-Z0-9_]+).*");
// Base image to use as from
@@ -177,13 +177,13 @@ private static void buildArguments(StringBuilder b, DockerFileKeyword key, boole
if (arguments.getShell() != null) {
arg = arguments.getShell();
} else {
- arg = "[\"" + JOIN_ON_COMMA.join(arguments.getExec()) + "\"]";
+ arg = "[\"" + String.join("\",\"", arguments.getExec()) + "\"]";
}
key.addTo(b, newline, arg);
}
private static void buildArgumentsAsJsonFormat(StringBuilder b, DockerFileKeyword key, boolean newline, Arguments arguments) {
- String arg = "[\"" + JOIN_ON_COMMA.join(arguments.asStrings()) + "\"]";
+ String arg = "[\"" + String.join("\",\"", arguments.asStrings()) + "\"]";
key.addTo(b, newline, arg);
}
diff --git a/src/main/java/io/fabric8/maven/docker/assembly/MappingTrackArchiver.java b/src/main/java/io/fabric8/maven/docker/assembly/MappingTrackArchiver.java
index 1e939d72a..3b7101ef5 100644
--- a/src/main/java/io/fabric8/maven/docker/assembly/MappingTrackArchiver.java
+++ b/src/main/java/io/fabric8/maven/docker/assembly/MappingTrackArchiver.java
@@ -28,12 +28,13 @@
import org.apache.maven.artifact.handler.DefaultArtifactHandler;
import org.apache.maven.artifact.repository.ArtifactRepository;
import org.apache.maven.execution.MavenSession;
-import org.apache.maven.shared.utils.io.DirectoryScanner;
-import org.codehaus.plexus.archiver.Archiver;
import org.codehaus.plexus.archiver.FileSet;
import org.codehaus.plexus.archiver.diags.TrackingArchiver;
-import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.components.io.resources.PlexusIoFileResource;
+import org.codehaus.plexus.util.DirectoryScanner;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
/**
* An archiver which remembers all resolved files and directories and returns them
@@ -42,7 +43,8 @@
* @author roland
* @since 15/06/15
*/
-@Component(role = Archiver.class, hint = "track", instantiationStrategy = "singleton")
+@Singleton
+@Named("track")
public class MappingTrackArchiver extends TrackingArchiver {
// Logger to use
diff --git a/src/main/java/io/fabric8/maven/docker/assembly/TrackArchiverCollection.java b/src/main/java/io/fabric8/maven/docker/assembly/TrackArchiverCollection.java
index 455f96db0..9ca8f9dbe 100644
--- a/src/main/java/io/fabric8/maven/docker/assembly/TrackArchiverCollection.java
+++ b/src/main/java/io/fabric8/maven/docker/assembly/TrackArchiverCollection.java
@@ -2,15 +2,17 @@
import io.fabric8.maven.docker.util.Logger;
import org.apache.maven.execution.MavenSession;
-import org.codehaus.plexus.component.annotations.Component;
+import javax.inject.Named;
+import javax.inject.Singleton;
import java.util.HashMap;
import java.util.Map;
/**
* Contains several {@link MappingTrackArchiver} instances, one per assembly
*/
-@Component(role = TrackArchiverCollection.class, instantiationStrategy = "singleton")
+@Singleton
+@Named
public class TrackArchiverCollection {
private final Map archivers = new HashMap<>();
diff --git a/src/main/java/io/fabric8/maven/docker/config/ConfigHelper.java b/src/main/java/io/fabric8/maven/docker/config/ConfigHelper.java
index 8fcfb0c2d..1b9f65a2f 100644
--- a/src/main/java/io/fabric8/maven/docker/config/ConfigHelper.java
+++ b/src/main/java/io/fabric8/maven/docker/config/ConfigHelper.java
@@ -24,7 +24,7 @@
import io.fabric8.maven.docker.util.Logger;
import org.apache.maven.plugin.MojoFailureException;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.StringUtils;
+import org.codehaus.plexus.util.StringUtils;
/**
* Utility class which helps in resolving, customizing, initializing and validating
diff --git a/src/main/java/io/fabric8/maven/docker/config/handler/ImageConfigResolver.java b/src/main/java/io/fabric8/maven/docker/config/handler/ImageConfigResolver.java
index 8b72952b3..fa20f84a9 100644
--- a/src/main/java/io/fabric8/maven/docker/config/handler/ImageConfigResolver.java
+++ b/src/main/java/io/fabric8/maven/docker/config/handler/ImageConfigResolver.java
@@ -19,15 +19,14 @@
import io.fabric8.maven.docker.config.ConfigHelper;
import io.fabric8.maven.docker.config.ImageConfiguration;
-import io.fabric8.maven.docker.config.handler.compose.DockerComposeConfigHandler;
import io.fabric8.maven.docker.config.handler.property.PropertyConfigHandler;
import io.fabric8.maven.docker.util.Logger;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.Initializable;
-import org.codehaus.plexus.personality.plexus.lifecycle.phase.InitializationException;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
/**
* Manager holding all config handlers for external configuration
@@ -36,34 +35,24 @@
* @since 18/11/14
*/
-@Component(role = ImageConfigResolver.class, instantiationStrategy = "singleton")
-public class ImageConfigResolver implements Initializable {
+@Singleton
+@Named
+public class ImageConfigResolver {
// Map type to handler
- private Map registry;
-
- // No List injection possible currently with Plexus.
- // Strangely, only the first element is injected in the list.
- // So the elements are injected via scalar field injection and collected later.
- // Very ugly, but I dont see any other solution until Plexus is fixed.
-
- @Requirement(role = PropertyConfigHandler.class)
- private ExternalConfigHandler propertyConfigHandler;
-
- @Requirement(role = DockerComposeConfigHandler.class)
- private ExternalConfigHandler dockerComposeConfigHandler;
+ private final Map registry;
- private Logger log;
-
- @Override
- public void initialize() throws InitializationException {
+ @Inject
+ public ImageConfigResolver(List externalConfigHandlers) {
this.registry = new HashMap<>();
- for (ExternalConfigHandler handler : new ExternalConfigHandler[] { propertyConfigHandler, dockerComposeConfigHandler }) {
+ for (ExternalConfigHandler handler : externalConfigHandlers) {
if (handler != null) {
registry.put(handler.getType(), handler);
}
}
}
+ private Logger log;
+
public void setLog(Logger log) {
this.log = log;
}
@@ -112,7 +101,7 @@ private void injectExternalConfigActivation(ImageConfiguration unresolvedConfig,
Map externalConfig = unresolvedConfig.getExternalConfig();
if(externalConfig == null) {
externalConfig = new HashMap<>();
- externalConfig.put("type", propertyConfigHandler.getType());
+ externalConfig.put("type", PropertyConfigHandler.TYPE_NAME);
externalConfig.put("mode", mode);
unresolvedConfig.setExternalConfiguration(externalConfig);
diff --git a/src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeConfigHandler.java b/src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeConfigHandler.java
index 0f4d25017..8cbb3bc5e 100644
--- a/src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeConfigHandler.java
+++ b/src/main/java/io/fabric8/maven/docker/config/handler/compose/DockerComposeConfigHandler.java
@@ -15,6 +15,10 @@
import org.apache.maven.shared.filtering.MavenReaderFilterRequest;
import org.yaml.snakeyaml.Yaml;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import static io.fabric8.maven.docker.config.handler.compose.ComposeUtils.resolveAbsolutely;
import static io.fabric8.maven.docker.config.handler.compose.ComposeUtils.resolveComposeFileAbsolutely;
@@ -23,18 +27,17 @@
* Docker Compose handler for allowing a docker-compose file to be used
* to specify the docker images.
*/
-
-// Moved temporarily to resources/META-INF/plexus/components.xml because of https://github.com/codehaus-plexus/plexus-containers/issues/4
-// @Component(role = ExternalConfigHandler.class)
+@Singleton
+@Named(DockerComposeConfigHandler.TYPE_NAME)
public class DockerComposeConfigHandler implements ExternalConfigHandler {
+ public static final String TYPE_NAME = "compose";
@Override
public String getType() {
- return "compose";
+ return TYPE_NAME;
}
- // Enable later when issue above is fixed. In the meantime its declared in the components.xml, too
- // @Requirement(role = MavenReaderFilter.class)
+ @Inject
MavenReaderFilter readerFilter;
@Override
diff --git a/src/main/java/io/fabric8/maven/docker/config/handler/property/PropertyConfigHandler.java b/src/main/java/io/fabric8/maven/docker/config/handler/property/PropertyConfigHandler.java
index 3d1cd495b..2ada4cb7b 100644
--- a/src/main/java/io/fabric8/maven/docker/config/handler/property/PropertyConfigHandler.java
+++ b/src/main/java/io/fabric8/maven/docker/config/handler/property/PropertyConfigHandler.java
@@ -46,16 +46,18 @@
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.util.CollectionUtils;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
import static io.fabric8.maven.docker.config.handler.property.ConfigKey.*;
/**
* @author roland
* @since 18/11/14
*/
-// Moved temporarily to resources/META-INF/plexus/components.xml because of https://github.com/codehaus-plexus/plexus-containers/issues/4
-// @Component(role = ExternalConfigHandler.class)
+@Singleton
+@Named(PropertyConfigHandler.TYPE_NAME)
public class PropertyConfigHandler implements ExternalConfigHandler {
-
public static final String TYPE_NAME = "properties";
public static final String DEFAULT_PREFIX = "docker";
diff --git a/src/main/java/io/fabric8/maven/docker/service/DockerAccessFactory.java b/src/main/java/io/fabric8/maven/docker/service/DockerAccessFactory.java
index 619ce8ae4..28cae0d47 100644
--- a/src/main/java/io/fabric8/maven/docker/service/DockerAccessFactory.java
+++ b/src/main/java/io/fabric8/maven/docker/service/DockerAccessFactory.java
@@ -13,17 +13,19 @@
import io.fabric8.maven.docker.access.DockerMachine;
import io.fabric8.maven.docker.access.hc.DockerAccessWithHcClient;
import io.fabric8.maven.docker.config.DockerMachineConfiguration;
-import io.fabric8.maven.docker.util.EnvUtil;
import io.fabric8.maven.docker.util.Logger;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
-import org.codehaus.plexus.component.annotations.Component;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
/**
*
*/
-@Component(role = DockerAccessFactory.class, instantiationStrategy = "singleton")
+@Singleton
+@Named
public class DockerAccessFactory {
public DockerAccess createDockerAccess(DockerAccessContext dockerAccessContext) throws MojoExecutionException, MojoFailureException {
diff --git a/src/main/java/io/fabric8/maven/docker/service/ServiceHubFactory.java b/src/main/java/io/fabric8/maven/docker/service/ServiceHubFactory.java
index 06dbc24e5..c815b62ee 100644
--- a/src/main/java/io/fabric8/maven/docker/service/ServiceHubFactory.java
+++ b/src/main/java/io/fabric8/maven/docker/service/ServiceHubFactory.java
@@ -6,23 +6,26 @@
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.BuildPluginManager;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
import io.fabric8.maven.docker.log.LogOutputSpecFactory;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* Factory for creating the ServiceHub (i.e. the overall context for performing all services)
*/
-@Component(role = ServiceHubFactory.class, instantiationStrategy = "singleton")
+@Singleton
+@Named
public class ServiceHubFactory {
// Track started containers
private final ContainerTracker containerTracker = new ContainerTracker();
- @Requirement
+ @Inject
protected BuildPluginManager pluginManager;
- @Requirement
+ @Inject
protected DockerAssemblyManager dockerAssemblyManager;
private LogOutputSpecFactory logOutputSpecFactory;
diff --git a/src/main/java/io/fabric8/maven/docker/service/WaitService.java b/src/main/java/io/fabric8/maven/docker/service/WaitService.java
index 976371a7c..389860c37 100644
--- a/src/main/java/io/fabric8/maven/docker/service/WaitService.java
+++ b/src/main/java/io/fabric8/maven/docker/service/WaitService.java
@@ -7,7 +7,6 @@
import java.util.Properties;
import org.apache.commons.text.StrSubstitutor;
-import org.apache.maven.shared.utils.StringUtils;
import io.fabric8.maven.docker.access.DockerAccess;
import io.fabric8.maven.docker.access.DockerAccessException;
@@ -28,6 +27,7 @@
import io.fabric8.maven.docker.wait.WaitChecker;
import io.fabric8.maven.docker.wait.WaitTimeoutException;
import io.fabric8.maven.docker.wait.WaitUtil;
+import org.codehaus.plexus.util.StringUtils;
import static io.fabric8.maven.docker.StartMojo.DOCKER_START_CONTAINER_WAIT_TIMEOUT;
diff --git a/src/main/java/io/fabric8/maven/docker/util/AuthConfigFactory.java b/src/main/java/io/fabric8/maven/docker/util/AuthConfigFactory.java
index be6a0bbc7..63219ed2d 100644
--- a/src/main/java/io/fabric8/maven/docker/util/AuthConfigFactory.java
+++ b/src/main/java/io/fabric8/maven/docker/util/AuthConfigFactory.java
@@ -35,8 +35,6 @@
import org.apache.maven.settings.crypto.DefaultSettingsDecryptionRequest;
import org.apache.maven.settings.crypto.SettingsDecrypter;
import org.apache.maven.settings.crypto.SettingsDecryptionResult;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import com.google.common.net.UrlEscapers;
@@ -46,12 +44,18 @@
import io.fabric8.maven.docker.access.ecr.EcrExtendedAuth;
import io.fabric8.maven.docker.util.aws.AwsSdkAuthConfigFactory;
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
/**
* Factory for creating docker specific authentication configuration
*
* @author roland
* @since 29.07.14
*/
+@Singleton
+@Named
public class AuthConfigFactory {
// Whether to check for OpenShift authentication
@@ -59,20 +63,21 @@ public class AuthConfigFactory {
static final String DOCKER_LOGIN_DEFAULT_REGISTRY = "https://index.docker.io/v1/";
- private final PlexusContainer container;
-
private Logger log;
private static final String[] DEFAULT_REGISTRIES = new String[]{
"docker.io", "index.docker.io", "registry.hub.docker.com"
};
+ private final SettingsDecrypter settingsDecrypter;
+
/**
* Constructor which should be used during startup phase of a plugin
*
- * @param container the container used for do decryption of passwords
+ * @param settingsDecrypter the settingsDecrypter used for do decryption of passwords
*/
- public AuthConfigFactory(PlexusContainer container) {
- this.container = container;
+ @Inject
+ public AuthConfigFactory(SettingsDecrypter settingsDecrypter) {
+ this.settingsDecrypter = settingsDecrypter;
}
public void setLog(Logger log) {
@@ -670,17 +675,12 @@ private Server checkForServer(Server server, String id, String registry, String
}
private String decrypt(String password) throws MojoExecutionException {
- try {
- SettingsDecrypter settingsDecrypter = container.lookup(SettingsDecrypter.class);
- Server stub = new Server();
- stub.setUsername("whatever");
- stub.setPassword(password);
+ Server stub = new Server();
+ stub.setUsername("whatever");
+ stub.setPassword(password);
- SettingsDecryptionResult result = settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(stub));
- return result.getServers().get(0).getPassword();
- } catch (ComponentLookupException e) {
- throw new MojoExecutionException("Error looking security dispatcher",e);
- }
+ SettingsDecryptionResult result = settingsDecrypter.decrypt(new DefaultSettingsDecryptionRequest(stub));
+ return result.getServers().get(0).getPassword();
}
private AuthConfig createAuthConfigFromServer(Server server) throws MojoExecutionException {
diff --git a/src/main/java/io/fabric8/maven/docker/util/CredentialHelperClient.java b/src/main/java/io/fabric8/maven/docker/util/CredentialHelperClient.java
index a9975fc1e..f44742c8b 100644
--- a/src/main/java/io/fabric8/maven/docker/util/CredentialHelperClient.java
+++ b/src/main/java/io/fabric8/maven/docker/util/CredentialHelperClient.java
@@ -118,10 +118,9 @@ public JsonObject getCredentialNode(String registryToLookup) throws IOException
throw ex;
}
}
- String joinedReply = String.join("\n", reply);
- JsonObject credentials = JsonFactory.newJsonObject(joinedReply);
+ JsonObject credentials = JsonFactory.newJsonObject(String.join("\n", reply));
if (!credentials.has(SECRET_KEY) || !credentials.has(USERNAME_KEY)) {
- return null; // If keys are missing, return null
+ return null;
}
return credentials;
}
diff --git a/src/main/java/io/fabric8/maven/docker/util/EnvUtil.java b/src/main/java/io/fabric8/maven/docker/util/EnvUtil.java
index 4861f39b8..7eddd8f40 100644
--- a/src/main/java/io/fabric8/maven/docker/util/EnvUtil.java
+++ b/src/main/java/io/fabric8/maven/docker/util/EnvUtil.java
@@ -4,19 +4,30 @@
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import java.nio.file.Paths;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Date;
+import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+import java.util.TreeMap;
import java.util.concurrent.TimeUnit;
import java.util.function.UnaryOperator;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import com.google.common.base.*;
+import com.google.common.base.Function;
+import com.google.common.base.Predicate;
+import com.google.common.base.Predicates;
+import com.google.common.base.Splitter;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.project.MavenProject;
-import org.apache.maven.shared.utils.io.FileUtils;
+import org.codehaus.plexus.util.FileUtils;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
diff --git a/src/main/java/io/fabric8/maven/docker/util/ImageNameFormatter.java b/src/main/java/io/fabric8/maven/docker/util/ImageNameFormatter.java
index 4ec224e39..33a52edf7 100644
--- a/src/main/java/io/fabric8/maven/docker/util/ImageNameFormatter.java
+++ b/src/main/java/io/fabric8/maven/docker/util/ImageNameFormatter.java
@@ -180,7 +180,7 @@ public String doTransform(String tag, Date now) {
public String transform(MavenProject project, String tag, Date now) {
// In case the Maven property is also a placeholder, replace it as well
- if(isEmpty(tag) || tag.equals("%" + letter)) {
+ if ((tag == null || tag.trim().isEmpty()) || tag.equals("%" + letter)) {
tag = project.getVersion();
}
return doTransform(tag, now);
diff --git a/src/main/resources/META-INF/plexus/components.xml b/src/main/resources-filtered/META-INF/plexus/components.xml
similarity index 82%
rename from src/main/resources/META-INF/plexus/components.xml
rename to src/main/resources-filtered/META-INF/plexus/components.xml
index 55aa9dc96..2f9625bd3 100644
--- a/src/main/resources/META-INF/plexus/components.xml
+++ b/src/main/resources-filtered/META-INF/plexus/components.xml
@@ -73,24 +73,5 @@
-
-
-
- io.fabric8.maven.docker.config.handler.compose.DockerComposeConfigHandler
- io.fabric8.maven.docker.config.handler.compose.DockerComposeConfigHandler
-
-
- org.apache.maven.shared.filtering.MavenReaderFilter
- readerFilter
-
-
- false
-
-
- io.fabric8.maven.docker.config.handler.property.PropertyConfigHandler
- io.fabric8.maven.docker.config.handler.property.PropertyConfigHandler
- false
-
\ No newline at end of file
diff --git a/src/test/java/io/fabric8/maven/docker/PushMojoBuildXTest.java b/src/test/java/io/fabric8/maven/docker/PushMojoBuildXTest.java
index a7494977c..a7d69d960 100644
--- a/src/test/java/io/fabric8/maven/docker/PushMojoBuildXTest.java
+++ b/src/test/java/io/fabric8/maven/docker/PushMojoBuildXTest.java
@@ -5,6 +5,8 @@
import io.fabric8.maven.docker.config.BuildXConfiguration;
import io.fabric8.maven.docker.config.ImageConfiguration;
import io.fabric8.maven.docker.config.handler.ImageConfigResolver;
+import io.fabric8.maven.docker.config.handler.compose.DockerComposeConfigHandler;
+import io.fabric8.maven.docker.config.handler.property.PropertyConfigHandler;
import io.fabric8.maven.docker.service.BuildXService;
import io.fabric8.maven.docker.service.DockerAccessFactory;
import io.fabric8.maven.docker.service.ServiceHubFactory;
@@ -15,9 +17,6 @@
import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.crypto.DefaultSettingsDecrypter;
-import org.apache.maven.settings.crypto.SettingsDecrypter;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.DisplayName;
@@ -57,14 +56,12 @@ class PushMojoBuildXTest {
private MockedConstruction defaultExecMockedConstruction;
@BeforeEach
- void setup() throws MojoExecutionException, MojoFailureException, IOException, ComponentLookupException, SecDispatcherException {
+ void setup() throws MojoExecutionException, MojoFailureException, IOException, SecDispatcherException {
mockedMavenSettings = mock(Settings.class);
MavenProject mavenProject = mock(MavenProject.class, RETURNS_DEEP_STUBS);
DockerAccessFactory dockerAccessFactory = mock(DockerAccessFactory.class);
DockerAccess dockerAccess = mock(DockerAccess.class);
- PlexusContainer mockedPlexusContainer = mock(PlexusContainer.class);
SecDispatcher mockedSecDispatcher = mock(SecDispatcher.class);
- when(mockedPlexusContainer.lookup(SettingsDecrypter.class)).thenReturn(new DefaultSettingsDecrypter(mockedSecDispatcher));
ServiceHubFactory serviceHubFactory = new ServiceHubFactory();
when(mockedMavenSettings.getInteractiveMode()).thenReturn(false);
Properties properties = new Properties();
@@ -79,7 +76,6 @@ void setup() throws MojoExecutionException, MojoFailureException, IOException, C
when(mavenProject.getBuild().getOutputDirectory()).thenReturn(targetDir.getAbsolutePath());
when(mavenProject.getBasedir()).thenReturn(temporaryFolder);
when(dockerAccessFactory.createDockerAccess(any())).thenReturn(dockerAccess);
- when(mockedPlexusContainer.lookup(SecDispatcher.ROLE, "maven")).thenReturn(mockedSecDispatcher);
when(mockedSecDispatcher.decrypt(anyString())).thenReturn("testpassword");
Map pluginContext = new HashMap<>();
defaultExecMockedConstruction = mockConstruction(BuildXService.DefaultExec.class);
@@ -88,8 +84,8 @@ void setup() throws MojoExecutionException, MojoFailureException, IOException, C
pushMojo.verbose = "true";
pushMojo.settings = mockedMavenSettings;
pushMojo.project = mavenProject;
- pushMojo.authConfigFactory = new AuthConfigFactory(mockedPlexusContainer);
- pushMojo.imageConfigResolver = new ImageConfigResolver();
+ pushMojo.authConfigFactory = new AuthConfigFactory(new DefaultSettingsDecrypter(mockedSecDispatcher));
+ pushMojo.imageConfigResolver = new ImageConfigResolver(Arrays.asList(new PropertyConfigHandler(), new DockerComposeConfigHandler()));
pushMojo.dockerAccessFactory = dockerAccessFactory;
pushMojo.serviceHubFactory = serviceHubFactory;
pushMojo.outputDirectory = "target/docker";
diff --git a/src/test/java/io/fabric8/maven/docker/assembly/DockerAssemblyManagerTest.java b/src/test/java/io/fabric8/maven/docker/assembly/DockerAssemblyManagerTest.java
index 2782186ee..c0fb98e07 100644
--- a/src/test/java/io/fabric8/maven/docker/assembly/DockerAssemblyManagerTest.java
+++ b/src/test/java/io/fabric8/maven/docker/assembly/DockerAssemblyManagerTest.java
@@ -112,7 +112,7 @@ void assemblyFiles(@TempDir Path tmpDir,
assemblyManager.getAssemblyFiles("testImage", buildConfig.getAllAssemblyConfigurations().get(0), mojoParams, new AnsiLogger(new SystemStreamLog(), true, "build"));
Mockito.verify(assemblyArchiver).createArchive(Mockito.eq(assembly), Mockito.eq("maven"), Mockito.eq("track"), Mockito.any(DockerAssemblyConfigurationSource.class),
- Mockito.eq(false), Mockito.any());
+ Mockito.any());
}
@Test
@@ -140,7 +140,7 @@ private void setupAssemblies(Path tmpDir, MavenProject project, MojoParameters
Mockito.doAnswer(i -> tmpDir.resolve( (String) i.getArguments()[1]).toFile())
.when(assemblyArchiver)
.createArchive(Mockito.any(Assembly.class), Mockito.anyString(), Mockito.anyString(),
- Mockito.any(AssemblerConfigurationSource.class), Mockito.anyBoolean(), Mockito.any());
+ Mockito.any(AssemblerConfigurationSource.class), Mockito.any());
Mockito.doReturn("target/").when(mojoParams).getOutputDirectory();
Mockito.doReturn(project).when(mojoParams).getProject();
diff --git a/src/test/java/io/fabric8/maven/docker/config/ImageConfigResolverTest.java b/src/test/java/io/fabric8/maven/docker/config/ImageConfigResolverTest.java
index 1f0cc4ac8..79faa921a 100644
--- a/src/test/java/io/fabric8/maven/docker/config/ImageConfigResolverTest.java
+++ b/src/test/java/io/fabric8/maven/docker/config/ImageConfigResolverTest.java
@@ -19,10 +19,10 @@
import io.fabric8.maven.docker.config.handler.ExternalConfigHandler;
import io.fabric8.maven.docker.config.handler.ImageConfigResolver;
+import io.fabric8.maven.docker.config.handler.property.PropertyConfigHandler;
import io.fabric8.maven.docker.util.Logger;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.util.ReflectionUtils;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
@@ -31,6 +31,7 @@
import org.mockito.junit.jupiter.MockitoExtension;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
@@ -49,9 +50,7 @@ class ImageConfigResolverTest {
@BeforeEach
void setUp() throws Exception {
- resolver = new ImageConfigResolver();
- ReflectionUtils.setVariableValueInObject(resolver, "propertyConfigHandler", new TestHandler(3));
- resolver.initialize();
+ resolver = new ImageConfigResolver(Arrays.asList(new TestHandler(PropertyConfigHandler.TYPE_NAME, 3), new TestHandler("test", 3)));
resolver.setLog(log);
}
@@ -108,15 +107,17 @@ void unknownType() {
private static class TestHandler implements ExternalConfigHandler {
- int nr;
+ final String typeName;
+ final int nr;
- public TestHandler(int nr) {
+ public TestHandler(String typeName, int nr) {
+ this.typeName = typeName;
this.nr = nr;
}
@Override
public String getType() {
- return "test";
+ return typeName;
}
@Override
diff --git a/src/test/java/io/fabric8/maven/docker/util/AuthConfigFactoryTest.java b/src/test/java/io/fabric8/maven/docker/util/AuthConfigFactoryTest.java
index 20858291e..1d34ea6a2 100644
--- a/src/test/java/io/fabric8/maven/docker/util/AuthConfigFactoryTest.java
+++ b/src/test/java/io/fabric8/maven/docker/util/AuthConfigFactoryTest.java
@@ -15,9 +15,6 @@
import org.apache.maven.settings.Server;
import org.apache.maven.settings.Settings;
import org.apache.maven.settings.crypto.DefaultSettingsDecrypter;
-import org.apache.maven.settings.crypto.SettingsDecrypter;
-import org.codehaus.plexus.PlexusContainer;
-import org.codehaus.plexus.component.repository.exception.ComponentLookupException;
import org.codehaus.plexus.util.Base64;
import org.codehaus.plexus.util.IOUtil;
import org.codehaus.plexus.util.xml.Xpp3Dom;
@@ -95,18 +92,14 @@ public String decrypt(String password) {
}
}
- @Mock
- PlexusContainer container;
-
@Mock
SecDispatcher secDispatcher;
@BeforeEach
- void containerSetup() throws ComponentLookupException, SecDispatcherException {
- Mockito.lenient().when(container.lookup(SettingsDecrypter.class)).thenReturn(new DefaultSettingsDecrypter(secDispatcher));
+ void containerSetup() throws SecDispatcherException {
Mockito.lenient().when(secDispatcher.decrypt(Mockito.anyString())).thenAnswer(invocation -> invocation.getArguments()[0]);
- factory = new AuthConfigFactory(container);
+ factory = new AuthConfigFactory(new DefaultSettingsDecrypter(secDispatcher));
factory.setLog(log);
gsonBuilder = new GsonBuilder();