// Copyright (C) 2020 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. package { // See: http://go/android-license-faq // A large-scale-change added 'default_applicable_licenses' to import // all of the 'license_kinds' from "art_license" // to get the below license kinds: // SPDX-license-identifier-Apache-2.0 default_applicable_licenses: ["art_license"], } // Additional visibility to add to the prebuilt modules that are part of // the snapshots of the ART sdk/module_exports to ensure that they are // visible to each other. prebuilt_visibility = [ // TODO(b/155921753): Restrict this when prebuilts are in their proper // locations. "//prebuilts:__subpackages__", ] // The SDK for the art module apex. sdk { name: "art-module-sdk", host_supported: true, prebuilt_visibility: prebuilt_visibility, traits: { native_bridge_support: [ "jni_headers", ], ramdisk_image_required: [ "jni_headers", ], recovery_image_required: [ "jni_headers", ], }, target: { // Both android and host linux but not windows or darwin. linux: { native_header_libs: [ "jni_headers", "libartpalette-headers", "libnativehelper_header_only", "libopenjdkjvmti_headers", "odrefresh_headers", ], native_shared_libs: [ "libandroidio", "libnativebridge", "libnativehelper", "libnativeloader", "libsigchain", // The host variant of libdexfile is not present in >=V snapshots // via the workaround in https://r.android.com/3011798. "libdexfile", ], native_static_libs: [ "libdexfile_support", "libdexfile_static", "libnativehelper_lazy", ], }, android: { apexes: [ // Adds exportable dependencies of the API to the sdk, // e.g. *classpath_fragments. "com.android.art", ], java_header_libs: [ // Needed by any module that builds against any non-numeric // sdk_version other than "none". // // This is actually only used for compiling Java 8 and kotlin. // Java 9 uses system modules which encapsulates this // internally. "core-lambda-stubs", // A special form or "core-lambda-stubs" for use in // java_system_modules. "core-lambda-stubs-for-system-modules", // Needed when javac compiles code containing @Generated // annotations produced by some code generation tools. "core-generated-annotation-stubs", ], java_sdk_libs: [ "art.module.public.api", ], java_system_modules: [ "art-module-public-api-stubs-system-modules", "art-module-lib-api-stubs-system-modules", "art-module-intra-core-api-stubs-system-modules", ], native_header_libs: [ "libnativeloader-headers", ], native_shared_libs: [ "libnativebridge_lazy", "libnativehelper_compat_libc++", "libnativeloader_lazy", ], }, linux_bionic: { enabled: false, }, darwin: { enabled: false, }, }, } // Exported host tools and libraries. module_exports { name: "art-module-host-exports", host_supported: true, prebuilt_visibility: prebuilt_visibility, target: { host: { // Set in target.host because the top level compile_multilib // property is fixed to "both" in the sdk/module_exports // implementation and cannot be overridden any other way. compile_multilib: "64", java_libs: [ "art.module.api.annotations", ], native_binaries: [ "dex2oat", "dex2oatd", "dexdump", "hiddenapi", "oatdump", "profman", "veridex", ], native_libs: [ // libdexfile dependencies for host tests. // These two libraries will be present in <=U snapshots. // These two libraries will be dropped in >=V snapshots // via the workaround in https://r.android.com/3011798. "libartpalette", "libartbase", ], }, linux_bionic: { enabled: false, }, darwin: { enabled: false, }, windows: { enabled: false, }, }, } // Exported tests and supporting libraries module_exports { name: "art-module-test-exports", prebuilt_visibility: prebuilt_visibility, java_libs: [ "core-compat-test-rules", "core-test-rules", "core-tests-support", "okhttp-tests-nojarjar", // Needed for CtsJvmtiDeviceRunTestAppBase. "art_cts_jvmti_test_library", "expected_cts_outputs", // Needed for robolectric. "core-libart-for-host", "okhttp-for-host", // Needed for CtsLibcore...TestCases "libcore-expectations-knownfailures-jar", "libcore-expectations-virtualdeviceknownfailures-jar", // Needed for CtsLibcoreOkHttpTestCases "okhttp-nojarjar", ], java_tests: [ // Needed for CtsJdwpTestCases. "apache-harmony-jdwp-tests", "libcore-crypto-tests", // Needed for CtsLibcoreOjTestCases "core-ojtests-public", // Needed for CtsLibcoreJsr166TestCases "jsr166-tests", // Needed for CtsLibcoreTestCases "apache-harmony-tests", "core-tests", ], native_shared_libs: [ "libjavacoretests", ], native_static_libs: [ // TODO(b/187288515): Providing this as a prebuilt introduces an issue // with sdk_version propagation. Temporarily use the source library // instead. //"libctstiagent", ], }