Update release scripts to distribute the keep annotations library
Bug: b/248408342
Change-Id: I7f74b1f5c038cb6d47047a7de12d7e4ab1ec7700
diff --git a/tools/r8_release.py b/tools/r8_release.py
index b60c2de..dc47fa2 100755
--- a/tools/r8_release.py
+++ b/tools/r8_release.py
@@ -161,13 +161,16 @@
return subprocess.check_call(cmd)
-def update_prebuilds(r8_checkout, version, checkout):
+def update_prebuilds(r8_checkout, version, checkout, keepanno=False):
path = os.path.join(r8_checkout, 'tools', 'update_prebuilds_in_android.py')
commit_arg = '--commit_hash=' if len(version) == 40 else '--version='
- subprocess.check_call([path, '--targets=lib', '--maps', commit_arg + version, checkout])
+ cmd = [path, '--targets=lib', '--maps', commit_arg + version, checkout]
+ if keepanno:
+ cmd.append("--keepanno")
+ subprocess.check_call(cmd)
-def release_studio_or_aosp(r8_checkout, path, options, git_message):
+def release_studio_or_aosp(r8_checkout, path, options, git_message, keepanno=False):
with utils.ChangedWorkingDirectory(path):
if not options.use_existing_work_branch:
subprocess.call(['repo', 'abandon', 'update-r8'])
@@ -180,7 +183,7 @@
with utils.ChangedWorkingDirectory(prebuilts_r8):
subprocess.check_call(['repo', 'start', 'update-r8'])
- update_prebuilds(r8_checkout, options.version, path)
+ update_prebuilds(r8_checkout, options.version, path, keepanno)
with utils.ChangedWorkingDirectory(prebuilts_r8):
if not options.use_existing_work_branch:
@@ -218,7 +221,7 @@
Test: TARGET_PRODUCT=aosp_arm64 m -j core-oj"""
% (args.version, args.version, args.version))
return release_studio_or_aosp(
- utils.REPO_ROOT, args.aosp, options, git_message)
+ utils.REPO_ROOT, args.aosp, options, git_message, keepanno=True)
return release_aosp
diff --git a/tools/update_prebuilds_in_android.py b/tools/update_prebuilds_in_android.py
index 6f8da19..4dfbb7d 100755
--- a/tools/update_prebuilds_in_android.py
+++ b/tools/update_prebuilds_in_android.py
@@ -21,6 +21,7 @@
}
OTHER_TARGETS = ["LICENSE"]
+KEEPANNO_JAR = 'keepanno-annotations.jar'
def parse_arguments():
parser = argparse.ArgumentParser(
@@ -42,6 +43,11 @@
help="Download proguard maps for jars, use only with '--target lib'.",
)
parser.add_argument(
+ '--keepanno',
+ action='store_true',
+ help="Download keepanno-annotations library.",
+ )
+ parser.add_argument(
'--java-max-memory-size',
'--java_max_memory_size',
help='Use a custom max memory size for the gradle java instance, eg, 4g')
@@ -86,7 +92,7 @@
print('Downloading: ' + url + ' -> ' + download_path)
utils.download_file_from_cloud_storage(url, download_path, quiet=quiet)
-def main_download(hash, maps, targets, target_root, version):
+def main_download(hash, maps, targets, target_root, version, keepanno=False):
jar_targets = JAR_TARGETS_MAP[targets]
final_targets = list(map((lambda t: t[0] + '.jar'), jar_targets)) + OTHER_TARGETS
with utils.TempDir() as root:
@@ -95,13 +101,19 @@
download_hash(root, hash, target)
if maps and target not in OTHER_TARGETS:
download_hash(root, hash, target + '.map')
+ if keepanno:
+ download_hash(root, hash, KEEPANNO_JAR)
else:
assert version
download_version(root, version, target)
if maps and target not in OTHER_TARGETS:
download_version(root, version, target + '.map')
+ if keepanno:
+ download_version(root, version, KEEPANNO_JAR)
copy_jar_targets(root, target_root, jar_targets, maps)
copy_other_targets(root, target_root)
+ if keepanno:
+ copy_targets(root, target_root, [KEEPANNO_JAR], [KEEPANNO_JAR])
def main_build(maps, max_memory_size, targets, target_root):
jar_targets = JAR_TARGETS_MAP[targets]
@@ -120,7 +132,8 @@
main_build(args.maps, args.java_max_memory_size, args.targets, target_root)
else:
assert args.commit_hash == None or args.version == None
- main_download(args.commit_hash, args.maps, args.targets, target_root, args.version)
+ main_download(
+ args.commit_hash, args.maps, args.targets, target_root, args.version, args.keepanno)
if __name__ == '__main__':
sys.exit(main(parse_arguments()))