Added post release only option
This commit is contained in:
@@ -55,11 +55,19 @@ public class SpringReleaser {
|
||||
|
||||
public void release(Options options) {
|
||||
ProjectsAndVersion projectsAndVersion = null;
|
||||
// if meta release, first clone, then continue as usual
|
||||
if (options.metaRelease) {
|
||||
log.info("Meta Release picked. Will iterate over all projects and perform release of each one");
|
||||
this.properties.getGit().setFetchVersionsFromGit(false);
|
||||
this.properties.getMetaRelease().setEnabled(options.metaRelease);
|
||||
prepareForMetaRelease(options);
|
||||
}
|
||||
if (this.properties.isPostReleaseTasksOnly()) {
|
||||
log.info("Skipping release process and moving only to post release");
|
||||
this.optionsProcessor.postReleaseOptions(options, postReleaseOptionsAgs(options, projectsAndVersion));
|
||||
return;
|
||||
}
|
||||
performReleaseAndPostRelease(options, projectsAndVersion);
|
||||
}
|
||||
|
||||
private void performReleaseAndPostRelease(Options options, ProjectsAndVersion projectsAndVersion) {
|
||||
if (options.metaRelease) {
|
||||
ReleaserProperties original = this.properties.copy();
|
||||
log.debug("The following properties were found [{}]", original);
|
||||
metaReleaseProjects(options)
|
||||
@@ -73,6 +81,12 @@ public class SpringReleaser {
|
||||
this.optionsProcessor.postReleaseOptions(options, postReleaseOptionsAgs(options, projectsAndVersion));
|
||||
}
|
||||
|
||||
private void prepareForMetaRelease(Options options) {
|
||||
log.info("Meta Release picked. Will iterate over all projects and perform release of each one");
|
||||
this.properties.getGit().setFetchVersionsFromGit(false);
|
||||
this.properties.getMetaRelease().setEnabled(options.metaRelease);
|
||||
}
|
||||
|
||||
void processProjectForMetaRelease(ReleaserProperties copy, Options options, String project) {
|
||||
log.info("Original properties [\n\n{}\n\n]", copy);
|
||||
File clonedProjectFromOrg = this.releaser.clonedProjectFromOrg(project);
|
||||
|
||||
@@ -87,6 +87,23 @@ public class SpringReleaserTests {
|
||||
assertBuildCommand(this.aware2.properties);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void should_only_call_post_release() {
|
||||
SpringReleaser releaser = stubbedSpringReleaser();
|
||||
this.properties.setPostReleaseTasksOnly(true);
|
||||
|
||||
releaser.release(new OptionsBuilder().metaRelease(false).options());
|
||||
|
||||
thenOnlyCallsPostRelease();
|
||||
}
|
||||
|
||||
private void thenOnlyCallsPostRelease() {
|
||||
BDDMockito.then(this.optionsProcessor).should().postReleaseOptions(
|
||||
BDDMockito.any(Options.class), BDDMockito.any(Args.class));
|
||||
BDDMockito.then(this.optionsProcessor).should(BDDMockito.never())
|
||||
.processOptions(BDDMockito.any(Options.class), BDDMockito.any(Args.class));
|
||||
}
|
||||
|
||||
private void assertBuildCommand(Queue<ReleaserProperties> properties) {
|
||||
BDDAssertions.then(properties.poll().getMaven().getBuildCommand())
|
||||
.isEqualTo("./scripts/noIntegration.sh");
|
||||
|
||||
Reference in New Issue
Block a user