Add version to r8lib source file attributes.
Bug: 201269335
Change-Id: I51a7343c20a641b1dda5da57cb20a27e710b6a52
diff --git a/tools/create_r8lib.py b/tools/create_r8lib.py
index 21dd48c..db28c44 100755
--- a/tools/create_r8lib.py
+++ b/tools/create_r8lib.py
@@ -30,13 +30,34 @@
help='Additional libraries (JDK 1.8 rt.jar already included)')
return parser.parse_args()
+def get_r8_version(r8jar):
+ cmd = [
+ jdk.GetJavaExecutable(),
+ '-ea',
+ '-cp',
+ r8jar,
+ 'com.android.tools.r8.R8',
+ '--version']
+ result = subprocess.check_output(cmd).decode('UTF-8')
+ if 'build engineering' in result:
+ return subprocess.check_output(
+ ['git', 'rev-parse', 'HEAD']).decode('UTF-8').strip()
+ else:
+ # --version format is 'R8 <version> (build <build-info>)'
+ return result.split(' ')[1]
+
def main():
args = parse_options()
+ version = get_r8_version(args.r8jar)
+ map_id_template = version
+ source_file_template = 'R8_%MAP_ID_%MAP_HASH'
# TODO(b/139725780): See if we can remove or lower the heap size (-Xmx8g).
cmd = [jdk.GetJavaExecutable(), '-Xmx8g', '-ea']
cmd.extend(['-cp', 'build/libs/r8_with_deps.jar', 'com.android.tools.r8.R8'])
cmd.append(args.r8jar)
cmd.append('--classfile')
+ cmd.extend(['--map-id-template', map_id_template])
+ cmd.extend(['--source-file-template', source_file_template])
cmd.extend(['--output', args.output])
cmd.extend(['--pg-map-output', args.output + '.map'])
cmd.extend(['--lib', 'third_party/openjdk/openjdk-rt-1.8/rt.jar'])