blob: 432b84e5ff90f66075ac871fd64149058a172fbf [file] [log] [blame]
Jeremy Meyer16c83af2024-07-26 16:21:49 -07001// Copyright (C) 2024 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
15package {
16 // See: http://go/android-license-faq
17 // A large-scale-change added 'default_applicable_licenses' to import
18 // all of the 'license_kinds' from "frameworks_base_license"
19 // to get the below license kinds:
20 // SPDX-license-identifier-Apache-2.0
21 default_applicable_licenses: ["frameworks_base_license"],
22 default_team: "trendy_team_android_resources",
23}
24
25genrule {
26 name: "resource-flagging-test-app-compile",
27 tools: ["aapt2"],
28 srcs: [
29 "res/values/bools.xml",
30 "res/values/bools2.xml",
Jeremy Meyerd52bd682024-08-14 11:16:58 -070031 "res/values/ints.xml",
Jeremy Meyer16c83af2024-07-26 16:21:49 -070032 "res/values/strings.xml",
Jeremy Meyer74684032024-08-20 14:10:59 -070033 "res/layout/layout1.xml",
Jeremy Meyer988be5d2024-09-03 16:31:54 -070034 "res/flag(test.package.falseFlag)/values/bools.xml",
35 "res/values/flag(test.package.trueFlag)/bools.xml",
36 "res/values/flag(!test.package.trueFlag)/bools.xml",
37 "res/values/flag(!test.package.falseFlag)/bools.xml",
Jeremy Meyer16c83af2024-07-26 16:21:49 -070038 ],
39 out: [
40 "values_bools.arsc.flat",
Jeremy Meyer988be5d2024-09-03 16:31:54 -070041 "values_bools.(test.package.falseFlag).arsc.flat",
42 "values_bools.(test.package.trueFlag).arsc.flat",
43 "values_bools.(!test.package.falseFlag).arsc.flat",
44 "values_bools.(!test.package.trueFlag).arsc.flat",
Jeremy Meyer16c83af2024-07-26 16:21:49 -070045 "values_bools2.arsc.flat",
Jeremy Meyerd52bd682024-08-14 11:16:58 -070046 "values_ints.arsc.flat",
Jeremy Meyer16c83af2024-07-26 16:21:49 -070047 "values_strings.arsc.flat",
Jeremy Meyer74684032024-08-20 14:10:59 -070048 "layout_layout1.xml.flat",
Jeremy Meyer16c83af2024-07-26 16:21:49 -070049 ],
50 cmd: "$(location aapt2) compile $(in) -o $(genDir) " +
51 "--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
52}
53
54genrule {
55 name: "resource-flagging-test-app-apk",
56 tools: ["aapt2"],
57 // The first input file in the list must be the manifest
58 srcs: [
59 "AndroidManifest.xml",
60 ":resource-flagging-test-app-compile",
61 ],
Jeremy Meyer423c0f52024-08-02 12:06:54 -070062 out: [
63 "resapp.apk",
64 ],
Jeremy Meyer74684032024-08-20 14:10:59 -070065 cmd: "$(location aapt2) link -o $(out) --manifest $(in) " +
66 "-I $(location :current_android_jar) " +
67 "--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
68 tool_files: [":current_android_jar"],
Jeremy Meyer16c83af2024-07-26 16:21:49 -070069}
70
Jeremy Meyer423c0f52024-08-02 12:06:54 -070071genrule {
72 name: "resource-flagging-test-app-r-java",
73 tools: ["aapt2"],
74 // The first input file in the list must be the manifest
75 srcs: [
76 "AndroidManifest.xml",
77 ":resource-flagging-test-app-compile",
78 ],
79 out: [
80 "resource-flagging-java/com/android/intenal/flaggedresources/R.java",
81 ],
Jeremy Meyer74684032024-08-20 14:10:59 -070082 cmd: "$(location aapt2) link -o $(genDir)/resapp.apk --java $(genDir)/resource-flagging-java --manifest $(in) " +
83 "-I $(location :current_android_jar) " +
84 "--feature-flags test.package.falseFlag:ro=false,test.package.trueFlag:ro=true",
85 tool_files: [":current_android_jar"],
Jeremy Meyer423c0f52024-08-02 12:06:54 -070086}
87
Jeremy Meyer16c83af2024-07-26 16:21:49 -070088java_genrule {
89 name: "resource-flagging-test-app-apk-as-resource",
90 srcs: [
91 ":resource-flagging-test-app-apk",
92 ],
93 out: ["apks_as_resources.res.zip"],
94 tools: ["soong_zip"],
95
96 cmd: "mkdir -p $(genDir)/res/raw && " +
97 "cp $(in) $(genDir)/res/raw/$$(basename $(in)) && " +
98 "$(location soong_zip) -o $(out) -C $(genDir)/res -D $(genDir)/res",
99}