xref: /aosp_15_r20/cts/tests/signature/api-check/system-api/Android.bp (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker// Copyright (C) 2017 The Android Open Source Project
2*b7c941bbSAndroid Build Coastguard Worker//
3*b7c941bbSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*b7c941bbSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*b7c941bbSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*b7c941bbSAndroid Build Coastguard Worker//
7*b7c941bbSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*b7c941bbSAndroid Build Coastguard Worker//
9*b7c941bbSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*b7c941bbSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*b7c941bbSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*b7c941bbSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*b7c941bbSAndroid Build Coastguard Worker// limitations under the License.
14*b7c941bbSAndroid Build Coastguard Worker
15*b7c941bbSAndroid Build Coastguard Workerpackage {
16*b7c941bbSAndroid Build Coastguard Worker    default_team: "trendy_team_updatable_sdk_apis",
17*b7c941bbSAndroid Build Coastguard Worker    // See: http://go/android-license-faq
18*b7c941bbSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
19*b7c941bbSAndroid Build Coastguard Worker}
20*b7c941bbSAndroid Build Coastguard Worker
21*b7c941bbSAndroid Build Coastguard Workerandroid_test {
22*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSystemApiSignatureTestCases",
23*b7c941bbSAndroid Build Coastguard Worker    defaults: ["signature-api-check-defaults"],
24*b7c941bbSAndroid Build Coastguard Worker    java_resources: [
25*b7c941bbSAndroid Build Coastguard Worker        ":CtsSystemApiSignatureTestCases_system-all.api",
26*b7c941bbSAndroid Build Coastguard Worker        ":cts-current-api-gz",
27*b7c941bbSAndroid Build Coastguard Worker        ":cts-system-current-api-gz",
28*b7c941bbSAndroid Build Coastguard Worker        ":cts-system-removed-api-gz",
29*b7c941bbSAndroid Build Coastguard Worker    ],
30*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
31*b7c941bbSAndroid Build Coastguard Worker        "cts",
32*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
33*b7c941bbSAndroid Build Coastguard Worker    ],
34*b7c941bbSAndroid Build Coastguard Worker    sdk_version: "current",
35*b7c941bbSAndroid Build Coastguard Worker    dex_preopt: {
36*b7c941bbSAndroid Build Coastguard Worker        enabled: false,
37*b7c941bbSAndroid Build Coastguard Worker    },
38*b7c941bbSAndroid Build Coastguard Worker    optimize: {
39*b7c941bbSAndroid Build Coastguard Worker        enabled: false,
40*b7c941bbSAndroid Build Coastguard Worker    },
41*b7c941bbSAndroid Build Coastguard Worker    use_embedded_native_libs: false,
42*b7c941bbSAndroid Build Coastguard Worker}
43*b7c941bbSAndroid Build Coastguard Worker
44*b7c941bbSAndroid Build Coastguard Workergenrule {
45*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSystemApiSignatureTestCases_system-all.api",
46*b7c941bbSAndroid Build Coastguard Worker    srcs: [
47*b7c941bbSAndroid Build Coastguard Worker        ":prebuilt_sdk_system_api_android_txt",
48*b7c941bbSAndroid Build Coastguard Worker    ],
49*b7c941bbSAndroid Build Coastguard Worker    tools: [
50*b7c941bbSAndroid Build Coastguard Worker        "soong_zip",
51*b7c941bbSAndroid Build Coastguard Worker        "metalava",
52*b7c941bbSAndroid Build Coastguard Worker    ],
53*b7c941bbSAndroid Build Coastguard Worker    out: [
54*b7c941bbSAndroid Build Coastguard Worker        "system-all.api.zip",
55*b7c941bbSAndroid Build Coastguard Worker    ],
56*b7c941bbSAndroid Build Coastguard Worker    cmd: "for f in $(in); do " +
57*b7c941bbSAndroid Build Coastguard Worker        "  platformSdkVersion=$$(echo $${f} | awk -F/ '{print $$(3)}') && " +
58*b7c941bbSAndroid Build Coastguard Worker        "  if [ $${platformSdkVersion} -lt 28 ]; then continue; fi && " +
59*b7c941bbSAndroid Build Coastguard Worker        "  apiLevel=$$(echo $${f} | awk -F/ '{print $$(4)}') && " +
60*b7c941bbSAndroid Build Coastguard Worker        "  $(location metalava) -J--add-opens=java.base/java.util=ALL-UNNAMED " +
61*b7c941bbSAndroid Build Coastguard Worker        "  signature-to-jdiff $${f} $(genDir)/list/$${platformSdkVersion}-$${apiLevel}.api; " +
62*b7c941bbSAndroid Build Coastguard Worker        "done &&" +
63*b7c941bbSAndroid Build Coastguard Worker        "$(location soong_zip) -o $(out) -C $(genDir)/list -D $(genDir)/list",
64*b7c941bbSAndroid Build Coastguard Worker}
65