3 Small script to create the git tags for a release of Gaudi.
5 __author__ =
"Marco Clemencic <Marco.Clemencic@cern.ch>"
9 from subprocess
import Popen, PIPE, STDOUT
13 Generator yielding the paths of the requirements files in a tree.
15 for root, dirs, files
in os.walk(path):
16 if "requirements" in files:
18 yield os.path.join(root,
"requirements")
22 Extract package name and package version from a requirements file.
24 pattern = re.compile(
r"^\s*(version|package)\s*(\S+)\s*$")
25 data = dict([m.groups()
26 for m
in map(pattern.match, open(requirements))
28 return data.get(
"package",
None), data.get(
"version",
None)
32 root = os.path.realpath(__file__)
33 root = os.path.dirname(root)
34 root = os.path.dirname(root)
35 root = os.path.dirname(root)
38 cmd = [
"git",
"tag",
"%s/%s" % (p, v)]
39 print " ".join(cmd) +
":",
40 git = Popen(cmd, stdout=PIPE, stderr=PIPE)
41 out, err = git .communicate()
42 if git.returncode == 0:
47 print "WARNING: no version in package", p
49 print "WARNING: found requirements with version (%s), but no package" % v
51 if __name__ ==
"__main__":