[Checkins] SVN: keas.build/trunk/ Add --force-version option.

Adam Groszer agroszer at gmail.com
Tue Dec 8 07:17:32 EST 2009


Log message for revision 106277:
  Add --force-version option.

Changed:
  U   keas.build/trunk/CHANGES.txt
  U   keas.build/trunk/src/keas/build/base.py
  U   keas.build/trunk/src/keas/build/build.py
  U   keas.build/trunk/src/keas/build/package.py

-=-
Modified: keas.build/trunk/CHANGES.txt
===================================================================
--- keas.build/trunk/CHANGES.txt	2009-12-08 11:51:55 UTC (rev 106276)
+++ keas.build/trunk/CHANGES.txt	2009-12-08 12:17:31 UTC (rev 106277)
@@ -4,6 +4,8 @@
 0.1.7 (unreleased)
 ------------------
 
+- Improvement: Add ``--force-version`` option.
+
 - Improvement: Add version to svn log comment. That makes life easier (at least
   with TortoiseSVN)
 

Modified: keas.build/trunk/src/keas/build/base.py
===================================================================
--- keas.build/trunk/src/keas/build/base.py	2009-12-08 11:51:55 UTC (rev 106276)
+++ keas.build/trunk/src/keas/build/base.py	2009-12-08 12:17:31 UTC (rev 106277)
@@ -147,6 +147,11 @@
     help="When set, the system guesses the next version to generate.")
 
 parser.add_option(
+    "--force-version", action="store",
+    dest="forceVersion", default="", metavar="VERSION",
+    help="Force one common version through all packages and configs.")
+
+parser.add_option(
     "-b", "--use-branch", action="store",
     dest="branch", metavar="BRANCH", default=None,
     help="When specified, this branch will be always used.")

Modified: keas.build/trunk/src/keas/build/build.py
===================================================================
--- keas.build/trunk/src/keas/build/build.py	2009-12-08 11:51:55 UTC (rev 106276)
+++ keas.build/trunk/src/keas/build/build.py	2009-12-08 12:17:31 UTC (rev 106277)
@@ -125,6 +125,11 @@
         defaultVersion = projectVersions[-1]
     if options.nextVersion or configVersion == '+':
         defaultVersion = base.guessNextVersion(defaultVersion)
+    if options.forceVersion:
+        if options.forceVersion in projectVersions:
+            logger.error('Forced version %s already exists' % forceVersion)
+        else:
+            defaultVersion = forceVersion
     projectVersion = base.getInput(
         'Project Version', defaultVersion, options.useDefaults)
 

Modified: keas.build/trunk/src/keas/build/package.py
===================================================================
--- keas.build/trunk/src/keas/build/package.py	2009-12-08 11:51:55 UTC (rev 106276)
+++ keas.build/trunk/src/keas/build/package.py	2009-12-08 12:17:31 UTC (rev 106277)
@@ -320,14 +320,25 @@
                 if ':' in pkg:
                     self.customPath = pkg.split(':')[1]
                 break
+
         # 2. Find all versions.
         versions = self.findVersions()
         logger.info('Existing %s versions: %s' % (
             self.pkg, ' | '.join(reversed(versions))))
+
         # 3. Determine the default version to suggest.
         defaultVersion = None
-        if versions:
-            # 3.1. If the branch was specified, check whether it changed since
+
+        # 3.1 Set default version based on forceVersion
+        forceVersion = self.options.forceVersion
+        if forceVersion:
+            if forceVersion in versions:
+                logger.error('Forced version %s already exists' % forceVersion)
+            else:
+                defaultVersion = forceVersion
+
+        if versions and not defaultVersion:
+            # 3.2. If the branch was specified, check whether it changed since
             # the last release.
             changed = False
             if self.options.branch:
@@ -338,7 +349,7 @@
                     logger.info("No changes detected.")
             else:
                 logger.info("Not checking for changes since version %s because no branch was specified.", versions[-1])
-            # 3.2. If the branch changed and the next version should be
+            # 3.3. If the branch changed and the next version should be
             # suggested, let's find the next version.
             if self.options.nextVersion and changed:
                 defaultVersion = base.guessNextVersion(versions[-1])



More information about the checkins mailing list