1*f1fd37cbSAndroid Build Coastguard Worker// 2*f1fd37cbSAndroid Build Coastguard Worker// Copyright (C) 2021 The Android Open Source Project 3*f1fd37cbSAndroid Build Coastguard Worker// 4*f1fd37cbSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*f1fd37cbSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*f1fd37cbSAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*f1fd37cbSAndroid Build Coastguard Worker// 8*f1fd37cbSAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*f1fd37cbSAndroid Build Coastguard Worker// 10*f1fd37cbSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*f1fd37cbSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*f1fd37cbSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*f1fd37cbSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*f1fd37cbSAndroid Build Coastguard Worker// limitations under the License. 15*f1fd37cbSAndroid Build Coastguard Worker 16*f1fd37cbSAndroid Build Coastguard Workerpackage { 17*f1fd37cbSAndroid Build Coastguard Worker default_applicable_licenses: ["prebuilts_r8_license"], 18*f1fd37cbSAndroid Build Coastguard Worker} 19*f1fd37cbSAndroid Build Coastguard Worker 20*f1fd37cbSAndroid Build Coastguard Worker// Added automatically by a large-scale-change that took the approach of 21*f1fd37cbSAndroid Build Coastguard Worker// 'apply every license found to every target'. While this makes sure we respect 22*f1fd37cbSAndroid Build Coastguard Worker// every license restriction, it may not be entirely correct. 23*f1fd37cbSAndroid Build Coastguard Worker// 24*f1fd37cbSAndroid Build Coastguard Worker// e.g. GPL in an MIT project might only apply to the contrib/ directory. 25*f1fd37cbSAndroid Build Coastguard Worker// 26*f1fd37cbSAndroid Build Coastguard Worker// Please consider splitting the single license below into multiple licenses, 27*f1fd37cbSAndroid Build Coastguard Worker// taking care not to lose any license_kind information, and overriding the 28*f1fd37cbSAndroid Build Coastguard Worker// default license using the 'licenses: [...]' property on targets as needed. 29*f1fd37cbSAndroid Build Coastguard Worker// 30*f1fd37cbSAndroid Build Coastguard Worker// For unused files, consider creating a 'fileGroup' with "//visibility:private" 31*f1fd37cbSAndroid Build Coastguard Worker// to attach the license to, and including a comment whether the files may be 32*f1fd37cbSAndroid Build Coastguard Worker// used in the current project. 33*f1fd37cbSAndroid Build Coastguard Worker// 34*f1fd37cbSAndroid Build Coastguard Worker// large-scale-change included anything that looked like it might be a license 35*f1fd37cbSAndroid Build Coastguard Worker// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc. 36*f1fd37cbSAndroid Build Coastguard Worker// 37*f1fd37cbSAndroid Build Coastguard Worker// Please consider removing redundant or irrelevant files from 'license_text:'. 38*f1fd37cbSAndroid Build Coastguard Worker// See: http://go/android-license-faq 39*f1fd37cbSAndroid Build Coastguard Workerlicense { 40*f1fd37cbSAndroid Build Coastguard Worker name: "prebuilts_r8_license", 41*f1fd37cbSAndroid Build Coastguard Worker visibility: [":__subpackages__"], 42*f1fd37cbSAndroid Build Coastguard Worker license_kinds: [ 43*f1fd37cbSAndroid Build Coastguard Worker "SPDX-license-identifier-Apache-2.0", 44*f1fd37cbSAndroid Build Coastguard Worker "SPDX-license-identifier-BSD", 45*f1fd37cbSAndroid Build Coastguard Worker "SPDX-license-identifier-GPL", 46*f1fd37cbSAndroid Build Coastguard Worker "SPDX-license-identifier-MIT", 47*f1fd37cbSAndroid Build Coastguard Worker ], 48*f1fd37cbSAndroid Build Coastguard Worker license_text: [ 49*f1fd37cbSAndroid Build Coastguard Worker "LICENSE", 50*f1fd37cbSAndroid Build Coastguard Worker "NOTICE", 51*f1fd37cbSAndroid Build Coastguard Worker ], 52*f1fd37cbSAndroid Build Coastguard Worker} 53*f1fd37cbSAndroid Build Coastguard Worker 54*f1fd37cbSAndroid Build Coastguard Workerjava_binary_host { 55*f1fd37cbSAndroid Build Coastguard Worker name: "d8", 56*f1fd37cbSAndroid Build Coastguard Worker wrapper: "d8", 57*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib"], 58*f1fd37cbSAndroid Build Coastguard Worker target: { 59*f1fd37cbSAndroid Build Coastguard Worker windows: { 60*f1fd37cbSAndroid Build Coastguard Worker enabled: true, 61*f1fd37cbSAndroid Build Coastguard Worker wrapper: "d8.bat", 62*f1fd37cbSAndroid Build Coastguard Worker }, 63*f1fd37cbSAndroid Build Coastguard Worker }, 64*f1fd37cbSAndroid Build Coastguard Worker} 65*f1fd37cbSAndroid Build Coastguard Worker 66*f1fd37cbSAndroid Build Coastguard Workerjava_binary_host { 67*f1fd37cbSAndroid Build Coastguard Worker name: "r8-compat-proguard", 68*f1fd37cbSAndroid Build Coastguard Worker main_class: "com.android.tools.r8.compatproguard.CompatProguard", 69*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib"], 70*f1fd37cbSAndroid Build Coastguard Worker} 71*f1fd37cbSAndroid Build Coastguard Worker 72*f1fd37cbSAndroid Build Coastguard Workerjava_binary_host { 73*f1fd37cbSAndroid Build Coastguard Worker name: "r8", 74*f1fd37cbSAndroid Build Coastguard Worker main_class: "com.android.tools.r8wrappers.R8Wrapper", 75*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib"] 76*f1fd37cbSAndroid Build Coastguard Worker} 77*f1fd37cbSAndroid Build Coastguard Worker 78*f1fd37cbSAndroid Build Coastguard Workerjava_binary_host { 79*f1fd37cbSAndroid Build Coastguard Worker name: "retrace", 80*f1fd37cbSAndroid Build Coastguard Worker main_class: "com.android.tools.r8wrappers.retrace.RetraceWrapper", 81*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib"], 82*f1fd37cbSAndroid Build Coastguard Worker} 83*f1fd37cbSAndroid Build Coastguard Worker 84*f1fd37cbSAndroid Build Coastguard Workerjava_binary_host { 85*f1fd37cbSAndroid Build Coastguard Worker name: "extractmarker", 86*f1fd37cbSAndroid Build Coastguard Worker main_class: "com.android.tools.r8.ExtractMarker", 87*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib"], 88*f1fd37cbSAndroid Build Coastguard Worker wrapper: "extractmarker.sh", 89*f1fd37cbSAndroid Build Coastguard Worker} 90*f1fd37cbSAndroid Build Coastguard Worker 91*f1fd37cbSAndroid Build Coastguard Workerjava_library_host { 92*f1fd37cbSAndroid Build Coastguard Worker name: "r8lib", 93*f1fd37cbSAndroid Build Coastguard Worker srcs: ["src/**/*.java"], 94*f1fd37cbSAndroid Build Coastguard Worker static_libs: ["r8lib-prebuilt"], 95*f1fd37cbSAndroid Build Coastguard Worker target: { 96*f1fd37cbSAndroid Build Coastguard Worker windows: { 97*f1fd37cbSAndroid Build Coastguard Worker enabled: true, 98*f1fd37cbSAndroid Build Coastguard Worker }, 99*f1fd37cbSAndroid Build Coastguard Worker }, 100*f1fd37cbSAndroid Build Coastguard Worker} 101*f1fd37cbSAndroid Build Coastguard Worker 102*f1fd37cbSAndroid Build Coastguard Workerfilegroup { 103*f1fd37cbSAndroid Build Coastguard Worker name: "r8.jar.map", 104*f1fd37cbSAndroid Build Coastguard Worker srcs: ["r8.jar.map"], 105*f1fd37cbSAndroid Build Coastguard Worker} 106*f1fd37cbSAndroid Build Coastguard Worker 107*f1fd37cbSAndroid Build Coastguard Workerjava_import_host { 108*f1fd37cbSAndroid Build Coastguard Worker name: "r8lib-prebuilt", 109*f1fd37cbSAndroid Build Coastguard Worker jars: ["r8.jar"], 110*f1fd37cbSAndroid Build Coastguard Worker target: { 111*f1fd37cbSAndroid Build Coastguard Worker windows: { 112*f1fd37cbSAndroid Build Coastguard Worker enabled: true, 113*f1fd37cbSAndroid Build Coastguard Worker }, 114*f1fd37cbSAndroid Build Coastguard Worker }, 115*f1fd37cbSAndroid Build Coastguard Worker} 116*f1fd37cbSAndroid Build Coastguard Worker 117*f1fd37cbSAndroid Build Coastguard Worker// Library of "keep" annotations for instructing the R8 code shrinker. 118*f1fd37cbSAndroid Build Coastguard Worker// The R8 keep annotations are part of an experimental alternative to 119*f1fd37cbSAndroid Build Coastguard Worker// the use of "keep rules". More information can be found in b/248408342. 120*f1fd37cbSAndroid Build Coastguard Workerjava_import { 121*f1fd37cbSAndroid Build Coastguard Worker name: "keepanno-annotations", 122*f1fd37cbSAndroid Build Coastguard Worker jars: ["keepanno-annotations.jar"], 123*f1fd37cbSAndroid Build Coastguard Worker} 124