Fixes properties update for Gradle
This commit is contained in:
@@ -109,10 +109,12 @@ public class Releaser {
|
||||
private ExecutionResult updateProjectFromBom(File project, Projects versions,
|
||||
ProjectVersion versionFromBom, boolean assertSnapshots) {
|
||||
log.info("Will update the project with versions [{}]", versions);
|
||||
ReleaserProperties updatedProperties = new ReleaserPropertiesUpdater()
|
||||
.updateProperties(this.releaserProperties, project);
|
||||
this.projectPomUpdater.updateProjectFromReleaseTrain(project, versions,
|
||||
versionFromBom, assertSnapshots);
|
||||
this.gradleUpdater.updateProjectFromReleaseTrain(project, versions,
|
||||
versionFromBom, assertSnapshots);
|
||||
this.gradleUpdater.updateProjectFromReleaseTrain(updatedProperties, project,
|
||||
versions, versionFromBom, assertSnapshots);
|
||||
ProjectVersion changedVersion = new ProjectVersion(project);
|
||||
log.info("\n\nProject was successfully updated to [{}]", changedVersion.version);
|
||||
return ExecutionResult.success();
|
||||
|
||||
@@ -45,12 +45,6 @@ public class GradleUpdater {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(GradleUpdater.class);
|
||||
|
||||
private final ReleaserProperties properties;
|
||||
|
||||
public GradleUpdater(ReleaserProperties properties) {
|
||||
this.properties = properties;
|
||||
}
|
||||
|
||||
/**
|
||||
* For the given root folder (typically the working directory) performs the whole flow
|
||||
* of updating {@code gradle.properties} with values from BOM project. Remember to
|
||||
@@ -61,16 +55,18 @@ public class GradleUpdater {
|
||||
* @param versionFromBom - version for the project from Spring Cloud Release
|
||||
* @param assertVersions - should snapshots / milestone / rc presence be asserted
|
||||
*/
|
||||
public void updateProjectFromReleaseTrain(File projectRoot, Projects projects,
|
||||
ProjectVersion versionFromBom, boolean assertVersions) {
|
||||
processAllGradleProps(projectRoot, projects, versionFromBom, assertVersions);
|
||||
public void updateProjectFromReleaseTrain(ReleaserProperties properties,
|
||||
File projectRoot, Projects projects, ProjectVersion versionFromBom,
|
||||
boolean assertVersions) {
|
||||
processAllGradleProps(properties, projectRoot, projects, versionFromBom,
|
||||
assertVersions);
|
||||
}
|
||||
|
||||
private void processAllGradleProps(File projectRoot, Projects projects,
|
||||
ProjectVersion versionFromBom, boolean assertVersions) {
|
||||
private void processAllGradleProps(ReleaserProperties properties, File projectRoot,
|
||||
Projects projects, ProjectVersion versionFromBom, boolean assertVersions) {
|
||||
try {
|
||||
Files.walkFileTree(projectRoot.toPath(), new GradlePropertiesWalker(
|
||||
this.properties, projects, versionFromBom, assertVersions));
|
||||
properties, projects, versionFromBom, assertVersions));
|
||||
}
|
||||
catch (IOException e) {
|
||||
throw new IllegalStateException(e);
|
||||
|
||||
@@ -248,6 +248,11 @@ public class PostReleaseActions implements Closeable {
|
||||
this.projectGitHandler.pushCurrentBranch(file);
|
||||
}
|
||||
|
||||
private ReleaserProperties updatedProperties(File file) {
|
||||
ReleaserPropertiesUpdater updater = new ReleaserPropertiesUpdater();
|
||||
return updater.updateProperties(this.properties, file);
|
||||
}
|
||||
|
||||
private ProjectVersion newProjectVersion(File file) {
|
||||
try {
|
||||
return new ProjectVersion(file);
|
||||
@@ -265,10 +270,11 @@ public class PostReleaseActions implements Closeable {
|
||||
}
|
||||
|
||||
private void updateWithVersions(File file, Projects newPostRelease) {
|
||||
ReleaserProperties updatedProperties = updatedProperties(file);
|
||||
this.projectPomUpdater.updateProjectFromReleaseTrain(file, newPostRelease,
|
||||
newProjectVersion(file), false);
|
||||
this.gradleUpdater.updateProjectFromReleaseTrain(file, newPostRelease,
|
||||
newProjectVersion(file), false);
|
||||
this.gradleUpdater.updateProjectFromReleaseTrain(updatedProperties, file,
|
||||
newPostRelease, newProjectVersion(file), false);
|
||||
}
|
||||
|
||||
private ProjectAndFuture run(String key, String url, Runnable runnable) {
|
||||
|
||||
@@ -68,8 +68,8 @@ public class GradleUpdaterTests {
|
||||
new ProjectVersion("spring-cloud-contract", "1.0.0"),
|
||||
new ProjectVersion("spring-cloud-sleuth", "2.0.0"));
|
||||
|
||||
new GradleUpdater(properties).updateProjectFromReleaseTrain(projectRoot, projects,
|
||||
new ProjectVersion("spring-cloud-contract", "1.0.0"), true);
|
||||
new GradleUpdater().updateProjectFromReleaseTrain(properties, projectRoot,
|
||||
projects, new ProjectVersion("spring-cloud-contract", "1.0.0"), true);
|
||||
|
||||
then(asString(tmpFile("gradleproject/gradle.properties"))).contains("foo=1.0.0");
|
||||
then(asString(tmpFile("gradleproject/child/gradle.properties")))
|
||||
@@ -91,7 +91,7 @@ public class GradleUpdaterTests {
|
||||
new ProjectVersion("spring-cloud-contract", "1.0.0.BUILD-SNAPSHOT"),
|
||||
new ProjectVersion("spring-cloud-sleuth", "2.0.0"));
|
||||
|
||||
thenThrownBy(() -> new GradleUpdater(properties).updateProjectFromReleaseTrain(
|
||||
thenThrownBy(() -> new GradleUpdater().updateProjectFromReleaseTrain(properties,
|
||||
projectRoot, projects,
|
||||
new ProjectVersion("spring-cloud-contract", "1.0.0.RELEASE"), true))
|
||||
.hasMessageContaining(
|
||||
|
||||
@@ -177,8 +177,9 @@ public class PostReleaseActionsTests {
|
||||
|
||||
private void thenGradleUpdaterWasCalled() {
|
||||
BDDMockito.then(this.gradleUpdater).should().updateProjectFromReleaseTrain(
|
||||
BDDMockito.any(File.class), BDDMockito.any(Projects.class),
|
||||
BDDMockito.any(ProjectVersion.class), BDDMockito.eq(false));
|
||||
BDDMockito.any(ReleaserProperties.class), BDDMockito.any(File.class),
|
||||
BDDMockito.any(Projects.class), BDDMockito.any(ProjectVersion.class),
|
||||
BDDMockito.eq(false));
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
@@ -124,8 +124,8 @@ class ReleaserConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
GradleUpdater gradleUpdater(ReleaserProperties properties) {
|
||||
return new GradleUpdater(properties);
|
||||
GradleUpdater gradleUpdater() {
|
||||
return new GradleUpdater();
|
||||
}
|
||||
|
||||
@Bean
|
||||
|
||||
Reference in New Issue
Block a user