blob: fa0eb3fd58028382b29302f2bc0168abef604006 [file] [log] [blame]
Paul Duffina80fdec2019-12-03 15:25:00 +00001// Copyright (C) 2019 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 sdk
16
17import (
18 "testing"
Paul Duffincee7e662020-07-09 17:32:57 +010019
Paul Duffin4a2a29c2021-03-09 22:27:13 +000020 "android/soong/android"
Paul Duffincee7e662020-07-09 17:32:57 +010021 "android/soong/java"
Paul Duffina80fdec2019-12-03 15:25:00 +000022)
23
Paul Duffind14cbc12021-03-18 09:14:23 +000024var prepareForSdkTestWithJava = android.GroupFixturePreparers(
25 java.PrepareForTestWithJavaBuildComponents,
26 PrepareForTestWithSdkBuildComponents,
27)
28
Paul Duffin9ec86b12021-03-15 11:17:52 +000029var prepareForSdkTestWithJavaSdkLibrary = android.GroupFixturePreparers(
30 prepareForSdkTestWithJava,
31 java.PrepareForTestWithJavaDefaultModules,
32 java.PrepareForTestWithJavaSdkLibraryFiles,
33 java.FixtureWithLastReleaseApis("myjavalib"),
34)
35
Paul Duffina80fdec2019-12-03 15:25:00 +000036// Contains tests for SDK members provided by the java package.
37
Paul Duffincee7e662020-07-09 17:32:57 +010038func TestSdkDependsOnSourceEvenWhenPrebuiltPreferred(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000039 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffincee7e662020-07-09 17:32:57 +010040 sdk {
41 name: "mysdk",
42 java_header_libs: ["sdkmember"],
43 }
44
45 java_library {
46 name: "sdkmember",
47 srcs: ["Test.java"],
48 system_modules: "none",
49 sdk_version: "none",
50 }
51
52 java_import {
53 name: "sdkmember",
54 prefer: true,
55 jars: ["prebuilt.jar"],
56 }
57 `)
58
59 // Make sure that the mysdk module depends on "sdkmember" and not "prebuilt_sdkmember".
Paul Duffin8306f252021-03-11 12:18:24 +000060 java.CheckModuleDependencies(t, result.TestContext, "mysdk", "android_common", []string{"sdkmember"})
Paul Duffincee7e662020-07-09 17:32:57 +010061
Paul Duffin36474d32021-03-12 12:19:43 +000062 CheckSnapshot(t, result, "mysdk", "",
Paul Duffincee7e662020-07-09 17:32:57 +010063 checkAndroidBpContents(`// This is auto-generated. DO NOT EDIT.
64
65java_import {
66 name: "mysdk_sdkmember@current",
67 sdk_member_name: "sdkmember",
Paul Duffind99d9972020-09-29 16:00:55 +010068 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +000069 apex_available: ["//apex_available:platform"],
Paul Duffincee7e662020-07-09 17:32:57 +010070 jars: ["java/sdkmember.jar"],
71}
72
73java_import {
74 name: "sdkmember",
75 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +010076 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +000077 apex_available: ["//apex_available:platform"],
Paul Duffincee7e662020-07-09 17:32:57 +010078 jars: ["java/sdkmember.jar"],
79}
80
81sdk_snapshot {
82 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +010083 visibility: ["//visibility:public"],
Paul Duffincee7e662020-07-09 17:32:57 +010084 java_header_libs: ["mysdk_sdkmember@current"],
85}
86`))
87}
88
Paul Duffina80fdec2019-12-03 15:25:00 +000089func TestBasicSdkWithJavaLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000090 result := android.GroupFixturePreparers(
91 prepareForSdkTestWithJava,
92 prepareForSdkTestWithApex,
93 ).RunTestWithBp(t, `
Paul Duffina80fdec2019-12-03 15:25:00 +000094 sdk {
95 name: "mysdk",
Jiyong Park0f80c182020-01-31 02:49:53 +090096 java_header_libs: ["sdkmember"],
Paul Duffina80fdec2019-12-03 15:25:00 +000097 }
98
99 sdk_snapshot {
100 name: "mysdk@1",
Paul Duffina0dbf432019-12-05 11:25:53 +0000101 java_header_libs: ["sdkmember_mysdk_1"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000102 }
103
104 sdk_snapshot {
105 name: "mysdk@2",
Paul Duffina0dbf432019-12-05 11:25:53 +0000106 java_header_libs: ["sdkmember_mysdk_2"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000107 }
108
Jiyong Park0f80c182020-01-31 02:49:53 +0900109 java_library {
Paul Duffina80fdec2019-12-03 15:25:00 +0000110 name: "sdkmember",
Jiyong Park0f80c182020-01-31 02:49:53 +0900111 srcs: ["Test.java"],
112 system_modules: "none",
113 sdk_version: "none",
Paul Duffina80fdec2019-12-03 15:25:00 +0000114 host_supported: true,
115 }
116
117 java_import {
118 name: "sdkmember_mysdk_1",
119 sdk_member_name: "sdkmember",
120 host_supported: true,
121 }
122
123 java_import {
124 name: "sdkmember_mysdk_2",
125 sdk_member_name: "sdkmember",
126 host_supported: true,
127 }
128
129 java_library {
130 name: "myjavalib",
131 srcs: ["Test.java"],
132 libs: ["sdkmember"],
133 system_modules: "none",
134 sdk_version: "none",
135 compile_dex: true,
136 host_supported: true,
Anton Hanssoneec79eb2020-01-10 15:12:39 +0000137 apex_available: [
138 "myapex",
139 "myapex2",
140 ],
Paul Duffina80fdec2019-12-03 15:25:00 +0000141 }
142
143 apex {
144 name: "myapex",
145 java_libs: ["myjavalib"],
146 uses_sdks: ["mysdk@1"],
147 key: "myapex.key",
148 certificate: ":myapex.cert",
Mathew Inwoodf8dcf5e2021-02-16 11:40:16 +0000149 updatable: false,
Paul Duffina80fdec2019-12-03 15:25:00 +0000150 }
151
152 apex {
153 name: "myapex2",
154 java_libs: ["myjavalib"],
155 uses_sdks: ["mysdk@2"],
156 key: "myapex.key",
157 certificate: ":myapex.cert",
Mathew Inwoodf8dcf5e2021-02-16 11:40:16 +0000158 updatable: false,
Paul Duffina80fdec2019-12-03 15:25:00 +0000159 }
160 `)
161
Paul Duffin8306f252021-03-11 12:18:24 +0000162 sdkMemberV1 := result.ModuleForTests("sdkmember_mysdk_1", "android_common").Rule("combineJar").Output
163 sdkMemberV2 := result.ModuleForTests("sdkmember_mysdk_2", "android_common").Rule("combineJar").Output
Paul Duffina80fdec2019-12-03 15:25:00 +0000164
Paul Duffin8306f252021-03-11 12:18:24 +0000165 javalibForMyApex := result.ModuleForTests("myjavalib", "android_common_apex10000_mysdk_1")
166 javalibForMyApex2 := result.ModuleForTests("myjavalib", "android_common_apex10000_mysdk_2")
Paul Duffina80fdec2019-12-03 15:25:00 +0000167
168 // Depending on the uses_sdks value, different libs are linked
169 ensureListContains(t, pathsToStrings(javalibForMyApex.Rule("javac").Implicits), sdkMemberV1.String())
170 ensureListContains(t, pathsToStrings(javalibForMyApex2.Rule("javac").Implicits), sdkMemberV2.String())
171}
172
Paul Duffina0dbf432019-12-05 11:25:53 +0000173func TestSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000174 result := android.GroupFixturePreparers(
175 prepareForSdkTestWithJava,
176 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
177 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +0000178 sdk {
179 name: "mysdk",
180 java_header_libs: ["myjavalib"],
181 }
182
183 java_library {
184 name: "myjavalib",
185 srcs: ["Test.java"],
186 aidl: {
187 export_include_dirs: ["aidl"],
188 },
189 system_modules: "none",
190 sdk_version: "none",
191 compile_dex: true,
192 host_supported: true,
193 }
194 `)
195
Paul Duffin36474d32021-03-12 12:19:43 +0000196 CheckSnapshot(t, result, "mysdk", "",
Paul Duffina0dbf432019-12-05 11:25:53 +0000197 checkAndroidBpContents(`
198// This is auto-generated. DO NOT EDIT.
199
200java_import {
201 name: "mysdk_myjavalib@current",
202 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100203 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000204 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000205 jars: ["java/myjavalib.jar"],
206}
207
208java_import {
209 name: "myjavalib",
210 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100211 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000212 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000213 jars: ["java/myjavalib.jar"],
214}
215
216sdk_snapshot {
217 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100218 visibility: ["//visibility:public"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000219 java_header_libs: ["mysdk_myjavalib@current"],
220}
221
222`),
223 checkAllCopyRules(`
224.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
225aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
226`),
227 )
228}
229
230func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000231 result := android.GroupFixturePreparers(
232 prepareForSdkTestWithJava,
233 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
234 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +0000235 sdk {
236 name: "mysdk",
237 device_supported: false,
238 host_supported: true,
239 java_header_libs: ["myjavalib"],
240 }
241
242 java_library {
243 name: "myjavalib",
244 device_supported: false,
245 host_supported: true,
246 srcs: ["Test.java"],
247 aidl: {
248 export_include_dirs: ["aidl"],
249 },
250 system_modules: "none",
251 sdk_version: "none",
252 compile_dex: true,
253 }
254 `)
255
Paul Duffin36474d32021-03-12 12:19:43 +0000256 CheckSnapshot(t, result, "mysdk", "",
Paul Duffina0dbf432019-12-05 11:25:53 +0000257 checkAndroidBpContents(`
258// This is auto-generated. DO NOT EDIT.
259
260java_import {
261 name: "mysdk_myjavalib@current",
262 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100263 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000264 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000265 device_supported: false,
266 host_supported: true,
267 jars: ["java/myjavalib.jar"],
268}
269
270java_import {
271 name: "myjavalib",
272 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100273 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000274 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000275 device_supported: false,
276 host_supported: true,
277 jars: ["java/myjavalib.jar"],
278}
279
280sdk_snapshot {
281 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100282 visibility: ["//visibility:public"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000283 device_supported: false,
284 host_supported: true,
285 java_header_libs: ["mysdk_myjavalib@current"],
286}
287`),
288 checkAllCopyRules(`
289.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
290aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
291`),
292 )
293}
294
Paul Duffina04c1072020-03-02 10:16:35 +0000295func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000296 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffina04c1072020-03-02 10:16:35 +0000297 sdk {
298 name: "mysdk",
299 host_supported: true,
300 java_header_libs: ["myjavalib"],
301 }
302
303 java_library {
304 name: "myjavalib",
305 host_supported: true,
306 srcs: ["Test.java"],
307 system_modules: "none",
308 sdk_version: "none",
309 compile_dex: true,
310 }
311 `)
312
Paul Duffin36474d32021-03-12 12:19:43 +0000313 CheckSnapshot(t, result, "mysdk", "",
Paul Duffina04c1072020-03-02 10:16:35 +0000314 checkAndroidBpContents(`
315// This is auto-generated. DO NOT EDIT.
316
317java_import {
318 name: "mysdk_myjavalib@current",
319 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100320 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000321 apex_available: ["//apex_available:platform"],
Paul Duffina04c1072020-03-02 10:16:35 +0000322 host_supported: true,
323 target: {
324 android: {
325 jars: ["java/android/myjavalib.jar"],
326 },
327 linux_glibc: {
328 jars: ["java/linux_glibc/myjavalib.jar"],
329 },
330 },
331}
332
333java_import {
334 name: "myjavalib",
335 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100336 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000337 apex_available: ["//apex_available:platform"],
Paul Duffina04c1072020-03-02 10:16:35 +0000338 host_supported: true,
339 target: {
340 android: {
341 jars: ["java/android/myjavalib.jar"],
342 },
343 linux_glibc: {
344 jars: ["java/linux_glibc/myjavalib.jar"],
345 },
346 },
347}
348
349sdk_snapshot {
350 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100351 visibility: ["//visibility:public"],
Paul Duffina04c1072020-03-02 10:16:35 +0000352 host_supported: true,
353 java_header_libs: ["mysdk_myjavalib@current"],
354}
355`),
356 checkAllCopyRules(`
357.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar
358.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/linux_glibc/myjavalib.jar
359`),
360 )
361}
362
Paul Duffina0dbf432019-12-05 11:25:53 +0000363func TestSnapshotWithJavaImplLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000364 result := android.GroupFixturePreparers(
365 prepareForSdkTestWithJava,
366 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
367 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000368 module_exports {
369 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000370 java_libs: ["myjavalib"],
371 }
372
373 java_library {
374 name: "myjavalib",
375 srcs: ["Test.java"],
Paul Duffin4e772842020-06-24 12:10:42 +0100376 java_resources: ["resource.txt"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000377 aidl: {
378 export_include_dirs: ["aidl"],
379 },
380 system_modules: "none",
381 sdk_version: "none",
382 compile_dex: true,
383 host_supported: true,
384 }
385 `)
386
Paul Duffin36474d32021-03-12 12:19:43 +0000387 CheckSnapshot(t, result, "myexports", "",
Paul Duffina80fdec2019-12-03 15:25:00 +0000388 checkAndroidBpContents(`
389// This is auto-generated. DO NOT EDIT.
390
391java_import {
Paul Duffine6029182019-12-16 17:43:48 +0000392 name: "myexports_myjavalib@current",
Paul Duffina80fdec2019-12-03 15:25:00 +0000393 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100394 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000395 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000396 jars: ["java/myjavalib.jar"],
397}
398
399java_import {
400 name: "myjavalib",
401 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100402 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000403 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000404 jars: ["java/myjavalib.jar"],
405}
406
Paul Duffine6029182019-12-16 17:43:48 +0000407module_exports_snapshot {
408 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100409 visibility: ["//visibility:public"],
Paul Duffine6029182019-12-16 17:43:48 +0000410 java_libs: ["myexports_myjavalib@current"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000411}
412
413`),
414 checkAllCopyRules(`
Paul Duffin4e772842020-06-24 12:10:42 +0100415.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
Paul Duffina80fdec2019-12-03 15:25:00 +0000416aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
417`),
418 )
419}
420
Paul Duffindb170e42020-12-08 17:48:25 +0000421func TestSnapshotWithJavaBootLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000422 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffindb170e42020-12-08 17:48:25 +0000423 module_exports {
424 name: "myexports",
425 java_boot_libs: ["myjavalib"],
426 }
427
428 java_library {
429 name: "myjavalib",
430 srcs: ["Test.java"],
431 java_resources: ["resource.txt"],
432 // The aidl files should not be copied to the snapshot because a java_boot_libs member is not
433 // intended to be used for compiling Java, only for accessing the dex implementation jar.
434 aidl: {
435 export_include_dirs: ["aidl"],
436 },
437 system_modules: "none",
438 sdk_version: "none",
439 compile_dex: true,
440 }
441 `)
442
Paul Duffin36474d32021-03-12 12:19:43 +0000443 CheckSnapshot(t, result, "myexports", "",
Paul Duffindb170e42020-12-08 17:48:25 +0000444 checkAndroidBpContents(`
445// This is auto-generated. DO NOT EDIT.
446
447java_import {
448 name: "myexports_myjavalib@current",
449 sdk_member_name: "myjavalib",
450 visibility: ["//visibility:public"],
451 apex_available: ["//apex_available:platform"],
Paul Duffin22ff0aa2021-02-04 11:15:34 +0000452 jars: ["java/myjavalib.jar"],
Paul Duffindb170e42020-12-08 17:48:25 +0000453}
454
455java_import {
456 name: "myjavalib",
457 prefer: false,
458 visibility: ["//visibility:public"],
459 apex_available: ["//apex_available:platform"],
Paul Duffin22ff0aa2021-02-04 11:15:34 +0000460 jars: ["java/myjavalib.jar"],
Paul Duffindb170e42020-12-08 17:48:25 +0000461}
462
463module_exports_snapshot {
464 name: "myexports@current",
465 visibility: ["//visibility:public"],
466 java_boot_libs: ["myexports_myjavalib@current"],
467}
Paul Duffindb170e42020-12-08 17:48:25 +0000468`),
469 checkAllCopyRules(`
Paul Duffin22ff0aa2021-02-04 11:15:34 +0000470.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
Paul Duffindb170e42020-12-08 17:48:25 +0000471`),
472 )
473}
474
Paul Duffina0dbf432019-12-05 11:25:53 +0000475func TestHostSnapshotWithJavaImplLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000476 result := android.GroupFixturePreparers(
477 prepareForSdkTestWithJava,
478 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
479 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000480 module_exports {
481 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000482 device_supported: false,
483 host_supported: true,
484 java_libs: ["myjavalib"],
485 }
486
487 java_library {
488 name: "myjavalib",
489 device_supported: false,
490 host_supported: true,
491 srcs: ["Test.java"],
492 aidl: {
493 export_include_dirs: ["aidl"],
494 },
495 system_modules: "none",
496 sdk_version: "none",
497 compile_dex: true,
498 }
499 `)
500
Paul Duffin36474d32021-03-12 12:19:43 +0000501 CheckSnapshot(t, result, "myexports", "",
Paul Duffina80fdec2019-12-03 15:25:00 +0000502 checkAndroidBpContents(`
503// This is auto-generated. DO NOT EDIT.
504
505java_import {
Paul Duffine6029182019-12-16 17:43:48 +0000506 name: "myexports_myjavalib@current",
Paul Duffina80fdec2019-12-03 15:25:00 +0000507 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100508 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000509 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000510 device_supported: false,
511 host_supported: true,
512 jars: ["java/myjavalib.jar"],
513}
514
515java_import {
516 name: "myjavalib",
517 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100518 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000519 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000520 device_supported: false,
521 host_supported: true,
522 jars: ["java/myjavalib.jar"],
523}
524
Paul Duffine6029182019-12-16 17:43:48 +0000525module_exports_snapshot {
526 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100527 visibility: ["//visibility:public"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000528 device_supported: false,
529 host_supported: true,
Paul Duffine6029182019-12-16 17:43:48 +0000530 java_libs: ["myexports_myjavalib@current"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000531}
532`),
533 checkAllCopyRules(`
534.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
535aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
536`),
537 )
538}
539
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000540func TestSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000541 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000542 module_exports {
543 name: "myexports",
544 java_tests: ["myjavatests"],
545 }
546
547 java_test {
548 name: "myjavatests",
549 srcs: ["Test.java"],
550 system_modules: "none",
551 sdk_version: "none",
552 compile_dex: true,
553 host_supported: true,
554 }
555 `)
556
Paul Duffin36474d32021-03-12 12:19:43 +0000557 CheckSnapshot(t, result, "myexports", "",
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000558 checkAndroidBpContents(`
559// This is auto-generated. DO NOT EDIT.
560
561java_test_import {
562 name: "myexports_myjavatests@current",
563 sdk_member_name: "myjavatests",
Paul Duffind99d9972020-09-29 16:00:55 +0100564 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000565 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000566 jars: ["java/myjavatests.jar"],
567 test_config: "java/myjavatests-AndroidTest.xml",
568}
569
570java_test_import {
571 name: "myjavatests",
572 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100573 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000574 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000575 jars: ["java/myjavatests.jar"],
576 test_config: "java/myjavatests-AndroidTest.xml",
577}
578
579module_exports_snapshot {
580 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100581 visibility: ["//visibility:public"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000582 java_tests: ["myexports_myjavatests@current"],
583}
584`),
585 checkAllCopyRules(`
586.intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar
587.intermediates/myjavatests/android_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
588`),
589 )
590}
591
592func TestHostSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000593 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000594 module_exports {
595 name: "myexports",
596 device_supported: false,
597 host_supported: true,
598 java_tests: ["myjavatests"],
599 }
600
601 java_test {
602 name: "myjavatests",
603 device_supported: false,
604 host_supported: true,
605 srcs: ["Test.java"],
606 system_modules: "none",
607 sdk_version: "none",
608 compile_dex: true,
609 }
610 `)
611
Paul Duffin36474d32021-03-12 12:19:43 +0000612 CheckSnapshot(t, result, "myexports", "",
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000613 checkAndroidBpContents(`
614// This is auto-generated. DO NOT EDIT.
615
616java_test_import {
617 name: "myexports_myjavatests@current",
618 sdk_member_name: "myjavatests",
Paul Duffind99d9972020-09-29 16:00:55 +0100619 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000620 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000621 device_supported: false,
622 host_supported: true,
623 jars: ["java/myjavatests.jar"],
624 test_config: "java/myjavatests-AndroidTest.xml",
625}
626
627java_test_import {
628 name: "myjavatests",
629 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100630 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000631 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000632 device_supported: false,
633 host_supported: true,
634 jars: ["java/myjavatests.jar"],
635 test_config: "java/myjavatests-AndroidTest.xml",
636}
637
638module_exports_snapshot {
639 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100640 visibility: ["//visibility:public"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000641 device_supported: false,
642 host_supported: true,
643 java_tests: ["myexports_myjavatests@current"],
644}
645`),
646 checkAllCopyRules(`
647.intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar
648.intermediates/myjavatests/linux_glibc_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
649`),
650 )
651}
652
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000653func TestSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000654 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000655 sdk {
656 name: "mysdk",
Paul Duffin72910952020-01-20 18:16:30 +0000657 java_header_libs: ["exported-system-module"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000658 java_system_modules: ["my-system-modules"],
659 }
660
661 java_system_modules {
662 name: "my-system-modules",
Paul Duffin72910952020-01-20 18:16:30 +0000663 libs: ["system-module", "exported-system-module"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000664 }
665
666 java_library {
667 name: "system-module",
668 srcs: ["Test.java"],
669 sdk_version: "none",
670 system_modules: "none",
671 }
Paul Duffin72910952020-01-20 18:16:30 +0000672
673 java_library {
674 name: "exported-system-module",
675 srcs: ["Test.java"],
676 sdk_version: "none",
677 system_modules: "none",
678 }
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000679 `)
680
Paul Duffin36474d32021-03-12 12:19:43 +0000681 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000682 checkAndroidBpContents(`
683// This is auto-generated. DO NOT EDIT.
684
685java_import {
Paul Duffin72910952020-01-20 18:16:30 +0000686 name: "mysdk_exported-system-module@current",
687 sdk_member_name: "exported-system-module",
Paul Duffind99d9972020-09-29 16:00:55 +0100688 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000689 apex_available: ["//apex_available:platform"],
Paul Duffin72910952020-01-20 18:16:30 +0000690 jars: ["java/exported-system-module.jar"],
691}
692
693java_import {
694 name: "exported-system-module",
695 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100696 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000697 apex_available: ["//apex_available:platform"],
Paul Duffin72910952020-01-20 18:16:30 +0000698 jars: ["java/exported-system-module.jar"],
699}
700
701java_import {
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000702 name: "mysdk_system-module@current",
703 sdk_member_name: "system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000704 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000705 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000706 jars: ["java/system-module.jar"],
707}
708
709java_import {
Paul Duffin72910952020-01-20 18:16:30 +0000710 name: "mysdk_system-module",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000711 prefer: false,
Paul Duffin72910952020-01-20 18:16:30 +0000712 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000713 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000714 jars: ["java/system-module.jar"],
715}
716
717java_system_modules_import {
718 name: "mysdk_my-system-modules@current",
719 sdk_member_name: "my-system-modules",
Paul Duffind99d9972020-09-29 16:00:55 +0100720 visibility: ["//visibility:public"],
Paul Duffin72910952020-01-20 18:16:30 +0000721 libs: [
722 "mysdk_system-module@current",
723 "mysdk_exported-system-module@current",
724 ],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000725}
726
727java_system_modules_import {
728 name: "my-system-modules",
729 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100730 visibility: ["//visibility:public"],
Paul Duffin72910952020-01-20 18:16:30 +0000731 libs: [
732 "mysdk_system-module",
733 "exported-system-module",
734 ],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000735}
736
737sdk_snapshot {
738 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100739 visibility: ["//visibility:public"],
Paul Duffin72910952020-01-20 18:16:30 +0000740 java_header_libs: ["mysdk_exported-system-module@current"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000741 java_system_modules: ["mysdk_my-system-modules@current"],
742}
743`),
Paul Duffin72910952020-01-20 18:16:30 +0000744 checkAllCopyRules(`
745.intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar
746.intermediates/system-module/android_common/turbine-combined/system-module.jar -> java/system-module.jar
747`),
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000748 )
749}
750
751func TestHostSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000752 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000753 sdk {
754 name: "mysdk",
755 device_supported: false,
756 host_supported: true,
757 java_system_modules: ["my-system-modules"],
758 }
759
760 java_system_modules {
761 name: "my-system-modules",
762 device_supported: false,
763 host_supported: true,
764 libs: ["system-module"],
765 }
766
767 java_library {
768 name: "system-module",
769 device_supported: false,
770 host_supported: true,
771 srcs: ["Test.java"],
772 sdk_version: "none",
773 system_modules: "none",
774 }
775 `)
776
Paul Duffin36474d32021-03-12 12:19:43 +0000777 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000778 checkAndroidBpContents(`
779// This is auto-generated. DO NOT EDIT.
780
781java_import {
782 name: "mysdk_system-module@current",
783 sdk_member_name: "system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000784 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000785 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000786 device_supported: false,
787 host_supported: true,
788 jars: ["java/system-module.jar"],
789}
790
791java_import {
Paul Duffin72910952020-01-20 18:16:30 +0000792 name: "mysdk_system-module",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000793 prefer: false,
Paul Duffin72910952020-01-20 18:16:30 +0000794 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000795 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000796 device_supported: false,
797 host_supported: true,
798 jars: ["java/system-module.jar"],
799}
800
801java_system_modules_import {
802 name: "mysdk_my-system-modules@current",
803 sdk_member_name: "my-system-modules",
Paul Duffind99d9972020-09-29 16:00:55 +0100804 visibility: ["//visibility:public"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000805 device_supported: false,
806 host_supported: true,
807 libs: ["mysdk_system-module@current"],
808}
809
810java_system_modules_import {
811 name: "my-system-modules",
812 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100813 visibility: ["//visibility:public"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000814 device_supported: false,
815 host_supported: true,
Paul Duffin72910952020-01-20 18:16:30 +0000816 libs: ["mysdk_system-module"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000817}
818
819sdk_snapshot {
820 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100821 visibility: ["//visibility:public"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000822 device_supported: false,
823 host_supported: true,
824 java_system_modules: ["mysdk_my-system-modules@current"],
825}
826`),
827 checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac/system-module.jar -> java/system-module.jar"),
828 )
829}
Paul Duffin865171e2020-03-02 18:38:15 +0000830
831func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000832 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin865171e2020-03-02 18:38:15 +0000833 module_exports {
834 name: "myexports",
835 host_supported: true,
836 java_libs: ["myjavalib"],
837 target: {
838 android: {
839 java_header_libs: ["androidjavalib"],
840 },
841 host: {
842 java_header_libs: ["hostjavalib"],
843 },
844 },
845 }
846
847 java_library {
848 name: "myjavalib",
849 host_supported: true,
850 srcs: ["Test.java"],
851 system_modules: "none",
852 sdk_version: "none",
853 }
854
855 java_library {
856 name: "androidjavalib",
857 srcs: ["Test.java"],
858 system_modules: "none",
859 sdk_version: "none",
860 }
861
862 java_library_host {
863 name: "hostjavalib",
864 srcs: ["Test.java"],
865 }
866 `)
867
Paul Duffin36474d32021-03-12 12:19:43 +0000868 CheckSnapshot(t, result, "myexports", "",
Paul Duffin865171e2020-03-02 18:38:15 +0000869 checkAndroidBpContents(`
870// This is auto-generated. DO NOT EDIT.
871
872java_import {
873 name: "myexports_hostjavalib@current",
874 sdk_member_name: "hostjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100875 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000876 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000877 device_supported: false,
878 host_supported: true,
879 jars: ["java/hostjavalib.jar"],
880}
881
882java_import {
883 name: "hostjavalib",
884 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100885 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000886 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000887 device_supported: false,
888 host_supported: true,
889 jars: ["java/hostjavalib.jar"],
890}
891
892java_import {
893 name: "myexports_androidjavalib@current",
894 sdk_member_name: "androidjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100895 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000896 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000897 jars: ["java/androidjavalib.jar"],
898}
899
900java_import {
901 name: "androidjavalib",
902 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100903 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000904 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000905 jars: ["java/androidjavalib.jar"],
906}
907
908java_import {
909 name: "myexports_myjavalib@current",
910 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100911 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000912 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000913 host_supported: true,
914 target: {
915 android: {
916 jars: ["java/android/myjavalib.jar"],
917 },
918 linux_glibc: {
919 jars: ["java/linux_glibc/myjavalib.jar"],
920 },
921 },
922}
923
924java_import {
925 name: "myjavalib",
926 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100927 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000928 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000929 host_supported: true,
930 target: {
931 android: {
932 jars: ["java/android/myjavalib.jar"],
933 },
934 linux_glibc: {
935 jars: ["java/linux_glibc/myjavalib.jar"],
936 },
937 },
938}
939
940module_exports_snapshot {
941 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100942 visibility: ["//visibility:public"],
Paul Duffin865171e2020-03-02 18:38:15 +0000943 host_supported: true,
Paul Duffin07ef3cb2020-03-11 18:17:42 +0000944 java_libs: ["myexports_myjavalib@current"],
Paul Duffin865171e2020-03-02 18:38:15 +0000945 target: {
946 android: {
947 java_header_libs: ["myexports_androidjavalib@current"],
948 },
949 linux_glibc: {
950 java_header_libs: ["myexports_hostjavalib@current"],
951 },
952 },
Paul Duffin865171e2020-03-02 18:38:15 +0000953}
954`),
955 checkAllCopyRules(`
956.intermediates/hostjavalib/linux_glibc_common/javac/hostjavalib.jar -> java/hostjavalib.jar
957.intermediates/androidjavalib/android_common/turbine-combined/androidjavalib.jar -> java/androidjavalib.jar
958.intermediates/myjavalib/android_common/javac/myjavalib.jar -> java/android/myjavalib.jar
959.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/linux_glibc/myjavalib.jar
960`),
961 )
962}
Paul Duffindd46f712020-02-10 13:37:10 +0000963
964func TestSnapshotWithJavaSdkLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000965 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffindd46f712020-02-10 13:37:10 +0000966 sdk {
967 name: "mysdk",
968 java_sdk_libs: ["myjavalib"],
969 }
970
971 java_sdk_library {
972 name: "myjavalib",
973 apex_available: ["//apex_available:anyapex"],
974 srcs: ["Test.java"],
975 sdk_version: "current",
Paul Duffind7eb1c22020-05-26 20:57:10 +0100976 shared_library: false,
Paul Duffin4911a892020-04-29 23:35:13 +0100977 stubs_library_visibility: ["//other"],
978 stubs_source_visibility: ["//another"],
Paul Duffindd46f712020-02-10 13:37:10 +0000979 }
980 `)
981
Paul Duffin36474d32021-03-12 12:19:43 +0000982 CheckSnapshot(t, result, "mysdk", "",
Paul Duffindd46f712020-02-10 13:37:10 +0000983 checkAndroidBpContents(`
984// This is auto-generated. DO NOT EDIT.
985
986java_sdk_library_import {
987 name: "mysdk_myjavalib@current",
988 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100989 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +0000990 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +0100991 shared_library: false,
Paul Duffindd46f712020-02-10 13:37:10 +0000992 public: {
993 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +0000994 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +0100995 current_api: "sdk_library/public/myjavalib.txt",
996 removed_api: "sdk_library/public/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +0000997 sdk_version: "current",
998 },
999 system: {
1000 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001001 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001002 current_api: "sdk_library/system/myjavalib.txt",
1003 removed_api: "sdk_library/system/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001004 sdk_version: "system_current",
1005 },
1006 test: {
1007 jars: ["sdk_library/test/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001008 stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001009 current_api: "sdk_library/test/myjavalib.txt",
1010 removed_api: "sdk_library/test/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001011 sdk_version: "test_current",
1012 },
1013}
1014
1015java_sdk_library_import {
1016 name: "myjavalib",
1017 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001018 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001019 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001020 shared_library: false,
Paul Duffindd46f712020-02-10 13:37:10 +00001021 public: {
1022 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001023 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001024 current_api: "sdk_library/public/myjavalib.txt",
1025 removed_api: "sdk_library/public/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001026 sdk_version: "current",
1027 },
1028 system: {
1029 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001030 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001031 current_api: "sdk_library/system/myjavalib.txt",
1032 removed_api: "sdk_library/system/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001033 sdk_version: "system_current",
1034 },
1035 test: {
1036 jars: ["sdk_library/test/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001037 stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001038 current_api: "sdk_library/test/myjavalib.txt",
1039 removed_api: "sdk_library/test/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001040 sdk_version: "test_current",
1041 },
1042}
1043
1044sdk_snapshot {
1045 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001046 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001047 java_sdk_libs: ["mysdk_myjavalib@current"],
1048}
1049`),
1050 checkAllCopyRules(`
1051.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Paul Duffin1fd005d2020-04-09 01:08:11 +01001052.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001053.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001054.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
Paul Duffin1fd005d2020-04-09 01:08:11 +01001055.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001056.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001057.intermediates/myjavalib.stubs.test/android_common/javac/myjavalib.stubs.test.jar -> sdk_library/test/myjavalib-stubs.jar
Paul Duffin1fd005d2020-04-09 01:08:11 +01001058.intermediates/myjavalib.stubs.source.test/android_common/myjavalib.stubs.source.test_api.txt -> sdk_library/test/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001059.intermediates/myjavalib.stubs.source.test/android_common/myjavalib.stubs.source.test_removed.txt -> sdk_library/test/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001060`),
Paul Duffin3d1248c2020-04-09 00:10:17 +01001061 checkMergeZips(
1062 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1063 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
1064 ".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip"),
Paul Duffindd46f712020-02-10 13:37:10 +00001065 )
1066}
Paul Duffin3375e352020-04-28 10:44:03 +01001067
Paul Duffin780c5f42020-05-12 15:52:55 +01001068func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001069 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin780c5f42020-05-12 15:52:55 +01001070 sdk {
1071 name: "mysdk",
1072 java_sdk_libs: ["myjavalib"],
1073 }
1074
1075 java_sdk_library {
1076 name: "myjavalib",
1077 srcs: ["Test.java"],
1078 sdk_version: "none",
1079 system_modules: "none",
1080 }
1081 `)
1082
Paul Duffin36474d32021-03-12 12:19:43 +00001083 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin780c5f42020-05-12 15:52:55 +01001084 checkAndroidBpContents(`
1085// This is auto-generated. DO NOT EDIT.
1086
1087java_sdk_library_import {
1088 name: "mysdk_myjavalib@current",
1089 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001090 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001091 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001092 shared_library: true,
Paul Duffin780c5f42020-05-12 15:52:55 +01001093 public: {
1094 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001095 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001096 current_api: "sdk_library/public/myjavalib.txt",
1097 removed_api: "sdk_library/public/myjavalib-removed.txt",
1098 sdk_version: "none",
1099 },
1100}
1101
1102java_sdk_library_import {
1103 name: "myjavalib",
1104 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001105 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001106 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001107 shared_library: true,
Paul Duffin780c5f42020-05-12 15:52:55 +01001108 public: {
1109 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001110 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001111 current_api: "sdk_library/public/myjavalib.txt",
1112 removed_api: "sdk_library/public/myjavalib-removed.txt",
1113 sdk_version: "none",
1114 },
1115}
1116
1117sdk_snapshot {
1118 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001119 visibility: ["//visibility:public"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001120 java_sdk_libs: ["mysdk_myjavalib@current"],
1121}
1122`),
1123 checkAllCopyRules(`
1124.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1125.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001126.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin780c5f42020-05-12 15:52:55 +01001127`),
1128 checkMergeZips(
1129 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1130 ),
1131 )
1132}
1133
Paul Duffin87a05a32020-05-12 11:50:28 +01001134func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001135 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin87a05a32020-05-12 11:50:28 +01001136 sdk {
1137 name: "mysdk",
1138 java_sdk_libs: ["myjavalib"],
1139 }
1140
1141 java_sdk_library {
1142 name: "myjavalib",
1143 srcs: ["Test.java"],
1144 sdk_version: "module_current",
1145 public: {
1146 enabled: true,
1147 sdk_version: "module_current",
1148 },
1149 }
1150 `)
1151
Paul Duffin36474d32021-03-12 12:19:43 +00001152 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin87a05a32020-05-12 11:50:28 +01001153 checkAndroidBpContents(`
1154// This is auto-generated. DO NOT EDIT.
1155
1156java_sdk_library_import {
1157 name: "mysdk_myjavalib@current",
1158 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001159 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001160 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001161 shared_library: true,
Paul Duffin87a05a32020-05-12 11:50:28 +01001162 public: {
1163 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001164 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001165 current_api: "sdk_library/public/myjavalib.txt",
1166 removed_api: "sdk_library/public/myjavalib-removed.txt",
1167 sdk_version: "module_current",
1168 },
1169}
1170
1171java_sdk_library_import {
1172 name: "myjavalib",
1173 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001174 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001175 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001176 shared_library: true,
Paul Duffin87a05a32020-05-12 11:50:28 +01001177 public: {
1178 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001179 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001180 current_api: "sdk_library/public/myjavalib.txt",
1181 removed_api: "sdk_library/public/myjavalib-removed.txt",
1182 sdk_version: "module_current",
1183 },
1184}
1185
1186sdk_snapshot {
1187 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001188 visibility: ["//visibility:public"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001189 java_sdk_libs: ["mysdk_myjavalib@current"],
1190}
1191`),
1192 checkAllCopyRules(`
1193.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1194.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001195.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin87a05a32020-05-12 11:50:28 +01001196`),
1197 checkMergeZips(
1198 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1199 ),
1200 )
1201}
1202
1203func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001204 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin3375e352020-04-28 10:44:03 +01001205 sdk {
1206 name: "mysdk",
1207 java_sdk_libs: ["myjavalib"],
1208 }
1209
1210 java_sdk_library {
1211 name: "myjavalib",
1212 apex_available: ["//apex_available:anyapex"],
1213 srcs: ["Test.java"],
1214 sdk_version: "current",
1215 public: {
1216 enabled: true,
1217 },
1218 system: {
1219 enabled: true,
1220 },
1221 }
1222 `)
1223
Paul Duffin36474d32021-03-12 12:19:43 +00001224 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin3375e352020-04-28 10:44:03 +01001225 checkAndroidBpContents(`
1226// This is auto-generated. DO NOT EDIT.
1227
1228java_sdk_library_import {
1229 name: "mysdk_myjavalib@current",
1230 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001231 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001232 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001233 shared_library: true,
Paul Duffin3375e352020-04-28 10:44:03 +01001234 public: {
1235 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001236 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001237 current_api: "sdk_library/public/myjavalib.txt",
1238 removed_api: "sdk_library/public/myjavalib-removed.txt",
1239 sdk_version: "current",
1240 },
1241 system: {
1242 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001243 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001244 current_api: "sdk_library/system/myjavalib.txt",
1245 removed_api: "sdk_library/system/myjavalib-removed.txt",
1246 sdk_version: "system_current",
1247 },
1248}
1249
1250java_sdk_library_import {
1251 name: "myjavalib",
1252 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001253 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001254 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001255 shared_library: true,
Paul Duffin3375e352020-04-28 10:44:03 +01001256 public: {
1257 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001258 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001259 current_api: "sdk_library/public/myjavalib.txt",
1260 removed_api: "sdk_library/public/myjavalib-removed.txt",
1261 sdk_version: "current",
1262 },
1263 system: {
1264 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001265 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001266 current_api: "sdk_library/system/myjavalib.txt",
1267 removed_api: "sdk_library/system/myjavalib-removed.txt",
1268 sdk_version: "system_current",
1269 },
1270}
1271
1272sdk_snapshot {
1273 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001274 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001275 java_sdk_libs: ["mysdk_myjavalib@current"],
1276}
1277`),
1278 checkAllCopyRules(`
1279.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1280.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001281.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin3375e352020-04-28 10:44:03 +01001282.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
1283.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001284.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffin3375e352020-04-28 10:44:03 +01001285`),
1286 checkMergeZips(
1287 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1288 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
1289 ),
1290 )
1291}
Paul Duffin8f265b92020-04-28 14:13:56 +01001292
1293func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001294 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin8f265b92020-04-28 14:13:56 +01001295 sdk {
1296 name: "mysdk",
1297 java_sdk_libs: ["myjavalib"],
1298 }
1299
1300 java_sdk_library {
1301 name: "myjavalib",
1302 apex_available: ["//apex_available:anyapex"],
1303 srcs: ["Test.java"],
1304 sdk_version: "current",
1305 public: {
1306 enabled: true,
1307 },
1308 system: {
1309 enabled: true,
1310 },
1311 module_lib: {
1312 enabled: true,
1313 },
1314 }
1315 `)
1316
Paul Duffin36474d32021-03-12 12:19:43 +00001317 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin8f265b92020-04-28 14:13:56 +01001318 checkAndroidBpContents(`
1319// This is auto-generated. DO NOT EDIT.
1320
1321java_sdk_library_import {
1322 name: "mysdk_myjavalib@current",
1323 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001324 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001325 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001326 shared_library: true,
Paul Duffin8f265b92020-04-28 14:13:56 +01001327 public: {
1328 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001329 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001330 current_api: "sdk_library/public/myjavalib.txt",
1331 removed_api: "sdk_library/public/myjavalib-removed.txt",
1332 sdk_version: "current",
1333 },
1334 system: {
1335 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001336 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001337 current_api: "sdk_library/system/myjavalib.txt",
1338 removed_api: "sdk_library/system/myjavalib-removed.txt",
1339 sdk_version: "system_current",
1340 },
1341 module_lib: {
Paul Duffin6b836ba2020-05-13 19:19:49 +01001342 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001343 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
Paul Duffin6b836ba2020-05-13 19:19:49 +01001344 current_api: "sdk_library/module-lib/myjavalib.txt",
1345 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
Paul Duffin8f265b92020-04-28 14:13:56 +01001346 sdk_version: "module_current",
1347 },
1348}
1349
1350java_sdk_library_import {
1351 name: "myjavalib",
1352 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001353 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001354 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001355 shared_library: true,
Paul Duffin8f265b92020-04-28 14:13:56 +01001356 public: {
1357 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001358 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001359 current_api: "sdk_library/public/myjavalib.txt",
1360 removed_api: "sdk_library/public/myjavalib-removed.txt",
1361 sdk_version: "current",
1362 },
1363 system: {
1364 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001365 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001366 current_api: "sdk_library/system/myjavalib.txt",
1367 removed_api: "sdk_library/system/myjavalib-removed.txt",
1368 sdk_version: "system_current",
1369 },
1370 module_lib: {
Paul Duffin6b836ba2020-05-13 19:19:49 +01001371 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001372 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
Paul Duffin6b836ba2020-05-13 19:19:49 +01001373 current_api: "sdk_library/module-lib/myjavalib.txt",
1374 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
Paul Duffin8f265b92020-04-28 14:13:56 +01001375 sdk_version: "module_current",
1376 },
1377}
1378
1379sdk_snapshot {
1380 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001381 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001382 java_sdk_libs: ["mysdk_myjavalib@current"],
1383}
1384`),
1385 checkAllCopyRules(`
1386.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1387.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001388.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin8f265b92020-04-28 14:13:56 +01001389.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
1390.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
Paul Duffin3dbf9fd2020-06-02 13:00:02 +01001391.intermediates/myjavalib.stubs.source.system/android_common/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffin6b836ba2020-05-13 19:19:49 +01001392.intermediates/myjavalib.stubs.module_lib/android_common/javac/myjavalib.stubs.module_lib.jar -> sdk_library/module-lib/myjavalib-stubs.jar
Paul Duffin15f34ef2020-07-20 18:04:44 +01001393.intermediates/myjavalib.stubs.source.module_lib/android_common/myjavalib.stubs.source.module_lib_api.txt -> sdk_library/module-lib/myjavalib.txt
1394.intermediates/myjavalib.stubs.source.module_lib/android_common/myjavalib.stubs.source.module_lib_removed.txt -> sdk_library/module-lib/myjavalib-removed.txt
Paul Duffin8f265b92020-04-28 14:13:56 +01001395`),
1396 checkMergeZips(
1397 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1398 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
Paul Duffin6b836ba2020-05-13 19:19:49 +01001399 ".intermediates/mysdk/common_os/tmp/sdk_library/module-lib/myjavalib_stub_sources.zip",
Paul Duffin8f265b92020-04-28 14:13:56 +01001400 ),
1401 )
1402}
Paul Duffinf7a64332020-05-13 16:54:55 +01001403
Paul Duffin0c5bae52020-06-02 13:00:08 +01001404func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001405 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin0c5bae52020-06-02 13:00:08 +01001406 sdk {
1407 name: "mysdk",
1408 java_sdk_libs: ["myjavalib"],
1409 }
1410
1411 java_sdk_library {
1412 name: "myjavalib",
1413 apex_available: ["//apex_available:anyapex"],
1414 srcs: ["Test.java"],
1415 sdk_version: "current",
1416 public: {
1417 enabled: true,
1418 },
1419 system_server: {
1420 enabled: true,
1421 },
1422 }
1423 `)
1424
Paul Duffin36474d32021-03-12 12:19:43 +00001425 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin0c5bae52020-06-02 13:00:08 +01001426 checkAndroidBpContents(`
1427// This is auto-generated. DO NOT EDIT.
1428
1429java_sdk_library_import {
1430 name: "mysdk_myjavalib@current",
1431 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001432 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001433 apex_available: ["//apex_available:anyapex"],
1434 shared_library: true,
1435 public: {
1436 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001437 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001438 current_api: "sdk_library/public/myjavalib.txt",
1439 removed_api: "sdk_library/public/myjavalib-removed.txt",
1440 sdk_version: "current",
1441 },
1442 system_server: {
1443 jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001444 stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001445 current_api: "sdk_library/system-server/myjavalib.txt",
1446 removed_api: "sdk_library/system-server/myjavalib-removed.txt",
1447 sdk_version: "system_server_current",
1448 },
1449}
1450
1451java_sdk_library_import {
1452 name: "myjavalib",
1453 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001454 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001455 apex_available: ["//apex_available:anyapex"],
1456 shared_library: true,
1457 public: {
1458 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001459 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001460 current_api: "sdk_library/public/myjavalib.txt",
1461 removed_api: "sdk_library/public/myjavalib-removed.txt",
1462 sdk_version: "current",
1463 },
1464 system_server: {
1465 jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001466 stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001467 current_api: "sdk_library/system-server/myjavalib.txt",
1468 removed_api: "sdk_library/system-server/myjavalib-removed.txt",
1469 sdk_version: "system_server_current",
1470 },
1471}
1472
1473sdk_snapshot {
1474 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001475 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001476 java_sdk_libs: ["mysdk_myjavalib@current"],
1477}
1478`),
1479 checkAllCopyRules(`
1480.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1481.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1482.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1483.intermediates/myjavalib.stubs.system_server/android_common/javac/myjavalib.stubs.system_server.jar -> sdk_library/system-server/myjavalib-stubs.jar
1484.intermediates/myjavalib.stubs.source.system_server/android_common/myjavalib.stubs.source.system_server_api.txt -> sdk_library/system-server/myjavalib.txt
1485.intermediates/myjavalib.stubs.source.system_server/android_common/myjavalib.stubs.source.system_server_removed.txt -> sdk_library/system-server/myjavalib-removed.txt
1486`),
1487 checkMergeZips(
1488 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1489 ".intermediates/mysdk/common_os/tmp/sdk_library/system-server/myjavalib_stub_sources.zip",
1490 ),
1491 )
1492}
1493
Paul Duffinf7a64332020-05-13 16:54:55 +01001494func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001495 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffinf7a64332020-05-13 16:54:55 +01001496 sdk {
1497 name: "mysdk",
1498 java_sdk_libs: ["myjavalib"],
1499 }
1500
1501 java_sdk_library {
1502 name: "myjavalib",
1503 apex_available: ["//apex_available:anyapex"],
1504 srcs: ["Test.java"],
1505 sdk_version: "current",
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001506 naming_scheme: "default",
Paul Duffinf7a64332020-05-13 16:54:55 +01001507 public: {
1508 enabled: true,
1509 },
1510 }
1511 `)
1512
Paul Duffin36474d32021-03-12 12:19:43 +00001513 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinf7a64332020-05-13 16:54:55 +01001514 checkAndroidBpContents(`
1515// This is auto-generated. DO NOT EDIT.
1516
1517java_sdk_library_import {
1518 name: "mysdk_myjavalib@current",
1519 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001520 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001521 apex_available: ["//apex_available:anyapex"],
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001522 naming_scheme: "default",
Paul Duffind7eb1c22020-05-26 20:57:10 +01001523 shared_library: true,
Paul Duffinf7a64332020-05-13 16:54:55 +01001524 public: {
1525 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001526 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001527 current_api: "sdk_library/public/myjavalib.txt",
1528 removed_api: "sdk_library/public/myjavalib-removed.txt",
1529 sdk_version: "current",
1530 },
1531}
1532
1533java_sdk_library_import {
1534 name: "myjavalib",
1535 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001536 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001537 apex_available: ["//apex_available:anyapex"],
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001538 naming_scheme: "default",
Paul Duffind7eb1c22020-05-26 20:57:10 +01001539 shared_library: true,
Paul Duffinf7a64332020-05-13 16:54:55 +01001540 public: {
1541 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001542 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001543 current_api: "sdk_library/public/myjavalib.txt",
1544 removed_api: "sdk_library/public/myjavalib-removed.txt",
1545 sdk_version: "current",
1546 },
1547}
1548
1549sdk_snapshot {
1550 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001551 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001552 java_sdk_libs: ["mysdk_myjavalib@current"],
1553}
1554`),
1555 checkAllCopyRules(`
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001556.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1557.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1558.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffinf7a64332020-05-13 16:54:55 +01001559`),
1560 checkMergeZips(
1561 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1562 ),
1563 )
1564}
Paul Duffina2ae7e02020-09-11 11:55:00 +01001565
1566func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001567 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffina2ae7e02020-09-11 11:55:00 +01001568 sdk {
1569 name: "mysdk",
1570 java_sdk_libs: ["myjavalib"],
1571 }
1572
1573 java_sdk_library {
1574 name: "myjavalib",
1575 srcs: ["Test.java"],
1576 sdk_version: "current",
1577 public: {
1578 enabled: true,
1579 },
1580 doctag_files: ["docs/known_doctags"],
1581 }
1582
1583 filegroup {
1584 name: "mygroup",
1585 srcs: [":myjavalib{.doctags}"],
1586 }
1587 `)
1588
Paul Duffin36474d32021-03-12 12:19:43 +00001589 CheckSnapshot(t, result, "mysdk", "",
Paul Duffina2ae7e02020-09-11 11:55:00 +01001590 checkAndroidBpContents(`
1591// This is auto-generated. DO NOT EDIT.
1592
1593java_sdk_library_import {
1594 name: "mysdk_myjavalib@current",
1595 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001596 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001597 apex_available: ["//apex_available:platform"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001598 shared_library: true,
1599 doctag_files: ["doctags/docs/known_doctags"],
1600 public: {
1601 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001602 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001603 current_api: "sdk_library/public/myjavalib.txt",
1604 removed_api: "sdk_library/public/myjavalib-removed.txt",
1605 sdk_version: "current",
1606 },
1607}
1608
1609java_sdk_library_import {
1610 name: "myjavalib",
1611 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001612 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001613 apex_available: ["//apex_available:platform"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001614 shared_library: true,
1615 doctag_files: ["doctags/docs/known_doctags"],
1616 public: {
1617 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001618 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001619 current_api: "sdk_library/public/myjavalib.txt",
1620 removed_api: "sdk_library/public/myjavalib-removed.txt",
1621 sdk_version: "current",
1622 },
1623}
1624
1625sdk_snapshot {
1626 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001627 visibility: ["//visibility:public"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001628 java_sdk_libs: ["mysdk_myjavalib@current"],
1629}
1630`),
1631 checkAllCopyRules(`
1632.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1633.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1634.intermediates/myjavalib.stubs.source/android_common/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1635docs/known_doctags -> doctags/docs/known_doctags
1636`),
1637 )
1638}