1 package org.antmod.tasks; 2 3 import java.io.File ; 4 5 import org.antmod.scm.ScmSystem; 6 import org.antmod.scm.ScmVersion; 7 import org.antmod.util.AntUtil; 8 9 17 public class PromoteToBranchTask extends MergeToBranchTask { 18 19 22 public PromoteToBranchTask() { 23 } 24 25 public void execute() { 26 TargetVersionInfo latestBranchTarget = new TargetVersionInfo(); 28 latestBranchTarget.setValue(TargetVersionInfo.LATESTBRANCH); 29 setTargetVersion(latestBranchTarget); 30 31 super.execute(); 33 } 34 35 protected String getIntroductionText() { 36 return "Merge & commit trunk changes to new version of latest branch"; 37 } 38 39 protected boolean askUserConfirmation(ScmVersion localVersion, ScmVersion targetVersion) { 40 String isOkay = AntUtil.ask(getProject(), "Merge, commit & promote changes from '" + localVersion + "' to '" + targetVersion + "' now? ", "yes,no"); 41 return "yes".equalsIgnoreCase(isOkay); 42 } 43 44 protected void commitMergedChanges(ScmSystem scm, File checkoutDir, ScmVersion localVersion, ScmVersion targetVersion) { 45 super.commitMergedChanges(scm, checkoutDir, localVersion, targetVersion); 46 47 ScmVersion latestTag = scm.getLatestVersion(checkoutDir); 48 ScmVersion newTag = latestTag.getNextIncrement(); 49 logWarning(""); 50 logWarning("-- Promoting version of branch '" + targetVersion + "' to '" + newTag + "'..."); 51 scm.createTagInBranch(targetVersion, newTag); 52 } 53 } 54 | Popular Tags |