diff options
-rw-r--r-- | build/allowed_deps.txt | 20 | ||||
-rwxr-xr-x | build/build_unbundled_mainline_module.sh | 1 | ||||
-rwxr-xr-x | build/mainline_modules_sdks.py | 27 | ||||
-rwxr-xr-x | build/mainline_modules_sdks.sh | 29 | ||||
-rw-r--r-- | build/mainline_modules_sdks_test.py | 13 | ||||
-rw-r--r-- | proto/classpaths.proto | 1 | ||||
-rw-r--r-- | sdk/ModuleDefaults.bp | 4 |
7 files changed, 79 insertions, 16 deletions
diff --git a/build/allowed_deps.txt b/build/allowed_deps.txt index 3ff14504..9ae168eb 100644 --- a/build/allowed_deps.txt +++ b/build/allowed_deps.txt @@ -42,6 +42,7 @@ android.hardware.media@1.0(minSdkVersion:29) android.hardware.neuralnetworks-V1-ndk(minSdkVersion:30) android.hardware.neuralnetworks-V1-ndk_platform(minSdkVersion:30) android.hardware.neuralnetworks-V2-ndk(minSdkVersion:30) +android.hardware.neuralnetworks-V3-ndk(minSdkVersion:30) android.hardware.neuralnetworks@1.0(minSdkVersion:30) android.hardware.neuralnetworks@1.1(minSdkVersion:30) android.hardware.neuralnetworks@1.2(minSdkVersion:30) @@ -177,6 +178,8 @@ bionic_libc_platform_headers(minSdkVersion:29) boringssl_self_test(minSdkVersion:29) bouncycastle(minSdkVersion:31) bouncycastle-unbundled(minSdkVersion:30) +bpf_connectivity_headers(minSdkVersion:30) +bpf_map_utils(minSdkVersion:30) bpf_syscall_wrappers(minSdkVersion:30) brotli-java(minSdkVersion:current) captiveportal-lib(minSdkVersion:29) @@ -208,6 +211,8 @@ crtend_so(minSdkVersion:current) datastallprotosnano(minSdkVersion:29) dnsproxyd_protocol_headers(minSdkVersion:29) DocumentsUI-res-lib(minSdkVersion:29) +exoplayer2-annotation-stubs(minSdkVersion:16) +exoplayer2-extractor(minSdkVersion:16) exoplayer2.15.1(minSdkVersion:16) ExtServices(minSdkVersion:30) ExtServices(minSdkVersion:current) @@ -252,8 +257,11 @@ kotlinx_coroutines_android(minSdkVersion:28) ksoap2(minSdkVersion:30) libaacextractor(minSdkVersion:29) libadbconnection_server(minSdkVersion:(no version)) +libadbconnection_server(minSdkVersion:30) libadbd_core(minSdkVersion:(no version)) +libadbd_core(minSdkVersion:30) libadbd_services(minSdkVersion:(no version)) +libadbd_services(minSdkVersion:30) libaidlcommonsupport(minSdkVersion:29) liballoc.rust_sysroot(minSdkVersion:(no version)) libamrextractor(minSdkVersion:29) @@ -261,9 +269,11 @@ libandroid_log_sys(minSdkVersion:(no version)) libandroid_logger(minSdkVersion:(no version)) libanyhow(minSdkVersion:(no version)) libapp_processes_protos_lite(minSdkVersion:(no version)) +libapp_processes_protos_lite(minSdkVersion:30) libarect(minSdkVersion:29) libasync_safe(minSdkVersion:apex_inherit) libasyncio(minSdkVersion:(no version)) +libasyncio(minSdkVersion:apex_inherit) libatomic(minSdkVersion:(no version)) libaudio_system_headers(minSdkVersion:29) libaudioclient_aidl_conversion_util(minSdkVersion:29) @@ -288,11 +298,13 @@ libbinderthreadstateutils(minSdkVersion:29) libbluetooth-types-header(minSdkVersion:29) libbrotli(minSdkVersion:(no version)) libbuildversion(minSdkVersion:(no version)) +libbuildversion(minSdkVersion:26) libbytes(minSdkVersion:(no version)) libc++(minSdkVersion:apex_inherit) libc++_static(minSdkVersion:apex_inherit) libc++abi(minSdkVersion:apex_inherit) libc++demangle(minSdkVersion:apex_inherit) +libc++fs(minSdkVersion:apex_inherit) libc_headers(minSdkVersion:apex_inherit) libc_headers_arch(minSdkVersion:apex_inherit) libc_llndk_headers(minSdkVersion:apex_inherit) @@ -338,17 +350,20 @@ libcodec2_soft_vp8enc(minSdkVersion:29) libcodec2_soft_vp9dec(minSdkVersion:29) libcodec2_soft_vp9enc(minSdkVersion:29) libcodec2_vndk(minSdkVersion:29) +libcom_android_networkstack_tethering_util_jni(minSdkVersion:30) libcompiler_builtins.rust_sysroot(minSdkVersion:(no version)) libcore.rust_sysroot(minSdkVersion:(no version)) libcrypto(minSdkVersion:29) libcrypto_static(minSdkVersion:(no version)) libcrypto_utils(minSdkVersion:(no version)) +libcrypto_utils(minSdkVersion:apex_inherit) libcutils(minSdkVersion:29) libcutils_headers(minSdkVersion:29) libcutils_sockets(minSdkVersion:29) libdexfile_external_headers(minSdkVersion:31) libdexfile_support(minSdkVersion:31) libdiagnose_usb(minSdkVersion:(no version)) +libdiagnose_usb(minSdkVersion:apex_inherit) libdmabufheap(minSdkVersion:29) libdmabufinfo(minSdkVersion:S) libdoh_ffi(minSdkVersion:(no version)) @@ -613,6 +628,7 @@ netlink-client(minSdkVersion:29) networkstack-aidl-interfaces-V10-java(minSdkVersion:29) networkstack-aidl-interfaces-V11-java(minSdkVersion:29) networkstack-aidl-interfaces-V12-java(minSdkVersion:29) +networkstack-aidl-interfaces-V13-java(minSdkVersion:29) networkstack-aidl-latest(minSdkVersion:29) networkstack-client(minSdkVersion:29) NetworkStackApi29Shims(minSdkVersion:29) @@ -808,6 +824,7 @@ prebuilt_crtbegin_so(minSdkVersion:(no version)) prebuilt_crtend_android(minSdkVersion:(no version)) prebuilt_crtend_so(minSdkVersion:(no version)) prebuilt_error_prone_annotations(minSdkVersion:(no version)) +prebuilt_error_prone_annotations(minSdkVersion:29) prebuilt_error_prone_annotations(minSdkVersion:current) prebuilt_glide-annotation-and-compiler-prebuilt(minSdkVersion:14) prebuilt_glide-disklrucache-prebuilt(minSdkVersion:14) @@ -815,6 +832,7 @@ prebuilt_glide-gifdecoder-prebuilt(minSdkVersion:14) prebuilt_glide-prebuilt(minSdkVersion:14) prebuilt_guava-listenablefuture-prebuilt-jar(minSdkVersion:29) prebuilt_guava-listenablefuture-prebuilt-jar(minSdkVersion:current) +prebuilt_jni_headers(minSdkVersion:(no version)) prebuilt_kotlin-stdlib(minSdkVersion:current) prebuilt_kotlinx-coroutines-android-nodeps(minSdkVersion:(no version)) prebuilt_kotlinx-coroutines-android-nodeps(minSdkVersion:current) @@ -825,6 +843,7 @@ prebuilt_libclang_rt.builtins-aarch64-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-arm-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-i686-android(minSdkVersion:(no version)) prebuilt_libclang_rt.builtins-x86_64-android(minSdkVersion:(no version)) +prebuilt_libnativehelper_header_only(minSdkVersion:(no version)) prebuilt_libperfetto_client_experimental(minSdkVersion:(no version)) prebuilt_libunwind(minSdkVersion:(no version)) prebuilt_perfetto_trace_protos(minSdkVersion:(no version)) @@ -848,6 +867,7 @@ SettingsLibRestrictedLockUtils(minSdkVersion:21) SettingsLibSearchWidget(minSdkVersion:21) SettingsLibSettingsTheme(minSdkVersion:21) SettingsLibSettingsTransition(minSdkVersion:29) +SettingsLibTopIntroPreference(minSdkVersion:21) SettingsLibTwoTargetPreference(minSdkVersion:21) SettingsLibUtils(minSdkVersion:21) statsd-aidl-ndk(minSdkVersion:30) diff --git a/build/build_unbundled_mainline_module.sh b/build/build_unbundled_mainline_module.sh index 6c775923..f4581515 100755 --- a/build/build_unbundled_mainline_module.sh +++ b/build/build_unbundled_mainline_module.sh @@ -67,7 +67,6 @@ readonly -a DEFAULT_MODULES=( ExtServices NetworkPermissionConfig NetworkStack - NetworkStackNext PermissionController ) diff --git a/build/mainline_modules_sdks.py b/build/mainline_modules_sdks.py index c6be7d40..ed0f14ad 100755 --- a/build/mainline_modules_sdks.py +++ b/build/mainline_modules_sdks.py @@ -317,7 +317,8 @@ class SdkDistProducer: return os.path.join(self.out_dir, "soong/mainline-sdks", f"{sdk_name}-{sdk_version}.zip") - def produce_dist(self, sdk_versions, modules): + def produce_dist(self, modules): + sdk_versions = SDK_VERSIONS self.build_sdks(sdk_versions, modules) self.populate_dist(sdk_versions, modules) @@ -503,26 +504,30 @@ def apply_transformations(producer, tmp_dir, transformations): os.utime(path, (modified, modified)) -def main(): - """Program entry point.""" - if not os.path.exists("build/make/core/Makefile"): - sys.exit("This script must be run from the top of the tree.") - - producer = SdkDistProducer( +def create_producer(): + return SdkDistProducer( # Variables initialized from environment variables that are set by the # calling mainline_modules_sdks.sh. out_dir=os.environ["OUT_DIR"], dist_dir=os.environ["DIST_DIR"], ) +def filter_modules(modules): target_build_apps = os.environ.get("TARGET_BUILD_APPS") if target_build_apps: - build_mainline_modules = [m for m in MAINLINE_MODULES - if m.apex in target_build_apps.split()] + target_build_apps = target_build_apps.split() + return [m for m in modules if m.apex in target_build_apps] else: - build_mainline_modules = MAINLINE_MODULES + return modules + +def main(): + """Program entry point.""" + if not os.path.exists("build/make/core/Makefile"): + sys.exit("This script must be run from the top of the tree.") - producer.produce_dist(SDK_VERSIONS, build_mainline_modules) + producer = create_producer() + modules = filter_modules(MAINLINE_MODULES) + producer.produce_dist(modules) if __name__ == "__main__": diff --git a/build/mainline_modules_sdks.sh b/build/mainline_modules_sdks.sh index 2cf17f3f..4e251612 100755 --- a/build/mainline_modules_sdks.sh +++ b/build/mainline_modules_sdks.sh @@ -15,6 +15,27 @@ # limitations under the License. # +function init() { + declare -ga ARGV + while (($# > 0)); do + case $1 in + --py3script) + declare -gr py3script="$2" + shift 2 + ;; + *) + ARGV+=("$1") + shift 1 + ;; + esac + done + readonly ARGV + + if [ -z "${py3script}" ]; then + declare -gr py3script="packages/modules/common/build/mainline_modules_sdks.py" + fi +} + function main() { if [ ! -e "build/make/core/Makefile" ]; then echo "$0 must be run from the top of the tree" @@ -34,7 +55,11 @@ function main() { # Delegate the SDK generation to the python script. Use the python version # provided by the build to ensure consistency across build environments. export DIST_DIR OUT_DIR - prebuilts/build-tools/linux-x86/bin/py3-cmd packages/modules/common/build/mainline_modules_sdks.py "$@" + + prebuilts/build-tools/linux-x86/bin/py3-cmd "${py3script}" } -main "${@}" +init "$@" +# The wacky ${foo[@]+"${foo[@]}"}, makes bash correctly pass nothing when an +# array is empty (necessary prior to bash 4.4). +main ${ARGV[@]+"${ARGV[@]}"} diff --git a/build/mainline_modules_sdks_test.py b/build/mainline_modules_sdks_test.py index 8a54ab8e..57601361 100644 --- a/build/mainline_modules_sdks_test.py +++ b/build/mainline_modules_sdks_test.py @@ -162,5 +162,18 @@ class TestSoongConfigBoilerplateInserter(unittest.TestCase): self.apply_transformations(src, transformations, expected) +class TestFilterModules(unittest.TestCase): + + def test_no_filter(self): + modules = mm.filter_modules(mm.MAINLINE_MODULES) + self.assertEqual(modules, mm.MAINLINE_MODULES) + + def test_with_filter(self): + os.environ["TARGET_BUILD_APPS"] = "com.android.art" + modules = mm.filter_modules(mm.MAINLINE_MODULES) + expected = mm.MAINLINE_MODULES_BY_APEX["com.android.art"] + self.assertEqual(modules, [expected]) + + if __name__ == "__main__": unittest.main(verbosity=2) diff --git a/proto/classpaths.proto b/proto/classpaths.proto index 829c14ca..97f288e9 100644 --- a/proto/classpaths.proto +++ b/proto/classpaths.proto @@ -21,6 +21,7 @@ enum Classpath { BOOTCLASSPATH = 1; SYSTEMSERVERCLASSPATH = 2; DEX2OATBOOTCLASSPATH = 3; + STANDALONE_SYSTEMSERVER_JARS = 4; } // Individual entry in a classpath variable. diff --git a/sdk/ModuleDefaults.bp b/sdk/ModuleDefaults.bp index e89d676e..b265667f 100644 --- a/sdk/ModuleDefaults.bp +++ b/sdk/ModuleDefaults.bp @@ -155,8 +155,8 @@ java_defaults { ":__subpackages__", "//frameworks/base/apex:__subpackages__", "//frameworks/base/libs/hwui", - // TODO: remove after moving connectivity to packages/modules - "//frameworks/base/packages/Connectivity:__subpackages__", + // TODO(b/208914639): remove after moving files to packages/modules/Connectivity + "//frameworks/base/packages/ConnectivityT:__subpackages__", "//frameworks/base/wifi", "//packages/modules:__subpackages__", "//packages/providers/MediaProvider:__subpackages__", |