diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-07-21 20:41:34 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2022-07-21 20:41:34 +0000 |
commit | fbe165c4713483680260c99bd3c710b939cb250d (patch) | |
tree | eb56aeb5e27070ba7db3889cc42c81311f8b0556 | |
parent | dbd3f9115eb155b925da152736ed108b34adf054 (diff) | |
parent | 5ad18434eaaeaa86d3f98aca164ca84ebb175e27 (diff) | |
download | common-android13-mainline-go-media-release.tar.gz |
Snap for 8857176 from 5ad18434eaaeaa86d3f98aca164ca84ebb175e27 to mainline-go-media-releaseaml_go_med_330913000android13-mainline-go-media-release
Change-Id: Idb179950832cdad7a8363fecfcd013b2f093c8cc
-rw-r--r-- | build/allowed_deps.txt | 3 | ||||
-rwxr-xr-x | build/mainline_modules_sdks.py | 48 | ||||
-rw-r--r-- | proguard/Android.bp | 22 | ||||
-rw-r--r-- | proguard/system-server.pro | 1 | ||||
-rw-r--r-- | sdk/ModuleDefaults.bp | 6 |
5 files changed, 79 insertions, 1 deletions
diff --git a/build/allowed_deps.txt b/build/allowed_deps.txt index d83e4f02..06c04bb8 100644 --- a/build/allowed_deps.txt +++ b/build/allowed_deps.txt @@ -212,6 +212,7 @@ car-rotary-lib(minSdkVersion:28) car-rotary-lib-resources(minSdkVersion:28) car-ui-lib(minSdkVersion:28) car-ui-lib-resources(minSdkVersion:28) +cbor-java(minSdkVersion:30) census(minSdkVersion:30) clatd(minSdkVersion:30) codecs_g711dec(minSdkVersion:29) @@ -240,6 +241,7 @@ crtend_so(minSdkVersion:30) crtend_so(minSdkVersion:apex_inherit) crtend_so(minSdkVersion:current) datastallprotosnano(minSdkVersion:29) +dlmalloc(minSdkVersion:apex_inherit) dnsproxyd_protocol_headers(minSdkVersion:29) DocumentsUI-res-lib(minSdkVersion:29) exoplayer-annotation_stubs(minSdkVersion:16) @@ -764,6 +766,7 @@ ndk_libc++abi(minSdkVersion:16) ndk_libunwind(minSdkVersion:16) net-utils-device-common(minSdkVersion:29) net-utils-device-common-bpf(minSdkVersion:29) +net-utils-device-common-ip(minSdkVersion:29) net-utils-device-common-netlink(minSdkVersion:29) net-utils-device-common-struct(minSdkVersion:29) net-utils-framework-common(minSdkVersion:29) diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py index eaa4639c..e4a5b24d 100755 --- a/build/mainline_modules_sdks.py +++ b/build/mainline_modules_sdks.py @@ -20,6 +20,7 @@ the APEXes in it are built, otherwise all configured SDKs are built. """ import argparse import dataclasses +import datetime import functools import io import json @@ -255,6 +256,22 @@ def sdk_snapshot_api_diff_file(snapshots_dir, sdk_name, sdk_version): return os.path.join(snapshots_dir, f"{sdk_name}-{sdk_version}-api-diff.txt") +# The default time to use in zip entries. Ideally, this should be the same as is +# used by soong_zip and ziptime but there is no strict need for that to be the +# case. What matters is this is a fixed time so that the contents of zip files +# created by this script do not depend on when it is run, only the inputs. +default_zip_time = datetime.datetime(2008, 1, 1, 0, 0, 0, 0, + datetime.timezone.utc) + + +# set the timestamps of the paths to the default_zip_time. +def set_default_timestamp(base_dir, paths): + for path in paths: + timestamp = default_zip_time.timestamp() + p = os.path.join(base_dir, path) + os.utime(p, (timestamp, timestamp)) + + @dataclasses.dataclass() class SnapshotBuilder: """Builds sdk snapshots""" @@ -409,6 +426,13 @@ java_sdk_library_import {{ dest_dir, "snapshot-creation-build-number.txt") shutil.copy(build_number_file, snapshot_build_number_file) + # Make sure that all the paths being added to the zip file have a + # fixed timestamp so that the contents of the zip file do not depend + # on when this script is run, only the inputs. + for root, dirs, files in os.walk(dest_dir): + set_default_timestamp(root, dirs) + set_default_timestamp(root, files) + # Now zip up the files into a snapshot zip file. base_file = os.path.join(r_snapshot_dir, sdk_name + "-current") shutil.make_archive(base_file, "zip", dest_dir) @@ -739,6 +763,19 @@ class MainlineModule: # # This field records the last build release in which they are optional. It # defaults to None which indicates that the module was never optional. + # + # TODO(b/238203992): remove the following warning once all modules can be + # treated as optional at build time. + # + # DO NOT use this attr for anything other than controlling whether the + # generated snapshot uses its own Soong config variable or the common one. + # That is because this is being temporarily used to force Permission to have + # its own Soong config variable even though Permission is not actually + # optional at runtime on a GMS capable device. + # + # b/238203992 will make all modules have their own Soong config variable by + # default at which point this will no longer be needed on Permission and so + # it can be used to indicate that a module is optional at runtime. last_optional_release: typing.Optional[BuildRelease] = None # The short name for the module. @@ -903,6 +940,11 @@ MAINLINE_MODULES = [ # that are provided in R by non-updatable parts of the # bootclasspath. ]), + # Although Permission is not, and has never been, optional for GMS + # capable devices it does need to be treated as optional at build time + # when building non-GMS devices. + # TODO(b/238203992): remove once all modules are optional at build time. + last_optional_release=LATEST, ), MainlineModule( apex="com.android.scheduling", @@ -1212,6 +1254,12 @@ def copy_zip_and_replace(producer, src_zip_path, dest_zip_path, src_dir, paths): # not affected by a change of directory. abs_src_zip_path = os.path.abspath(src_zip_path) abs_dest_zip_path = os.path.abspath(dest_zip_path) + + # Make sure that all the paths being added to the zip file have a fixed + # timestamp so that the contents of the zip file do not depend on when this + # script is run, only the inputs. + set_default_timestamp(src_dir, paths) + producer.subprocess_runner.run( ["zip", "-q", abs_src_zip_path, "--out", abs_dest_zip_path] + paths, # Change into the source directory before running zip. diff --git a/proguard/Android.bp b/proguard/Android.bp index e011a61d..77f336b0 100644 --- a/proguard/Android.bp +++ b/proguard/Android.bp @@ -16,7 +16,7 @@ package { default_applicable_licenses: ["Android-Apache-2.0"], default_visibility: [ ":__subpackages__", - "//packages/modules/Permission:__subpackages__", + "//packages/modules:__subpackages__", ], } @@ -38,3 +38,23 @@ java_defaults { proguard_flags_files: [":framework-system-server-module-optimize-proguard-rules"], }, } + +// Needed because otherwise java_defaults would resolve it in module directory. +filegroup { + name: "standalone-system-server-module-optimize-proguard-rules", + srcs: [ + "system-server.pro", + ], +} + +java_defaults { + name: "standalone-system-server-module-optimize-defaults", + optimize: { + enabled: true, + shrink: true, + optimize: false, + obfuscate: false, + proguard_compatibility: false, + proguard_flags_files: [":standalone-system-server-module-optimize-proguard-rules"], + }, +} diff --git a/proguard/system-server.pro b/proguard/system-server.pro new file mode 100644 index 00000000..c6eaffb7 --- /dev/null +++ b/proguard/system-server.pro @@ -0,0 +1 @@ +-keep class * extends com.android.server.SystemService { *; } diff --git a/sdk/ModuleDefaults.bp b/sdk/ModuleDefaults.bp index d9e3af53..e5b05c47 100644 --- a/sdk/ModuleDefaults.bp +++ b/sdk/ModuleDefaults.bp @@ -239,6 +239,9 @@ library_linking_strategy_apex_defaults { apex_defaults { name: "s-launched-apex-module", min_sdk_version: "31", + // Indicates that pre-installed version of this apex can be compressed. + // Whether it actually will be compressed is controlled on per-device basis. + compressible:true, updatable: true, defaults_visibility: [ "//art:__subpackages__", @@ -250,5 +253,8 @@ apex_defaults { name: "t-launched-apex-module", min_sdk_version: "Tiramisu", updatable: true, + // Indicates that pre-installed version of this apex can be compressed. + // Whether it actually will be compressed is controlled on per-device basis. + compressible:true, defaults_visibility: ["//packages/modules:__subpackages__"], } |