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