xref: /aosp_15_r20/frameworks/base/ravenwood/Framework.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1*d57664e9SAndroid Build Coastguard Worker// Copyright (C) 2024 The Android Open Source Project
2*d57664e9SAndroid Build Coastguard Worker//
3*d57664e9SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d57664e9SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d57664e9SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d57664e9SAndroid Build Coastguard Worker//
7*d57664e9SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*d57664e9SAndroid Build Coastguard Worker//
9*d57664e9SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d57664e9SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d57664e9SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d57664e9SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d57664e9SAndroid Build Coastguard Worker// limitations under the License.
14*d57664e9SAndroid Build Coastguard Worker
15*d57664e9SAndroid Build Coastguard Worker// This file hosts all the genrule and module definitions for all Android specific
16*d57664e9SAndroid Build Coastguard Worker// code that needs further post-processing by hoststubgen to support Ravenwood.
17*d57664e9SAndroid Build Coastguard Worker
18*d57664e9SAndroid Build Coastguard Worker/////////////////////////
19*d57664e9SAndroid Build Coastguard Worker// framework-minus-apex
20*d57664e9SAndroid Build Coastguard Worker/////////////////////////
21*d57664e9SAndroid Build Coastguard Worker
22*d57664e9SAndroid Build Coastguard Worker// Process framework-minus-apex with hoststubgen for Ravenwood.
23*d57664e9SAndroid Build Coastguard Worker// This step takes several tens of seconds, so we manually shard it to multiple modules.
24*d57664e9SAndroid Build Coastguard Worker// All the copies have to be kept in sync.
25*d57664e9SAndroid Build Coastguard Worker// TODO: Do the sharding better, either by making hostsubgen support sharding natively, or
26*d57664e9SAndroid Build Coastguard Worker// making a better build rule.
27*d57664e9SAndroid Build Coastguard Worker
28*d57664e9SAndroid Build Coastguard Workergenrule_defaults {
29*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_defaults",
30*d57664e9SAndroid Build Coastguard Worker    tools: ["hoststubgen"],
31*d57664e9SAndroid Build Coastguard Worker    srcs: [
32*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex-for-host",
33*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-common-policies",
34*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-framework-policies",
35*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-standard-options",
36*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-annotation-allowed-classes",
37*d57664e9SAndroid Build Coastguard Worker    ],
38*d57664e9SAndroid Build Coastguard Worker    out: [
39*d57664e9SAndroid Build Coastguard Worker        "ravenwood.jar",
40*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_framework-minus-apex.log",
41*d57664e9SAndroid Build Coastguard Worker    ],
42*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
43*d57664e9SAndroid Build Coastguard Worker}
44*d57664e9SAndroid Build Coastguard Worker
45*d57664e9SAndroid Build Coastguard Workerframework_minus_apex_cmd = "$(location hoststubgen) " +
46*d57664e9SAndroid Build Coastguard Worker    "@$(location :ravenwood-standard-options) " +
47*d57664e9SAndroid Build Coastguard Worker    "--debug-log $(location hoststubgen_framework-minus-apex.log) " +
48*d57664e9SAndroid Build Coastguard Worker    "--out-jar $(location ravenwood.jar) " +
49*d57664e9SAndroid Build Coastguard Worker    "--in-jar $(location :framework-minus-apex-for-host) " +
50*d57664e9SAndroid Build Coastguard Worker    "--policy-override-file $(location :ravenwood-common-policies) " +
51*d57664e9SAndroid Build Coastguard Worker    "--policy-override-file $(location :ravenwood-framework-policies) " +
52*d57664e9SAndroid Build Coastguard Worker    "--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) "
53*d57664e9SAndroid Build Coastguard Worker
54*d57664e9SAndroid Build Coastguard Workerjava_genrule {
55*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X0",
56*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
57*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 0",
58*d57664e9SAndroid Build Coastguard Worker}
59*d57664e9SAndroid Build Coastguard Worker
60*d57664e9SAndroid Build Coastguard Workerjava_genrule {
61*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X1",
62*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
63*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 1",
64*d57664e9SAndroid Build Coastguard Worker}
65*d57664e9SAndroid Build Coastguard Worker
66*d57664e9SAndroid Build Coastguard Workerjava_genrule {
67*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X2",
68*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
69*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 2",
70*d57664e9SAndroid Build Coastguard Worker}
71*d57664e9SAndroid Build Coastguard Worker
72*d57664e9SAndroid Build Coastguard Workerjava_genrule {
73*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X3",
74*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
75*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 3",
76*d57664e9SAndroid Build Coastguard Worker}
77*d57664e9SAndroid Build Coastguard Worker
78*d57664e9SAndroid Build Coastguard Workerjava_genrule {
79*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X4",
80*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
81*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 4",
82*d57664e9SAndroid Build Coastguard Worker}
83*d57664e9SAndroid Build Coastguard Worker
84*d57664e9SAndroid Build Coastguard Workerjava_genrule {
85*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X5",
86*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
87*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 5",
88*d57664e9SAndroid Build Coastguard Worker}
89*d57664e9SAndroid Build Coastguard Worker
90*d57664e9SAndroid Build Coastguard Workerjava_genrule {
91*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X6",
92*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
93*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 6",
94*d57664e9SAndroid Build Coastguard Worker}
95*d57664e9SAndroid Build Coastguard Worker
96*d57664e9SAndroid Build Coastguard Workerjava_genrule {
97*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X7",
98*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
99*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 7",
100*d57664e9SAndroid Build Coastguard Worker}
101*d57664e9SAndroid Build Coastguard Worker
102*d57664e9SAndroid Build Coastguard Workerjava_genrule {
103*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X8",
104*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
105*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 8",
106*d57664e9SAndroid Build Coastguard Worker}
107*d57664e9SAndroid Build Coastguard Worker
108*d57664e9SAndroid Build Coastguard Workerjava_genrule {
109*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_X9",
110*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
111*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd + " --num-shards 10 --shard-index 9",
112*d57664e9SAndroid Build Coastguard Worker}
113*d57664e9SAndroid Build Coastguard Worker
114*d57664e9SAndroid Build Coastguard Worker// Build framework-minus-apex.ravenwood-base without sharding.
115*d57664e9SAndroid Build Coastguard Worker// We extract the various dump files from this one, rather than the sharded ones, because
116*d57664e9SAndroid Build Coastguard Worker// some dumps use the output from other classes (e.g. base classes) which may not be in the
117*d57664e9SAndroid Build Coastguard Worker// same shard. Also some of the dump files ("apis") may be slow even when sharded, because
118*d57664e9SAndroid Build Coastguard Worker// the output contains the information from all the input classes, rather than the output classes.
119*d57664e9SAndroid Build Coastguard Worker// Not using sharding is fine for this module because it's only used for collecting the
120*d57664e9SAndroid Build Coastguard Worker// dump / stats files, which don't have to happen regularly.
121*d57664e9SAndroid Build Coastguard Workerjava_genrule {
122*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood-base_all",
123*d57664e9SAndroid Build Coastguard Worker    defaults: ["framework-minus-apex.ravenwood-base_defaults"],
124*d57664e9SAndroid Build Coastguard Worker    cmd: framework_minus_apex_cmd +
125*d57664e9SAndroid Build Coastguard Worker        "--stats-file $(location hoststubgen_framework-minus-apex_stats.csv) " +
126*d57664e9SAndroid Build Coastguard Worker        "--supported-api-list-file $(location hoststubgen_framework-minus-apex_apis.csv) " +
127*d57664e9SAndroid Build Coastguard Worker
128*d57664e9SAndroid Build Coastguard Worker        "--gen-keep-all-file $(location hoststubgen_framework-minus-apex_keep_all.txt) " +
129*d57664e9SAndroid Build Coastguard Worker        "--gen-input-dump-file $(location hoststubgen_framework-minus-apex_dump.txt) ",
130*d57664e9SAndroid Build Coastguard Worker
131*d57664e9SAndroid Build Coastguard Worker    out: [
132*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_framework-minus-apex_keep_all.txt",
133*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_framework-minus-apex_dump.txt",
134*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_framework-minus-apex_stats.csv",
135*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_framework-minus-apex_apis.csv",
136*d57664e9SAndroid Build Coastguard Worker    ],
137*d57664e9SAndroid Build Coastguard Worker}
138*d57664e9SAndroid Build Coastguard Worker
139*d57664e9SAndroid Build Coastguard Worker// Marge all the sharded jars
140*d57664e9SAndroid Build Coastguard Workerjava_genrule {
141*d57664e9SAndroid Build Coastguard Worker    name: "framework-minus-apex.ravenwood",
142*d57664e9SAndroid Build Coastguard Worker    defaults: ["ravenwood-internal-only-visibility-java"],
143*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location merge_zips) $(out) $(in)",
144*d57664e9SAndroid Build Coastguard Worker    tools: ["merge_zips"],
145*d57664e9SAndroid Build Coastguard Worker    srcs: [
146*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X0{ravenwood.jar}",
147*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X1{ravenwood.jar}",
148*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X2{ravenwood.jar}",
149*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X3{ravenwood.jar}",
150*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X4{ravenwood.jar}",
151*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X5{ravenwood.jar}",
152*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X6{ravenwood.jar}",
153*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X7{ravenwood.jar}",
154*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X8{ravenwood.jar}",
155*d57664e9SAndroid Build Coastguard Worker        ":framework-minus-apex.ravenwood-base_X9{ravenwood.jar}",
156*d57664e9SAndroid Build Coastguard Worker    ],
157*d57664e9SAndroid Build Coastguard Worker    out: [
158*d57664e9SAndroid Build Coastguard Worker        "framework-minus-apex.ravenwood.jar",
159*d57664e9SAndroid Build Coastguard Worker    ],
160*d57664e9SAndroid Build Coastguard Worker}
161*d57664e9SAndroid Build Coastguard Worker
162*d57664e9SAndroid Build Coastguard Worker//////////////////
163*d57664e9SAndroid Build Coastguard Worker// services.core
164*d57664e9SAndroid Build Coastguard Worker//////////////////
165*d57664e9SAndroid Build Coastguard Worker
166*d57664e9SAndroid Build Coastguard Workerjava_library {
167*d57664e9SAndroid Build Coastguard Worker    name: "services.core-for-host",
168*d57664e9SAndroid Build Coastguard Worker    installable: false, // host only jar.
169*d57664e9SAndroid Build Coastguard Worker    static_libs: [
170*d57664e9SAndroid Build Coastguard Worker        "services.core",
171*d57664e9SAndroid Build Coastguard Worker    ],
172*d57664e9SAndroid Build Coastguard Worker    sdk_version: "core_platform",
173*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
174*d57664e9SAndroid Build Coastguard Worker}
175*d57664e9SAndroid Build Coastguard Worker
176*d57664e9SAndroid Build Coastguard Workerjava_genrule {
177*d57664e9SAndroid Build Coastguard Worker    name: "services.core.ravenwood-base",
178*d57664e9SAndroid Build Coastguard Worker    tools: ["hoststubgen"],
179*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location hoststubgen) " +
180*d57664e9SAndroid Build Coastguard Worker        "@$(location :ravenwood-standard-options) " +
181*d57664e9SAndroid Build Coastguard Worker
182*d57664e9SAndroid Build Coastguard Worker        "--debug-log $(location hoststubgen_services.core.log) " +
183*d57664e9SAndroid Build Coastguard Worker        "--stats-file $(location hoststubgen_services.core_stats.csv) " +
184*d57664e9SAndroid Build Coastguard Worker        "--supported-api-list-file $(location hoststubgen_services.core_apis.csv) " +
185*d57664e9SAndroid Build Coastguard Worker        "--gen-keep-all-file $(location hoststubgen_services.core_keep_all.txt) " +
186*d57664e9SAndroid Build Coastguard Worker        "--gen-input-dump-file $(location hoststubgen_services.core_dump.txt) " +
187*d57664e9SAndroid Build Coastguard Worker
188*d57664e9SAndroid Build Coastguard Worker        "--out-jar $(location ravenwood.jar) " +
189*d57664e9SAndroid Build Coastguard Worker        "--in-jar $(location :services.core-for-host) " +
190*d57664e9SAndroid Build Coastguard Worker
191*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :ravenwood-common-policies) " +
192*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :ravenwood-services-policies) " +
193*d57664e9SAndroid Build Coastguard Worker        "--annotation-allowed-classes-file $(location :ravenwood-annotation-allowed-classes) ",
194*d57664e9SAndroid Build Coastguard Worker    srcs: [
195*d57664e9SAndroid Build Coastguard Worker        ":services.core-for-host",
196*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-common-policies",
197*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-services-policies",
198*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-standard-options",
199*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-annotation-allowed-classes",
200*d57664e9SAndroid Build Coastguard Worker    ],
201*d57664e9SAndroid Build Coastguard Worker    out: [
202*d57664e9SAndroid Build Coastguard Worker        "ravenwood.jar",
203*d57664e9SAndroid Build Coastguard Worker
204*d57664e9SAndroid Build Coastguard Worker        // Following files are created just as FYI.
205*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_services.core_keep_all.txt",
206*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_services.core_dump.txt",
207*d57664e9SAndroid Build Coastguard Worker
208*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_services.core.log",
209*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_services.core_stats.csv",
210*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_services.core_apis.csv",
211*d57664e9SAndroid Build Coastguard Worker    ],
212*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
213*d57664e9SAndroid Build Coastguard Worker}
214*d57664e9SAndroid Build Coastguard Worker
215*d57664e9SAndroid Build Coastguard Workerjava_genrule {
216*d57664e9SAndroid Build Coastguard Worker    name: "services.core.ravenwood",
217*d57664e9SAndroid Build Coastguard Worker    // This is used by unit tests too (so tests will be able to access HSG-processed implementation)
218*d57664e9SAndroid Build Coastguard Worker    // so it's visible to all.
219*d57664e9SAndroid Build Coastguard Worker    cmd: "cp $(in) $(out)",
220*d57664e9SAndroid Build Coastguard Worker    srcs: [
221*d57664e9SAndroid Build Coastguard Worker        ":services.core.ravenwood-base{ravenwood.jar}",
222*d57664e9SAndroid Build Coastguard Worker    ],
223*d57664e9SAndroid Build Coastguard Worker    out: [
224*d57664e9SAndroid Build Coastguard Worker        "services.core.ravenwood.jar",
225*d57664e9SAndroid Build Coastguard Worker    ],
226*d57664e9SAndroid Build Coastguard Worker}
227*d57664e9SAndroid Build Coastguard Worker
228*d57664e9SAndroid Build Coastguard Worker// TODO(b/313930116) This jarjar is a bit slow. We should use hoststubgen for renaming,
229*d57664e9SAndroid Build Coastguard Worker// but services.core.ravenwood has complex dependencies, so it'll take more than
230*d57664e9SAndroid Build Coastguard Worker// just using hoststubgen "rename"s.
231*d57664e9SAndroid Build Coastguard Workerjava_library {
232*d57664e9SAndroid Build Coastguard Worker    name: "services.core.ravenwood-jarjar",
233*d57664e9SAndroid Build Coastguard Worker    defaults: ["ravenwood-internal-only-visibility-java"],
234*d57664e9SAndroid Build Coastguard Worker    installable: false,
235*d57664e9SAndroid Build Coastguard Worker    static_libs: [
236*d57664e9SAndroid Build Coastguard Worker        "services.core.ravenwood",
237*d57664e9SAndroid Build Coastguard Worker    ],
238*d57664e9SAndroid Build Coastguard Worker    jarjar_rules: ":ravenwood-services-jarjar-rules",
239*d57664e9SAndroid Build Coastguard Worker}
240*d57664e9SAndroid Build Coastguard Worker
241*d57664e9SAndroid Build Coastguard Worker///////////////
242*d57664e9SAndroid Build Coastguard Worker// core-icu4j
243*d57664e9SAndroid Build Coastguard Worker///////////////
244*d57664e9SAndroid Build Coastguard Worker
245*d57664e9SAndroid Build Coastguard Workerjava_genrule {
246*d57664e9SAndroid Build Coastguard Worker    name: "core-icu4j-for-host.ravenwood-base",
247*d57664e9SAndroid Build Coastguard Worker    tools: ["hoststubgen"],
248*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location hoststubgen) " +
249*d57664e9SAndroid Build Coastguard Worker        "@$(location :ravenwood-standard-options) " +
250*d57664e9SAndroid Build Coastguard Worker
251*d57664e9SAndroid Build Coastguard Worker        "--debug-log $(location hoststubgen_core-icu4j-for-host.log) " +
252*d57664e9SAndroid Build Coastguard Worker        "--stats-file $(location hoststubgen_core-icu4j-for-host_stats.csv) " +
253*d57664e9SAndroid Build Coastguard Worker        "--supported-api-list-file $(location hoststubgen_core-icu4j-for-host_apis.csv) " +
254*d57664e9SAndroid Build Coastguard Worker        "--gen-keep-all-file $(location hoststubgen_core-icu4j-for-host_keep_all.txt) " +
255*d57664e9SAndroid Build Coastguard Worker        "--gen-input-dump-file $(location hoststubgen_core-icu4j-for-host_dump.txt) " +
256*d57664e9SAndroid Build Coastguard Worker
257*d57664e9SAndroid Build Coastguard Worker        "--out-jar $(location ravenwood.jar) " +
258*d57664e9SAndroid Build Coastguard Worker        "--in-jar $(location :core-icu4j-for-host) " +
259*d57664e9SAndroid Build Coastguard Worker
260*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :ravenwood-common-policies) " +
261*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :icu-ravenwood-policies) ",
262*d57664e9SAndroid Build Coastguard Worker    srcs: [
263*d57664e9SAndroid Build Coastguard Worker        ":core-icu4j-for-host",
264*d57664e9SAndroid Build Coastguard Worker
265*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-common-policies",
266*d57664e9SAndroid Build Coastguard Worker        ":icu-ravenwood-policies",
267*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-standard-options",
268*d57664e9SAndroid Build Coastguard Worker    ],
269*d57664e9SAndroid Build Coastguard Worker    out: [
270*d57664e9SAndroid Build Coastguard Worker        "ravenwood.jar",
271*d57664e9SAndroid Build Coastguard Worker
272*d57664e9SAndroid Build Coastguard Worker        // Following files are created just as FYI.
273*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_core-icu4j-for-host_keep_all.txt",
274*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_core-icu4j-for-host_dump.txt",
275*d57664e9SAndroid Build Coastguard Worker
276*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_core-icu4j-for-host.log",
277*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_core-icu4j-for-host_stats.csv",
278*d57664e9SAndroid Build Coastguard Worker        "hoststubgen_core-icu4j-for-host_apis.csv",
279*d57664e9SAndroid Build Coastguard Worker    ],
280*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
281*d57664e9SAndroid Build Coastguard Worker}
282*d57664e9SAndroid Build Coastguard Worker
283*d57664e9SAndroid Build Coastguard Workerjava_genrule {
284*d57664e9SAndroid Build Coastguard Worker    name: "core-icu4j-for-host.ravenwood",
285*d57664e9SAndroid Build Coastguard Worker    defaults: ["ravenwood-internal-only-visibility-genrule"],
286*d57664e9SAndroid Build Coastguard Worker    cmd: "cp $(in) $(out)",
287*d57664e9SAndroid Build Coastguard Worker    srcs: [
288*d57664e9SAndroid Build Coastguard Worker        ":core-icu4j-for-host.ravenwood-base{ravenwood.jar}",
289*d57664e9SAndroid Build Coastguard Worker    ],
290*d57664e9SAndroid Build Coastguard Worker    out: [
291*d57664e9SAndroid Build Coastguard Worker        "core-icu4j-for-host.ravenwood.jar",
292*d57664e9SAndroid Build Coastguard Worker    ],
293*d57664e9SAndroid Build Coastguard Worker}
294*d57664e9SAndroid Build Coastguard Worker
295*d57664e9SAndroid Build Coastguard Worker///////////////////////////////////
296*d57664e9SAndroid Build Coastguard Worker// framework-configinfrastructure
297*d57664e9SAndroid Build Coastguard Worker///////////////////////////////////
298*d57664e9SAndroid Build Coastguard Worker
299*d57664e9SAndroid Build Coastguard Workerjava_genrule {
300*d57664e9SAndroid Build Coastguard Worker    name: "framework-configinfrastructure.ravenwood-base",
301*d57664e9SAndroid Build Coastguard Worker    tools: ["hoststubgen"],
302*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location hoststubgen) " +
303*d57664e9SAndroid Build Coastguard Worker        "@$(location :ravenwood-standard-options) " +
304*d57664e9SAndroid Build Coastguard Worker
305*d57664e9SAndroid Build Coastguard Worker        "--debug-log $(location framework-configinfrastructure.log) " +
306*d57664e9SAndroid Build Coastguard Worker        "--stats-file $(location framework-configinfrastructure_stats.csv) " +
307*d57664e9SAndroid Build Coastguard Worker        "--supported-api-list-file $(location framework-configinfrastructure_apis.csv) " +
308*d57664e9SAndroid Build Coastguard Worker        "--gen-keep-all-file $(location framework-configinfrastructure_keep_all.txt) " +
309*d57664e9SAndroid Build Coastguard Worker        "--gen-input-dump-file $(location framework-configinfrastructure_dump.txt) " +
310*d57664e9SAndroid Build Coastguard Worker
311*d57664e9SAndroid Build Coastguard Worker        "--out-impl-jar $(location ravenwood.jar) " +
312*d57664e9SAndroid Build Coastguard Worker        "--in-jar $(location :framework-configinfrastructure.impl{.jar}) " +
313*d57664e9SAndroid Build Coastguard Worker
314*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :ravenwood-common-policies) " +
315*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :framework-configinfrastructure-ravenwood-policies) ",
316*d57664e9SAndroid Build Coastguard Worker    srcs: [
317*d57664e9SAndroid Build Coastguard Worker        ":framework-configinfrastructure.impl{.jar}",
318*d57664e9SAndroid Build Coastguard Worker
319*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-common-policies",
320*d57664e9SAndroid Build Coastguard Worker        ":framework-configinfrastructure-ravenwood-policies",
321*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-standard-options",
322*d57664e9SAndroid Build Coastguard Worker    ],
323*d57664e9SAndroid Build Coastguard Worker    out: [
324*d57664e9SAndroid Build Coastguard Worker        "ravenwood.jar",
325*d57664e9SAndroid Build Coastguard Worker
326*d57664e9SAndroid Build Coastguard Worker        // Following files are created just as FYI.
327*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure_keep_all.txt",
328*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure_dump.txt",
329*d57664e9SAndroid Build Coastguard Worker
330*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure.log",
331*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure_stats.csv",
332*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure_apis.csv",
333*d57664e9SAndroid Build Coastguard Worker    ],
334*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
335*d57664e9SAndroid Build Coastguard Worker}
336*d57664e9SAndroid Build Coastguard Worker
337*d57664e9SAndroid Build Coastguard Workerjava_genrule {
338*d57664e9SAndroid Build Coastguard Worker    name: "framework-configinfrastructure.ravenwood",
339*d57664e9SAndroid Build Coastguard Worker    defaults: ["ravenwood-internal-only-visibility-genrule"],
340*d57664e9SAndroid Build Coastguard Worker    cmd: "cp $(in) $(out)",
341*d57664e9SAndroid Build Coastguard Worker    srcs: [
342*d57664e9SAndroid Build Coastguard Worker        ":framework-configinfrastructure.ravenwood-base{ravenwood.jar}",
343*d57664e9SAndroid Build Coastguard Worker    ],
344*d57664e9SAndroid Build Coastguard Worker    out: [
345*d57664e9SAndroid Build Coastguard Worker        "framework-configinfrastructure.ravenwood.jar",
346*d57664e9SAndroid Build Coastguard Worker    ],
347*d57664e9SAndroid Build Coastguard Worker}
348*d57664e9SAndroid Build Coastguard Worker
349*d57664e9SAndroid Build Coastguard Worker///////////////////////////////////
350*d57664e9SAndroid Build Coastguard Worker// framework-statsd
351*d57664e9SAndroid Build Coastguard Worker///////////////////////////////////
352*d57664e9SAndroid Build Coastguard Worker
353*d57664e9SAndroid Build Coastguard Workerjava_genrule {
354*d57664e9SAndroid Build Coastguard Worker    name: "framework-statsd.ravenwood-base",
355*d57664e9SAndroid Build Coastguard Worker    tools: ["hoststubgen"],
356*d57664e9SAndroid Build Coastguard Worker    cmd: "$(location hoststubgen) " +
357*d57664e9SAndroid Build Coastguard Worker        "@$(location :ravenwood-standard-options) " +
358*d57664e9SAndroid Build Coastguard Worker
359*d57664e9SAndroid Build Coastguard Worker        "--debug-log $(location framework-statsd.log) " +
360*d57664e9SAndroid Build Coastguard Worker        "--stats-file $(location framework-statsd_stats.csv) " +
361*d57664e9SAndroid Build Coastguard Worker        "--supported-api-list-file $(location framework-statsd_apis.csv) " +
362*d57664e9SAndroid Build Coastguard Worker        "--gen-keep-all-file $(location framework-statsd_keep_all.txt) " +
363*d57664e9SAndroid Build Coastguard Worker        "--gen-input-dump-file $(location framework-statsd_dump.txt) " +
364*d57664e9SAndroid Build Coastguard Worker
365*d57664e9SAndroid Build Coastguard Worker        "--out-impl-jar $(location ravenwood.jar) " +
366*d57664e9SAndroid Build Coastguard Worker        "--in-jar $(location :framework-statsd.impl{.jar}) " +
367*d57664e9SAndroid Build Coastguard Worker
368*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :ravenwood-common-policies) " +
369*d57664e9SAndroid Build Coastguard Worker        "--policy-override-file $(location :framework-statsd-ravenwood-policies) ",
370*d57664e9SAndroid Build Coastguard Worker    srcs: [
371*d57664e9SAndroid Build Coastguard Worker        ":framework-statsd.impl{.jar}",
372*d57664e9SAndroid Build Coastguard Worker
373*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-common-policies",
374*d57664e9SAndroid Build Coastguard Worker        ":framework-statsd-ravenwood-policies",
375*d57664e9SAndroid Build Coastguard Worker        ":ravenwood-standard-options",
376*d57664e9SAndroid Build Coastguard Worker    ],
377*d57664e9SAndroid Build Coastguard Worker    out: [
378*d57664e9SAndroid Build Coastguard Worker        "ravenwood.jar",
379*d57664e9SAndroid Build Coastguard Worker
380*d57664e9SAndroid Build Coastguard Worker        // Following files are created just as FYI.
381*d57664e9SAndroid Build Coastguard Worker        "framework-statsd_keep_all.txt",
382*d57664e9SAndroid Build Coastguard Worker        "framework-statsd_dump.txt",
383*d57664e9SAndroid Build Coastguard Worker
384*d57664e9SAndroid Build Coastguard Worker        "framework-statsd.log",
385*d57664e9SAndroid Build Coastguard Worker        "framework-statsd_stats.csv",
386*d57664e9SAndroid Build Coastguard Worker        "framework-statsd_apis.csv",
387*d57664e9SAndroid Build Coastguard Worker    ],
388*d57664e9SAndroid Build Coastguard Worker    visibility: ["//visibility:private"],
389*d57664e9SAndroid Build Coastguard Worker}
390*d57664e9SAndroid Build Coastguard Worker
391*d57664e9SAndroid Build Coastguard Workerjava_genrule {
392*d57664e9SAndroid Build Coastguard Worker    name: "framework-statsd.ravenwood",
393*d57664e9SAndroid Build Coastguard Worker    defaults: ["ravenwood-internal-only-visibility-genrule"],
394*d57664e9SAndroid Build Coastguard Worker    cmd: "cp $(in) $(out)",
395*d57664e9SAndroid Build Coastguard Worker    srcs: [
396*d57664e9SAndroid Build Coastguard Worker        ":framework-statsd.ravenwood-base{ravenwood.jar}",
397*d57664e9SAndroid Build Coastguard Worker    ],
398*d57664e9SAndroid Build Coastguard Worker    out: [
399*d57664e9SAndroid Build Coastguard Worker        "framework-statsd.ravenwood.jar",
400*d57664e9SAndroid Build Coastguard Worker    ],
401*d57664e9SAndroid Build Coastguard Worker}
402