1// Copyright (C) 2018 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Referenced implicitly from art.module.intra.core.api. 16package { 17 // http://go/android-license-faq 18 // A large-scale-change added 'default_applicable_licenses' to import 19 // the below license kinds from "libcore_license": 20 // SPDX-license-identifier-Apache-2.0 21 // SPDX-license-identifier-GPL 22 // SPDX-license-identifier-GPL-2.0 23 // SPDX-license-identifier-LGPL 24 // SPDX-license-identifier-MIT 25 // SPDX-license-identifier-W3C 26 default_applicable_licenses: ["libcore_license"], 27} 28 29filegroup { 30 name: "art.module.intra.core.api.api.combined.public.latest", 31 srcs: [ 32 "api/intra/last-api.txt", 33 ], 34} 35 36// Referenced implicitly from art.module.intra.core.api. 37filegroup { 38 name: "art.module.intra.core.api-removed.api.combined.public.latest", 39 srcs: [ 40 "api/intra/last-removed.txt", 41 ], 42} 43 44// Referenced implicitly from art.module.intra.core.api. 45filegroup { 46 name: "art.module.intra.core.api-incompatibilities.api.public.latest", 47 srcs: [ 48 "api/intra/last-incompatibilities.txt", 49 ], 50} 51 52// A library containing the intra-core API stubs of the ART module. 53// 54// Intra-core APIs are only intended for the use of other core library modules. 55// 56// The API specification .txt files managed by this only contain the additional 57// classes/members that are in the intra-core API but which are not the public API. 58java_sdk_library { 59 name: "art.module.intra.core.api", 60 visibility: [ 61 "//build/soong/java/core-libraries", 62 "//libcore/mmodules/core_platform_api", 63 ], 64 srcs: [ 65 ":art_module_api_files", 66 ], 67 stub_only_libs: [ 68 "stub-annotations", 69 ], 70 api_dir: "api/intra", 71 api_only: true, 72 annotations_enabled: true, 73 droiddoc_options: [ 74 "--hide-annotation libcore.api.Hide", 75 "--show-single-annotation libcore.api.IntraCoreApi", 76 // Exclude FlaggedApi as Metalava cannot resolve the flags reference 77 // because this is not given the flags library on the classpath as 78 // doing so creates a cycle. 79 "--exclude-annotation android.annotation.FlaggedApi", 80 ], 81 82 public: { 83 // Select api-surface defined in build/soong/java/metalava/main-config.xml 84 api_surface: "intra-core", 85 }, 86 87 merge_inclusion_annotations_dirs: ["ojluni-annotated-mmodule-stubs"], 88 89 sdk_version: "none", 90 system_modules: "none", 91 patch_module: "java.base", 92 93 // This jar is packaged as part of the SDK, use -target 8 so that it works 94 // with old JDKs. 95 java_version: "1.8", 96 97 // Don't copy any output files to the dist. 98 no_dist: true, 99 100 // This module's output stubs contain apis defined in "art.module.public.api.stubs", 101 // but adding "art.module.public.api" as a dependency of this module leads to circular 102 // dependency and requires further bootstrapping. Thus, disable stubs generation from the 103 // api signature files and generate stubs from the source Java files instead. 104 build_from_text_stub: false, 105} 106 107// Bootstrap the art-module-intra-core-api-stubs-system-modules. 108// 109// This is needed to build art-module-intra-core-api-stubs-system-modules-lib 110// which is in turn needed to build art-module-intra-core-api-stubs-system-modules 111java_system_modules { 112 name: "art-module-intra-core-api-stubs-bootstrap-system-modules", 113 visibility: [ 114 "//libcore/toolchainapi", 115 "//build/soong/java/core-libraries", 116 ], 117 libs: [ 118 // The intra core API stubs library. 119 "art.module.intra.core.api.stubs", 120 ], 121} 122 123// A library containing additional classes that are needed in the system modules. 124java_library { 125 name: "art-module-intra-core-api-stubs-system-modules-lib", 126 visibility: [ 127 "//build/soong/java/core-libraries", 128 ], 129 srcs: [ 130 ":openjdk_lambda_stub_files", 131 ], 132 libs: [ 133 "art.module.intra.core.api.stubs", 134 ], 135 system_modules: "art-module-intra-core-api-stubs-bootstrap-system-modules", 136 sdk_version: "none", 137 patch_module: "java.base", 138 139 // This jar is packaged as part of the SDK, use -target 8 so that it works 140 // with old JDKs. 141 java_version: "1.8", 142} 143