Skip to content

Commit

Permalink
Builder|XML Feed: Include version info for failed packages
Browse files Browse the repository at this point in the history
If no package files are found, the version falls back to the repository
version at the time of the build event (saved to version.txt in the
build directory). Note that failed plugin packages still lack <version>.
  • Loading branch information
skyjake committed Mar 15, 2012
1 parent 11a79fb commit b29fb44
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
4 changes: 3 additions & 1 deletion distrib/autobuild.py
Expand Up @@ -124,8 +124,10 @@ def update_changes(fromTag=None, toTag=None, debChanges=False):
msg = 'New release: Doomsday Engine build %i.' % builder.Event().number()
os.system('dch --check-dirname-level 0 -v %s -b "%s"' % (debVer, msg))
else:
# Save the release type.
# Save version information.
build_version.find_version(quiet=True)
print >> file(builder.Event(toTag).file_path('version.txt'), 'wt'), \
build_version.DOOMSDAY_VERSION_FULL
print >> file(builder.Event(toTag).file_path('releaseType.txt'), 'wt'), \
build_version.DOOMSDAY_RELEASE_TYPE

Expand Down
14 changes: 13 additions & 1 deletion distrib/builder/event.py
Expand Up @@ -67,8 +67,18 @@ def os_from_filename(self, name):
if name.endswith(ext) or ident in name:
return (n, ext, ident)
return None

def version_from_filename(self, name):
ver = self.extract_version_from_filename(name)
if not ver and self.package_from_filename(name) == 'doomsday':
# Fall back to the event version, if it exists.
fn = self.file_path('version.txt')
if os.path.exists(fn):
return file(fn).read().strip()
# Could not be determined.
return None

def extract_version_from_filename(self, name):
pos = name.find('_')
if pos < 0: return None
dash = name.find('-', pos + 1)
Expand Down Expand Up @@ -318,6 +328,8 @@ def xml_description(self):
# Add an entry for this.
msg += '<package type="%s">' % self.package_type(logName)
msg += '<name>%s</name>' % self.packageName[pkg]
if self.version_from_filename(logName):
msg += '<version>%s</version>' % self.version_from_filename(logName)
msg += '<platform>%s</platform>' % self.platId[osIdent]
msg += self.xml_log(logName)
msg += '</package>'
Expand Down

0 comments on commit b29fb44

Please sign in to comment.