Added tests for ignoring changes
This commit is contained in:
@@ -123,6 +123,7 @@ class PomUpdater {
|
||||
String rootProjectName = wrapper.projectName();
|
||||
List<VersionChange> changes = new ArrayList<>(sourceChanges);
|
||||
if (model.getParent() == null || StringUtils.isEmpty(model.getParent().getVersion())) {
|
||||
log.debug("Can't set the value for parent... Will return {}", sourceChanges);
|
||||
return changes;
|
||||
}
|
||||
String parentGroupId = model.getParent().getGroupId();
|
||||
@@ -140,7 +141,7 @@ class PomUpdater {
|
||||
}
|
||||
}
|
||||
if (oldVersion.equals(version)) {
|
||||
log.debug("Won't update the version of [{}:{}] since you're already using the proper one", parentGroupId, parentArtifactId);
|
||||
log.debug("Won't update the version of parent [{}:{}] since you're already using the proper one", parentGroupId, parentArtifactId);
|
||||
return changes;
|
||||
}
|
||||
log.info("Setting version of parent [{}] to [{}] for module [{}]", parentArtifactId,
|
||||
@@ -164,7 +165,7 @@ class PomUpdater {
|
||||
return changes;
|
||||
}
|
||||
if (oldVersion.equals(version)) {
|
||||
log.debug("Won't update the version of [{}]:[{}] since you're already using the proper one", groupId, artifactId);
|
||||
log.debug("Won't update the version of module [{}]:[{}] since you're already using the proper one", groupId, artifactId);
|
||||
return changes;
|
||||
}
|
||||
log.info("Setting [{}] version to [{}]", artifactId, version);
|
||||
@@ -172,6 +173,14 @@ class PomUpdater {
|
||||
return changes;
|
||||
}
|
||||
|
||||
private boolean relativePathIsSet(Model model) {
|
||||
return model.getParent() != null && StringUtils.hasText(model.getParent().getRelativePath());
|
||||
}
|
||||
|
||||
private String parentName(Model model) {
|
||||
return model.getParent() != null ? model.getParent().getArtifactId() : "";
|
||||
}
|
||||
|
||||
private String groupId(Model model) {
|
||||
if (StringUtils.hasText(model.getGroupId())) {
|
||||
return model.getGroupId();
|
||||
|
||||
@@ -28,6 +28,7 @@ import org.junit.Before;
|
||||
import org.junit.Rule;
|
||||
import org.junit.Test;
|
||||
import org.junit.rules.TemporaryFolder;
|
||||
import org.springframework.boot.test.rule.OutputCapture;
|
||||
import org.springframework.util.FileSystemUtils;
|
||||
|
||||
import static org.springframework.cloud.release.internal.VersionChangeAssertions.then;
|
||||
@@ -40,6 +41,7 @@ public class PomUpdaterTests {
|
||||
Versions versions = new Versions("0.0.1", "0.0.2", projects());
|
||||
PomUpdater pomUpdater = new PomUpdater();
|
||||
PomReader pomReader = new PomReader();
|
||||
@Rule public OutputCapture capture = new OutputCapture();
|
||||
@Rule public TemporaryFolder tmp = new TemporaryFolder();
|
||||
File temporaryFolder;
|
||||
|
||||
@@ -86,7 +88,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isEqualTo(asString(originalPom));
|
||||
}
|
||||
|
||||
@Test
|
||||
@@ -98,7 +100,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
}
|
||||
@@ -127,7 +129,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
then(overriddenPomModel.getParent().getVersion()).isEqualTo("0.0.2");
|
||||
@@ -156,7 +158,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
then(overriddenPomModel.getParent().getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
@@ -175,7 +177,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
then(overriddenPomModel.getParent().getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
@@ -194,7 +196,7 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
then(overriddenPomModel.getParent().getVersion()).isEqualTo("0.0.3.BUILD-SNAPSHOT");
|
||||
@@ -211,7 +213,6 @@ public class PomUpdaterTests {
|
||||
|
||||
File processedPom = this.pomUpdater.overwritePomIfDirty(model, Versions.EMPTY_VERSION, afterProcessing);
|
||||
|
||||
then(processedPom).isSameAs(afterProcessing);
|
||||
String processedPomText = asString(processedPom);
|
||||
String beforeProcessingText = asString(beforeProcessing);
|
||||
then(processedPomText).isNotEqualTo(beforeProcessingText);
|
||||
@@ -225,7 +226,6 @@ public class PomUpdaterTests {
|
||||
|
||||
File processedPom = this.pomUpdater.overwritePomIfDirty(model, Versions.EMPTY_VERSION, afterProcessing);
|
||||
|
||||
then(processedPom).isSameAs(afterProcessing);
|
||||
then(asString(processedPom)).isEqualTo(asString(beforeProcessing));
|
||||
}
|
||||
|
||||
@@ -238,12 +238,27 @@ public class PomUpdaterTests {
|
||||
|
||||
File storedPom = this.pomUpdater.overwritePomIfDirty(model, this.versions, pomInTemp);
|
||||
|
||||
then(asString(originalPom)).isNotEqualTo(asString(storedPom));
|
||||
then(asString(storedPom)).isNotEqualTo(asString(originalPom));
|
||||
Model overriddenPomModel = this.pomReader.readPom(storedPom);
|
||||
then(overriddenPomModel.getVersion()).isEqualTo("0.0.2.BUILD-SNAPSHOT");
|
||||
then(overriddenPomModel.getParent().getVersion()).isEqualTo("0.0.2");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_not_update_the_model_when_project_uses_same_version_for_artifact() 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);
|
||||
|
||||
then(asString(storedPom)).isEqualTo(asString(originalPom));
|
||||
then(this.capture.toString())
|
||||
.contains("Won't update the version of parent")
|
||||
.contains("Won't update the version of module");
|
||||
}
|
||||
|
||||
Set<Project> projects() {
|
||||
Set<Project> projects = new HashSet<>();
|
||||
projects.add(new Project("spring-cloud-contract", "0.0.2.BUILD-SNAPSHOT"));
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!--
|
||||
~ Copyright 2013-2017 the original author or authors.
|
||||
~
|
||||
~ Licensed under the Apache License, Version 2.0 (the "License");
|
||||
~ you may not use this file except in compliance with the License.
|
||||
~ You may obtain a copy of the License at
|
||||
~
|
||||
~ http://www.apache.org/licenses/LICENSE-2.0
|
||||
~
|
||||
~ Unless required by applicable law or agreed to in writing, software
|
||||
~ distributed under the License is distributed on an "AS IS" BASIS,
|
||||
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
~ See the License for the specific language governing permissions and
|
||||
~ limitations under the License.
|
||||
-->
|
||||
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>spring-cloud-sleuth</artifactId>
|
||||
<version>0.0.3.BUILD-SNAPSHOT</version>
|
||||
<packaging>pom</packaging>
|
||||
<name>foo</name>
|
||||
<description>foo</description>
|
||||
|
||||
<parent>
|
||||
<groupId>org.springframework</groupId>
|
||||
<artifactId>spring-cloud-sleuth</artifactId>
|
||||
<version>0.0.3.BUILD-SNAPSHOT</version>
|
||||
</parent>
|
||||
|
||||
<properties>
|
||||
<spring-cloud-foo.version>1.3.1.BUILD-SNAPSHOT</spring-cloud-foo.version>
|
||||
<foo.version>1.2.0.BUILD-SNAPSHOT</foo.version>
|
||||
</properties>
|
||||
</project>
|
||||
Reference in New Issue
Block a user