From b1f4d06cc6a6b669e844867e677ecce8edba5bbc Mon Sep 17 00:00:00 2001 From: Yahav Itschak Date: Tue, 18 Jun 2024 17:43:33 +0300 Subject: [PATCH] Reduce usage of Guava (#942) --- pom.xml | 13 +++-- .../generic/GenericArtifactsDeployer.java | 51 +++++++------------ .../jfrog/hudson/pipeline/common/Utils.java | 17 +++---- .../common/executors/DockerPushExecutor.java | 6 +-- .../hudson/pipeline/common/types/Docker.java | 5 +- .../common/types/buildInfo/BuildInfo.java | 34 ++++--------- .../common/types/deployers/Deployer.java | 21 +++----- .../steps/docker/DockerPushStep.java | 5 +- .../scripted/steps/DockerPushStep.java | 10 ++-- .../org/jfrog/hudson/util/ExtractorUtils.java | 5 +- .../org/jfrog/hudson/util/PropertyUtils.java | 8 +-- .../META-INF/hudson.remoting.ClassFilter | 6 +-- 12 files changed, 77 insertions(+), 104 deletions(-) diff --git a/pom.xml b/pom.xml index 8e27b8c18..e70f07f3c 100644 --- a/pom.xml +++ b/pom.xml @@ -41,8 +41,8 @@ true - 2.41.14 - 5.1.14 + 2.41.21 + 5.2.2 @@ -425,13 +425,18 @@ commons-io commons-io - 2.8.0 + 2.14.0 org.apache.commons commons-compress - 1.21 + 1.26.2 + + + org.apache.commons + commons-lang3 + 3.14.0 org.slf4j diff --git a/src/main/java/org/jfrog/hudson/generic/GenericArtifactsDeployer.java b/src/main/java/org/jfrog/hudson/generic/GenericArtifactsDeployer.java index a6ed98182..55d43bcae 100644 --- a/src/main/java/org/jfrog/hudson/generic/GenericArtifactsDeployer.java +++ b/src/main/java/org/jfrog/hudson/generic/GenericArtifactsDeployer.java @@ -1,8 +1,5 @@ package org.jfrog.hudson.generic; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.HashMultimap; -import com.google.common.collect.Multimap; import hudson.EnvVars; import hudson.FilePath; import hudson.Util; @@ -13,12 +10,15 @@ import jenkins.MasterToSlaveFileCallable; import org.apache.commons.io.FilenameUtils; import org.apache.commons.lang3.StringUtils; -import org.jfrog.build.extractor.builder.ArtifactBuilder; -import org.jfrog.build.extractor.ci.Artifact; -import org.jfrog.build.extractor.ci.BuildInfoFields; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; +import org.jfrog.build.api.multiMap.SetMultimap; import org.jfrog.build.api.util.FileChecksumCalculator; import org.jfrog.build.api.util.Log; import org.jfrog.build.client.ProxyConfiguration; +import org.jfrog.build.extractor.builder.ArtifactBuilder; +import org.jfrog.build.extractor.ci.Artifact; +import org.jfrog.build.extractor.ci.BuildInfoFields; import org.jfrog.build.extractor.clientConfiguration.ArtifactoryManagerBuilder; import org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager; import org.jfrog.build.extractor.clientConfiguration.deploy.DeployDetails; @@ -28,21 +28,12 @@ import org.jfrog.hudson.ArtifactoryServer; import org.jfrog.hudson.CredentialsConfig; import org.jfrog.hudson.pipeline.common.Utils; -import org.jfrog.hudson.util.BuildUniqueIdentifierHelper; -import org.jfrog.hudson.util.Credentials; -import org.jfrog.hudson.util.JenkinsBuildInfoLog; -import org.jfrog.hudson.util.PropertyUtils; -import org.jfrog.hudson.util.SpecUtils; +import org.jfrog.hudson.util.*; import java.io.File; import java.io.IOException; import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import static org.jfrog.hudson.util.ProxyUtils.createProxyConfiguration; @@ -79,7 +70,7 @@ public List getDeployedArtifacts() { public void deploy() throws IOException, InterruptedException { FilePath workingDir = build.getExecutor().getCurrentWorkspace(); - ArrayListMultimap propertiesToAdd = getBuildPropertiesMap(); + Multimap propertiesToAdd = getBuildPropertiesMap(); ArtifactoryServer artifactoryServer = configurator.getArtifactoryServer(); if (configurator.isUseSpecs()) { @@ -102,8 +93,8 @@ public void deploy() } } - private ArrayListMultimap getBuildPropertiesMap() { - ArrayListMultimap properties = ArrayListMultimap.create(); + private Multimap getBuildPropertiesMap() { + Multimap properties = new ListMultimap<>(); String buildName = BuildUniqueIdentifierHelper.getBuildNameConsiderOverride(configurator, build); properties.put(BuildInfoFields.BUILD_NAME, buildName); properties.put(BuildInfoFields.BUILD_NUMBER, BuildUniqueIdentifierHelper.getBuildNumber(build)); @@ -115,13 +106,12 @@ private ArrayListMultimap getBuildPropertiesMap() { } public static class FilesDeployerCallable extends MasterToSlaveFileCallable> { - private String repositoryKey; private TaskListener listener; private Multimap patternPairs; private ArtifactoryServer server; private Credentials credentials; - private ArrayListMultimap buildProperties; + private Multimap buildProperties; private ProxyConfiguration proxyConfiguration; private PatternType patternType = PatternType.ANT; private String spec; @@ -130,7 +120,7 @@ public static class FilesDeployerCallable extends MasterToSlaveFileCallable patternPairs, ArtifactoryServer server, Credentials credentials, String repositoryKey, - ArrayListMultimap buildProperties, ProxyConfiguration proxyConfiguration) { + Multimap buildProperties, ProxyConfiguration proxyConfiguration) { this.listener = listener; this.patternPairs = patternPairs; this.server = server; @@ -143,7 +133,7 @@ public FilesDeployerCallable(TaskListener listener, Multimap pat // Generic deploy by spec public FilesDeployerCallable(TaskListener listener, String spec, ArtifactoryServer server, Credentials credentials, - ArrayListMultimap buildProperties, ProxyConfiguration proxyConfiguration, int threads) { + Multimap buildProperties, ProxyConfiguration proxyConfiguration, int threads) { this.listener = listener; this.spec = spec; this.server = server; @@ -200,7 +190,7 @@ public void deploy(ArtifactoryManager artifactoryManager, Set art } private Multimap buildTargetPathToFiles(File workspace) throws IOException { - Multimap result = HashMultimap.create(); + Multimap result = new SetMultimap<>(); if (patternPairs == null) { return result; } @@ -209,14 +199,9 @@ private Multimap buildTargetPathToFiles(File workspace) throws IOE String targetPath = entry.getValue(); Multimap publishingData = PublishedItemsHelper.buildPublishingData(workspace, pattern, targetPath); - - if (publishingData != null) { - listener.getLogger().println( - "For pattern: " + pattern + " " + publishingData.size() + " artifacts were found"); - result.putAll(publishingData); - } else { - listener.getLogger().println("For pattern: " + pattern + " no artifacts were found"); - } + listener.getLogger().println( + "For pattern: " + pattern + " " + publishingData.size() + " artifacts were found"); + result.putAll(publishingData); } return result; diff --git a/src/main/java/org/jfrog/hudson/pipeline/common/Utils.java b/src/main/java/org/jfrog/hudson/pipeline/common/Utils.java index 018c34bd1..a70226e75 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/common/Utils.java +++ b/src/main/java/org/jfrog/hudson/pipeline/common/Utils.java @@ -1,7 +1,6 @@ package org.jfrog.hudson.pipeline.common; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.ArrayListMultimap; import hudson.EnvVars; import hudson.FilePath; import hudson.Launcher; @@ -27,6 +26,8 @@ import org.jenkinsci.plugins.workflow.graph.FlowNode; import org.jenkinsci.plugins.workflow.job.WorkflowRun; import org.jenkinsci.plugins.workflow.steps.StepContext; +import org.jfrog.build.api.multiMap.Multimap; +import org.jfrog.build.api.multiMap.SetMultimap; import org.jfrog.build.api.util.Log; import org.jfrog.build.client.ProxyConfiguration; import org.jfrog.build.extractor.ci.BuildInfoFields; @@ -390,8 +391,8 @@ public static ProxyConfiguration getProxyConfiguration(org.jfrog.hudson.Artifact return ProxyUtils.createProxyConfiguration(); } - public static ArrayListMultimap getPropertiesMap(BuildInfo buildInfo, Run build, StepContext context) throws IOException, InterruptedException { - ArrayListMultimap properties = ArrayListMultimap.create(); + public static Multimap getPropertiesMap(BuildInfo buildInfo, Run build, StepContext context) throws IOException, InterruptedException { + Multimap properties = new SetMultimap<>(); if (buildInfo.getName() != null) { properties.put(BuildInfoFields.BUILD_NAME, buildInfo.getName()); @@ -410,7 +411,7 @@ public static ArrayListMultimap getPropertiesMap(BuildInfo build return properties; } - public static void addParentBuildProps(ArrayListMultimap properties, Run build) { + public static void addParentBuildProps(Multimap properties, Run build) { String buildName = ActionableHelper.getUpstreamProject(build); if (StringUtils.isBlank(buildName)) { return; @@ -418,11 +419,11 @@ public static void addParentBuildProps(ArrayListMultimap propert properties.put(BuildInfoFields.BUILD_PARENT_NAME, ExtractorUtils.sanitizeBuildName(buildName)); Integer buildNumber = ActionableHelper.getUpstreamBuild(build); if (buildNumber != null) { - properties.put(BuildInfoFields.BUILD_PARENT_NUMBER, buildNumber+ ""); + properties.put(BuildInfoFields.BUILD_PARENT_NUMBER, buildNumber + ""); } } - public static void addVcsDetailsToProps(EnvVars env, ArrayListMultimap properties) { + public static void addVcsDetailsToProps(EnvVars env, Multimap properties) { String revision = ExtractorUtils.getVcsRevision(env); if (isNotBlank(revision)) { properties.put(BuildInfoFields.VCS_REVISION, revision); @@ -441,10 +442,6 @@ public static void addVcsDetailsToProps(EnvVars env, ArrayListMultimap properties; + private Multimap properties; - public DockerPushExecutor(ArtifactoryServer pipelineServer, BuildInfo buildInfo, Run build, String imageTag, String targetRepo, String host, String javaArgs, Launcher launcher, ArrayListMultimap properties, TaskListener listener, FilePath ws, EnvVars envVars) { + public DockerPushExecutor(ArtifactoryServer pipelineServer, BuildInfo buildInfo, Run build, String imageTag, String targetRepo, String host, String javaArgs, Launcher launcher, Multimap properties, TaskListener listener, FilePath ws, EnvVars envVars) { super(buildInfo, launcher, javaArgs, ws, "", "", envVars, listener, build); this.server = pipelineServer; this.imageTag = imageTag; diff --git a/src/main/java/org/jfrog/hudson/pipeline/common/types/Docker.java b/src/main/java/org/jfrog/hudson/pipeline/common/types/Docker.java index 059e3494c..d0d6de347 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/common/types/Docker.java +++ b/src/main/java/org/jfrog/hudson/pipeline/common/types/Docker.java @@ -1,8 +1,9 @@ package org.jfrog.hudson.pipeline.common.types; -import com.google.common.collect.ArrayListMultimap; import org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.Whitelisted; import org.jenkinsci.plugins.workflow.cps.CpsScript; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.hudson.pipeline.common.types.buildInfo.BuildInfo; import java.io.Serializable; @@ -23,7 +24,7 @@ public class Docker implements Serializable { private String host; private String javaArgs; // Properties to attach to the deployed docker layers. - private ArrayListMultimap properties = ArrayListMultimap.create(); + private Multimap properties = new ListMultimap<>(); private ArtifactoryServer server; public Docker() { diff --git a/src/main/java/org/jfrog/hudson/pipeline/common/types/buildInfo/BuildInfo.java b/src/main/java/org/jfrog/hudson/pipeline/common/types/buildInfo/BuildInfo.java index c4f4734b6..b7aba392c 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/common/types/buildInfo/BuildInfo.java +++ b/src/main/java/org/jfrog/hudson/pipeline/common/types/buildInfo/BuildInfo.java @@ -1,7 +1,6 @@ package org.jfrog.hudson.pipeline.common.types.buildInfo; import com.fasterxml.jackson.databind.ObjectMapper; -import com.google.common.collect.ArrayListMultimap; import hudson.EnvVars; import hudson.FilePath; import hudson.model.Run; @@ -12,15 +11,13 @@ import org.apache.commons.lang3.StringUtils; import org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.Whitelisted; import org.jenkinsci.plugins.workflow.cps.CpsScript; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; +import org.jfrog.build.api.multiMap.SetMultimap; +import org.jfrog.build.client.DeployableArtifactDetail; import org.jfrog.build.extractor.builder.BuildInfoBuilder; import org.jfrog.build.extractor.builder.ModuleBuilder; -import org.jfrog.build.extractor.ci.Artifact; -import org.jfrog.build.extractor.ci.BaseBuildFileBean; -import org.jfrog.build.extractor.ci.BuildInfoProperties; -import org.jfrog.build.extractor.ci.Dependency; -import org.jfrog.build.extractor.ci.Module; -import org.jfrog.build.extractor.ci.Vcs; -import org.jfrog.build.client.DeployableArtifactDetail; +import org.jfrog.build.extractor.ci.*; import org.jfrog.build.extractor.clientConfiguration.IncludeExcludePatterns; import org.jfrog.build.extractor.clientConfiguration.PatternMatcher; import org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager; @@ -33,16 +30,7 @@ import java.io.File; import java.io.IOException; import java.io.Serializable; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Calendar; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Properties; -import java.util.Set; +import java.util.*; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; import java.util.stream.Collectors; @@ -377,7 +365,7 @@ public static class DeployPathsAndPropsCallable extends MasterToSlaveFileCallabl @Deprecated private String backwardCompatibleDeployableArtifactsPath; private TaskListener listener; - private ArrayListMultimap propertiesMap; + private Multimap propertiesMap; private final DeployDetails.PackageType packageType; DeployPathsAndPropsCallable(String deployableArtifactsPath, String backwardCompatibleDeployableArtifactsPath, TaskListener listener, BuildInfo buildInfo, DeployDetails.PackageType packageType) { @@ -418,8 +406,8 @@ private void deleteFile(File file, String filePath) { } } - private ArrayListMultimap getDeployableArtifactPropertiesMap(DeployableArtifactDetail artifact) { - ArrayListMultimap properties = ArrayListMultimap.create(); + private Multimap getDeployableArtifactPropertiesMap(DeployableArtifactDetail artifact) { + Multimap properties = new SetMultimap<>(); if (MapUtils.isEmpty(artifact.getProperties())) { // For backward computability, returns the necessary build info props if no props exists // in DeployableArtifactDetail @@ -433,8 +421,8 @@ private ArrayListMultimap getDeployableArtifactPropertiesMap(Dep return properties; } - private ArrayListMultimap getBuildPropertiesMap(BuildInfo buildInfo) { - ArrayListMultimap properties = ArrayListMultimap.create(); + private Multimap getBuildPropertiesMap(BuildInfo buildInfo) { + Multimap properties = new ListMultimap<>(); properties.put("build.name", buildInfo.getName()); properties.put("build.number", buildInfo.getNumber()); properties.put("build.timestamp", buildInfo.getStartDate().getTime() + ""); diff --git a/src/main/java/org/jfrog/hudson/pipeline/common/types/deployers/Deployer.java b/src/main/java/org/jfrog/hudson/pipeline/common/types/deployers/Deployer.java index 2ef924044..ff0524a4b 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/common/types/deployers/Deployer.java +++ b/src/main/java/org/jfrog/hudson/pipeline/common/types/deployers/Deployer.java @@ -1,7 +1,6 @@ package org.jfrog.hudson.pipeline.common.types.deployers; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.google.common.collect.ArrayListMultimap; import hudson.FilePath; import hudson.model.Run; import hudson.model.TaskListener; @@ -10,12 +9,14 @@ import org.apache.commons.io.FilenameUtils; import org.jenkinsci.plugins.scriptsecurity.sandbox.whitelists.Whitelisted; import org.jenkinsci.plugins.workflow.cps.CpsScript; -import org.jfrog.build.extractor.ci.Artifact; -import org.jfrog.build.extractor.ci.Module; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.build.api.util.FileChecksumCalculator; import org.jfrog.build.api.util.Log; import org.jfrog.build.client.ProxyConfiguration; import org.jfrog.build.extractor.ModuleParallelDeployHelper; +import org.jfrog.build.extractor.ci.Artifact; +import org.jfrog.build.extractor.ci.Module; import org.jfrog.build.extractor.clientConfiguration.ArtifactoryManagerBuilder; import org.jfrog.build.extractor.clientConfiguration.PatternMatcher; import org.jfrog.build.extractor.clientConfiguration.client.artifactory.ArtifactoryManager; @@ -39,13 +40,7 @@ import java.io.IOException; import java.io.Serializable; import java.security.NoSuchAlgorithmException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.LinkedHashMap; -import java.util.LinkedHashSet; -import java.util.List; -import java.util.Map; -import java.util.Set; +import java.util.*; import static org.jfrog.build.extractor.ModuleParallelDeployHelper.DEFAULT_DEPLOYMENT_THREADS; import static org.jfrog.hudson.pipeline.common.types.deployers.GradleDeployer.addDeployedGradleArtifactsToAction; @@ -57,7 +52,7 @@ public abstract class Deployer implements DeployerOverrider, Serializable { private boolean deployArtifacts = true; private boolean includeEnvVars; - private ArrayListMultimap properties = ArrayListMultimap.create(); + private Multimap properties = new ListMultimap<>(); private Filter artifactDeploymentPatterns = new Filter(); private String customBuildName = ""; private int threads = DEFAULT_DEPLOYMENT_THREADS; @@ -118,11 +113,11 @@ public Deployer addProperty(String key, String... values) { return this; } - public ArrayListMultimap getProperties() { + public Multimap getProperties() { return this.properties; } - public void setProperties(ArrayListMultimap properties) { + public void setProperties(Multimap properties) { this.properties = properties; } diff --git a/src/main/java/org/jfrog/hudson/pipeline/declarative/steps/docker/DockerPushStep.java b/src/main/java/org/jfrog/hudson/pipeline/declarative/steps/docker/DockerPushStep.java index e975934d6..960bee2cd 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/declarative/steps/docker/DockerPushStep.java +++ b/src/main/java/org/jfrog/hudson/pipeline/declarative/steps/docker/DockerPushStep.java @@ -1,11 +1,12 @@ package org.jfrog.hudson.pipeline.declarative.steps.docker; -import com.google.common.collect.ArrayListMultimap; import com.google.inject.Inject; import hudson.Extension; import org.jenkinsci.plugins.workflow.steps.AbstractStepDescriptorImpl; import org.jenkinsci.plugins.workflow.steps.AbstractStepImpl; import org.jenkinsci.plugins.workflow.steps.StepContext; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.hudson.ArtifactoryServer; import org.jfrog.hudson.pipeline.ArtifactorySynchronousNonBlockingStepExecution; import org.jfrog.hudson.pipeline.common.Utils; @@ -25,7 +26,7 @@ @SuppressWarnings("unused") public class DockerPushStep extends AbstractStepImpl { static final String STEP_NAME = "rtDockerPush"; - private final ArrayListMultimap properties = ArrayListMultimap.create(); + private final Multimap properties = new ListMultimap<>(); private final String serverId; private final String image; private final String targetRepo; diff --git a/src/main/java/org/jfrog/hudson/pipeline/scripted/steps/DockerPushStep.java b/src/main/java/org/jfrog/hudson/pipeline/scripted/steps/DockerPushStep.java index 4189c74cb..4067d701b 100644 --- a/src/main/java/org/jfrog/hudson/pipeline/scripted/steps/DockerPushStep.java +++ b/src/main/java/org/jfrog/hudson/pipeline/scripted/steps/DockerPushStep.java @@ -1,12 +1,12 @@ package org.jfrog.hudson.pipeline.scripted.steps; -import com.google.common.collect.ArrayListMultimap; import com.google.inject.Inject; import hudson.Extension; import org.apache.commons.cli.MissingArgumentException; import org.jenkinsci.plugins.workflow.steps.AbstractStepDescriptorImpl; import org.jenkinsci.plugins.workflow.steps.AbstractStepImpl; import org.jenkinsci.plugins.workflow.steps.StepContext; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.hudson.pipeline.ArtifactorySynchronousNonBlockingStepExecution; import org.jfrog.hudson.pipeline.common.Utils; import org.jfrog.hudson.pipeline.common.executors.DockerPushExecutor; @@ -26,11 +26,11 @@ public class DockerPushStep extends AbstractStepImpl { private String targetRepo; private String javaArgs; // Properties to attach to the deployed docker layers. - private ArrayListMultimap properties; + private Multimap properties; @DataBoundConstructor public DockerPushStep(String image, String host, String targetRepo, - BuildInfo buildInfo, ArrayListMultimap properties, ArtifactoryServer server, String javaArgs) { + BuildInfo buildInfo, Multimap properties, ArtifactoryServer server, String javaArgs) { this.image = image; this.host = host; @@ -49,7 +49,7 @@ public String getImage() { return image; } - public ArrayListMultimap getProperties() { + public Multimap getProperties() { return properties; } @@ -66,7 +66,7 @@ public String getTargetRepo() { } public static class Execution extends ArtifactorySynchronousNonBlockingStepExecution { - protected static final long serialVersionUID = 1L; + protected static final long serialVersionUID = 1L; private transient DockerPushStep step; @Inject diff --git a/src/main/java/org/jfrog/hudson/util/ExtractorUtils.java b/src/main/java/org/jfrog/hudson/util/ExtractorUtils.java index 490972bd5..c42039a8e 100644 --- a/src/main/java/org/jfrog/hudson/util/ExtractorUtils.java +++ b/src/main/java/org/jfrog/hudson/util/ExtractorUtils.java @@ -16,7 +16,6 @@ package org.jfrog.hudson.util; -import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.MapDifference; import com.google.common.collect.Maps; import hudson.EnvVars; @@ -30,6 +29,8 @@ import jenkins.security.MasterToSlaveCallable; import org.apache.commons.lang3.StringUtils; import org.apache.http.HttpEntity; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.build.api.util.NullLog; import org.jfrog.build.extractor.ci.BuildInfoConfigProperties; import org.jfrog.build.extractor.ci.BuildInfoFields; @@ -600,7 +601,7 @@ private static void addDeploymentProperties(PublisherContext context, ArtifactoryClientConfiguration.PublisherHandler publisher, Map env) { String deploymentProperties = Util.replaceMacro(context.getDeploymentProperties(), env); - ArrayListMultimap params = ArrayListMultimap.create(); + Multimap params = new ListMultimap<>(); SpecsHelper.fillPropertiesMap(deploymentProperties, params); publisher.addMatrixParams(params); } diff --git a/src/main/java/org/jfrog/hudson/util/PropertyUtils.java b/src/main/java/org/jfrog/hudson/util/PropertyUtils.java index fe4838ef3..5e172ee5d 100644 --- a/src/main/java/org/jfrog/hudson/util/PropertyUtils.java +++ b/src/main/java/org/jfrog/hudson/util/PropertyUtils.java @@ -16,8 +16,6 @@ package org.jfrog.hudson.util; -import com.google.common.collect.ArrayListMultimap; -import com.google.common.collect.Multimap; import hudson.EnvVars; import hudson.FilePath; import hudson.Util; @@ -25,6 +23,8 @@ import jenkins.MasterToSlaveFileCallable; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; +import org.jfrog.build.api.multiMap.ListMultimap; +import org.jfrog.build.api.multiMap.Multimap; import org.jfrog.hudson.release.gradle.GradleModule; import java.io.File; @@ -56,7 +56,7 @@ private PropertyUtils() { * @param gradlePropPath The path of the gradle.properties file * @param propKeys The property keys that should be taken into account when reading the properties file. * @return A map of {@link GradleModule}s that were assembled from the properties file, with the version as its - * value. + * value. * @throws IOException In case an error occurs while reading the properties file, this exception is thrown. */ public static Map getModulesPropertiesFromPropFile(FilePath gradlePropPath, String[] propKeys) @@ -104,7 +104,7 @@ public Properties invoke(File gradlePropertiesFile, VirtualChannel channel) thro } public static Multimap getDeploymentPropertiesMap(String propertiesStr, EnvVars env) { - Multimap properties = ArrayListMultimap.create(); + Multimap properties = new ListMultimap<>(); String[] deploymentProperties = StringUtils.split(propertiesStr, ";"); if (deploymentProperties == null) { return properties; diff --git a/src/main/resources/META-INF/hudson.remoting.ClassFilter b/src/main/resources/META-INF/hudson.remoting.ClassFilter index 4520071b4..1c39b4f93 100644 --- a/src/main/resources/META-INF/hudson.remoting.ClassFilter +++ b/src/main/resources/META-INF/hudson.remoting.ClassFilter @@ -23,6 +23,9 @@ org.jfrog.build.extractor.ci.Vcs org.jfrog.build.extractor.dependency.pattern.BuildDependencyPattern org.jfrog.build.extractor.dependency.pattern.DependencyPattern org.jfrog.build.api.dependency.BuildDependency +org.jfrog.build.api.multiMap.ListMultimap +org.jfrog.build.api.multiMap.Multimap +org.jfrog.build.api.multiMap.SetMultimap org.jfrog.build.extractor.dependency.BuildPatternArtifacts org.jfrog.build.extractor.dependency.BuildPatternArtifactsRequest org.jfrog.build.extractor.dependency.DownloadableArtifact @@ -43,6 +46,3 @@ org.jfrog.build.extractor.util.NullLog org.jfrog.build.extractor.clientConfiguration.IncludeExcludePatterns org.jfrog.build.extractor.clientConfiguration.deploy.DeployDetails -com.google.common.collect.ArrayListMultimap -com.google.common.collect.AbstractListMultimap -com.google.common.collect.AbstractMapBasedMultimap