[154416] contrib/buildbot-test/master.cfg
larryv at macports.org
larryv at macports.org
Sat Oct 29 03:02:31 CEST 2016
Revision: 154416
https://trac.macports.org/changeset/154416
Author: larryv at macports.org
Date: 2016-10-29 03:02:31 +0200 (Sat, 29 Oct 2016)
Log Message:
-----------
buildbot: Improve SetPropertyFromCommandWithPortlist
- Use `super`.
- Prefer iterables over looping.
- Replace `.strip().split()` with the equivalent `.split()`.
- Use `port_from_path` helper function.
- Prefer `format` over `%` for string formatting.
Modified Paths:
--------------
contrib/buildbot-test/master.cfg
Modified: contrib/buildbot-test/master.cfg
===================================================================
--- contrib/buildbot-test/master.cfg 2016-10-29 00:54:44 UTC (rev 154415)
+++ contrib/buildbot-test/master.cfg 2016-10-29 01:02:31 UTC (rev 154416)
@@ -6,6 +6,7 @@
# 'master.cfg' in your buildmaster's base directory.
import datetime
+from itertools import ifilter, imap
import json
import os
import re
@@ -265,28 +266,21 @@
# custom class to make the file list available on the slave...
class SetPropertyFromCommandWithPortlist(steps.SetPropertyFromCommand):
def setBuild(self, build):
- steps.SetPropertyFromCommand.setBuild(self, build)
+ super(SetPropertyFromCommandWithPortlist, self).setBuild(build)
- portset = set()
# support forced build properties
- if self.getProperty('portlist'):
- for v in self.getProperty('portlist').strip().split():
- portset.add(v)
+ ports = set(self.getProperty('portlist', default='').split())
# paths should be dports/category/portdir(/...)
- for f in self.build.allFiles():
- comps = f.split('/')
- if len(comps) >= 3 and comps[0] == 'dports' and comps[1] != '_resources':
- portset.add(comps[2])
+ ports.update(ifilter(None, imap(port_from_path, self.build.allFiles())))
- self.setProperty('fullportlist', ' '.join(portset))
+ self.setProperty('fullportlist', ' '.join(ports))
def getText(self, cmd, results):
if self.hasProperty('subportlist'):
- return ['Port list: %s' % (self.getProperty('subportlist'))]
- else:
- # let ShellCommand describe
- return steps.ShellCommand.getText(self, cmd, results)
+ return ['Port list: {}'.format(self.getProperty('subportlist'))]
+ # let ShellCommand describe
+ return steps.ShellCommand.getText(self, cmd, results)
# can't run with prefix inside the workdir in production,
# because archives must be built with prefix=/opt/local
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-changes/attachments/20161029/c01e3425/attachment-0002.html>
More information about the macports-changes
mailing list