blob: 6f769a3f11b7f77c1a9bee42a8189e6fd0294a8b [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,
Paul Duffindb462dd2021-03-21 22:01:55 +000027
28 // Ensure that all source paths are provided. This helps ensure that the snapshot generation is
29 // consistent and all files referenced from the snapshot's Android.bp file have actually been
30 // copied into the snapshot.
31 android.PrepareForTestDisallowNonExistentPaths,
32
33 // Files needs by most of the tests.
34 android.MockFS{
35 "Test.java": nil,
36 }.AddToFixture(),
Paul Duffind14cbc12021-03-18 09:14:23 +000037)
38
Paul Duffin9ec86b12021-03-15 11:17:52 +000039var prepareForSdkTestWithJavaSdkLibrary = android.GroupFixturePreparers(
40 prepareForSdkTestWithJava,
41 java.PrepareForTestWithJavaDefaultModules,
42 java.PrepareForTestWithJavaSdkLibraryFiles,
43 java.FixtureWithLastReleaseApis("myjavalib"),
44)
45
Paul Duffina80fdec2019-12-03 15:25:00 +000046// Contains tests for SDK members provided by the java package.
47
Paul Duffincee7e662020-07-09 17:32:57 +010048func TestSdkDependsOnSourceEvenWhenPrebuiltPreferred(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000049 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffincee7e662020-07-09 17:32:57 +010050 sdk {
51 name: "mysdk",
52 java_header_libs: ["sdkmember"],
53 }
54
55 java_library {
56 name: "sdkmember",
57 srcs: ["Test.java"],
58 system_modules: "none",
59 sdk_version: "none",
60 }
Paul Duffincee7e662020-07-09 17:32:57 +010061 `)
62
63 // Make sure that the mysdk module depends on "sdkmember" and not "prebuilt_sdkmember".
Paul Duffin1822a0a2021-03-21 12:56:33 +000064 sdkChecker := func(t *testing.T, result *android.TestResult) {
65 java.CheckModuleDependencies(t, result.TestContext, "mysdk", "android_common", []string{"sdkmember"})
66 }
Paul Duffincee7e662020-07-09 17:32:57 +010067
Paul Duffin36474d32021-03-12 12:19:43 +000068 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin1822a0a2021-03-21 12:56:33 +000069 snapshotTestChecker(checkSnapshotWithSourcePreferred, sdkChecker),
70 snapshotTestChecker(checkSnapshotPreferredWithSource, sdkChecker),
71 )
Paul Duffincee7e662020-07-09 17:32:57 +010072}
73
Paul Duffina80fdec2019-12-03 15:25:00 +000074func TestBasicSdkWithJavaLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000075 result := android.GroupFixturePreparers(
76 prepareForSdkTestWithJava,
77 prepareForSdkTestWithApex,
78 ).RunTestWithBp(t, `
Paul Duffina80fdec2019-12-03 15:25:00 +000079 sdk {
80 name: "mysdk",
Jiyong Park0f80c182020-01-31 02:49:53 +090081 java_header_libs: ["sdkmember"],
Paul Duffina80fdec2019-12-03 15:25:00 +000082 }
83
84 sdk_snapshot {
85 name: "mysdk@1",
Paul Duffin525a5902021-05-06 16:33:52 +010086 java_header_libs: ["sdkmember_mysdk@1"],
Paul Duffina80fdec2019-12-03 15:25:00 +000087 }
88
89 sdk_snapshot {
90 name: "mysdk@2",
Paul Duffin525a5902021-05-06 16:33:52 +010091 java_header_libs: ["sdkmember_mysdk@2"],
Paul Duffina80fdec2019-12-03 15:25:00 +000092 }
93
Jiyong Park0f80c182020-01-31 02:49:53 +090094 java_library {
Paul Duffina80fdec2019-12-03 15:25:00 +000095 name: "sdkmember",
Jiyong Park0f80c182020-01-31 02:49:53 +090096 srcs: ["Test.java"],
97 system_modules: "none",
98 sdk_version: "none",
Paul Duffina80fdec2019-12-03 15:25:00 +000099 host_supported: true,
100 }
101
102 java_import {
Paul Duffin525a5902021-05-06 16:33:52 +0100103 name: "sdkmember_mysdk@1",
Paul Duffina80fdec2019-12-03 15:25:00 +0000104 sdk_member_name: "sdkmember",
105 host_supported: true,
106 }
107
108 java_import {
Paul Duffin525a5902021-05-06 16:33:52 +0100109 name: "sdkmember_mysdk@2",
Paul Duffina80fdec2019-12-03 15:25:00 +0000110 sdk_member_name: "sdkmember",
111 host_supported: true,
112 }
113
114 java_library {
115 name: "myjavalib",
116 srcs: ["Test.java"],
117 libs: ["sdkmember"],
118 system_modules: "none",
119 sdk_version: "none",
120 compile_dex: true,
121 host_supported: true,
Anton Hanssoneec79eb2020-01-10 15:12:39 +0000122 apex_available: [
123 "myapex",
124 "myapex2",
125 ],
Paul Duffina80fdec2019-12-03 15:25:00 +0000126 }
127
128 apex {
129 name: "myapex",
130 java_libs: ["myjavalib"],
131 uses_sdks: ["mysdk@1"],
132 key: "myapex.key",
133 certificate: ":myapex.cert",
Mathew Inwoodf8dcf5e2021-02-16 11:40:16 +0000134 updatable: false,
Paul Duffina80fdec2019-12-03 15:25:00 +0000135 }
136
137 apex {
138 name: "myapex2",
139 java_libs: ["myjavalib"],
140 uses_sdks: ["mysdk@2"],
141 key: "myapex.key",
142 certificate: ":myapex.cert",
Mathew Inwoodf8dcf5e2021-02-16 11:40:16 +0000143 updatable: false,
Paul Duffina80fdec2019-12-03 15:25:00 +0000144 }
145 `)
146
Paul Duffin525a5902021-05-06 16:33:52 +0100147 sdkMemberV1 := result.ModuleForTests("sdkmember_mysdk@1", "android_common").Rule("combineJar").Output
148 sdkMemberV2 := result.ModuleForTests("sdkmember_mysdk@2", "android_common").Rule("combineJar").Output
Paul Duffina80fdec2019-12-03 15:25:00 +0000149
Paul Duffin8306f252021-03-11 12:18:24 +0000150 javalibForMyApex := result.ModuleForTests("myjavalib", "android_common_apex10000_mysdk_1")
151 javalibForMyApex2 := result.ModuleForTests("myjavalib", "android_common_apex10000_mysdk_2")
Paul Duffina80fdec2019-12-03 15:25:00 +0000152
153 // Depending on the uses_sdks value, different libs are linked
154 ensureListContains(t, pathsToStrings(javalibForMyApex.Rule("javac").Implicits), sdkMemberV1.String())
155 ensureListContains(t, pathsToStrings(javalibForMyApex2.Rule("javac").Implicits), sdkMemberV2.String())
156}
157
Paul Duffina0dbf432019-12-05 11:25:53 +0000158func TestSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000159 result := android.GroupFixturePreparers(
160 prepareForSdkTestWithJava,
161 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
162 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +0000163 sdk {
164 name: "mysdk",
165 java_header_libs: ["myjavalib"],
166 }
167
168 java_library {
169 name: "myjavalib",
170 srcs: ["Test.java"],
171 aidl: {
172 export_include_dirs: ["aidl"],
173 },
174 system_modules: "none",
175 sdk_version: "none",
176 compile_dex: true,
177 host_supported: true,
178 }
179 `)
180
Paul Duffin36474d32021-03-12 12:19:43 +0000181 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +0100182 checkUnversionedAndroidBpContents(`
183// This is auto-generated. DO NOT EDIT.
184
185java_import {
186 name: "myjavalib",
187 prefer: false,
188 visibility: ["//visibility:public"],
189 apex_available: ["//apex_available:platform"],
190 jars: ["java/myjavalib.jar"],
191}
192`),
193 checkVersionedAndroidBpContents(`
Paul Duffina0dbf432019-12-05 11:25:53 +0000194// This is auto-generated. DO NOT EDIT.
195
196java_import {
197 name: "mysdk_myjavalib@current",
198 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100199 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000200 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000201 jars: ["java/myjavalib.jar"],
202}
203
Paul Duffina0dbf432019-12-05 11:25:53 +0000204sdk_snapshot {
205 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100206 visibility: ["//visibility:public"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000207 java_header_libs: ["mysdk_myjavalib@current"],
208}
Paul Duffina0dbf432019-12-05 11:25:53 +0000209`),
210 checkAllCopyRules(`
211.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
212aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
213`),
214 )
215}
216
217func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000218 result := android.GroupFixturePreparers(
219 prepareForSdkTestWithJava,
220 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
221 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +0000222 sdk {
223 name: "mysdk",
224 device_supported: false,
225 host_supported: true,
226 java_header_libs: ["myjavalib"],
227 }
228
229 java_library {
230 name: "myjavalib",
231 device_supported: false,
232 host_supported: true,
233 srcs: ["Test.java"],
234 aidl: {
235 export_include_dirs: ["aidl"],
236 },
237 system_modules: "none",
238 sdk_version: "none",
239 compile_dex: true,
240 }
241 `)
242
Paul Duffin36474d32021-03-12 12:19:43 +0000243 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +0100244 checkUnversionedAndroidBpContents(`
Paul Duffina0dbf432019-12-05 11:25:53 +0000245// This is auto-generated. DO NOT EDIT.
246
247java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100248 name: "myjavalib",
249 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100250 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000251 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000252 device_supported: false,
253 host_supported: true,
254 jars: ["java/myjavalib.jar"],
255}
Paul Duffine1381882021-04-16 17:05:10 +0100256`),
257 checkVersionedAndroidBpContents(`
258// This is auto-generated. DO NOT EDIT.
Paul Duffina0dbf432019-12-05 11:25:53 +0000259
260java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100261 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
270sdk_snapshot {
271 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100272 visibility: ["//visibility:public"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000273 device_supported: false,
274 host_supported: true,
275 java_header_libs: ["mysdk_myjavalib@current"],
276}
277`),
278 checkAllCopyRules(`
279.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
280aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
281`),
282 )
283}
284
Paul Duffina04c1072020-03-02 10:16:35 +0000285func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000286 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffina04c1072020-03-02 10:16:35 +0000287 sdk {
288 name: "mysdk",
289 host_supported: true,
290 java_header_libs: ["myjavalib"],
291 }
292
293 java_library {
294 name: "myjavalib",
295 host_supported: true,
296 srcs: ["Test.java"],
297 system_modules: "none",
298 sdk_version: "none",
299 compile_dex: true,
300 }
301 `)
302
Paul Duffin36474d32021-03-12 12:19:43 +0000303 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +0100304 checkUnversionedAndroidBpContents(`
Paul Duffina04c1072020-03-02 10:16:35 +0000305// This is auto-generated. DO NOT EDIT.
306
307java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100308 name: "myjavalib",
309 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100310 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000311 apex_available: ["//apex_available:platform"],
Paul Duffina04c1072020-03-02 10:16:35 +0000312 host_supported: true,
313 target: {
314 android: {
315 jars: ["java/android/myjavalib.jar"],
316 },
317 linux_glibc: {
318 jars: ["java/linux_glibc/myjavalib.jar"],
319 },
320 },
321}
Paul Duffine1381882021-04-16 17:05:10 +0100322`),
323 checkVersionedAndroidBpContents(`
324// This is auto-generated. DO NOT EDIT.
Paul Duffina04c1072020-03-02 10:16:35 +0000325
326java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100327 name: "mysdk_myjavalib@current",
328 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100329 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000330 apex_available: ["//apex_available:platform"],
Paul Duffina04c1072020-03-02 10:16:35 +0000331 host_supported: true,
332 target: {
333 android: {
334 jars: ["java/android/myjavalib.jar"],
335 },
336 linux_glibc: {
337 jars: ["java/linux_glibc/myjavalib.jar"],
338 },
339 },
340}
341
342sdk_snapshot {
343 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100344 visibility: ["//visibility:public"],
Paul Duffina04c1072020-03-02 10:16:35 +0000345 host_supported: true,
346 java_header_libs: ["mysdk_myjavalib@current"],
347}
348`),
349 checkAllCopyRules(`
350.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar
351.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/linux_glibc/myjavalib.jar
352`),
353 )
354}
355
Paul Duffina0dbf432019-12-05 11:25:53 +0000356func TestSnapshotWithJavaImplLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000357 result := android.GroupFixturePreparers(
358 prepareForSdkTestWithJava,
359 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
Paul Duffindb462dd2021-03-21 22:01:55 +0000360 android.FixtureAddFile("resource.txt", nil),
Paul Duffin9ec86b12021-03-15 11:17:52 +0000361 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000362 module_exports {
363 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000364 java_libs: ["myjavalib"],
365 }
366
367 java_library {
368 name: "myjavalib",
369 srcs: ["Test.java"],
Paul Duffin4e772842020-06-24 12:10:42 +0100370 java_resources: ["resource.txt"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000371 aidl: {
372 export_include_dirs: ["aidl"],
373 },
374 system_modules: "none",
375 sdk_version: "none",
376 compile_dex: true,
377 host_supported: true,
378 }
379 `)
380
Paul Duffin36474d32021-03-12 12:19:43 +0000381 CheckSnapshot(t, result, "myexports", "",
Paul Duffine1381882021-04-16 17:05:10 +0100382 checkUnversionedAndroidBpContents(`
383// This is auto-generated. DO NOT EDIT.
384
385java_import {
386 name: "myjavalib",
387 prefer: false,
388 visibility: ["//visibility:public"],
389 apex_available: ["//apex_available:platform"],
390 jars: ["java/myjavalib.jar"],
391}
392`),
393 checkVersionedAndroidBpContents(`
Paul Duffina80fdec2019-12-03 15:25:00 +0000394// This is auto-generated. DO NOT EDIT.
395
396java_import {
Paul Duffine6029182019-12-16 17:43:48 +0000397 name: "myexports_myjavalib@current",
Paul Duffina80fdec2019-12-03 15:25:00 +0000398 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100399 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000400 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000401 jars: ["java/myjavalib.jar"],
402}
403
Paul Duffine6029182019-12-16 17:43:48 +0000404module_exports_snapshot {
405 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100406 visibility: ["//visibility:public"],
Paul Duffine6029182019-12-16 17:43:48 +0000407 java_libs: ["myexports_myjavalib@current"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000408}
Paul Duffina80fdec2019-12-03 15:25:00 +0000409`),
410 checkAllCopyRules(`
Paul Duffin4e772842020-06-24 12:10:42 +0100411.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
Paul Duffina80fdec2019-12-03 15:25:00 +0000412aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
413`),
414 )
415}
416
Paul Duffindb170e42020-12-08 17:48:25 +0000417func TestSnapshotWithJavaBootLibrary(t *testing.T) {
Paul Duffindb462dd2021-03-21 22:01:55 +0000418 result := android.GroupFixturePreparers(
419 prepareForSdkTestWithJava,
420 android.FixtureAddFile("aidl", nil),
421 android.FixtureAddFile("resource.txt", nil),
422 ).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 Duffine1381882021-04-16 17:05:10 +0100444 checkUnversionedAndroidBpContents(`
445// This is auto-generated. DO NOT EDIT.
446
447java_import {
448 name: "myjavalib",
449 prefer: false,
450 visibility: ["//visibility:public"],
451 apex_available: ["//apex_available:platform"],
452 jars: ["java/myjavalib.jar"],
453}
454`),
455 checkVersionedAndroidBpContents(`
Paul Duffindb170e42020-12-08 17:48:25 +0000456// This is auto-generated. DO NOT EDIT.
457
458java_import {
459 name: "myexports_myjavalib@current",
460 sdk_member_name: "myjavalib",
461 visibility: ["//visibility:public"],
462 apex_available: ["//apex_available:platform"],
Paul Duffin22ff0aa2021-02-04 11:15:34 +0000463 jars: ["java/myjavalib.jar"],
Paul Duffindb170e42020-12-08 17:48:25 +0000464}
465
Paul Duffindb170e42020-12-08 17:48:25 +0000466module_exports_snapshot {
467 name: "myexports@current",
468 visibility: ["//visibility:public"],
469 java_boot_libs: ["myexports_myjavalib@current"],
470}
Paul Duffindb170e42020-12-08 17:48:25 +0000471`),
472 checkAllCopyRules(`
Paul Duffin22ff0aa2021-02-04 11:15:34 +0000473.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
Paul Duffindb170e42020-12-08 17:48:25 +0000474`),
475 )
476}
477
Paul Duffina0dbf432019-12-05 11:25:53 +0000478func TestHostSnapshotWithJavaImplLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000479 result := android.GroupFixturePreparers(
480 prepareForSdkTestWithJava,
481 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
482 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000483 module_exports {
484 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000485 device_supported: false,
486 host_supported: true,
487 java_libs: ["myjavalib"],
488 }
489
490 java_library {
491 name: "myjavalib",
492 device_supported: false,
493 host_supported: true,
494 srcs: ["Test.java"],
495 aidl: {
496 export_include_dirs: ["aidl"],
497 },
498 system_modules: "none",
499 sdk_version: "none",
500 compile_dex: true,
501 }
502 `)
503
Paul Duffin36474d32021-03-12 12:19:43 +0000504 CheckSnapshot(t, result, "myexports", "",
Paul Duffine1381882021-04-16 17:05:10 +0100505 checkUnversionedAndroidBpContents(`
Paul Duffina80fdec2019-12-03 15:25:00 +0000506// This is auto-generated. DO NOT EDIT.
507
508java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100509 name: "myjavalib",
510 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100511 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000512 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000513 device_supported: false,
514 host_supported: true,
515 jars: ["java/myjavalib.jar"],
516}
Paul Duffine1381882021-04-16 17:05:10 +0100517`),
518 checkVersionedAndroidBpContents(`
519// This is auto-generated. DO NOT EDIT.
Paul Duffina80fdec2019-12-03 15:25:00 +0000520
521java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100522 name: "myexports_myjavalib@current",
523 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100524 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000525 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000526 device_supported: false,
527 host_supported: true,
528 jars: ["java/myjavalib.jar"],
529}
530
Paul Duffine6029182019-12-16 17:43:48 +0000531module_exports_snapshot {
532 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100533 visibility: ["//visibility:public"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000534 device_supported: false,
535 host_supported: true,
Paul Duffine6029182019-12-16 17:43:48 +0000536 java_libs: ["myexports_myjavalib@current"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000537}
538`),
539 checkAllCopyRules(`
540.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
541aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
542`),
543 )
544}
545
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000546func TestSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000547 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000548 module_exports {
549 name: "myexports",
550 java_tests: ["myjavatests"],
551 }
552
553 java_test {
554 name: "myjavatests",
555 srcs: ["Test.java"],
556 system_modules: "none",
557 sdk_version: "none",
558 compile_dex: true,
559 host_supported: true,
560 }
561 `)
562
Paul Duffin36474d32021-03-12 12:19:43 +0000563 CheckSnapshot(t, result, "myexports", "",
Paul Duffine1381882021-04-16 17:05:10 +0100564 checkUnversionedAndroidBpContents(`
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000565// This is auto-generated. DO NOT EDIT.
566
567java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100568 name: "myjavatests",
569 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100570 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000571 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000572 jars: ["java/myjavatests.jar"],
573 test_config: "java/myjavatests-AndroidTest.xml",
574}
Paul Duffine1381882021-04-16 17:05:10 +0100575`),
576 checkVersionedAndroidBpContents(`
577// This is auto-generated. DO NOT EDIT.
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000578
579java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100580 name: "myexports_myjavatests@current",
581 sdk_member_name: "myjavatests",
Paul Duffind99d9972020-09-29 16:00:55 +0100582 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000583 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000584 jars: ["java/myjavatests.jar"],
585 test_config: "java/myjavatests-AndroidTest.xml",
586}
587
588module_exports_snapshot {
589 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100590 visibility: ["//visibility:public"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000591 java_tests: ["myexports_myjavatests@current"],
592}
593`),
594 checkAllCopyRules(`
595.intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar
596.intermediates/myjavatests/android_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
597`),
598 )
599}
600
601func TestHostSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000602 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000603 module_exports {
604 name: "myexports",
605 device_supported: false,
606 host_supported: true,
607 java_tests: ["myjavatests"],
608 }
609
610 java_test {
611 name: "myjavatests",
612 device_supported: false,
613 host_supported: true,
614 srcs: ["Test.java"],
615 system_modules: "none",
616 sdk_version: "none",
617 compile_dex: true,
618 }
619 `)
620
Paul Duffin36474d32021-03-12 12:19:43 +0000621 CheckSnapshot(t, result, "myexports", "",
Paul Duffine1381882021-04-16 17:05:10 +0100622 checkUnversionedAndroidBpContents(`
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000623// This is auto-generated. DO NOT EDIT.
624
625java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100626 name: "myjavatests",
627 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100628 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000629 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000630 device_supported: false,
631 host_supported: true,
632 jars: ["java/myjavatests.jar"],
633 test_config: "java/myjavatests-AndroidTest.xml",
634}
Paul Duffine1381882021-04-16 17:05:10 +0100635`),
636 checkVersionedAndroidBpContents(`
637// This is auto-generated. DO NOT EDIT.
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000638
639java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100640 name: "myexports_myjavatests@current",
641 sdk_member_name: "myjavatests",
Paul Duffind99d9972020-09-29 16:00:55 +0100642 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000643 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000644 device_supported: false,
645 host_supported: true,
646 jars: ["java/myjavatests.jar"],
647 test_config: "java/myjavatests-AndroidTest.xml",
648}
649
650module_exports_snapshot {
651 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100652 visibility: ["//visibility:public"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000653 device_supported: false,
654 host_supported: true,
655 java_tests: ["myexports_myjavatests@current"],
656}
657`),
658 checkAllCopyRules(`
659.intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar
660.intermediates/myjavatests/linux_glibc_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
661`),
662 )
663}
664
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000665func TestSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000666 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000667 sdk {
668 name: "mysdk",
Paul Duffin72910952020-01-20 18:16:30 +0000669 java_header_libs: ["exported-system-module"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000670 java_system_modules: ["my-system-modules"],
671 }
672
673 java_system_modules {
674 name: "my-system-modules",
Paul Duffin72910952020-01-20 18:16:30 +0000675 libs: ["system-module", "exported-system-module"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000676 }
677
678 java_library {
679 name: "system-module",
680 srcs: ["Test.java"],
681 sdk_version: "none",
682 system_modules: "none",
683 }
Paul Duffin72910952020-01-20 18:16:30 +0000684
685 java_library {
686 name: "exported-system-module",
687 srcs: ["Test.java"],
688 sdk_version: "none",
689 system_modules: "none",
690 }
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000691 `)
692
Paul Duffin36474d32021-03-12 12:19:43 +0000693 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +0100694 checkUnversionedAndroidBpContents(`
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000695// This is auto-generated. DO NOT EDIT.
696
697java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100698 name: "exported-system-module",
699 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100700 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000701 apex_available: ["//apex_available:platform"],
Paul Duffin72910952020-01-20 18:16:30 +0000702 jars: ["java/exported-system-module.jar"],
703}
704
705java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100706 name: "mysdk_system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000707 prefer: false,
Paul Duffine1381882021-04-16 17:05:10 +0100708 visibility: ["//visibility:private"],
709 apex_available: ["//apex_available:platform"],
710 jars: ["java/system-module.jar"],
711}
712
713java_system_modules_import {
714 name: "my-system-modules",
715 prefer: false,
716 visibility: ["//visibility:public"],
717 libs: [
718 "mysdk_system-module",
719 "exported-system-module",
720 ],
721}
722`),
723 checkVersionedAndroidBpContents(`
724// This is auto-generated. DO NOT EDIT.
725
726java_import {
727 name: "mysdk_exported-system-module@current",
728 sdk_member_name: "exported-system-module",
Paul Duffind99d9972020-09-29 16:00:55 +0100729 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000730 apex_available: ["//apex_available:platform"],
Paul Duffin72910952020-01-20 18:16:30 +0000731 jars: ["java/exported-system-module.jar"],
732}
733
734java_import {
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000735 name: "mysdk_system-module@current",
736 sdk_member_name: "system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000737 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000738 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000739 jars: ["java/system-module.jar"],
740}
741
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000742java_system_modules_import {
743 name: "mysdk_my-system-modules@current",
744 sdk_member_name: "my-system-modules",
Paul Duffind99d9972020-09-29 16:00:55 +0100745 visibility: ["//visibility:public"],
Paul Duffin72910952020-01-20 18:16:30 +0000746 libs: [
747 "mysdk_system-module@current",
748 "mysdk_exported-system-module@current",
749 ],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000750}
751
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000752sdk_snapshot {
753 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100754 visibility: ["//visibility:public"],
Paul Duffin72910952020-01-20 18:16:30 +0000755 java_header_libs: ["mysdk_exported-system-module@current"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000756 java_system_modules: ["mysdk_my-system-modules@current"],
757}
758`),
Paul Duffin72910952020-01-20 18:16:30 +0000759 checkAllCopyRules(`
760.intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar
761.intermediates/system-module/android_common/turbine-combined/system-module.jar -> java/system-module.jar
762`),
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000763 )
764}
765
766func TestHostSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000767 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000768 sdk {
769 name: "mysdk",
770 device_supported: false,
771 host_supported: true,
772 java_system_modules: ["my-system-modules"],
773 }
774
775 java_system_modules {
776 name: "my-system-modules",
777 device_supported: false,
778 host_supported: true,
779 libs: ["system-module"],
780 }
781
782 java_library {
783 name: "system-module",
784 device_supported: false,
785 host_supported: true,
786 srcs: ["Test.java"],
787 sdk_version: "none",
788 system_modules: "none",
789 }
790 `)
791
Paul Duffin36474d32021-03-12 12:19:43 +0000792 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +0100793 checkUnversionedAndroidBpContents(`
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000794// This is auto-generated. DO NOT EDIT.
795
796java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100797 name: "mysdk_system-module",
798 prefer: false,
Paul Duffin72910952020-01-20 18:16:30 +0000799 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000800 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000801 device_supported: false,
802 host_supported: true,
803 jars: ["java/system-module.jar"],
804}
805
Paul Duffine1381882021-04-16 17:05:10 +0100806java_system_modules_import {
807 name: "my-system-modules",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000808 prefer: false,
Paul Duffine1381882021-04-16 17:05:10 +0100809 visibility: ["//visibility:public"],
810 device_supported: false,
811 host_supported: true,
812 libs: ["mysdk_system-module"],
813}
814`),
815 checkVersionedAndroidBpContents(`
816// This is auto-generated. DO NOT EDIT.
817
818java_import {
819 name: "mysdk_system-module@current",
820 sdk_member_name: "system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000821 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000822 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000823 device_supported: false,
824 host_supported: true,
825 jars: ["java/system-module.jar"],
826}
827
828java_system_modules_import {
829 name: "mysdk_my-system-modules@current",
830 sdk_member_name: "my-system-modules",
Paul Duffind99d9972020-09-29 16:00:55 +0100831 visibility: ["//visibility:public"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000832 device_supported: false,
833 host_supported: true,
834 libs: ["mysdk_system-module@current"],
835}
836
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000837sdk_snapshot {
838 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100839 visibility: ["//visibility:public"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000840 device_supported: false,
841 host_supported: true,
842 java_system_modules: ["mysdk_my-system-modules@current"],
843}
844`),
845 checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac/system-module.jar -> java/system-module.jar"),
846 )
847}
Paul Duffin865171e2020-03-02 18:38:15 +0000848
849func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000850 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin865171e2020-03-02 18:38:15 +0000851 module_exports {
852 name: "myexports",
853 host_supported: true,
854 java_libs: ["myjavalib"],
855 target: {
856 android: {
857 java_header_libs: ["androidjavalib"],
858 },
859 host: {
860 java_header_libs: ["hostjavalib"],
861 },
862 },
863 }
864
865 java_library {
866 name: "myjavalib",
867 host_supported: true,
868 srcs: ["Test.java"],
869 system_modules: "none",
870 sdk_version: "none",
871 }
872
873 java_library {
874 name: "androidjavalib",
875 srcs: ["Test.java"],
876 system_modules: "none",
877 sdk_version: "none",
878 }
879
880 java_library_host {
881 name: "hostjavalib",
882 srcs: ["Test.java"],
883 }
884 `)
885
Paul Duffin36474d32021-03-12 12:19:43 +0000886 CheckSnapshot(t, result, "myexports", "",
Paul Duffine1381882021-04-16 17:05:10 +0100887 checkUnversionedAndroidBpContents(`
Paul Duffin865171e2020-03-02 18:38:15 +0000888// This is auto-generated. DO NOT EDIT.
889
890java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100891 name: "hostjavalib",
892 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100893 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000894 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000895 device_supported: false,
896 host_supported: true,
897 jars: ["java/hostjavalib.jar"],
898}
899
900java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100901 name: "androidjavalib",
Paul Duffin865171e2020-03-02 18:38:15 +0000902 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 Duffine1381882021-04-16 17:05:10 +0100905 jars: ["java/androidjavalib.jar"],
906}
907
908java_import {
909 name: "myjavalib",
910 prefer: false,
911 visibility: ["//visibility:public"],
912 apex_available: ["//apex_available:platform"],
913 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`),
924 checkVersionedAndroidBpContents(`
925// This is auto-generated. DO NOT EDIT.
926
927java_import {
928 name: "myexports_hostjavalib@current",
929 sdk_member_name: "hostjavalib",
930 visibility: ["//visibility:public"],
931 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000932 device_supported: false,
933 host_supported: true,
934 jars: ["java/hostjavalib.jar"],
935}
936
937java_import {
938 name: "myexports_androidjavalib@current",
939 sdk_member_name: "androidjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100940 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000941 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000942 jars: ["java/androidjavalib.jar"],
943}
944
945java_import {
Paul Duffin865171e2020-03-02 18:38:15 +0000946 name: "myexports_myjavalib@current",
947 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +0100948 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000949 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000950 host_supported: true,
951 target: {
952 android: {
953 jars: ["java/android/myjavalib.jar"],
954 },
955 linux_glibc: {
956 jars: ["java/linux_glibc/myjavalib.jar"],
957 },
958 },
959}
960
Paul Duffin865171e2020-03-02 18:38:15 +0000961module_exports_snapshot {
962 name: "myexports@current",
Paul Duffind99d9972020-09-29 16:00:55 +0100963 visibility: ["//visibility:public"],
Paul Duffin865171e2020-03-02 18:38:15 +0000964 host_supported: true,
Paul Duffin07ef3cb2020-03-11 18:17:42 +0000965 java_libs: ["myexports_myjavalib@current"],
Paul Duffin865171e2020-03-02 18:38:15 +0000966 target: {
967 android: {
968 java_header_libs: ["myexports_androidjavalib@current"],
969 },
970 linux_glibc: {
971 java_header_libs: ["myexports_hostjavalib@current"],
972 },
973 },
Paul Duffin865171e2020-03-02 18:38:15 +0000974}
975`),
976 checkAllCopyRules(`
977.intermediates/hostjavalib/linux_glibc_common/javac/hostjavalib.jar -> java/hostjavalib.jar
978.intermediates/androidjavalib/android_common/turbine-combined/androidjavalib.jar -> java/androidjavalib.jar
979.intermediates/myjavalib/android_common/javac/myjavalib.jar -> java/android/myjavalib.jar
980.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/linux_glibc/myjavalib.jar
981`),
982 )
983}
Paul Duffindd46f712020-02-10 13:37:10 +0000984
985func TestSnapshotWithJavaSdkLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000986 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffindd46f712020-02-10 13:37:10 +0000987 sdk {
988 name: "mysdk",
989 java_sdk_libs: ["myjavalib"],
990 }
991
992 java_sdk_library {
993 name: "myjavalib",
994 apex_available: ["//apex_available:anyapex"],
995 srcs: ["Test.java"],
996 sdk_version: "current",
Paul Duffind7eb1c22020-05-26 20:57:10 +0100997 shared_library: false,
Paul Duffin4911a892020-04-29 23:35:13 +0100998 stubs_library_visibility: ["//other"],
999 stubs_source_visibility: ["//another"],
Paul Duffindd46f712020-02-10 13:37:10 +00001000 }
1001 `)
1002
Paul Duffin36474d32021-03-12 12:19:43 +00001003 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001004 checkUnversionedAndroidBpContents(`
Paul Duffindd46f712020-02-10 13:37:10 +00001005// This is auto-generated. DO NOT EDIT.
1006
1007java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001008 name: "myjavalib",
1009 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001010 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001011 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001012 shared_library: false,
Paul Duffindd46f712020-02-10 13:37:10 +00001013 public: {
1014 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001015 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001016 current_api: "sdk_library/public/myjavalib.txt",
1017 removed_api: "sdk_library/public/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001018 sdk_version: "current",
1019 },
1020 system: {
1021 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001022 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001023 current_api: "sdk_library/system/myjavalib.txt",
1024 removed_api: "sdk_library/system/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001025 sdk_version: "system_current",
1026 },
1027 test: {
1028 jars: ["sdk_library/test/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001029 stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001030 current_api: "sdk_library/test/myjavalib.txt",
1031 removed_api: "sdk_library/test/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001032 sdk_version: "test_current",
1033 },
1034}
Paul Duffine1381882021-04-16 17:05:10 +01001035`),
1036 checkVersionedAndroidBpContents(`
1037// This is auto-generated. DO NOT EDIT.
Paul Duffindd46f712020-02-10 13:37:10 +00001038
1039java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001040 name: "mysdk_myjavalib@current",
1041 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001042 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001043 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001044 shared_library: false,
Paul Duffindd46f712020-02-10 13:37:10 +00001045 public: {
1046 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001047 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001048 current_api: "sdk_library/public/myjavalib.txt",
1049 removed_api: "sdk_library/public/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001050 sdk_version: "current",
1051 },
1052 system: {
1053 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001054 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001055 current_api: "sdk_library/system/myjavalib.txt",
1056 removed_api: "sdk_library/system/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001057 sdk_version: "system_current",
1058 },
1059 test: {
1060 jars: ["sdk_library/test/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001061 stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001062 current_api: "sdk_library/test/myjavalib.txt",
1063 removed_api: "sdk_library/test/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001064 sdk_version: "test_current",
1065 },
1066}
1067
1068sdk_snapshot {
1069 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001070 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001071 java_sdk_libs: ["mysdk_myjavalib@current"],
1072}
1073`),
1074 checkAllCopyRules(`
1075.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001076.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1077.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001078.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001079.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1080.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001081.intermediates/myjavalib.stubs.test/android_common/javac/myjavalib.stubs.test.jar -> sdk_library/test/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001082.intermediates/myjavalib.stubs.source.test/android_common/metalava/myjavalib.stubs.source.test_api.txt -> sdk_library/test/myjavalib.txt
1083.intermediates/myjavalib.stubs.source.test/android_common/metalava/myjavalib.stubs.source.test_removed.txt -> sdk_library/test/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001084`),
Paul Duffin3d1248c2020-04-09 00:10:17 +01001085 checkMergeZips(
1086 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1087 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
1088 ".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip"),
Paul Duffindd46f712020-02-10 13:37:10 +00001089 )
1090}
Paul Duffin3375e352020-04-28 10:44:03 +01001091
Paul Duffin22628d52021-05-12 23:13:22 +01001092func TestSnapshotWithJavaSdkLibrary_UseSrcJar(t *testing.T) {
1093 result := android.GroupFixturePreparers(
1094 prepareForSdkTestWithJavaSdkLibrary,
1095 android.FixtureMergeEnv(map[string]string{
1096 "SOONG_SDK_SNAPSHOT_USE_SRCJAR": "true",
1097 }),
1098 ).RunTestWithBp(t, `
1099 sdk {
1100 name: "mysdk",
1101 java_sdk_libs: ["myjavalib"],
1102 }
1103
1104 java_sdk_library {
1105 name: "myjavalib",
1106 srcs: ["Test.java"],
1107 sdk_version: "current",
1108 shared_library: false,
1109 public: {
1110 enabled: true,
1111 },
1112 }
1113 `)
1114
1115 CheckSnapshot(t, result, "mysdk", "",
1116 checkUnversionedAndroidBpContents(`
1117// This is auto-generated. DO NOT EDIT.
1118
1119java_sdk_library_import {
1120 name: "myjavalib",
1121 prefer: false,
1122 visibility: ["//visibility:public"],
1123 apex_available: ["//apex_available:platform"],
1124 shared_library: false,
1125 public: {
1126 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1127 stub_srcs: ["sdk_library/public/myjavalib.srcjar"],
1128 current_api: "sdk_library/public/myjavalib.txt",
1129 removed_api: "sdk_library/public/myjavalib-removed.txt",
1130 sdk_version: "current",
1131 },
1132}
1133 `),
1134 checkAllCopyRules(`
1135.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
1136.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source-stubs.srcjar -> sdk_library/public/myjavalib.srcjar
1137.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1138.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1139 `),
1140 )
1141}
1142
Paul Duffin1267d872021-04-16 17:21:36 +01001143func TestSnapshotWithJavaSdkLibrary_CompileDex(t *testing.T) {
1144 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
1145 sdk {
1146 name: "mysdk",
1147 java_sdk_libs: ["myjavalib"],
1148 }
1149
1150 java_sdk_library {
1151 name: "myjavalib",
1152 srcs: ["Test.java"],
1153 sdk_version: "current",
1154 shared_library: false,
1155 compile_dex: true,
1156 public: {
1157 enabled: true,
1158 },
1159 system: {
1160 enabled: true,
1161 },
1162 }
1163 `)
1164
1165 CheckSnapshot(t, result, "mysdk", "",
1166 checkUnversionedAndroidBpContents(`
1167// This is auto-generated. DO NOT EDIT.
1168
1169java_sdk_library_import {
1170 name: "myjavalib",
1171 prefer: false,
1172 visibility: ["//visibility:public"],
1173 apex_available: ["//apex_available:platform"],
1174 shared_library: false,
1175 compile_dex: true,
1176 public: {
1177 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1178 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
1179 current_api: "sdk_library/public/myjavalib.txt",
1180 removed_api: "sdk_library/public/myjavalib-removed.txt",
1181 sdk_version: "current",
1182 },
1183 system: {
1184 jars: ["sdk_library/system/myjavalib-stubs.jar"],
1185 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
1186 current_api: "sdk_library/system/myjavalib.txt",
1187 removed_api: "sdk_library/system/myjavalib-removed.txt",
1188 sdk_version: "system_current",
1189 },
1190}
1191`),
1192 snapshotTestChecker(checkSnapshotWithSourcePreferred, func(t *testing.T, result *android.TestResult) {
1193 ctx := android.ModuleInstallPathContextForTesting(result.Config)
1194 dexJarBuildPath := func(name string, kind android.SdkKind) string {
1195 dep := result.Module(name, "android_common").(java.SdkLibraryDependency)
1196 path := dep.SdkApiStubDexJar(ctx, kind)
1197 return path.RelativeToTop().String()
1198 }
1199
1200 dexJarPath := dexJarBuildPath("myjavalib", android.SdkPublic)
1201 android.AssertStringEquals(t, "source dex public stubs jar build path", "out/soong/.intermediates/myjavalib.stubs/android_common/dex/myjavalib.stubs.jar", dexJarPath)
1202
1203 dexJarPath = dexJarBuildPath("myjavalib", android.SdkSystem)
1204 systemDexJar := "out/soong/.intermediates/myjavalib.stubs.system/android_common/dex/myjavalib.stubs.system.jar"
1205 android.AssertStringEquals(t, "source dex system stubs jar build path", systemDexJar, dexJarPath)
1206
1207 // This should fall back to system as module is not available.
1208 dexJarPath = dexJarBuildPath("myjavalib", android.SdkModule)
1209 android.AssertStringEquals(t, "source dex module stubs jar build path", systemDexJar, dexJarPath)
1210
1211 dexJarPath = dexJarBuildPath(android.PrebuiltNameFromSource("myjavalib"), android.SdkPublic)
1212 android.AssertStringEquals(t, "prebuilt dex public stubs jar build path", "out/soong/.intermediates/snapshot/prebuilt_myjavalib.stubs/android_common/dex/myjavalib.stubs.jar", dexJarPath)
1213 }),
1214 )
1215}
1216
Paul Duffin780c5f42020-05-12 15:52:55 +01001217func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001218 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin780c5f42020-05-12 15:52:55 +01001219 sdk {
1220 name: "mysdk",
1221 java_sdk_libs: ["myjavalib"],
1222 }
1223
1224 java_sdk_library {
1225 name: "myjavalib",
1226 srcs: ["Test.java"],
1227 sdk_version: "none",
1228 system_modules: "none",
1229 }
1230 `)
1231
Paul Duffin36474d32021-03-12 12:19:43 +00001232 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001233 checkUnversionedAndroidBpContents(`
Paul Duffin780c5f42020-05-12 15:52:55 +01001234// This is auto-generated. DO NOT EDIT.
1235
1236java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001237 name: "myjavalib",
1238 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001239 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001240 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001241 shared_library: true,
Paul Duffin780c5f42020-05-12 15:52:55 +01001242 public: {
1243 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001244 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001245 current_api: "sdk_library/public/myjavalib.txt",
1246 removed_api: "sdk_library/public/myjavalib-removed.txt",
1247 sdk_version: "none",
1248 },
1249}
Paul Duffine1381882021-04-16 17:05:10 +01001250`),
1251 checkVersionedAndroidBpContents(`
1252// This is auto-generated. DO NOT EDIT.
Paul Duffin780c5f42020-05-12 15:52:55 +01001253
1254java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001255 name: "mysdk_myjavalib@current",
1256 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001257 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001258 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001259 shared_library: true,
Paul Duffin780c5f42020-05-12 15:52:55 +01001260 public: {
1261 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001262 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001263 current_api: "sdk_library/public/myjavalib.txt",
1264 removed_api: "sdk_library/public/myjavalib-removed.txt",
1265 sdk_version: "none",
1266 },
1267}
1268
1269sdk_snapshot {
1270 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001271 visibility: ["//visibility:public"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001272 java_sdk_libs: ["mysdk_myjavalib@current"],
1273}
1274`),
1275 checkAllCopyRules(`
1276.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001277.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1278.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin780c5f42020-05-12 15:52:55 +01001279`),
1280 checkMergeZips(
1281 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1282 ),
1283 )
1284}
1285
Paul Duffin87a05a32020-05-12 11:50:28 +01001286func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001287 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin87a05a32020-05-12 11:50:28 +01001288 sdk {
1289 name: "mysdk",
1290 java_sdk_libs: ["myjavalib"],
1291 }
1292
1293 java_sdk_library {
1294 name: "myjavalib",
1295 srcs: ["Test.java"],
1296 sdk_version: "module_current",
1297 public: {
1298 enabled: true,
1299 sdk_version: "module_current",
1300 },
1301 }
1302 `)
1303
Paul Duffin36474d32021-03-12 12:19:43 +00001304 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001305 checkUnversionedAndroidBpContents(`
Paul Duffin87a05a32020-05-12 11:50:28 +01001306// This is auto-generated. DO NOT EDIT.
1307
1308java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001309 name: "myjavalib",
1310 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001311 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001312 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001313 shared_library: true,
Paul Duffin87a05a32020-05-12 11:50:28 +01001314 public: {
1315 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001316 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001317 current_api: "sdk_library/public/myjavalib.txt",
1318 removed_api: "sdk_library/public/myjavalib-removed.txt",
1319 sdk_version: "module_current",
1320 },
1321}
Paul Duffine1381882021-04-16 17:05:10 +01001322`),
1323 checkVersionedAndroidBpContents(`
1324// This is auto-generated. DO NOT EDIT.
Paul Duffin87a05a32020-05-12 11:50:28 +01001325
1326java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001327 name: "mysdk_myjavalib@current",
1328 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001329 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001330 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001331 shared_library: true,
Paul Duffin87a05a32020-05-12 11:50:28 +01001332 public: {
1333 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001334 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001335 current_api: "sdk_library/public/myjavalib.txt",
1336 removed_api: "sdk_library/public/myjavalib-removed.txt",
1337 sdk_version: "module_current",
1338 },
1339}
1340
1341sdk_snapshot {
1342 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001343 visibility: ["//visibility:public"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001344 java_sdk_libs: ["mysdk_myjavalib@current"],
1345}
1346`),
1347 checkAllCopyRules(`
1348.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001349.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1350.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin87a05a32020-05-12 11:50:28 +01001351`),
1352 checkMergeZips(
1353 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1354 ),
1355 )
1356}
1357
1358func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001359 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin3375e352020-04-28 10:44:03 +01001360 sdk {
1361 name: "mysdk",
1362 java_sdk_libs: ["myjavalib"],
1363 }
1364
1365 java_sdk_library {
1366 name: "myjavalib",
1367 apex_available: ["//apex_available:anyapex"],
1368 srcs: ["Test.java"],
1369 sdk_version: "current",
1370 public: {
1371 enabled: true,
1372 },
1373 system: {
1374 enabled: true,
1375 },
1376 }
1377 `)
1378
Paul Duffin36474d32021-03-12 12:19:43 +00001379 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001380 checkUnversionedAndroidBpContents(`
Paul Duffin3375e352020-04-28 10:44:03 +01001381// This is auto-generated. DO NOT EDIT.
1382
1383java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001384 name: "myjavalib",
1385 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001386 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001387 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001388 shared_library: true,
Paul Duffin3375e352020-04-28 10:44:03 +01001389 public: {
1390 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001391 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001392 current_api: "sdk_library/public/myjavalib.txt",
1393 removed_api: "sdk_library/public/myjavalib-removed.txt",
1394 sdk_version: "current",
1395 },
1396 system: {
1397 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001398 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001399 current_api: "sdk_library/system/myjavalib.txt",
1400 removed_api: "sdk_library/system/myjavalib-removed.txt",
1401 sdk_version: "system_current",
1402 },
1403}
Paul Duffine1381882021-04-16 17:05:10 +01001404`),
1405 checkVersionedAndroidBpContents(`
1406// This is auto-generated. DO NOT EDIT.
Paul Duffin3375e352020-04-28 10:44:03 +01001407
1408java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001409 name: "mysdk_myjavalib@current",
1410 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001411 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001412 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001413 shared_library: true,
Paul Duffin3375e352020-04-28 10:44:03 +01001414 public: {
1415 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001416 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001417 current_api: "sdk_library/public/myjavalib.txt",
1418 removed_api: "sdk_library/public/myjavalib-removed.txt",
1419 sdk_version: "current",
1420 },
1421 system: {
1422 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001423 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001424 current_api: "sdk_library/system/myjavalib.txt",
1425 removed_api: "sdk_library/system/myjavalib-removed.txt",
1426 sdk_version: "system_current",
1427 },
1428}
1429
1430sdk_snapshot {
1431 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001432 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001433 java_sdk_libs: ["mysdk_myjavalib@current"],
1434}
1435`),
1436 checkAllCopyRules(`
1437.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001438.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1439.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin3375e352020-04-28 10:44:03 +01001440.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001441.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1442.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffin3375e352020-04-28 10:44:03 +01001443`),
1444 checkMergeZips(
1445 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1446 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
1447 ),
1448 )
1449}
Paul Duffin8f265b92020-04-28 14:13:56 +01001450
1451func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001452 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin8f265b92020-04-28 14:13:56 +01001453 sdk {
1454 name: "mysdk",
1455 java_sdk_libs: ["myjavalib"],
1456 }
1457
1458 java_sdk_library {
1459 name: "myjavalib",
1460 apex_available: ["//apex_available:anyapex"],
1461 srcs: ["Test.java"],
1462 sdk_version: "current",
1463 public: {
1464 enabled: true,
1465 },
1466 system: {
1467 enabled: true,
1468 },
1469 module_lib: {
1470 enabled: true,
1471 },
1472 }
1473 `)
1474
Paul Duffin36474d32021-03-12 12:19:43 +00001475 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001476 checkUnversionedAndroidBpContents(`
Paul Duffin8f265b92020-04-28 14:13:56 +01001477// This is auto-generated. DO NOT EDIT.
1478
1479java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001480 name: "myjavalib",
1481 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001482 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001483 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001484 shared_library: true,
Paul Duffin8f265b92020-04-28 14:13:56 +01001485 public: {
1486 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001487 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001488 current_api: "sdk_library/public/myjavalib.txt",
1489 removed_api: "sdk_library/public/myjavalib-removed.txt",
1490 sdk_version: "current",
1491 },
1492 system: {
1493 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001494 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001495 current_api: "sdk_library/system/myjavalib.txt",
1496 removed_api: "sdk_library/system/myjavalib-removed.txt",
1497 sdk_version: "system_current",
1498 },
1499 module_lib: {
Paul Duffin6b836ba2020-05-13 19:19:49 +01001500 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001501 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
Paul Duffin6b836ba2020-05-13 19:19:49 +01001502 current_api: "sdk_library/module-lib/myjavalib.txt",
1503 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
Paul Duffin8f265b92020-04-28 14:13:56 +01001504 sdk_version: "module_current",
1505 },
1506}
Paul Duffine1381882021-04-16 17:05:10 +01001507`),
1508 checkVersionedAndroidBpContents(`
1509// This is auto-generated. DO NOT EDIT.
Paul Duffin8f265b92020-04-28 14:13:56 +01001510
1511java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001512 name: "mysdk_myjavalib@current",
1513 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001514 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001515 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001516 shared_library: true,
Paul Duffin8f265b92020-04-28 14:13:56 +01001517 public: {
1518 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001519 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001520 current_api: "sdk_library/public/myjavalib.txt",
1521 removed_api: "sdk_library/public/myjavalib-removed.txt",
1522 sdk_version: "current",
1523 },
1524 system: {
1525 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001526 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001527 current_api: "sdk_library/system/myjavalib.txt",
1528 removed_api: "sdk_library/system/myjavalib-removed.txt",
1529 sdk_version: "system_current",
1530 },
1531 module_lib: {
Paul Duffin6b836ba2020-05-13 19:19:49 +01001532 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001533 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
Paul Duffin6b836ba2020-05-13 19:19:49 +01001534 current_api: "sdk_library/module-lib/myjavalib.txt",
1535 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
Paul Duffin8f265b92020-04-28 14:13:56 +01001536 sdk_version: "module_current",
1537 },
1538}
1539
1540sdk_snapshot {
1541 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001542 visibility: ["//visibility:public"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001543 java_sdk_libs: ["mysdk_myjavalib@current"],
1544}
1545`),
1546 checkAllCopyRules(`
1547.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001548.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1549.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin8f265b92020-04-28 14:13:56 +01001550.intermediates/myjavalib.stubs.system/android_common/javac/myjavalib.stubs.system.jar -> sdk_library/system/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001551.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1552.intermediates/myjavalib.stubs.source.system/android_common/metalava/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffin6b836ba2020-05-13 19:19:49 +01001553.intermediates/myjavalib.stubs.module_lib/android_common/javac/myjavalib.stubs.module_lib.jar -> sdk_library/module-lib/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001554.intermediates/myjavalib.stubs.source.module_lib/android_common/metalava/myjavalib.stubs.source.module_lib_api.txt -> sdk_library/module-lib/myjavalib.txt
1555.intermediates/myjavalib.stubs.source.module_lib/android_common/metalava/myjavalib.stubs.source.module_lib_removed.txt -> sdk_library/module-lib/myjavalib-removed.txt
Paul Duffin8f265b92020-04-28 14:13:56 +01001556`),
1557 checkMergeZips(
1558 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1559 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
Paul Duffin6b836ba2020-05-13 19:19:49 +01001560 ".intermediates/mysdk/common_os/tmp/sdk_library/module-lib/myjavalib_stub_sources.zip",
Paul Duffin8f265b92020-04-28 14:13:56 +01001561 ),
1562 )
1563}
Paul Duffinf7a64332020-05-13 16:54:55 +01001564
Paul Duffin0c5bae52020-06-02 13:00:08 +01001565func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001566 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin0c5bae52020-06-02 13:00:08 +01001567 sdk {
1568 name: "mysdk",
1569 java_sdk_libs: ["myjavalib"],
1570 }
1571
1572 java_sdk_library {
1573 name: "myjavalib",
1574 apex_available: ["//apex_available:anyapex"],
1575 srcs: ["Test.java"],
1576 sdk_version: "current",
1577 public: {
1578 enabled: true,
1579 },
1580 system_server: {
1581 enabled: true,
1582 },
1583 }
1584 `)
1585
Paul Duffin36474d32021-03-12 12:19:43 +00001586 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001587 checkUnversionedAndroidBpContents(`
Paul Duffin0c5bae52020-06-02 13:00:08 +01001588// This is auto-generated. DO NOT EDIT.
1589
1590java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001591 name: "myjavalib",
1592 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001593 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001594 apex_available: ["//apex_available:anyapex"],
1595 shared_library: true,
1596 public: {
1597 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001598 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001599 current_api: "sdk_library/public/myjavalib.txt",
1600 removed_api: "sdk_library/public/myjavalib-removed.txt",
1601 sdk_version: "current",
1602 },
1603 system_server: {
1604 jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001605 stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001606 current_api: "sdk_library/system-server/myjavalib.txt",
1607 removed_api: "sdk_library/system-server/myjavalib-removed.txt",
1608 sdk_version: "system_server_current",
1609 },
1610}
Paul Duffine1381882021-04-16 17:05:10 +01001611`),
1612 checkVersionedAndroidBpContents(`
1613// This is auto-generated. DO NOT EDIT.
Paul Duffin0c5bae52020-06-02 13:00:08 +01001614
1615java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001616 name: "mysdk_myjavalib@current",
1617 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001618 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001619 apex_available: ["//apex_available:anyapex"],
1620 shared_library: true,
1621 public: {
1622 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001623 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001624 current_api: "sdk_library/public/myjavalib.txt",
1625 removed_api: "sdk_library/public/myjavalib-removed.txt",
1626 sdk_version: "current",
1627 },
1628 system_server: {
1629 jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001630 stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001631 current_api: "sdk_library/system-server/myjavalib.txt",
1632 removed_api: "sdk_library/system-server/myjavalib-removed.txt",
1633 sdk_version: "system_server_current",
1634 },
1635}
1636
1637sdk_snapshot {
1638 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001639 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001640 java_sdk_libs: ["mysdk_myjavalib@current"],
1641}
1642`),
1643 checkAllCopyRules(`
1644.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001645.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1646.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin0c5bae52020-06-02 13:00:08 +01001647.intermediates/myjavalib.stubs.system_server/android_common/javac/myjavalib.stubs.system_server.jar -> sdk_library/system-server/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001648.intermediates/myjavalib.stubs.source.system_server/android_common/metalava/myjavalib.stubs.source.system_server_api.txt -> sdk_library/system-server/myjavalib.txt
1649.intermediates/myjavalib.stubs.source.system_server/android_common/metalava/myjavalib.stubs.source.system_server_removed.txt -> sdk_library/system-server/myjavalib-removed.txt
Paul Duffin0c5bae52020-06-02 13:00:08 +01001650`),
1651 checkMergeZips(
1652 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1653 ".intermediates/mysdk/common_os/tmp/sdk_library/system-server/myjavalib_stub_sources.zip",
1654 ),
1655 )
1656}
1657
Paul Duffinf7a64332020-05-13 16:54:55 +01001658func TestSnapshotWithJavaSdkLibrary_NamingScheme(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001659 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffinf7a64332020-05-13 16:54:55 +01001660 sdk {
1661 name: "mysdk",
1662 java_sdk_libs: ["myjavalib"],
1663 }
1664
1665 java_sdk_library {
1666 name: "myjavalib",
1667 apex_available: ["//apex_available:anyapex"],
1668 srcs: ["Test.java"],
1669 sdk_version: "current",
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001670 naming_scheme: "default",
Paul Duffinf7a64332020-05-13 16:54:55 +01001671 public: {
1672 enabled: true,
1673 },
1674 }
1675 `)
1676
Paul Duffin36474d32021-03-12 12:19:43 +00001677 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001678 checkUnversionedAndroidBpContents(`
Paul Duffinf7a64332020-05-13 16:54:55 +01001679// This is auto-generated. DO NOT EDIT.
1680
1681java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001682 name: "myjavalib",
1683 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001684 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001685 apex_available: ["//apex_available:anyapex"],
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001686 naming_scheme: "default",
Paul Duffind7eb1c22020-05-26 20:57:10 +01001687 shared_library: true,
Paul Duffinf7a64332020-05-13 16:54:55 +01001688 public: {
1689 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001690 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001691 current_api: "sdk_library/public/myjavalib.txt",
1692 removed_api: "sdk_library/public/myjavalib-removed.txt",
1693 sdk_version: "current",
1694 },
1695}
Paul Duffine1381882021-04-16 17:05:10 +01001696`),
1697 checkVersionedAndroidBpContents(`
1698// This is auto-generated. DO NOT EDIT.
Paul Duffinf7a64332020-05-13 16:54:55 +01001699
1700java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001701 name: "mysdk_myjavalib@current",
1702 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001703 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001704 apex_available: ["//apex_available:anyapex"],
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001705 naming_scheme: "default",
Paul Duffind7eb1c22020-05-26 20:57:10 +01001706 shared_library: true,
Paul Duffinf7a64332020-05-13 16:54:55 +01001707 public: {
1708 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001709 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001710 current_api: "sdk_library/public/myjavalib.txt",
1711 removed_api: "sdk_library/public/myjavalib-removed.txt",
1712 sdk_version: "current",
1713 },
1714}
1715
1716sdk_snapshot {
1717 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001718 visibility: ["//visibility:public"],
Paul Duffinf7a64332020-05-13 16:54:55 +01001719 java_sdk_libs: ["mysdk_myjavalib@current"],
1720}
1721`),
1722 checkAllCopyRules(`
Paul Duffinee9ad5d2020-09-11 13:04:05 +01001723.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001724.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1725.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffinf7a64332020-05-13 16:54:55 +01001726`),
1727 checkMergeZips(
1728 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1729 ),
1730 )
1731}
Paul Duffina2ae7e02020-09-11 11:55:00 +01001732
1733func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) {
Paul Duffindb462dd2021-03-21 22:01:55 +00001734 result := android.GroupFixturePreparers(
1735 prepareForSdkTestWithJavaSdkLibrary,
1736 android.FixtureAddFile("docs/known_doctags", nil),
1737 ).RunTestWithBp(t, `
Paul Duffina2ae7e02020-09-11 11:55:00 +01001738 sdk {
1739 name: "mysdk",
1740 java_sdk_libs: ["myjavalib"],
1741 }
1742
1743 java_sdk_library {
1744 name: "myjavalib",
1745 srcs: ["Test.java"],
1746 sdk_version: "current",
1747 public: {
1748 enabled: true,
1749 },
1750 doctag_files: ["docs/known_doctags"],
1751 }
1752
1753 filegroup {
1754 name: "mygroup",
1755 srcs: [":myjavalib{.doctags}"],
1756 }
1757 `)
1758
Paul Duffin36474d32021-03-12 12:19:43 +00001759 CheckSnapshot(t, result, "mysdk", "",
Paul Duffine1381882021-04-16 17:05:10 +01001760 checkUnversionedAndroidBpContents(`
Paul Duffina2ae7e02020-09-11 11:55:00 +01001761// This is auto-generated. DO NOT EDIT.
1762
1763java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001764 name: "myjavalib",
1765 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001766 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001767 apex_available: ["//apex_available:platform"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001768 shared_library: true,
1769 doctag_files: ["doctags/docs/known_doctags"],
1770 public: {
1771 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001772 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001773 current_api: "sdk_library/public/myjavalib.txt",
1774 removed_api: "sdk_library/public/myjavalib-removed.txt",
1775 sdk_version: "current",
1776 },
1777}
Paul Duffine1381882021-04-16 17:05:10 +01001778`),
1779 checkVersionedAndroidBpContents(`
1780// This is auto-generated. DO NOT EDIT.
Paul Duffina2ae7e02020-09-11 11:55:00 +01001781
1782java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001783 name: "mysdk_myjavalib@current",
1784 sdk_member_name: "myjavalib",
Paul Duffind99d9972020-09-29 16:00:55 +01001785 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001786 apex_available: ["//apex_available:platform"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001787 shared_library: true,
1788 doctag_files: ["doctags/docs/known_doctags"],
1789 public: {
1790 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001791 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001792 current_api: "sdk_library/public/myjavalib.txt",
1793 removed_api: "sdk_library/public/myjavalib-removed.txt",
1794 sdk_version: "current",
1795 },
1796}
1797
1798sdk_snapshot {
1799 name: "mysdk@current",
Paul Duffind99d9972020-09-29 16:00:55 +01001800 visibility: ["//visibility:public"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001801 java_sdk_libs: ["mysdk_myjavalib@current"],
1802}
1803`),
1804 checkAllCopyRules(`
1805.intermediates/myjavalib.stubs/android_common/javac/myjavalib.stubs.jar -> sdk_library/public/myjavalib-stubs.jar
Colin Crosscb77f752021-03-24 12:04:44 -07001806.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1807.intermediates/myjavalib.stubs.source/android_common/metalava/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffina2ae7e02020-09-11 11:55:00 +01001808docs/known_doctags -> doctags/docs/known_doctags
1809`),
1810 )
1811}