From 95ffe09999c4c4b19ea61fce1927ec0b82351a56 Mon Sep 17 00:00:00 2001 From: yahavi Date: Wed, 21 Jun 2023 10:21:54 +0300 Subject: [PATCH] Remove XStream dependency --- .../src/main/java/org/jfrog/build/api/Agent.java | 2 -- .../src/main/java/org/jfrog/build/api/Artifact.java | 2 -- .../src/main/java/org/jfrog/build/api/Build.java | 8 +------- .../main/java/org/jfrog/build/api/BuildAgent.java | 2 -- .../main/java/org/jfrog/build/api/BuildBean.java | 10 ---------- .../java/org/jfrog/build/api/BuildRetention.java | 2 -- .../main/java/org/jfrog/build/api/Dependency.java | 2 -- .../java/org/jfrog/build/api/MatrixParameter.java | 3 --- .../src/main/java/org/jfrog/build/api/Module.java | 7 ------- .../src/main/java/org/jfrog/build/api/Vcs.java | 2 -- .../java/org/jfrog/build/extractor/ci/Agent.java | 3 --- .../java/org/jfrog/build/extractor/ci/Artifact.java | 2 -- .../org/jfrog/build/extractor/ci/BuildAgent.java | 2 -- .../org/jfrog/build/extractor/ci/BuildInfo.java | 12 +++--------- .../jfrog/build/extractor/ci/BuildRetention.java | 4 +--- .../org/jfrog/build/extractor/ci/Dependency.java | 2 -- .../java/org/jfrog/build/extractor/ci/Module.java | 13 +------------ .../main/java/org/jfrog/build/extractor/ci/Vcs.java | 4 +--- build.gradle | 4 ---- 19 files changed, 7 insertions(+), 79 deletions(-) diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Agent.java b/build-info-api/src/main/java/org/jfrog/build/api/Agent.java index d8a6be2af..c49dad6ea 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Agent.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Agent.java @@ -1,6 +1,5 @@ package org.jfrog.build.api; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; @@ -10,7 +9,6 @@ * * @author Noam Y. Tenne */ -@XStreamAlias("agent") public class Agent implements Serializable { private String name; diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Artifact.java b/build-info-api/src/main/java/org/jfrog/build/api/Artifact.java index af8783146..10b9f7102 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Artifact.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Artifact.java @@ -1,6 +1,5 @@ package org.jfrog.build.api; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; /** @@ -8,7 +7,6 @@ * * @author Noam Y. Tenne */ -@XStreamAlias(BuildBean.ARTIFACT) public class Artifact extends BaseBuildFileBean { private String name; diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Build.java b/build-info-api/src/main/java/org/jfrog/build/api/Build.java index abf3a8a12..5b212b805 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Build.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Build.java @@ -1,7 +1,6 @@ package org.jfrog.build.api; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.jfrog.build.api.dependency.BuildDependency; import org.jfrog.build.api.release.PromotionStatus; @@ -10,13 +9,10 @@ import java.util.Date; import java.util.List; -import static org.jfrog.build.api.BuildBean.ROOT; - /** * Represents pure (without logic) schema of build info which contains the build info properties of a typical build. * Convert org.jfrog.build.extractor.ci.BuildInfo to this class before sending the build info. */ -@XStreamAlias(ROOT) @JsonIgnoreProperties(ignoreUnknown = true, value = {"project", "startedMillis"}) public class Build extends BaseBuildBean { @@ -44,10 +40,8 @@ public class Build extends BaseBuildBean { private BuildRetention buildRetention; - @XStreamAlias(RUN_PARAMETERS) private List runParameters; - @XStreamAlias(MODULES) private List modules; private List statuses; @@ -240,7 +234,6 @@ public long getStartedMillis() { /** * Sets the started time of the build in a unit of milliseconds - * */ public void setStartedMillis(long startedMillis) { this.startedMillis = startedMillis; @@ -468,6 +461,7 @@ public void setBuildDependencies(List buildDependencies) { public Issues getIssues() { return issues; } + public void setIssues(Issues issues) { this.issues = issues; } diff --git a/build-info-api/src/main/java/org/jfrog/build/api/BuildAgent.java b/build-info-api/src/main/java/org/jfrog/build/api/BuildAgent.java index bb5a4ed13..eefa0701a 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/BuildAgent.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/BuildAgent.java @@ -2,7 +2,6 @@ package org.jfrog.build.api; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; @@ -12,7 +11,6 @@ * * @author Tomer Cohen */ -@XStreamAlias("buildagent") public class BuildAgent implements Serializable { private String name; diff --git a/build-info-api/src/main/java/org/jfrog/build/api/BuildBean.java b/build-info-api/src/main/java/org/jfrog/build/api/BuildBean.java index e4d436cda..b5c668fcf 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/BuildBean.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/BuildBean.java @@ -11,16 +11,6 @@ * @author Noam Y. Tenne */ public interface BuildBean extends Serializable { - String ROOT = "build"; - String MODULES = "modules"; - String MODULE = "module"; - String ARTIFACTS = "artifacts"; - String EXCLUDED_ARTIFACTS = "excludedArtifacts"; - String ARTIFACT = "artifact"; - String DEPENDENCIES = "dependencies"; - String DEPENDENCY = "dependency"; - String RUN_PARAMETERS = "runParameters"; - /** * Returns the properties of the bean * diff --git a/build-info-api/src/main/java/org/jfrog/build/api/BuildRetention.java b/build-info-api/src/main/java/org/jfrog/build/api/BuildRetention.java index e82fd0982..91be392e9 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/BuildRetention.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/BuildRetention.java @@ -1,7 +1,6 @@ package org.jfrog.build.api; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.thoughtworks.xstream.annotations.XStreamAlias; import java.io.Serializable; import java.util.ArrayList; @@ -11,7 +10,6 @@ /** * @author Tomer Cohen */ -@XStreamAlias("buildretention") public class BuildRetention implements Serializable { private int count = -1; diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Dependency.java b/build-info-api/src/main/java/org/jfrog/build/api/Dependency.java index d68250349..a94a9aa54 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Dependency.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Dependency.java @@ -1,6 +1,5 @@ package org.jfrog.build.api; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -13,7 +12,6 @@ * * @author Noam Y. Tenne */ -@XStreamAlias(BuildBean.DEPENDENCY) public class Dependency extends BaseBuildFileBean { public static final String SCOPE_BUILD = "_build_"; diff --git a/build-info-api/src/main/java/org/jfrog/build/api/MatrixParameter.java b/build-info-api/src/main/java/org/jfrog/build/api/MatrixParameter.java index 514dd7fe6..585a0dd24 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/MatrixParameter.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/MatrixParameter.java @@ -1,9 +1,6 @@ package org.jfrog.build.api; -//import com.thoughtworks.xstream.annotations.XStreamAlias; - import java.io.Serializable; -//import static org.jfrog.build.api.BuildBean.RUN_PARAMETERS; /** * @author Lior Hasson diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Module.java b/build-info-api/src/main/java/org/jfrog/build/api/Module.java index eb9f969b4..17a22853c 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Module.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Module.java @@ -1,20 +1,16 @@ package org.jfrog.build.api; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; import java.util.List; import java.util.Objects; -import static org.jfrog.build.api.BuildBean.MODULE; - /** * Contains the build module information * * @author Noam Y. Tenne */ -@XStreamAlias(MODULE) public class Module extends BaseBuildBean { private String type; @@ -27,13 +23,10 @@ public class Module extends BaseBuildBean { private String sha1; - @XStreamAlias(ARTIFACTS) private List artifacts; - @XStreamAlias(EXCLUDED_ARTIFACTS) private List excludedArtifacts; - @XStreamAlias(DEPENDENCIES) private List dependencies; /** diff --git a/build-info-api/src/main/java/org/jfrog/build/api/Vcs.java b/build-info-api/src/main/java/org/jfrog/build/api/Vcs.java index bcd95a54a..0ec063961 100644 --- a/build-info-api/src/main/java/org/jfrog/build/api/Vcs.java +++ b/build-info-api/src/main/java/org/jfrog/build/api/Vcs.java @@ -1,13 +1,11 @@ package org.jfrog.build.api; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.Objects; -@XStreamAlias(BuildInfoFields.VCS) public class Vcs implements Serializable { private String revision = ""; private String message = ""; diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Agent.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Agent.java index 37ceed94c..2673d0943 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Agent.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Agent.java @@ -1,15 +1,12 @@ package org.jfrog.build.extractor.ci; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; /** * Information about the agent that triggered the build (e.g. Jenkins, TeamCity etc.). - * */ -@XStreamAlias("agent") public class Agent implements Serializable { private String name; diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Artifact.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Artifact.java index 35b401d8f..36a1c73f7 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Artifact.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Artifact.java @@ -1,12 +1,10 @@ package org.jfrog.build.extractor.ci; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; /** * Contains the build deployed artifact information */ -@XStreamAlias(BuildBean.ARTIFACT) public class Artifact extends BaseBuildFileBean { private String name; diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildAgent.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildAgent.java index f31ec96a9..1c00817e0 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildAgent.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildAgent.java @@ -2,7 +2,6 @@ package org.jfrog.build.extractor.ci; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; @@ -10,7 +9,6 @@ /** * Information about the agent that executed the build (e.g. Maven, Ant/Ivy, Gradle etc.) */ -@XStreamAlias("buildagent") public class BuildAgent implements Serializable { private String name; diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildInfo.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildInfo.java index c5f0970ce..5848fc418 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildInfo.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildInfo.java @@ -2,7 +2,6 @@ package org.jfrog.build.extractor.ci; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import org.jfrog.build.api.Build; import org.jfrog.build.api.builder.ModuleType; @@ -18,13 +17,10 @@ import java.util.Properties; import java.util.stream.Collectors; -import static org.jfrog.build.extractor.ci.BuildBean.ROOT; - /** * A temporary build-info for CI use (e.g. Artifactory jenkins plugin, Maven plugin, etc.). - * BuildInfo class should be converted to {@link org.jfrog.build.api.Build} before publishing / getting build-info from Artifactory. + * BuildInfo class should be converted to {@link org.jfrog.build.api.Build} before publishing / getting build-info from Artifactory. */ -@XStreamAlias(ROOT) @JsonIgnoreProperties(ignoreUnknown = true, value = {"project", "startedMillis"}) public class BuildInfo extends BaseBuildBean { @@ -52,10 +48,8 @@ public class BuildInfo extends BaseBuildBean { private BuildRetention buildRetention; - @XStreamAlias(RUN_PARAMETERS) private List runParameters; - @XStreamAlias(MODULES) private List modules; private List statuses; @@ -620,9 +614,9 @@ public Build ToBuild() { return builder.build(); } - public static BuildInfo ToBuildInfo( org.jfrog.build.api.Build build) { + public static BuildInfo ToBuildInfo(org.jfrog.build.api.Build build) { BuildInfoBuilder builder = new BuildInfoBuilder(build.getName()); - builder + builder .number(build.getNumber()) .setProject(build.getProject()) .agent(build.getAgent() == null ? null : new Agent(build.getAgent().getName(), build.getAgent().getVersion())) diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildRetention.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildRetention.java index e20548bdc..07ba7d672 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildRetention.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/BuildRetention.java @@ -1,14 +1,12 @@ package org.jfrog.build.extractor.ci; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.thoughtworks.xstream.annotations.XStreamAlias; import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; -@XStreamAlias("buildretention") public class BuildRetention implements Serializable { private int count = -1; @@ -82,7 +80,7 @@ public org.jfrog.build.api.BuildRetention ToBuildRetention() { } public static BuildRetention ToBuildInfoRetention(org.jfrog.build.api.BuildRetention br) { - BuildRetention result = new BuildRetention(); + BuildRetention result = new BuildRetention(); result.setDeleteBuildArtifacts(br.isDeleteBuildArtifacts()); result.setCount(br.getCount()); result.setMinimumBuildDate(br.getMinimumBuildDate()); diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Dependency.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Dependency.java index 76e586faa..52a41da52 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Dependency.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Dependency.java @@ -1,6 +1,5 @@ package org.jfrog.build.extractor.ci; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; @@ -11,7 +10,6 @@ /** * Contains the build info module dependency information */ -@XStreamAlias(BuildBean.DEPENDENCY) public class Dependency extends BaseBuildFileBean { public static final String SCOPE_BUILD = "_build_"; diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Module.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Module.java index ee6adf872..e2719eeb6 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Module.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Module.java @@ -1,25 +1,17 @@ package org.jfrog.build.extractor.ci; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.StringUtils; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Objects; -import java.util.Optional; +import java.util.*; import java.util.stream.Collectors; import java.util.stream.Stream; -import static org.jfrog.build.extractor.ci.BuildBean.MODULE; - /** * Contains the build module information * * @author Noam Y. Tenne */ -@XStreamAlias(MODULE) public class Module extends BaseBuildBean { private String type; @@ -32,13 +24,10 @@ public class Module extends BaseBuildBean { private String sha1; - @XStreamAlias(ARTIFACTS) private List artifacts; - @XStreamAlias(EXCLUDED_ARTIFACTS) private List excludedArtifacts; - @XStreamAlias(DEPENDENCIES) private List dependencies; /** diff --git a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Vcs.java b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Vcs.java index 0b967634d..2b93daa49 100644 --- a/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Vcs.java +++ b/build-info-extractor/src/main/java/org/jfrog/build/extractor/ci/Vcs.java @@ -1,13 +1,11 @@ package org.jfrog.build.extractor.ci; import com.fasterxml.jackson.annotation.JsonIgnore; -import com.thoughtworks.xstream.annotations.XStreamAlias; import org.apache.commons.lang3.StringUtils; import java.io.Serializable; import java.util.Objects; -@XStreamAlias(BuildInfoFields.VCS) public class Vcs implements Serializable { private String revision = ""; private String message = ""; @@ -100,6 +98,6 @@ public org.jfrog.build.api.Vcs ToBuildVcs() { } public static Vcs ToBuildInfoVcs(org.jfrog.build.api.Vcs vcs) { - return new Vcs(vcs.getUrl(),vcs.getRevision() ,vcs.getBranch() ,vcs.getMessage()); + return new Vcs(vcs.getUrl(), vcs.getRevision(), vcs.getBranch(), vcs.getMessage()); } } \ No newline at end of file diff --git a/build.gradle b/build.gradle index b2363e7d2..dac7d75bb 100644 --- a/build.gradle +++ b/build.gradle @@ -52,7 +52,6 @@ buildscript { testNgVersion = '6.14.3' woodstoxVersion = '6.4.0' - xstreamVersion = '1.4.20' } repositories { @@ -253,9 +252,6 @@ configure(baseProjects()) { transitive = true } } - dependencies { - implementation group: 'com.thoughtworks.xstream', name: 'xstream', version: xstreamVersion - } } // Create configurations for the extractor projects