[Checkins] SVN: keas.build/trunk/ Improvement: add SVN repo infos to the project config file.
Adam Groszer
agroszer at gmail.com
Wed Feb 16 07:22:07 EST 2011
Log message for revision 120378:
Improvement: add SVN repo infos to the project config file.
Changed:
U keas.build/trunk/CHANGES.txt
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 2011-02-16 11:37:57 UTC (rev 120377)
+++ keas.build/trunk/CHANGES.txt 2011-02-16 12:22:07 UTC (rev 120378)
@@ -6,7 +6,10 @@
- Bump versions to ZTK 1.1
+- Improvement: add SVN repo infos to the project config file.
+ Yah, I know this can be checked anytime, but adding this saves a lot of time.
+
0.1.8 (2010-05-11)
------------------
Modified: keas.build/trunk/src/keas/build/build.py
===================================================================
--- keas.build/trunk/src/keas/build/build.py 2011-02-16 11:37:57 UTC (rev 120377)
+++ keas.build/trunk/src/keas/build/build.py 2011-02-16 12:22:07 UTC (rev 120378)
@@ -167,6 +167,7 @@
# Determine all versions of the important packages
pkgversions = {}
+ pkginfos = {}
for pkg in config.get(base.BUILD_SECTION, 'packages').split():
customPath = None
if ':' in pkg:
@@ -177,6 +178,7 @@
forceSvnAuth = options.forceSvnAuth)
pkgversions[pkg] = version
+ pkginfos[pkg] = (builder.branchUrl, builder.branchRevision)
projectParser.set('versions', pkg, version)
# Get upload type
@@ -217,8 +219,21 @@
# Write out the new project config -- the pinned versions
projectConfigFilename = '%s-%s.cfg' %(projectName, projectVersion)
logger.info('Writing project configuration file: ' + projectConfigFilename)
- projectParser.write(open(projectConfigFilename, 'w'))
+ projectFile = open(projectConfigFilename, 'w')
+ projectParser.write(projectFile)
+ # Dump package repo infos
+ projectFile.write('\n')
+ projectFile.write('# package SVN infos:\n')
+ for pkg, pkginfo in pkginfos.items():
+ projectFile.writelines(
+ ('# %s\n' % pkg,
+ '# svn URL:%s\n' % pkginfo[0],
+ '# svn repo revision:%s\n' % pkginfo[1][0],
+ '# svn last change revision:%s\n' % pkginfo[1][1],
+ ))
+ projectFile.close()
+
filesToUpload = [projectConfigFilename]
# Process config files, check for dependent config files
Modified: keas.build/trunk/src/keas/build/package.py
===================================================================
--- keas.build/trunk/src/keas/build/package.py 2011-02-16 11:37:57 UTC (rev 120377)
+++ keas.build/trunk/src/keas/build/package.py 2011-02-16 12:22:07 UTC (rev 120378)
@@ -68,6 +68,10 @@
tagLayout = 'flat'
svn = None
+ #filled by runCLI, as an info for build.py
+ branchUrl = None
+ branchRevision = None
+
def __init__(self, pkg, options):
self.pkg = pkg
self.options = options
@@ -112,8 +116,15 @@
else:
revision = int(revision)
logger.debug('Revision for %s: %i' %(url, revision))
- return revision
+ repoRevision = elem.find("entry").get("revision")
+ if not repoRevision:
+ repoRevision = 0
+ else:
+ repoRevision = int(repoRevision)
+ logger.debug('Repo Revision for %s: %i' %(url, repoRevision))
+ return (repoRevision, revision)
+
def findVersions(self):
if self.options.offline:
logger.info('Offline: Skip looking for versions.')
@@ -216,7 +227,7 @@
# source directory instead.
branchUrl = self.getBranchURL(branch) + '/src'
tagUrl = self.getTagURL(version)
- changed = self.getRevision(branchUrl) > self.getRevision(tagUrl)
+ changed = self.getRevision(branchUrl)[1] > self.getRevision(tagUrl)[1]
if changed:
logger.info(
'Branch %r changed since the release of version %s' %(
@@ -427,6 +438,11 @@
break
# 5. Return the version number.
logger.info('Chosen version: ' + version)
+
+ # save the info for build.py
+ self.branchUrl = self.getBranchURL(branch)
+ self.branchRevision = self.getRevision(self.branchUrl)
+
return version
More information about the checkins
mailing list