From 84ddc1524c2b813fd256142816feed4177fb28f3 Mon Sep 17 00:00:00 2001 From: Chase Latta Date: Tue, 30 Nov 2021 01:09:57 +0000 Subject: [PATCH] Stamp fuchsia packages with api level BUG: https://bugs.fuchsia.dev/p/fuchsia/issues/detail?id=87813 As part of the fuchsia platform versioning we are stamping all of our packages with a target api level which can be read by our assembly tools. We would like to be able to update the target api level with a roller so I added a file which can is read by the gn tool. I am open to suggestions about how to change this is we do not want to add file read calls to our gn script. --- tools/fuchsia/fuchsia_archive.gni | 2 ++ tools/fuchsia/target_api_level | 1 + tools/gn | 4 ++++ 3 files changed, 7 insertions(+) create mode 100644 tools/fuchsia/target_api_level diff --git a/tools/fuchsia/fuchsia_archive.gni b/tools/fuchsia/fuchsia_archive.gni index f2dc3d648583a..aae9b8fefc725 100644 --- a/tools/fuchsia/fuchsia_archive.gni +++ b/tools/fuchsia/fuchsia_archive.gni @@ -151,6 +151,8 @@ template("_fuchsia_archive") { rebase_path(manifest_json_file, root_build_dir), ] + assert(fuchsia_target_api_level != -1, + "Must set a target api level when creating an archive") if (fuchsia_target_api_level != -1) { args += [ "--api-level", diff --git a/tools/fuchsia/target_api_level b/tools/fuchsia/target_api_level new file mode 100644 index 0000000000000..7f8f011eb73d6 --- /dev/null +++ b/tools/fuchsia/target_api_level @@ -0,0 +1 @@ +7 diff --git a/tools/gn b/tools/gn index af169d388c84f..f4ed6e6e29bfd 100755 --- a/tools/gn +++ b/tools/gn @@ -406,6 +406,10 @@ def to_gn_args(args): if args.fuchsia_target_api_level is not None: gn_args['fuchsia_target_api_level'] = args.fuchsia_target_api_level + elif args.target_os == 'fuchsia': + # Read the default target api level from a file so we can update it with a roller + with open(os.path.join(os.path.dirname(__file__), 'fuchsia/target_api_level')) as f: + gn_args['fuchsia_target_api_level'] = int(f.read().strip()) return gn_args