This commit is contained in:
Marcin Grzejszczak
2017-03-06 23:50:15 +01:00
parent 563c134565
commit 7183af82d3
6 changed files with 20 additions and 12 deletions

View File

@@ -61,16 +61,13 @@ class GitProjectRepo {
*/ */
File cloneProject(URI projectUri) { File cloneProject(URI projectUri) {
try { try {
File file = new File(projectUri.getPath()); log.info("Cloning repo from [{}] to [{}]", projectUri, this.basedir);
URI modifiedUri = file.getName().endsWith(File.separator) ? Git git = cloneToBasedir(projectUri, this.basedir);
projectUri : new File(file.getPath() + File.separator).toURI();
log.debug("Cloning repo from [{}] to [{}]", modifiedUri, this.basedir);
Git git = cloneToBasedir(modifiedUri, this.basedir);
if (git != null) { if (git != null) {
git.close(); git.close();
} }
File clonedRepo = git.getRepository().getWorkTree(); File clonedRepo = git.getRepository().getWorkTree();
log.debug("Cloned repo to [{}]", clonedRepo); log.info("Cloned repo to [{}]", clonedRepo);
return clonedRepo; return clonedRepo;
} }
catch (Exception e) { catch (Exception e) {
@@ -85,9 +82,9 @@ class GitProjectRepo {
*/ */
void checkout(File project, String branch) { void checkout(File project, String branch) {
try { try {
log.debug("Checking out branch [{}] for repo [{}] to [{}]", this.basedir, branch); log.info("Checking out branch [{}] for repo [{}] to [{}]", this.basedir, branch);
checkoutBranch(project, branch); checkoutBranch(project, branch);
log.debug("Successfully checked out the branch [{}]", branch); log.info("Successfully checked out the branch [{}]", branch);
} }
catch (Exception e) { catch (Exception e) {
throw new IllegalStateException(e); throw new IllegalStateException(e);

View File

@@ -53,6 +53,9 @@ class PomUpdater {
if (!versions.shouldBeUpdated(model.getArtifactId())) { if (!versions.shouldBeUpdated(model.getArtifactId())) {
log.info("Skipping project [{}] since it's not on the list of projects to update", model.getArtifactId()); log.info("Skipping project [{}] since it's not on the list of projects to update", model.getArtifactId());
return false; return false;
} else if (versions.versionAlreadySet(model.getArtifactId(), model.getVersion())) {
log.info("Version has already been set. The project shouldn't be updated.");
return false;
} }
log.info("Project [{}] will have its dependencies updated", model.getArtifactId()); log.info("Project [{}] will have its dependencies updated", model.getArtifactId());
return true; return true;
@@ -112,6 +115,9 @@ class PomUpdater {
} }
private boolean updateParentIfPossible(String rootProjectName, Versions versions, Model model) { private boolean updateParentIfPossible(String rootProjectName, Versions versions, Model model) {
if (model.getParent() == null || StringUtils.isEmpty(model.getParent().getVersion())) {
return false;
}
String parentArtifactId = model.getParent().getArtifactId(); String parentArtifactId = model.getParent().getArtifactId();
String version = versions.versionForProject(parentArtifactId); String version = versions.versionForProject(parentArtifactId);
if (StringUtils.isEmpty(version)) { if (StringUtils.isEmpty(version)) {
@@ -129,7 +135,7 @@ class PomUpdater {
private boolean updateVersionIfPossible(String rootProjectName, Versions versions, Model model) { private boolean updateVersionIfPossible(String rootProjectName, Versions versions, Model model) {
String version = versions.versionForProject(rootProjectName); String version = versions.versionForProject(rootProjectName);
if (StringUtils.isEmpty(version)) { if (StringUtils.isEmpty(version) || StringUtils.isEmpty(model.getVersion())) {
log.warn("There was no version set for project [{}], skipping version setting for module [{}]", rootProjectName, model.getArtifactId()); log.warn("There was no version set for project [{}], skipping version setting for module [{}]", rootProjectName, model.getArtifactId());
return false; return false;
} }

View File

@@ -45,7 +45,7 @@ public class ProjectUpdater {
SCReleasePomParser SCReleasePomParser = new SCReleasePomParser(clonedScRelease); SCReleasePomParser SCReleasePomParser = new SCReleasePomParser(clonedScRelease);
Versions versions = SCReleasePomParser.allVersions(); Versions versions = SCReleasePomParser.allVersions();
if (!this.pomUpdater.shouldProjectBeUpdated(projectRoot, versions)) { if (!this.pomUpdater.shouldProjectBeUpdated(projectRoot, versions)) {
log.info("Project is not on the list of projects to be updated. Skipping."); log.info("Skipping project updating");
return; return;
} }
File rootPom = new File(projectRoot, "pom.xml"); File rootPom = new File(projectRoot, "pom.xml");

View File

@@ -11,7 +11,7 @@ public class ReleaserProperties {
/** /**
* URL to Spring Cloud Release Git repository * URL to Spring Cloud Release Git repository
*/ */
private String springCloudReleaseGitUrl = "https://github.com/spring-cloud/spring-cloud-release.git"; private String springCloudReleaseGitUrl = "https://github.com/spring-cloud/spring-cloud-release";
/** /**
* Where should the Spring Cloud Release repo get cloned to. If {@code null} defaults to a temporary directory * Where should the Spring Cloud Release repo get cloned to. If {@code null} defaults to a temporary directory

View File

@@ -51,6 +51,11 @@ class Versions {
return this.projects.stream() return this.projects.stream()
.anyMatch(project -> project.name.equals(projectName)); .anyMatch(project -> project.name.equals(projectName));
} }
boolean versionAlreadySet(String projectName, String version) {
String versionForProject = versionForProject(projectName);
return version.equals(versionForProject);
}
} }
/** /**

View File

@@ -73,7 +73,7 @@ public class AcceptanceTests {
private ReleaserProperties releaserProperties() throws URISyntaxException { private ReleaserProperties releaserProperties() throws URISyntaxException {
ReleaserProperties releaserProperties = new ReleaserProperties(); ReleaserProperties releaserProperties = new ReleaserProperties();
releaserProperties.setSpringCloudReleaseGitUrl(file("/projects/spring-cloud-release/").getPath()); releaserProperties.setSpringCloudReleaseGitUrl(file("/projects/spring-cloud-release/").toURI().getPath());
return releaserProperties; return releaserProperties;
} }