From 037a5e4e0a5dc3a15d67a57906e1f2898208b49a Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Mon, 13 Mar 2017 15:35:32 +0100 Subject: [PATCH] Ensuring that release versions don't use snapshot versions without this change we could commit a release version that references a dependency in a snapshot version with this change an exception will be throw in such a case. Exception will contain a file name together with the line in which a snapshot version was found fixes #7 --- README.adoc | 4 +- .../asciidoc/spring-cloud-release-tools.adoc | 4 +- .../release/internal/pom/PomUpdater.java | 18 +- .../internal/pom/ProjectPomUpdater.java | 27 ++ .../cloud/release/internal/pom/Versions.java | 4 + .../internal/PomUpdateAcceptanceTests.java | 18 + ...UpdaterTests.java => PomUpdaterTests.java} | 17 +- .../release/internal/pom/VersionsTests.java | 36 +- .../spring-cloud-consul/git/COMMIT_EDITMSG | 2 +- .../projects/spring-cloud-consul/git/index | Bin 373 -> 373 bytes .../spring-cloud-consul/git/logs/HEAD | 1 + .../git/logs/refs/heads/master | 1 + .../14/e930a30601eee731b77d0a84499aaf56be8b26 | Bin 0 -> 1536 bytes .../37/296724b949a9c2126e0c3e2e7bf5e5d7678802 | Bin 0 -> 141 bytes .../38/6e26ed81099e05b791bbea27a0236abc42a455 | 3 + .../spring-cloud-consul/git/refs/heads/master | 2 +- .../projects/spring-cloud-consul/pom.xml | 1 - .../pom.xml | 378 ++++++++++++++++++ .../spring-cloud-sleuth-core/pom.xml | 165 ++++++++ .../spring-cloud-sleuth-dependencies/pom.xml | 139 +++++++ .../spring-cloud-sleuth-samples/pom.xml | 72 ++++ .../pom.xml | 107 +++++ 22 files changed, 969 insertions(+), 30 deletions(-) rename spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/{ProjectPomUpdaterTests.java => PomUpdaterTests.java} (94%) create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/14/e930a30601eee731b77d0a84499aaf56be8b26 create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/37/296724b949a9c2126e0c3e2e7bf5e5d7678802 create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/38/6e26ed81099e05b791bbea27a0236abc42a455 create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/pom.xml create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-core/pom.xml create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-dependencies/pom.xml create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/pom.xml create mode 100644 spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml diff --git a/README.adoc b/README.adoc index 9acb910a..5c816e2a 100644 --- a/README.adoc +++ b/README.adoc @@ -27,7 +27,9 @@ why this tool makes it easy to automate the release / dependency update process - Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects) - Modifies the project versions with values from SC-Release -- Performs the build and checks if the `docs` modules have properly created the documentation (no `unresolved` tags are present) + * throws an exception when we bump versions to release and there's a SNAPSHOT version referenced in the POM +- Performs the build and checks if the `docs` modules have properly created the documentation + * throws an exception when in the `docs` module there's an unresolved tag in any HTML file - Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS) - Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS) - Runs the deployment of the artifacts diff --git a/docs/src/main/asciidoc/spring-cloud-release-tools.adoc b/docs/src/main/asciidoc/spring-cloud-release-tools.adoc index 1cf79f3a..d71c94d4 100644 --- a/docs/src/main/asciidoc/spring-cloud-release-tools.adoc +++ b/docs/src/main/asciidoc/spring-cloud-release-tools.adoc @@ -17,7 +17,9 @@ why this tool makes it easy to automate the release / dependency update process - Clones the Spring Cloud Release project and picks all versions (Boot + Cloud projects) - Modifies the project versions with values from SC-Release -- Performs the build and checks if the `docs` modules have properly created the documentation (no `unresolved` tags are present) + * throws an exception when we bump versions to release and there's a SNAPSHOT version referenced in the POM +- Performs the build and checks if the `docs` modules have properly created the documentation + * throws an exception when in the `docs` module there's an unresolved tag in any HTML file - Commits changed poms (ONLY FOR NON-SNAPSHOT VERSIONS) - Creates a tag for the release / milestone (ONLY FOR NON-SNAPSHOT VERSIONS) - Runs the deployment of the artifacts diff --git a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/PomUpdater.java b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/PomUpdater.java index 305f149b..e602afe2 100644 --- a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/PomUpdater.java +++ b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/PomUpdater.java @@ -36,7 +36,9 @@ import org.codehaus.mojo.versions.rewriting.ModifiedPomXMLEventReader; import org.codehaus.stax2.XMLInputFactory2; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.util.StringUtils; + +import static org.springframework.util.StringUtils.hasText; +import static org.springframework.util.StringUtils.isEmpty; /** * @author Marcin Grzejszczak @@ -122,7 +124,7 @@ class PomUpdater { Model model, List sourceChanges) { String rootProjectName = wrapper.projectName(); List changes = new ArrayList<>(sourceChanges); - if (model.getParent() == null || StringUtils.isEmpty(model.getParent().getVersion())) { + if (model.getParent() == null || isEmpty(model.getParent().getVersion())) { log.debug("Can't set the value for parent... Will return {}", sourceChanges); return changes; } @@ -132,8 +134,8 @@ class PomUpdater { String oldVersion = model.getParent().getVersion(); String version = versions.versionForProject(parentArtifactId); log.debug("Found version is [{}]", version); - if (StringUtils.isEmpty(version)) { - if (StringUtils.hasText(model.getParent().getRelativePath())) { + if (isEmpty(version)) { + if (hasText(model.getParent().getRelativePath())) { version = versions.versionForProject(rootProjectName); } else { log.warn("There is no info on the [{}:{}] version", parentGroupId, parentArtifactId); @@ -146,7 +148,9 @@ class PomUpdater { } log.info("Setting version of parent [{}] to [{}] for module [{}]", parentArtifactId, version, model.getArtifactId()); - changes.add(new VersionChange(parentGroupId, parentArtifactId, oldVersion, version)); + if (hasText(version)) { + changes.add(new VersionChange(parentGroupId, parentArtifactId, oldVersion, version)); + } return changes; } @@ -160,7 +164,7 @@ class PomUpdater { String oldVersion = model.getVersion(); String version = versions.versionForProject(rootProjectName); log.debug("Found version is [{}]", version); - if (StringUtils.isEmpty(version) || StringUtils.isEmpty(model.getVersion())) { + if (isEmpty(version) || isEmpty(model.getVersion())) { log.debug("There was no version set for project [{}], skipping version setting for module [{}]", rootProjectName, model.getArtifactId()); return changes; } @@ -174,7 +178,7 @@ class PomUpdater { } private String groupId(Model model) { - if (StringUtils.hasText(model.getGroupId())) { + if (hasText(model.getGroupId())) { return model.getGroupId(); } if (model.getParent() != null) { diff --git a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdater.java b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdater.java index ffdc06d8..4893c739 100644 --- a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdater.java +++ b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdater.java @@ -24,6 +24,7 @@ import java.nio.file.Path; import java.nio.file.SimpleFileVisitor; import java.nio.file.attribute.BasicFileAttributes; import java.util.HashSet; +import java.util.Scanner; import java.util.Set; import org.slf4j.Logger; @@ -103,6 +104,7 @@ public class ProjectPomUpdater { private final Versions versions; private final PomUpdater pomUpdater; private final ReleaserProperties properties; + private final boolean snapshotVersion; private PomWalker(ModelWrapper rootPom, Versions versions, PomUpdater pomUpdater, ReleaserProperties properties) { @@ -110,6 +112,7 @@ public class ProjectPomUpdater { this.versions = versions; this.pomUpdater = pomUpdater; this.properties = properties; + this.snapshotVersion = versions.isSnapshot(); } @Override @@ -122,6 +125,21 @@ public class ProjectPomUpdater { } ModelWrapper model = this.pomUpdater.updateModel(this.rootPom, file, this.versions); this.pomUpdater.overwritePomIfDirty(model, this.versions, file); + if (!this.snapshotVersion) { + log.debug("Update is a non-snapshot one. Checking if no snapshot versions remained in the pom"); + Scanner scanner = new Scanner(asString(path)); + int lineNumber = 0; + while (scanner.hasNextLine()) { + String line = scanner.nextLine(); + lineNumber++; + boolean containsSnapshot = line.contains("BUILD-SNAPSHOT"); + if (containsSnapshot) { + throw new IllegalStateException("The file [" + path + "] contains a BUILD-SNAPSHOT " + + "version for a non snapshot release in line number [" + lineNumber + "]\n\n" + line); + } + } + log.info("No snapshot versions remained in the pom"); + } } return FileVisitResult.CONTINUE; } @@ -130,6 +148,15 @@ public class ProjectPomUpdater { String path = file.getPath(); return this.properties.getPom().getIgnoredPomRegex().stream().anyMatch(path::matches); } + + private String asString(Path path) { + try { + return new String(Files.readAllBytes(path)); + } + catch (IOException e) { + throw new IllegalStateException(e); + } + } } } diff --git a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/Versions.java b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/Versions.java index d459813a..1816e326 100644 --- a/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/Versions.java +++ b/spring-cloud-release-tools-core/src/main/java/org/springframework/cloud/release/internal/pom/Versions.java @@ -89,6 +89,10 @@ class Versions { return project.name.equals(withoutParent); } + boolean isSnapshot() { + return this.projects.stream().anyMatch(project -> project.version.endsWith("BUILD-SNAPSHOT")); + } + @Override public String toString() { return "Spring Boot Version=[" + this.bootVersion + ']' + "\nSpring Cloud Build Version=[" + this.scBuildVersion + ']' + "\nProjects=\n\t" + this.projects.stream().map(Object::toString).collect( diff --git a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/PomUpdateAcceptanceTests.java b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/PomUpdateAcceptanceTests.java index 0e76aa49..08fc6a90 100644 --- a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/PomUpdateAcceptanceTests.java +++ b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/PomUpdateAcceptanceTests.java @@ -6,6 +6,7 @@ import java.net.URISyntaxException; import java.nio.file.Files; import org.apache.maven.model.Model; +import org.assertj.core.api.BDDAssertions; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -58,6 +59,17 @@ public class PomUpdateAcceptanceTests { then(zipkinStreamPom.getParent().getVersion()).isEqualTo("1.2.0.BUILD-SNAPSHOT"); } + @Test + public void should_update_fail_when_after_updating_a_release_version_there_still_is_a_snapshot_version() throws Exception { + ReleaserProperties releaserProperties = branchReleaserProperties(); + ProjectPomUpdater projectPomUpdater = new ProjectPomUpdater(releaserProperties); + + BDDAssertions.thenThrownBy(() -> + projectPomUpdater + .updateProjectFromSCRelease(new File(this.temporaryFolder, "/spring-cloud-sleuth-with-unmatched-property")) + ).hasMessageContaining("0.6.0.BUILD-SNAPSHOT"); + } + @Test public void should_not_update_a_project_that_is_not_on_the_list() throws Exception { ReleaserProperties releaserProperties = releaserProperties(); @@ -77,6 +89,12 @@ public class PomUpdateAcceptanceTests { return releaserProperties; } + private ReleaserProperties branchReleaserProperties() throws URISyntaxException { + ReleaserProperties releaserProperties = releaserProperties(); + releaserProperties.getPom().setBranch("vCamden.SR4"); + return releaserProperties; + } + private File tmpFile(String relativePath) { return new File(this.temporaryFolder, relativePath); } diff --git a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdaterTests.java b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/PomUpdaterTests.java similarity index 94% rename from spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdaterTests.java rename to spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/PomUpdaterTests.java index ebe6de69..c79a5885 100644 --- a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/ProjectPomUpdaterTests.java +++ b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/PomUpdaterTests.java @@ -36,7 +36,7 @@ import org.springframework.util.FileSystemUtils; /** * @author Marcin Grzejszczak */ -public class ProjectPomUpdaterTests { +public class PomUpdaterTests { Versions versions = new Versions("0.0.1", "0.0.2", projects()); PomUpdater pomUpdater = new PomUpdater(); @@ -263,21 +263,6 @@ public class ProjectPomUpdaterTests { .contains("Won't update the version of module"); } - @Test - public void should_return_a_change_version() throws Exception { - File originalPom = pom("/projects/project/", "pom_matching_artifact_same_version.xml"); - File pomInTemp = tmpFile("/project/pom_matching_artifact_same_version.xml"); - ModelWrapper rootPom = model("spring-cloud-sleuth"); - ModelWrapper model = this.pomUpdater.updateModel(rootPom, pomInTemp, this.versions); - - File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp); - - BDDAssertions.then(asString(storedPom)).isEqualTo(asString(originalPom)); - BDDAssertions.then(this.capture.toString()) - .contains("Won't update the version of parent") - .contains("Won't update the version of module"); - } - Set projects() { Set projects = new HashSet<>(); projects.add(new Project("spring-cloud-contract", "0.0.2.BUILD-SNAPSHOT")); diff --git a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/VersionsTests.java b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/VersionsTests.java index 52c8cde0..2bd86bad 100644 --- a/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/VersionsTests.java +++ b/spring-cloud-release-tools-core/src/test/java/org/springframework/cloud/release/internal/pom/VersionsTests.java @@ -21,8 +21,6 @@ import java.util.Properties; import java.util.Set; import org.junit.Test; -import org.springframework.cloud.release.internal.pom.Project; -import org.springframework.cloud.release.internal.pom.Versions; import static org.assertj.core.api.BDDAssertions.then; @@ -77,12 +75,46 @@ public class VersionsTests { then(this.versions.shouldSetProperty(missingProps())).isFalse(); } + @Test + public void should_return_true_when_all_versions_are_snapshot() { + then(new Versions("", snapshotProjects()).isSnapshot()).isTrue(); + } + + @Test + public void should_return_true_when_there_only_release_versions() { + then(new Versions("1.0.0.RELEASE", releaseProjects()).isSnapshot()).isFalse(); + } + + @Test + public void should_return_true_when_there_are_mixed_versions() { + then(new Versions("", mixedProjects()).isSnapshot()).isTrue(); + } + Set projects() { Set projects = new HashSet<>(); projects.add(new Project("foo", "bar")); return projects; } + Set snapshotProjects() { + Set projects = new HashSet<>(); + projects.add(new Project("foo", "1.0.0.BUILD-SNAPSHOT")); + return projects; + } + + Set releaseProjects() { + Set projects = new HashSet<>(); + projects.add(new Project("foo", "1.0.0.RELEASE")); + return projects; + } + + Set mixedProjects() { + Set projects = new HashSet<>(); + projects.add(new Project("foo", "1.0.0.BUILD-SNAPSHOT")); + projects.add(new Project("fooBar", "1.0.0.RELEASE")); + return projects; + } + Properties validProps() { Properties properties = new Properties(); properties.setProperty("foo.version", "1.0.0"); diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/COMMIT_EDITMSG b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/COMMIT_EDITMSG index 5852f446..31425058 100644 --- a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/COMMIT_EDITMSG +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/COMMIT_EDITMSG @@ -1 +1 @@ -Initial commit +Removed deployer diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/index b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/index index fcccf6d736c1cba260c9b8032511e9c26cb57115..4203f4e544cc3a90798dc30b691a50ead1f6fb4a 100644 GIT binary patch delta 189 zcmey$^p#1)#WTp6fq{Vuh?ygfEt?6X86u9AaDiw>1_lACWdP#%w+UiH_f*V8+gChIbqh#YO28{7HXLi@%~gEcL0{=U1MZ2AQNQU5)N delta 189 zcmey$^p#1)#WTp6fq{Vuh?ye}Wj_Pb4B=Z6y+Jf10|N`=kBXfWRV?G7QW1w@4UwdF zF)%bP0V@0s5@TSHF%9(l&%F56Rj)3clL2cU=(q0r 1489136624 +0100 commit (initial): Initial commit +2e289de071592d4d361957e59cc0485c5e1941a0 386e26ed81099e05b791bbea27a0236abc42a455 Marcin Grzejszczak 1489413813 +0100 commit: Removed deployer diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/logs/refs/heads/master b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/logs/refs/heads/master index 8fc76092..f2d72e08 100644 --- a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/logs/refs/heads/master +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/logs/refs/heads/master @@ -1 +1,2 @@ 0000000000000000000000000000000000000000 2e289de071592d4d361957e59cc0485c5e1941a0 Marcin Grzejszczak 1489136624 +0100 commit (initial): Initial commit +2e289de071592d4d361957e59cc0485c5e1941a0 386e26ed81099e05b791bbea27a0236abc42a455 Marcin Grzejszczak 1489413813 +0100 commit: Removed deployer diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/14/e930a30601eee731b77d0a84499aaf56be8b26 b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/14/e930a30601eee731b77d0a84499aaf56be8b26 new file mode 100644 index 0000000000000000000000000000000000000000..0878a4d0f3c5e41bd65d114b30b5ef4606ef6c3c GIT binary patch literal 1536 zcmV+b2LJhZ0qt3BZ`(Ey-q++;s7Aj^ijx){0>xdIZfJpI4Vre?S6ZTNHIk^2QXHe` zf8WD5nUdw#Wkmz*LjaS!JKgi}cz0yR85?`AhG#E-ie5kDnRidQNLg_)7zQT;j}|dY z(qeis`26X2|L4K$(Q#CA_Jzik2kAmw3}#hTo`+#h?r9N_lEgC_Fg^`$K3s<{f)iLd zK04CE=MN%n6z21JFh5hGrza=F@UQEuTj=J*PYY3zBBokVq~}7-U$K}}%C)VZ^wvo{ zh(vqpE7t;y2czSoC}#=H{?yP%YAFg^bH@;xa#ok`lM&DbqU4}u!bwi&jNb)u#_A*r ztq7zEuhI#LD=27TU&;6}D@2_|p|cKYL;GkLoPx7oKfk|v>)-zI=H~X@hfh&xS0M<3 z@5mJ29+fPQ!sQTa1-u#ED$l%2>5zA6KBiV6kx&uyw3IaV3%UXlb4fTYDp0g1{Pp<9 zb((>x7JL`~Suosy|0v=#Lm1rC8&b_e<=8Xd_cF%r>eAEhdK1oakJFNgv|@bW`M%s_ zkfp&$T%45@J4A&t(b}PLEdtBJ9gk~bzVXEYO(tZZ!ydPhgvoC;PnMozICL!2^qP72B6 z9%m^cwGn+0ybMmGuxF)FV4OPQP%z@|ycGVz65>~BzLY)x9g9liVQ&D$uHza(RdBK$zUtuu2T_3ysK=_j?)n4B4$Vyi(M7QDV*oKN(+*g*>=}aFL_0I6Eubj$#)+s zZE+v@ZmT~X6`fG_)!Ln`&gV#mg1HJRVX^DE6+uczIH@|L0;9}o6ik)qk@(d>&Vw9V zu4P3xt&8qsjEY;(rMy$LlpF}p%QOS?TA^FkpkfP&N?dlJzphEFx$0`PM@Sf~<}pPd zfDB`PD`|Oh_>@+9#r)QGUv7JNh(5w+!-kyIo&8N-V-`w6veg~(qq@y%18AqzqBWX)31!UpO>0dqKcY@qm3#ukW_3~g+;{gb{dF}4V@dRq`zRJ8DZPiVSo`#Q7v+LH}i z*n-!t_-nTF2LRUuimEz~gsvwf*GKU8+)-47-H&8zKb_urWix+RxTZ-z5OSx*e@d`r z**F-rd!=|fpv}GIK-8UE&kF2+S$>}3Cd=vHb;@btjTat5E1>Z_O>kL|uLj<@uDpU( z9uXe#P|Un0FPTd&3dwS+Q^TaSDPz-&!dyZFd5zl8;ppWJsm{HIb(mO9RubBTp|w$O zGy1Y-ADi_3e3R==gQjkDXuDW}eg*BH?csElcidfG{Wi2^&%Z9k)|A*)ENdA)*iCgm zaeVK#JsR}#zPgp}wJtWd)(y-#G8=qqq;}-Z;ZZl1&P1yPb$e6Of_8(t)w$~ev}{1f zjG-5D%&OUm}m8a-bWq!cqI&w;UkW%n8Ib}3-q0MTn6 zMecKiv~S)sgOr6?Iu?yx+pU^c2&vk9QfC*;(1MIJniy{ENQE%y=*r6nJW7P-LpftL zCIl};QD}$OKwCZvyL@aUD3{Dv$Q5fDx^^V?p{TLE7e{L_c1YS2q-AJb5PUR@N8yeD zjln3~Y2OdT{=vR#c06+Q> mQEAdx{ZBGLFVvMSHzx%1y2_{uw5&L4UjDakbo>tq-ZX&S5dCfd literal 0 HcmV?d00001 diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/37/296724b949a9c2126e0c3e2e7bf5e5d7678802 b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/objects/37/296724b949a9c2126e0c3e2e7bf5e5d7678802 new file mode 100644 index 0000000000000000000000000000000000000000..bfb35e0fbd5eed44acb9cd07510048e1656bb3b1 GIT binary patch literal 141 zcmV;80CN9$0V^p=O;s>7GG{O}FfcPQQP4}zEXhpI%P&f0=-rfbbl2=@mltKlX$#v6 z3r>0RQxvMIAU{{HA~%OY}TscQ}_EO]0 UP< \ No newline at end of file diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/refs/heads/master b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/refs/heads/master index 36b256ea..df28031b 100644 --- a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/refs/heads/master +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/git/refs/heads/master @@ -1 +1 @@ -2e289de071592d4d361957e59cc0485c5e1941a0 +386e26ed81099e05b791bbea27a0236abc42a455 diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/pom.xml index 514eff03..14e930a3 100644 --- a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/pom.xml +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-consul/pom.xml @@ -24,7 +24,6 @@ 1.2.0.BUILD-SNAPSHOT 1.3.0.BUILD-SNAPSHOT 1.3.0.BUILD-SNAPSHOT - 1.0.3.BUILD-SNAPSHOT Chelsea.BUILD-SNAPSHOT 2.3.1 4.5.2 diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/pom.xml new file mode 100644 index 00000000..93d76967 --- /dev/null +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/pom.xml @@ -0,0 +1,378 @@ + + + 4.0.0 + + spring-cloud-sleuth + 0.2.0.BUILD-SNAPSHOT + pom + Spring Cloud Sleuth + Spring Cloud Sleuth + + + org.springframework.cloud + spring-cloud-build + 0.3.1.BUILD-SNAPSHOT + + + + + + https://github.com/spring-cloud/spring-cloud-sleuth + scm:git:git://github.com/spring-cloud/spring-cloud-sleuth.git + scm:git:ssh://git@github.com/spring-cloud/spring-cloud-sleuth.git + HEAD + + + + spring-cloud-sleuth-dependencies + spring-cloud-sleuth-core + spring-cloud-sleuth-zipkin + spring-cloud-sleuth-stream + spring-cloud-sleuth-zipkin-stream + spring-cloud-starter-sleuth + spring-cloud-starter-zipkin + spring-cloud-sleuth-samples + docs + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + + default-compile + + true + true + + ${maven.compiler.source} + ${maven.compiler.target} + + + + + default-testCompile + + true + true + + ${maven.compiler.testSource} + ${maven.compiler.testTarget} + + + + + + + org.apache.maven.plugins + maven-enforcer-plugin + 1.3.1 + + + enforce-java + + enforce + + + + + ${maven.compiler.testTarget} + + + + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${checkstyle.version} + + + org.springframework.cloud + spring-cloud-build-tools + ${spring-cloud-build.version} + + + + + validate + validate + + checkstyle.xml + LICENSE.txt + true + true + + + check + + + + + + + + + + + org.apache.maven.plugins + maven-checkstyle-plugin + ${checkstyle.version} + + checkstyle.xml + LICENSE.txt + + + + + + + + + org.springframework.cloud + spring-cloud-sleuth-dependencies + ${project.version} + pom + import + + + org.springframework.cloud + spring-cloud-netflix-dependencies + ${spring-cloud-netflix.version} + pom + import + + + org.springframework.cloud + spring-cloud-commons-dependencies + ${spring-cloud-commons.version} + pom + import + + + org.springframework.cloud + spring-cloud-stream-dependencies + ${spring-cloud-stream.version} + pom + import + + + + org.spockframework + spock-core + ${spock.version} + test + + + org.spockframework + spock-spring + ${spock.version} + test + + + cglib + cglib-nodep + 3.1 + + + org.objenesis + objenesis + 2.1 + + + + org.hamcrest + hamcrest-core + test + + + com.jayway.awaitility + awaitility + 1.7.0 + test + + + com.github.tomakehurst + wiremock + 2.5.1 + test + + + pl.pragmatists + JUnitParams + 1.0.6 + test + + + org.assertj + assertj-core + 3.6.2 + test + + + + + + 1.7 + 1.7 + 1.8 + 1.8 + 2.19.1 + 2.17 + 0.3.1.BUILD-SNAPSHOT + 0.2.0.BUILD-SNAPSHOT + Foo.BUILD-SNAPSHOT + 0.3.0.BUILD-SNAPSHOT + + 0.6.0.BUILD-SNAPSHOT + + + + + spring + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/libs-snapshot-local + + true + + + false + + + + spring-milestones + Spring Milestones + https://repo.spring.io/libs-milestone-local + + false + + + false + + + + spring-releases + Spring Releases + https://repo.spring.io/release + + false + + + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/libs-snapshot-local + + true + + + false + + + + spring-milestones + Spring Milestones + https://repo.spring.io/libs-milestone-local + + false + + + + spring-releases + Spring Releases + https://repo.spring.io/libs-release-local + + false + + + + + + ide + + false + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.1 + + ${maven.compiler.testSource} + ${maven.compiler.testTarget} + + + + + + + benchmarks + + false + + + benchmarks + + + + sonar + + + + org.jacoco + jacoco-maven-plugin + + + pre-unit-test + + prepare-agent + + + surefireArgLine + ${project.build.directory}/jacoco.exec + + + + post-unit-test + test + + report + + + + ${project.build.directory}/jacoco.exec + + + + + + org.apache.maven.plugins + maven-surefire-plugin + ${surefire.plugin.version} + + + ${surefireArgLine} + + + + + + + + diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-core/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-core/pom.xml new file mode 100644 index 00000000..95e39305 --- /dev/null +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-core/pom.xml @@ -0,0 +1,165 @@ + + + 4.0.0 + + spring-cloud-sleuth-core + jar + Spring Cloud Sleuth Core + Spring Cloud Sleuth Core + + + org.springframework.cloud + spring-cloud-sleuth + 0.2.0.BUILD-SNAPSHOT + .. + + + + + org.springframework.boot + spring-boot-starter-web + true + + + org.springframework.boot + spring-boot-starter-websocket + true + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter-actuator + true + + + org.springframework.cloud + spring-cloud-commons + + + org.springframework.cloud + spring-cloud-starter-feign + true + + + org.springframework.cloud + spring-cloud-starter-zuul + true + + + org.springframework.integration + spring-integration-core + true + + + org.springframework + spring-context + + + com.netflix.hystrix + hystrix-core + true + + + io.github.openfeign + feign-core + true + + + com.netflix.zuul + zuul-core + true + + + io.reactivex + rxjava + true + + + + org.springframework.data + spring-data-rest-webmvc + true + + + com.squareup.okhttp3 + okhttp + true + + + org.apache.httpcomponents + httpclient + true + + + io.github.openfeign + feign-okhttp + true + + + org.aspectj + aspectjrt + + + org.springframework.boot + spring-boot-starter-test + test + + + com.netflix.archaius + archaius-core + test + + + com.squareup.okhttp3 + mockwebserver + 3.1.2 + test + + + org.assertj + assertj-core + test + + + com.jayway.awaitility + awaitility + test + + + pl.pragmatists + JUnitParams + test + + + org.springframework.boot + spring-boot-starter-data-jpa + test + + + org.springframework + spring-orm + test + + + org.springframework.boot + spring-boot-starter-data-rest + test + + + com.h2database + h2 + test + + + org.springframework.cloud + spring-cloud-starter-eureka + test + + + + diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-dependencies/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-dependencies/pom.xml new file mode 100644 index 00000000..eff7bb02 --- /dev/null +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-dependencies/pom.xml @@ -0,0 +1,139 @@ + + + 4.0.0 + + spring-cloud-dependencies-parent + org.springframework.cloud + 0.3.1.BUILD-SNAPSHOT + + + spring-cloud-sleuth-dependencies + 0.2.0.BUILD-SNAPSHOT + pom + spring-cloud-sleuth-dependencies + Spring Cloud Sleuth Dependencies + + 1.19.2 + 0.6.12 + + + + + org.springframework.cloud + spring-cloud-sleuth-core + ${project.version} + + + org.springframework.cloud + spring-cloud-sleuth-zipkin + ${project.version} + + + org.springframework.cloud + spring-cloud-sleuth-stream + ${project.version} + + + org.springframework.cloud + spring-cloud-sleuth-zipkin-stream + ${project.version} + + + org.springframework.cloud + spring-cloud-starter-zipkin + ${project.version} + + + org.springframework.cloud + spring-cloud-starter-sleuth + ${project.version} + + + io.zipkin.java + zipkin + ${zipkin.version} + + + io.zipkin.java + zipkin-server + ${zipkin.version} + + + io.zipkin.java + zipkin-autoconfigure-ui + ${zipkin.version} + + + io.zipkin.java + zipkin-autoconfigure-storage-mysql + ${zipkin.version} + + + io.zipkin.java + zipkin-junit + ${zipkin.version} + + + io.zipkin.reporter + zipkin-reporter + ${zipkin-reporter.version} + + + + + + spring + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/libs-snapshot-local + + true + + + false + + + + spring-milestones + Spring Milestones + https://repo.spring.io/libs-milestone-local + + false + + + + spring-releases + Spring Releases + https://repo.spring.io/release + + false + + + + + + spring-snapshots + Spring Snapshots + https://repo.spring.io/libs-snapshot-local + + true + + + false + + + + spring-milestones + Spring Milestones + https://repo.spring.io/libs-milestone-local + + false + + + + + + diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/pom.xml new file mode 100644 index 00000000..acbc7e0c --- /dev/null +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/pom.xml @@ -0,0 +1,72 @@ + + + 4.0.0 + + spring-cloud-sleuth-samples + pom + Spring Cloud Sleuth Samples + Spring Cloud Sleuth Samples + + + org.springframework.cloud + spring-cloud-sleuth + 0.2.0.BUILD-SNAPSHOT + .. + + + + spring-cloud-sleuth-sample + spring-cloud-sleuth-sample-test-core + spring-cloud-sleuth-sample-messaging + spring-cloud-sleuth-sample-websocket + spring-cloud-sleuth-sample-feign + spring-cloud-sleuth-sample-ribbon + spring-cloud-sleuth-sample-zipkin + spring-cloud-sleuth-sample-stream + spring-cloud-sleuth-sample-zipkin-stream + + + + + + + + maven-deploy-plugin + + true + + + + + + + + + + org.springframework.cloud + spring-cloud-sleuth-dependencies + ${project.version} + pom + import + + + org.springframework.cloud + spring-cloud-sleuth-sample-test-core + ${project.version} + + + io.zipkin.java + zipkin + 1.19.2 + + + io.zipkin.java + zipkin-server + 1.19.2 + + + + + diff --git a/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml new file mode 100644 index 00000000..977e07d4 --- /dev/null +++ b/spring-cloud-release-tools-core/src/test/resources/projects/spring-cloud-sleuth-with-unmatched-property/spring-cloud-sleuth-samples/spring-cloud-sleuth-sample-zipkin-stream/pom.xml @@ -0,0 +1,107 @@ + + + + + 4.0.0 + + spring-cloud-sleuth-sample-zipkin-stream + jar + + spring-cloud-sleuth-sample-zipkin-stream + Spring Boot Zipkin Server + + + org.springframework.cloud + spring-cloud-sleuth-samples + 0.2.0.BUILD-SNAPSHOT + .. + + + + springio + UTF-8 + 1.8 + true + + + + + org.springframework.boot + spring-boot-configuration-processor + true + + + org.springframework.boot + spring-boot-starter-jdbc + + + org.springframework.cloud + spring-cloud-sleuth-zipkin-stream + + + io.zipkin.java + zipkin-autoconfigure-ui + + + org.springframework.integration + spring-integration-jmx + + + org.springframework.cloud + spring-cloud-stream-binder-rabbit + + + com.h2database + h2 + true + + + mysql + mysql-connector-java + true + + + org.springframework.cloud + spring-cloud-stream-test-support + test + + + org.springframework.boot + spring-boot-starter-test + test + + + org.springframework.cloud + spring-cloud-sleuth-sample-test-core + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + exec + + + + + +