1// Copyright (C) 2020 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. 14package { 15 default_applicable_licenses: ["Android-Apache-2.0"], 16} 17 18apex_key { 19 name: "com.android.scheduling.key", 20 public_key: "com.android.scheduling.avbpubkey", 21 private_key: "com.android.scheduling.pem", 22} 23 24android_app_certificate { 25 name: "com.android.scheduling.certificate", 26 certificate: "com.android.scheduling", 27} 28 29filegroup { 30 name: "scheduling-jarjar-rules", 31 srcs: ["jarjar-rules.txt"], 32} 33 34// Encapsulate the contributions made by the com.android.scheduling to the bootclasspath. 35bootclasspath_fragment { 36 name: "com.android.scheduling-bootclasspath-fragment", 37 contents: ["framework-scheduling"], 38 apex_available: ["com.android.scheduling"], 39 40 // The bootclasspath_fragments that provide APIs on which this depends. 41 fragments: [ 42 { 43 apex: "com.android.art", 44 module: "art-bootclasspath-fragment", 45 }, 46 ], 47 48 // Additional stubs libraries that this fragment's contents use which are 49 // not provided by another bootclasspath_fragment. 50 additional_stubs: [ 51 "android-non-updatable", 52 ], 53 hidden_api: { 54 55 // This module does not contain any split packages. 56 split_packages: [], 57 58 // The following packages and all their subpackages currently only 59 // contain classes from this bootclasspath_fragment. Listing a package 60 // here won't prevent other bootclasspath modules from adding classes in 61 // any of those packages but it will prevent them from adding those 62 // classes into an API surface, e.g. public, system, etc.. Doing so will 63 // result in a build failure due to inconsistent flags. 64 package_prefixes: [ 65 "android.scheduling", 66 ], 67 }, 68 69} 70 71systemserverclasspath_fragment { 72 name: "com.android.scheduling-systemserverclasspath-fragment", 73 standalone_contents: ["service-scheduling"], 74 apex_available: ["com.android.scheduling"], 75} 76 77apex { 78 name: "com.android.scheduling", 79 defaults: ["s-launched-apex-module"], 80 bootclasspath_fragments: ["com.android.scheduling-bootclasspath-fragment"], 81 systemserverclasspath_fragments: ["com.android.scheduling-systemserverclasspath-fragment"], 82 prebuilts: ["current_sdkinfo"], 83 manifest: "manifest.json", 84 androidManifest: "AndroidManifest.xml", 85 file_contexts: ":com.android.scheduling-file_contexts", 86 key: "com.android.scheduling.key", 87} 88 89sdk { 90 name: "scheduling-sdk", 91 apexes: [ 92 // Adds exportable dependencies of the APEX to the sdk, 93 // e.g. *classpath_fragments. 94 "com.android.scheduling", 95 ], 96} 97