# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python: import os, sys import re builder.SetBuildFolder('/') includes = builder.AddFolder('includes') argv = [ sys.executable, os.path.join(builder.sourcePath, 'buildbot', 'generate_header.py'), os.path.join(builder.sourcePath), os.path.join(builder.buildPath, 'includes'), ] outputs = [ os.path.join(builder.buildFolder, 'includes', 'version_auto.h') ] repo_head_path = os.path.join(builder.sourcePath, 'product.version') if os.path.exists(os.path.join(builder.sourcePath, '.git')): with open(os.path.join(builder.sourcePath, '.git', 'HEAD')) as fp: head_contents = fp.read().strip() if re.search('^[a-fA-F0-9]{40}$', head_contents): repo_head_path = os.path.join(builder.sourcePath, '.git', 'HEAD') else: git_state = head_contents.split(':')[1].strip() repo_head_path = os.path.join(builder.sourcePath, '.git', git_state) if not os.path.exists(repo_head_path): repo_head_path = os.path.join(builder.sourcePath, '.git', 'HEAD') sources = [ os.path.join(builder.sourcePath, 'product.version'), repo_head_path, argv[1] ] for source in sources: if not os.path.exists(source): print(source) for source in sources: if not os.path.exists(source): print(source) output_nodes = builder.AddCommand( inputs=sources, argv=argv, outputs=outputs ) rvalue = output_nodes