build: pass explicitly --changelog to write_version_header.py
This will be needed for SoonG genrule sandboxing.
See aosp/1501004.
Test: m trace_processor_shell
Change-Id: If27f16b92e8acba3f472d024ff2b22ba3b04acb7
diff --git a/Android.bp b/Android.bp
index ba600ad..3f1cd6e 100644
--- a/Android.bp
+++ b/Android.bp
@@ -6274,7 +6274,7 @@
srcs: [
"CHANGELOG",
],
- cmd: "python3 $(location tools/write_version_header.py) --no_git --cpp_out=$(out)",
+ cmd: "python3 $(location tools/write_version_header.py) --no_git --changelog=$(location CHANGELOG) --cpp_out=$(out)",
out: [
"perfetto_version.gen.h",
],
diff --git a/BUILD b/BUILD
index 4dd68d7..da6b0ae 100644
--- a/BUILD
+++ b/BUILD
@@ -597,7 +597,7 @@
outs = [
"perfetto_version.gen.h",
],
- cmd = "$(location gen_version_header_py) --cpp_out=$@",
+ cmd = "$(location gen_version_header_py) --cpp_out=$@ --changelog=CHANGELOG",
exec_tools = [
":gen_version_header_py",
],
diff --git a/PRESUBMIT.py b/PRESUBMIT.py
index 9ccc4b6..c090e85 100644
--- a/PRESUBMIT.py
+++ b/PRESUBMIT.py
@@ -25,7 +25,7 @@
files_to_check='.*',
files_to_skip=[
'Android[.]bp', '.*[.]json$', '.*[.]sql$', '.*[.]out$',
- 'test/trace_processor/.*/index$', '.*\bBUILD$', 'WORKSPACE',
+ 'test/trace_processor/.*/index$', '(.*/)?BUILD$', 'WORKSPACE',
'.*/Makefile$', '/perfetto_build_flags.h$'
])
diff --git a/gn/gen_perfetto_version_header.gni b/gn/gen_perfetto_version_header.gni
index 6845eb6..29e02e9 100644
--- a/gn/gen_perfetto_version_header.gni
+++ b/gn/gen_perfetto_version_header.gni
@@ -24,7 +24,8 @@
template("gen_perfetto_version_header") {
action(target_name) {
script = "${perfetto_root_path}tools/write_version_header.py"
- inputs = [ "${perfetto_root_path}CHANGELOG" ]
+ changelog = "${perfetto_root_path}CHANGELOG"
+ inputs = [ changelog ]
outputs = []
args = []
if (perfetto_build_standalone && !is_perfetto_build_generator) {
@@ -33,6 +34,8 @@
if (defined(invoker.cpp_out)) {
args += [
+ "--changelog",
+ rebase_path(changelog, root_build_dir),
"--cpp_out",
rebase_path(invoker.cpp_out, root_build_dir),
]
diff --git a/tools/gen_android_bp b/tools/gen_android_bp
index 098fdac..911973c 100755
--- a/tools/gen_android_bp
+++ b/tools/gen_android_bp
@@ -757,6 +757,7 @@
module.cmd = ' '.join([
'python3 $(location %s)' % script_path,
'--no_git',
+ '--changelog=$(location CHANGELOG)',
'--cpp_out=$(out)'
])
blueprint.add_module(module)
diff --git a/tools/gen_bazel b/tools/gen_bazel
index 6a9fd40..61627ac 100755
--- a/tools/gen_bazel
+++ b/tools/gen_bazel
@@ -123,7 +123,8 @@
label = BazelLabel(get_bazel_label_name(target.name), 'genrule')
label.srcs += [re.sub('^//', '', x) for x in sorted(target.inputs)]
label.outs += target.outputs
- label.cmd = r'$(location gen_version_header_py) --cpp_out=$@'
+ label.cmd = r'$(location gen_version_header_py)'
+ label.cmd += r' --cpp_out=$@ --changelog=CHANGELOG'
label.exec_tools += [':gen_version_header_py']
return [label]
diff --git a/tools/write_version_header.py b/tools/write_version_header.py
index 7982f50..88dcb30 100755
--- a/tools/write_version_header.py
+++ b/tools/write_version_header.py
@@ -39,14 +39,15 @@
SCM_REV_NOT_AVAILABLE = 'N/A'
-def get_latest_release():
+def get_latest_release(changelog_path):
"""Returns a string like 'v9.0'.
It does so by searching the latest version mentioned in the CHANGELOG."""
- if os.path.exists('CHANGELOG'):
- changelog_path = 'CHANGELOG'
- else:
- changelog_path = os.path.join(PROJECT_ROOT, 'CHANGELOG')
+ if not changelog_path:
+ if os.path.exists('CHANGELOG'):
+ changelog_path = 'CHANGELOG'
+ else:
+ changelog_path = os.path.join(PROJECT_ROOT, 'CHANGELOG')
with open(changelog_path) as f:
for line in f.readlines():
m = re.match('^(v\d+[.]\d+)\s.*$', line)
@@ -100,9 +101,10 @@
help='Skips running git rev-parse, emits only the version from CHANGELOG')
parser.add_argument('--cpp_out', help='Path of the generated .h file.')
parser.add_argument('--ts_out', help='Path of the generated .ts file.')
+ parser.add_argument('--changelog', help='Path to CHANGELOG.')
args = parser.parse_args()
- release = get_latest_release()
+ release = get_latest_release(args.changelog)
if args.no_git:
git_sha1, commits_since_release = (SCM_REV_NOT_AVAILABLE, '')
else: