blob: 15e13dbcbc9a7081e341bde2f651008af2aedea4 [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 (
Paul Duffin13648912022-07-15 13:12:35 +000018 "fmt"
Paul Duffina80fdec2019-12-03 15:25:00 +000019 "testing"
Paul Duffincee7e662020-07-09 17:32:57 +010020
Paul Duffin4a2a29c2021-03-09 22:27:13 +000021 "android/soong/android"
Jiakai Zhangbc698cd2023-05-08 16:28:38 +000022 "android/soong/dexpreopt"
Paul Duffincee7e662020-07-09 17:32:57 +010023 "android/soong/java"
Paul Duffina80fdec2019-12-03 15:25:00 +000024)
25
Paul Duffind14cbc12021-03-18 09:14:23 +000026var prepareForSdkTestWithJava = android.GroupFixturePreparers(
27 java.PrepareForTestWithJavaBuildComponents,
28 PrepareForTestWithSdkBuildComponents,
Jiakai Zhangbc698cd2023-05-08 16:28:38 +000029 dexpreopt.PrepareForTestWithFakeDex2oatd,
Paul Duffindb462dd2021-03-21 22:01:55 +000030
31 // Ensure that all source paths are provided. This helps ensure that the snapshot generation is
32 // consistent and all files referenced from the snapshot's Android.bp file have actually been
33 // copied into the snapshot.
34 android.PrepareForTestDisallowNonExistentPaths,
35
36 // Files needs by most of the tests.
37 android.MockFS{
Jiakai Zhang9c4dc192023-02-09 00:09:24 +080038 "Test.java": nil,
39 "art-profile": nil,
Paul Duffindb462dd2021-03-21 22:01:55 +000040 }.AddToFixture(),
Paul Duffind14cbc12021-03-18 09:14:23 +000041)
42
Paul Duffin9ec86b12021-03-15 11:17:52 +000043var prepareForSdkTestWithJavaSdkLibrary = android.GroupFixturePreparers(
44 prepareForSdkTestWithJava,
45 java.PrepareForTestWithJavaDefaultModules,
46 java.PrepareForTestWithJavaSdkLibraryFiles,
47 java.FixtureWithLastReleaseApis("myjavalib"),
Colin Crossa66b4632024-08-08 15:50:47 -070048 android.PrepareForTestWithBuildFlag("RELEASE_HIDDEN_API_EXPORTABLE_STUBS", "true"),
Paul Duffin9ec86b12021-03-15 11:17:52 +000049)
50
Paul Duffina80fdec2019-12-03 15:25:00 +000051// Contains tests for SDK members provided by the java package.
52
Paul Duffincee7e662020-07-09 17:32:57 +010053func TestSdkDependsOnSourceEvenWhenPrebuiltPreferred(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000054 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffincee7e662020-07-09 17:32:57 +010055 sdk {
56 name: "mysdk",
57 java_header_libs: ["sdkmember"],
58 }
59
60 java_library {
61 name: "sdkmember",
62 srcs: ["Test.java"],
63 system_modules: "none",
64 sdk_version: "none",
65 }
Paul Duffincee7e662020-07-09 17:32:57 +010066 `)
67
68 // Make sure that the mysdk module depends on "sdkmember" and not "prebuilt_sdkmember".
Paul Duffin1822a0a2021-03-21 12:56:33 +000069 sdkChecker := func(t *testing.T, result *android.TestResult) {
70 java.CheckModuleDependencies(t, result.TestContext, "mysdk", "android_common", []string{"sdkmember"})
71 }
Paul Duffincee7e662020-07-09 17:32:57 +010072
Paul Duffin36474d32021-03-12 12:19:43 +000073 CheckSnapshot(t, result, "mysdk", "",
Paul Duffin1822a0a2021-03-21 12:56:33 +000074 snapshotTestChecker(checkSnapshotWithSourcePreferred, sdkChecker),
75 snapshotTestChecker(checkSnapshotPreferredWithSource, sdkChecker),
76 )
Paul Duffincee7e662020-07-09 17:32:57 +010077}
78
Paul Duffina0dbf432019-12-05 11:25:53 +000079func TestSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +000080 result := android.GroupFixturePreparers(
81 prepareForSdkTestWithJava,
82 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
83 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +000084 sdk {
85 name: "mysdk",
86 java_header_libs: ["myjavalib"],
87 }
88
89 java_library {
90 name: "myjavalib",
91 srcs: ["Test.java"],
92 aidl: {
93 export_include_dirs: ["aidl"],
94 },
95 system_modules: "none",
96 sdk_version: "none",
97 compile_dex: true,
98 host_supported: true,
Paul Duffin869de142021-07-15 14:14:41 +010099 permitted_packages: ["pkg.myjavalib"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000100 }
101 `)
102
Paul Duffin36474d32021-03-12 12:19:43 +0000103 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000104 checkAndroidBpContents(`
Paul Duffine1381882021-04-16 17:05:10 +0100105// This is auto-generated. DO NOT EDIT.
106
Spandan Dasa5e26d32024-03-06 14:04:36 +0000107apex_contributions_defaults {
108 name: "mysdk.contributions",
109 contents: ["prebuilt_myjavalib"],
110}
111
Paul Duffine1381882021-04-16 17:05:10 +0100112java_import {
113 name: "myjavalib",
114 prefer: false,
115 visibility: ["//visibility:public"],
116 apex_available: ["//apex_available:platform"],
117 jars: ["java/myjavalib.jar"],
Paul Duffin869de142021-07-15 14:14:41 +0100118 permitted_packages: ["pkg.myjavalib"],
Paul Duffine1381882021-04-16 17:05:10 +0100119}
120`),
Paul Duffina0dbf432019-12-05 11:25:53 +0000121 checkAllCopyRules(`
122.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/myjavalib.jar
123aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
124`),
125 )
126}
127
128func TestHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000129 result := android.GroupFixturePreparers(
130 prepareForSdkTestWithJava,
131 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
132 ).RunTestWithBp(t, `
Paul Duffina0dbf432019-12-05 11:25:53 +0000133 sdk {
134 name: "mysdk",
135 device_supported: false,
136 host_supported: true,
137 java_header_libs: ["myjavalib"],
138 }
139
140 java_library {
141 name: "myjavalib",
142 device_supported: false,
143 host_supported: true,
144 srcs: ["Test.java"],
145 aidl: {
146 export_include_dirs: ["aidl"],
147 },
148 system_modules: "none",
149 sdk_version: "none",
150 compile_dex: true,
151 }
152 `)
153
Paul Duffin36474d32021-03-12 12:19:43 +0000154 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000155 checkAndroidBpContents(`
Paul Duffina0dbf432019-12-05 11:25:53 +0000156// This is auto-generated. DO NOT EDIT.
157
Spandan Dasa5e26d32024-03-06 14:04:36 +0000158apex_contributions_defaults {
159 name: "mysdk.contributions",
160 contents: ["prebuilt_myjavalib"],
161}
162
Paul Duffina0dbf432019-12-05 11:25:53 +0000163java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100164 name: "myjavalib",
165 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100166 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000167 apex_available: ["//apex_available:platform"],
Paul Duffina0dbf432019-12-05 11:25:53 +0000168 device_supported: false,
169 host_supported: true,
170 jars: ["java/myjavalib.jar"],
171}
Paul Duffine1381882021-04-16 17:05:10 +0100172`),
Paul Duffina0dbf432019-12-05 11:25:53 +0000173 checkAllCopyRules(`
Colin Crossf06d8dc2023-07-18 22:11:07 -0700174.intermediates/myjavalib/linux_glibc_common/javac-header/myjavalib.jar -> java/myjavalib.jar
Paul Duffina0dbf432019-12-05 11:25:53 +0000175aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
176`),
177 )
178}
179
Paul Duffina04c1072020-03-02 10:16:35 +0000180func TestDeviceAndHostSnapshotWithJavaHeaderLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000181 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffina04c1072020-03-02 10:16:35 +0000182 sdk {
183 name: "mysdk",
184 host_supported: true,
185 java_header_libs: ["myjavalib"],
186 }
187
188 java_library {
189 name: "myjavalib",
190 host_supported: true,
191 srcs: ["Test.java"],
192 system_modules: "none",
193 sdk_version: "none",
194 compile_dex: true,
195 }
196 `)
197
Paul Duffin36474d32021-03-12 12:19:43 +0000198 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000199 checkAndroidBpContents(`
Paul Duffina04c1072020-03-02 10:16:35 +0000200// This is auto-generated. DO NOT EDIT.
201
Spandan Dasa5e26d32024-03-06 14:04:36 +0000202apex_contributions_defaults {
203 name: "mysdk.contributions",
204 contents: ["prebuilt_myjavalib"],
205}
206
Paul Duffina04c1072020-03-02 10:16:35 +0000207java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100208 name: "myjavalib",
209 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100210 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000211 apex_available: ["//apex_available:platform"],
Paul Duffina04c1072020-03-02 10:16:35 +0000212 host_supported: true,
213 target: {
214 android: {
215 jars: ["java/android/myjavalib.jar"],
216 },
217 linux_glibc: {
218 jars: ["java/linux_glibc/myjavalib.jar"],
219 },
220 },
221}
Paul Duffine1381882021-04-16 17:05:10 +0100222`),
Paul Duffina04c1072020-03-02 10:16:35 +0000223 checkAllCopyRules(`
224.intermediates/myjavalib/android_common/turbine-combined/myjavalib.jar -> java/android/myjavalib.jar
Colin Crossf06d8dc2023-07-18 22:11:07 -0700225.intermediates/myjavalib/linux_glibc_common/javac-header/myjavalib.jar -> java/linux_glibc/myjavalib.jar
Paul Duffina04c1072020-03-02 10:16:35 +0000226`),
227 )
228}
229
Paul Duffina0dbf432019-12-05 11:25:53 +0000230func TestSnapshotWithJavaImplLibrary(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),
Paul Duffindb462dd2021-03-21 22:01:55 +0000234 android.FixtureAddFile("resource.txt", nil),
Paul Duffin9ec86b12021-03-15 11:17:52 +0000235 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000236 module_exports {
237 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000238 java_libs: ["myjavalib"],
239 }
240
241 java_library {
242 name: "myjavalib",
243 srcs: ["Test.java"],
Paul Duffin4e772842020-06-24 12:10:42 +0100244 java_resources: ["resource.txt"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000245 aidl: {
246 export_include_dirs: ["aidl"],
247 },
248 system_modules: "none",
249 sdk_version: "none",
250 compile_dex: true,
251 host_supported: true,
252 }
253 `)
254
Paul Duffin36474d32021-03-12 12:19:43 +0000255 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000256 checkAndroidBpContents(`
Paul Duffine1381882021-04-16 17:05:10 +0100257// This is auto-generated. DO NOT EDIT.
258
Spandan Dasa5e26d32024-03-06 14:04:36 +0000259apex_contributions_defaults {
260 name: "myexports.contributions",
261 contents: ["prebuilt_myjavalib"],
262}
263
Paul Duffine1381882021-04-16 17:05:10 +0100264java_import {
265 name: "myjavalib",
266 prefer: false,
267 visibility: ["//visibility:public"],
268 apex_available: ["//apex_available:platform"],
269 jars: ["java/myjavalib.jar"],
270}
271`),
Paul Duffina80fdec2019-12-03 15:25:00 +0000272 checkAllCopyRules(`
Paul Duffin4e772842020-06-24 12:10:42 +0100273.intermediates/myjavalib/android_common/withres/myjavalib.jar -> java/myjavalib.jar
Paul Duffina80fdec2019-12-03 15:25:00 +0000274aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
275`),
276 )
277}
278
Paul Duffindb170e42020-12-08 17:48:25 +0000279func TestSnapshotWithJavaBootLibrary(t *testing.T) {
Paul Duffindb462dd2021-03-21 22:01:55 +0000280 result := android.GroupFixturePreparers(
281 prepareForSdkTestWithJava,
282 android.FixtureAddFile("aidl", nil),
283 android.FixtureAddFile("resource.txt", nil),
284 ).RunTestWithBp(t, `
Paul Duffin13648912022-07-15 13:12:35 +0000285 sdk {
286 name: "mysdk",
Paul Duffindb170e42020-12-08 17:48:25 +0000287 java_boot_libs: ["myjavalib"],
288 }
289
290 java_library {
291 name: "myjavalib",
292 srcs: ["Test.java"],
293 java_resources: ["resource.txt"],
294 // The aidl files should not be copied to the snapshot because a java_boot_libs member is not
295 // intended to be used for compiling Java, only for accessing the dex implementation jar.
296 aidl: {
297 export_include_dirs: ["aidl"],
298 },
299 system_modules: "none",
300 sdk_version: "none",
301 compile_dex: true,
Paul Duffin869de142021-07-15 14:14:41 +0100302 permitted_packages: ["pkg.myjavalib"],
Paul Duffindb170e42020-12-08 17:48:25 +0000303 }
304 `)
305
Paul Duffin13648912022-07-15 13:12:35 +0000306 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000307 checkAndroidBpContents(`
Paul Duffine1381882021-04-16 17:05:10 +0100308// This is auto-generated. DO NOT EDIT.
309
Spandan Dasa5e26d32024-03-06 14:04:36 +0000310apex_contributions_defaults {
311 name: "mysdk.contributions",
312 contents: [],
313}
314
Paul Duffine1381882021-04-16 17:05:10 +0100315java_import {
316 name: "myjavalib",
317 prefer: false,
318 visibility: ["//visibility:public"],
319 apex_available: ["//apex_available:platform"],
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000320 jars: ["java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar"],
Paul Duffin869de142021-07-15 14:14:41 +0100321 permitted_packages: ["pkg.myjavalib"],
Paul Duffine1381882021-04-16 17:05:10 +0100322}
323`),
Paul Duffindb170e42020-12-08 17:48:25 +0000324 checkAllCopyRules(`
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000325.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/myjavalib.jar
Paul Duffindb170e42020-12-08 17:48:25 +0000326`),
327 )
328}
329
Paul Duffin13648912022-07-15 13:12:35 +0000330func TestSnapshotWithJavaBootLibrary_UpdatableMedia(t *testing.T) {
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000331 runTest := func(t *testing.T, targetBuildRelease, expectedJarPath, expectedCopyRule string) {
Paul Duffin13648912022-07-15 13:12:35 +0000332 result := android.GroupFixturePreparers(
333 prepareForSdkTestWithJava,
334 android.FixtureMergeEnv(map[string]string{
335 "SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": targetBuildRelease,
336 }),
Spandan Dasa5e26d32024-03-06 14:04:36 +0000337 android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
338 variables.Platform_version_active_codenames = []string{"VanillaIceCream"}
339 }),
Paul Duffin13648912022-07-15 13:12:35 +0000340 ).RunTestWithBp(t, `
341 sdk {
342 name: "mysdk",
343 java_boot_libs: ["updatable-media"],
344 }
345
346 java_library {
347 name: "updatable-media",
348 srcs: ["Test.java"],
349 system_modules: "none",
350 sdk_version: "none",
351 compile_dex: true,
352 permitted_packages: ["pkg.media"],
353 apex_available: ["com.android.media"],
354 }
355 `)
356
357 CheckSnapshot(t, result, "mysdk", "",
358 checkAndroidBpContents(fmt.Sprintf(`
359// This is auto-generated. DO NOT EDIT.
360
361java_import {
362 name: "updatable-media",
363 prefer: false,
364 visibility: ["//visibility:public"],
365 apex_available: ["com.android.media"],
366 jars: ["%s"],
367 permitted_packages: ["pkg.media"],
368}
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000369`, expectedJarPath)),
Paul Duffin13648912022-07-15 13:12:35 +0000370 checkAllCopyRules(expectedCopyRule),
371 )
372 }
373
374 t.Run("updatable-media in S", func(t *testing.T) {
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000375 runTest(t, "S", "java/updatable-media.jar", `
Paul Duffin13648912022-07-15 13:12:35 +0000376.intermediates/updatable-media/android_common/package-check/updatable-media.jar -> java/updatable-media.jar
377`)
378 })
379
380 t.Run("updatable-media in T", func(t *testing.T) {
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000381 runTest(t, "Tiramisu", "java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar", `
382.intermediates/mysdk/common_os/empty -> java_boot_libs/snapshot/jars/are/invalid/updatable-media.jar
Paul Duffin13648912022-07-15 13:12:35 +0000383`)
384 })
385}
386
Paul Duffinbb638eb2022-11-26 13:36:38 +0000387func TestSnapshotWithJavaLibrary_MinSdkVersion(t *testing.T) {
388 runTest := func(t *testing.T, targetBuildRelease, minSdkVersion, expectedMinSdkVersion string) {
389 result := android.GroupFixturePreparers(
390 prepareForSdkTestWithJava,
391 android.FixtureModifyProductVariables(func(variables android.FixtureProductVariables) {
392 variables.Platform_version_active_codenames = []string{"S", "Tiramisu", "Unfinalized"}
393 }),
394 android.FixtureMergeEnv(map[string]string{
395 "SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": targetBuildRelease,
396 }),
397 ).RunTestWithBp(t, fmt.Sprintf(`
398 sdk {
399 name: "mysdk",
400 java_header_libs: ["mylib"],
401 }
402
403 java_library {
404 name: "mylib",
405 srcs: ["Test.java"],
406 system_modules: "none",
407 sdk_version: "none",
408 compile_dex: true,
409 min_sdk_version: "%s",
410 }
411 `, minSdkVersion))
412
413 expectedMinSdkVersionLine := ""
414 if expectedMinSdkVersion != "" {
415 expectedMinSdkVersionLine = fmt.Sprintf(" min_sdk_version: %q,\n", expectedMinSdkVersion)
416 }
417
418 CheckSnapshot(t, result, "mysdk", "",
419 checkAndroidBpContents(fmt.Sprintf(`
420// This is auto-generated. DO NOT EDIT.
421
Spandan Dasa5e26d32024-03-06 14:04:36 +0000422apex_contributions_defaults {
423 name: "mysdk.contributions",
424 contents: ["prebuilt_mylib"],
425}
426
Paul Duffinbb638eb2022-11-26 13:36:38 +0000427java_import {
428 name: "mylib",
429 prefer: false,
430 visibility: ["//visibility:public"],
431 apex_available: ["//apex_available:platform"],
432 jars: ["java/mylib.jar"],
433%s}
434`, expectedMinSdkVersionLine)),
435 )
436 }
437
438 t.Run("min_sdk_version=S in S", func(t *testing.T) {
439 // min_sdk_version was not added to java_import until Tiramisu.
440 runTest(t, "S", "S", "")
441 })
442
443 t.Run("min_sdk_version=S in Tiramisu", func(t *testing.T) {
444 // The canonical form of S is 31.
445 runTest(t, "Tiramisu", "S", "31")
446 })
447
448 t.Run("min_sdk_version=24 in Tiramisu", func(t *testing.T) {
449 // A numerical min_sdk_version is already in canonical form.
450 runTest(t, "Tiramisu", "24", "24")
451 })
452
453 t.Run("min_sdk_version=Unfinalized in latest", func(t *testing.T) {
454 // An unfinalized min_sdk_version has no numeric value yet.
455 runTest(t, "", "Unfinalized", "Unfinalized")
456 })
457}
458
Jiakai Zhangea180332021-09-26 08:58:02 +0000459func TestSnapshotWithJavaSystemserverLibrary(t *testing.T) {
460 result := android.GroupFixturePreparers(
461 prepareForSdkTestWithJava,
462 android.FixtureAddFile("aidl", nil),
463 android.FixtureAddFile("resource.txt", nil),
464 ).RunTestWithBp(t, `
465 module_exports {
466 name: "myexports",
467 java_systemserver_libs: ["myjavalib"],
468 }
469
470 java_library {
471 name: "myjavalib",
472 srcs: ["Test.java"],
473 java_resources: ["resource.txt"],
474 // The aidl files should not be copied to the snapshot because a java_systemserver_libs member
475 // is not intended to be used for compiling Java, only for accessing the dex implementation
476 // jar.
477 aidl: {
478 export_include_dirs: ["aidl"],
479 },
480 system_modules: "none",
481 sdk_version: "none",
482 compile_dex: true,
483 permitted_packages: ["pkg.myjavalib"],
484 }
485 `)
486
487 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000488 checkAndroidBpContents(`
Jiakai Zhangea180332021-09-26 08:58:02 +0000489// This is auto-generated. DO NOT EDIT.
490
Spandan Dasa5e26d32024-03-06 14:04:36 +0000491apex_contributions_defaults {
492 name: "myexports.contributions",
493 contents: [],
494}
495
Jiakai Zhangea180332021-09-26 08:58:02 +0000496java_import {
497 name: "myjavalib",
498 prefer: false,
499 visibility: ["//visibility:public"],
500 apex_available: ["//apex_available:platform"],
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000501 jars: ["java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar"],
Jiakai Zhangea180332021-09-26 08:58:02 +0000502 permitted_packages: ["pkg.myjavalib"],
503}
504`),
Jiakai Zhangea180332021-09-26 08:58:02 +0000505 checkAllCopyRules(`
Paul Duffin7ed6ff82022-11-21 10:57:30 +0000506.intermediates/myexports/common_os/empty -> java_systemserver_libs/snapshot/jars/are/invalid/myjavalib.jar
Jiakai Zhangea180332021-09-26 08:58:02 +0000507`),
508 )
509}
510
Paul Duffina0dbf432019-12-05 11:25:53 +0000511func TestHostSnapshotWithJavaImplLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000512 result := android.GroupFixturePreparers(
513 prepareForSdkTestWithJava,
514 android.FixtureAddFile("aidl/foo/bar/Test.aidl", nil),
515 ).RunTestWithBp(t, `
Paul Duffine6029182019-12-16 17:43:48 +0000516 module_exports {
517 name: "myexports",
Paul Duffina80fdec2019-12-03 15:25:00 +0000518 device_supported: false,
519 host_supported: true,
520 java_libs: ["myjavalib"],
521 }
522
523 java_library {
524 name: "myjavalib",
525 device_supported: false,
526 host_supported: true,
527 srcs: ["Test.java"],
528 aidl: {
529 export_include_dirs: ["aidl"],
530 },
531 system_modules: "none",
532 sdk_version: "none",
533 compile_dex: true,
534 }
535 `)
536
Paul Duffin36474d32021-03-12 12:19:43 +0000537 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000538 checkAndroidBpContents(`
Paul Duffina80fdec2019-12-03 15:25:00 +0000539// This is auto-generated. DO NOT EDIT.
540
Spandan Dasa5e26d32024-03-06 14:04:36 +0000541apex_contributions_defaults {
542 name: "myexports.contributions",
543 contents: ["prebuilt_myjavalib"],
544}
545
Paul Duffina80fdec2019-12-03 15:25:00 +0000546java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100547 name: "myjavalib",
548 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100549 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000550 apex_available: ["//apex_available:platform"],
Paul Duffina80fdec2019-12-03 15:25:00 +0000551 device_supported: false,
552 host_supported: true,
553 jars: ["java/myjavalib.jar"],
554}
Paul Duffine1381882021-04-16 17:05:10 +0100555`),
Paul Duffina80fdec2019-12-03 15:25:00 +0000556 checkAllCopyRules(`
557.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/myjavalib.jar
558aidl/foo/bar/Test.aidl -> aidl/aidl/foo/bar/Test.aidl
559`),
560 )
561}
562
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000563func TestSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000564 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000565 module_exports {
566 name: "myexports",
567 java_tests: ["myjavatests"],
568 }
569
570 java_test {
571 name: "myjavatests",
572 srcs: ["Test.java"],
573 system_modules: "none",
574 sdk_version: "none",
575 compile_dex: true,
576 host_supported: true,
577 }
578 `)
579
Paul Duffin36474d32021-03-12 12:19:43 +0000580 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000581 checkAndroidBpContents(`
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000582// This is auto-generated. DO NOT EDIT.
583
Spandan Dasa5e26d32024-03-06 14:04:36 +0000584apex_contributions_defaults {
585 name: "myexports.contributions",
586 contents: ["prebuilt_myjavatests"],
587}
588
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000589java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100590 name: "myjavatests",
591 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100592 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000593 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000594 jars: ["java/myjavatests.jar"],
595 test_config: "java/myjavatests-AndroidTest.xml",
596}
Paul Duffine1381882021-04-16 17:05:10 +0100597`),
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000598 checkAllCopyRules(`
599.intermediates/myjavatests/android_common/javac/myjavatests.jar -> java/myjavatests.jar
600.intermediates/myjavatests/android_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
601`),
602 )
603}
604
605func TestHostSnapshotWithJavaTest(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000606 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000607 module_exports {
608 name: "myexports",
609 device_supported: false,
610 host_supported: true,
611 java_tests: ["myjavatests"],
612 }
613
614 java_test {
615 name: "myjavatests",
616 device_supported: false,
617 host_supported: true,
618 srcs: ["Test.java"],
619 system_modules: "none",
620 sdk_version: "none",
621 compile_dex: true,
622 }
623 `)
624
Paul Duffin36474d32021-03-12 12:19:43 +0000625 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000626 checkAndroidBpContents(`
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000627// This is auto-generated. DO NOT EDIT.
628
Spandan Dasa5e26d32024-03-06 14:04:36 +0000629apex_contributions_defaults {
630 name: "myexports.contributions",
631 contents: ["prebuilt_myjavatests"],
632}
633
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000634java_test_import {
Paul Duffine1381882021-04-16 17:05:10 +0100635 name: "myjavatests",
636 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100637 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000638 apex_available: ["//apex_available:platform"],
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000639 device_supported: false,
640 host_supported: true,
641 jars: ["java/myjavatests.jar"],
642 test_config: "java/myjavatests-AndroidTest.xml",
643}
Paul Duffine1381882021-04-16 17:05:10 +0100644`),
Paul Duffin1b82e6a2019-12-03 18:06:47 +0000645 checkAllCopyRules(`
646.intermediates/myjavatests/linux_glibc_common/javac/myjavatests.jar -> java/myjavatests.jar
647.intermediates/myjavatests/linux_glibc_common/myjavatests.config -> java/myjavatests-AndroidTest.xml
648`),
649 )
650}
651
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000652func TestSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin958806b2022-05-16 13:10:47 +0000653 result := android.GroupFixturePreparers(
654 prepareForSdkTestWithJava,
655 java.PrepareForTestWithJavaDefaultModules,
656 java.PrepareForTestWithJavaSdkLibraryFiles,
657 java.FixtureWithPrebuiltApisAndExtensions(map[string][]string{
658 "31": {"myjavalib"},
659 "32": {"myjavalib"},
660 "current": {"myjavalib"},
661 }, map[string][]string{
662 "1": {"myjavalib"},
663 "2": {"myjavalib"},
664 }),
Colin Crossa66b4632024-08-08 15:50:47 -0700665 android.PrepareForTestWithBuildFlag("RELEASE_HIDDEN_API_EXPORTABLE_STUBS", "true"),
Paul Duffin958806b2022-05-16 13:10:47 +0000666 ).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 Duffin33028712021-06-22 11:00:07 +0100670 java_sdk_libs: ["myjavalib"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000671 java_system_modules: ["my-system-modules"],
672 }
673
Paul Duffin33028712021-06-22 11:00:07 +0100674 java_sdk_library {
675 name: "myjavalib",
676 apex_available: ["//apex_available:anyapex"],
677 srcs: ["Test.java"],
678 sdk_version: "current",
679 shared_library: false,
680 public: {
681 enabled: true,
682 },
Paul Duffind3b020a2024-04-18 10:37:56 +0100683 system: {
684 enabled: true,
685 },
686 module_lib: {
687 enabled: true,
688 },
Paul Duffin33028712021-06-22 11:00:07 +0100689 }
690
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000691 java_system_modules {
692 name: "my-system-modules",
Paul Duffin33028712021-06-22 11:00:07 +0100693 libs: ["system-module", "exported-system-module", "myjavalib.stubs"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000694 }
695
696 java_library {
697 name: "system-module",
698 srcs: ["Test.java"],
699 sdk_version: "none",
700 system_modules: "none",
701 }
Paul Duffin72910952020-01-20 18:16:30 +0000702
703 java_library {
704 name: "exported-system-module",
705 srcs: ["Test.java"],
706 sdk_version: "none",
707 system_modules: "none",
708 }
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000709 `)
710
Paul Duffin36474d32021-03-12 12:19:43 +0000711 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000712 checkAndroidBpContents(`
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000713// This is auto-generated. DO NOT EDIT.
714
Spandan Dasa5e26d32024-03-06 14:04:36 +0000715apex_contributions_defaults {
716 name: "mysdk.contributions",
717 contents: [
718 "prebuilt_exported-system-module",
719 "prebuilt_myjavalib",
720 "prebuilt_my-system-modules",
721 ],
722}
723
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000724java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100725 name: "exported-system-module",
726 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100727 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000728 apex_available: ["//apex_available:platform"],
Paul Duffin72910952020-01-20 18:16:30 +0000729 jars: ["java/exported-system-module.jar"],
730}
731
732java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100733 name: "mysdk_system-module",
Paul Duffin72910952020-01-20 18:16:30 +0000734 prefer: false,
Paul Duffine1381882021-04-16 17:05:10 +0100735 visibility: ["//visibility:private"],
736 apex_available: ["//apex_available:platform"],
737 jars: ["java/system-module.jar"],
738}
739
Paul Duffin33028712021-06-22 11:00:07 +0100740java_sdk_library_import {
741 name: "myjavalib",
742 prefer: false,
743 visibility: ["//visibility:public"],
744 apex_available: ["//apex_available:anyapex"],
745 shared_library: false,
746 public: {
747 jars: ["sdk_library/public/myjavalib-stubs.jar"],
748 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
749 current_api: "sdk_library/public/myjavalib.txt",
750 removed_api: "sdk_library/public/myjavalib-removed.txt",
751 sdk_version: "current",
752 },
Paul Duffind3b020a2024-04-18 10:37:56 +0100753 system: {
754 jars: ["sdk_library/system/myjavalib-stubs.jar"],
755 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
756 current_api: "sdk_library/system/myjavalib.txt",
757 removed_api: "sdk_library/system/myjavalib-removed.txt",
758 sdk_version: "system_current",
759 },
760 module_lib: {
761 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
762 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
763 current_api: "sdk_library/module-lib/myjavalib.txt",
764 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
765 sdk_version: "module_current",
766 },
Paul Duffin33028712021-06-22 11:00:07 +0100767}
768
Paul Duffine1381882021-04-16 17:05:10 +0100769java_system_modules_import {
770 name: "my-system-modules",
771 prefer: false,
772 visibility: ["//visibility:public"],
773 libs: [
774 "mysdk_system-module",
775 "exported-system-module",
Paul Duffinb97b1572021-04-29 21:50:40 +0100776 "myjavalib.stubs",
Paul Duffine1381882021-04-16 17:05:10 +0100777 ],
778}
779`),
Paul Duffin72910952020-01-20 18:16:30 +0000780 checkAllCopyRules(`
781.intermediates/exported-system-module/android_common/turbine-combined/exported-system-module.jar -> java/exported-system-module.jar
782.intermediates/system-module/android_common/turbine-combined/system-module.jar -> java/system-module.jar
Jihoon Kangf55a5f72024-01-08 08:56:20 +0000783.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
784.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
785.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffind3b020a2024-04-18 10:37:56 +0100786.intermediates/myjavalib.stubs.exportable.system/android_common/combined/myjavalib.stubs.exportable.system.jar -> sdk_library/system/myjavalib-stubs.jar
787.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
788.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
789.intermediates/myjavalib.stubs.exportable.module_lib/android_common/combined/myjavalib.stubs.exportable.module_lib.jar -> sdk_library/module-lib/myjavalib-stubs.jar
790.intermediates/myjavalib.stubs.source.module_lib/android_common/exportable/myjavalib.stubs.source.module_lib_api.txt -> sdk_library/module-lib/myjavalib.txt
791.intermediates/myjavalib.stubs.source.module_lib/android_common/exportable/myjavalib.stubs.source.module_lib_removed.txt -> sdk_library/module-lib/myjavalib-removed.txt
Paul Duffin72910952020-01-20 18:16:30 +0000792`),
Paul Duffin958806b2022-05-16 13:10:47 +0000793 checkInfoContents(result.Config, `
Paul Duffinc6ba1822022-05-06 09:38:02 +0000794[
795 {
796 "@type": "sdk",
797 "@name": "mysdk",
798 "java_header_libs": [
799 "exported-system-module",
800 "system-module"
801 ],
802 "java_sdk_libs": [
803 "myjavalib"
804 ],
805 "java_system_modules": [
806 "my-system-modules"
807 ]
808 },
809 {
810 "@type": "java_library",
811 "@name": "exported-system-module"
812 },
813 {
814 "@type": "java_system_modules",
815 "@name": "my-system-modules",
816 "@deps": [
817 "exported-system-module",
818 "system-module"
819 ]
820 },
821 {
822 "@type": "java_sdk_library",
Paul Duffin958806b2022-05-16 13:10:47 +0000823 "@name": "myjavalib",
824 "dist_stem": "myjavalib",
825 "scopes": {
Paul Duffind3b020a2024-04-18 10:37:56 +0100826 "module-lib": {
827 "current_api": "sdk_library/module-lib/myjavalib.txt",
828 "latest_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib.api.module-lib.latest/gen/myjavalib.api.module-lib.latest",
829 "latest_removed_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib-removed.api.module-lib.latest/gen/myjavalib-removed.api.module-lib.latest",
830 "removed_api": "sdk_library/module-lib/myjavalib-removed.txt"
831 },
Paul Duffin958806b2022-05-16 13:10:47 +0000832 "public": {
833 "current_api": "sdk_library/public/myjavalib.txt",
834 "latest_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib.api.public.latest/gen/myjavalib.api.public.latest",
835 "latest_removed_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib-removed.api.public.latest/gen/myjavalib-removed.api.public.latest",
836 "removed_api": "sdk_library/public/myjavalib-removed.txt"
Paul Duffind3b020a2024-04-18 10:37:56 +0100837 },
838 "system": {
839 "current_api": "sdk_library/system/myjavalib.txt",
840 "latest_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib.api.system.latest/gen/myjavalib.api.system.latest",
841 "latest_removed_api": "out/soong/.intermediates/prebuilts/sdk/myjavalib-removed.api.system.latest/gen/myjavalib-removed.api.system.latest",
842 "removed_api": "sdk_library/system/myjavalib-removed.txt"
Paul Duffin958806b2022-05-16 13:10:47 +0000843 }
844 }
Paul Duffinc6ba1822022-05-06 09:38:02 +0000845 },
846 {
847 "@type": "java_library",
848 "@name": "system-module"
849 }
850]
851`),
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000852 )
853}
854
855func TestHostSnapshotWithJavaSystemModules(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000856 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000857 sdk {
858 name: "mysdk",
859 device_supported: false,
860 host_supported: true,
861 java_system_modules: ["my-system-modules"],
862 }
863
864 java_system_modules {
865 name: "my-system-modules",
866 device_supported: false,
867 host_supported: true,
868 libs: ["system-module"],
869 }
870
871 java_library {
872 name: "system-module",
873 device_supported: false,
874 host_supported: true,
875 srcs: ["Test.java"],
876 sdk_version: "none",
877 system_modules: "none",
878 }
879 `)
880
Paul Duffin36474d32021-03-12 12:19:43 +0000881 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000882 checkAndroidBpContents(`
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000883// This is auto-generated. DO NOT EDIT.
884
Spandan Dasa5e26d32024-03-06 14:04:36 +0000885apex_contributions_defaults {
886 name: "mysdk.contributions",
887 contents: ["prebuilt_my-system-modules"],
888}
889
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000890java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100891 name: "mysdk_system-module",
892 prefer: false,
Paul Duffin72910952020-01-20 18:16:30 +0000893 visibility: ["//visibility:private"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000894 apex_available: ["//apex_available:platform"],
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000895 device_supported: false,
896 host_supported: true,
897 jars: ["java/system-module.jar"],
898}
899
Paul Duffine1381882021-04-16 17:05:10 +0100900java_system_modules_import {
901 name: "my-system-modules",
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000902 prefer: false,
Paul Duffine1381882021-04-16 17:05:10 +0100903 visibility: ["//visibility:public"],
904 device_supported: false,
905 host_supported: true,
906 libs: ["mysdk_system-module"],
907}
908`),
Colin Crossf06d8dc2023-07-18 22:11:07 -0700909 checkAllCopyRules(".intermediates/system-module/linux_glibc_common/javac-header/system-module.jar -> java/system-module.jar"),
Paul Duffin7b81f5e2020-01-13 21:03:22 +0000910 )
911}
Paul Duffin865171e2020-03-02 18:38:15 +0000912
913func TestDeviceAndHostSnapshotWithOsSpecificMembers(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +0000914 result := android.GroupFixturePreparers(prepareForSdkTestWithJava).RunTestWithBp(t, `
Paul Duffin865171e2020-03-02 18:38:15 +0000915 module_exports {
916 name: "myexports",
917 host_supported: true,
918 java_libs: ["myjavalib"],
919 target: {
920 android: {
921 java_header_libs: ["androidjavalib"],
922 },
923 host: {
924 java_header_libs: ["hostjavalib"],
925 },
926 },
927 }
928
929 java_library {
930 name: "myjavalib",
931 host_supported: true,
932 srcs: ["Test.java"],
933 system_modules: "none",
934 sdk_version: "none",
935 }
936
937 java_library {
938 name: "androidjavalib",
939 srcs: ["Test.java"],
940 system_modules: "none",
941 sdk_version: "none",
942 }
943
944 java_library_host {
945 name: "hostjavalib",
946 srcs: ["Test.java"],
947 }
948 `)
949
Paul Duffin36474d32021-03-12 12:19:43 +0000950 CheckSnapshot(t, result, "myexports", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +0000951 checkAndroidBpContents(`
Paul Duffin865171e2020-03-02 18:38:15 +0000952// This is auto-generated. DO NOT EDIT.
953
Spandan Dasa5e26d32024-03-06 14:04:36 +0000954apex_contributions_defaults {
955 name: "myexports.contributions",
956 contents: [
957 "prebuilt_hostjavalib",
958 "prebuilt_androidjavalib",
959 "prebuilt_myjavalib",
960 ],
961}
962
Paul Duffin865171e2020-03-02 18:38:15 +0000963java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100964 name: "hostjavalib",
965 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100966 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000967 apex_available: ["//apex_available:platform"],
Paul Duffin865171e2020-03-02 18:38:15 +0000968 device_supported: false,
969 host_supported: true,
970 jars: ["java/hostjavalib.jar"],
971}
972
973java_import {
Paul Duffine1381882021-04-16 17:05:10 +0100974 name: "androidjavalib",
Paul Duffin865171e2020-03-02 18:38:15 +0000975 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +0100976 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +0000977 apex_available: ["//apex_available:platform"],
Paul Duffine1381882021-04-16 17:05:10 +0100978 jars: ["java/androidjavalib.jar"],
979}
980
981java_import {
982 name: "myjavalib",
983 prefer: false,
984 visibility: ["//visibility:public"],
985 apex_available: ["//apex_available:platform"],
986 host_supported: true,
987 target: {
988 android: {
989 jars: ["java/android/myjavalib.jar"],
990 },
991 linux_glibc: {
992 jars: ["java/linux_glibc/myjavalib.jar"],
993 },
994 },
995}
996`),
Paul Duffin865171e2020-03-02 18:38:15 +0000997 checkAllCopyRules(`
Colin Crossf06d8dc2023-07-18 22:11:07 -0700998.intermediates/hostjavalib/linux_glibc_common/javac-header/hostjavalib.jar -> java/hostjavalib.jar
Paul Duffin865171e2020-03-02 18:38:15 +0000999.intermediates/androidjavalib/android_common/turbine-combined/androidjavalib.jar -> java/androidjavalib.jar
1000.intermediates/myjavalib/android_common/javac/myjavalib.jar -> java/android/myjavalib.jar
1001.intermediates/myjavalib/linux_glibc_common/javac/myjavalib.jar -> java/linux_glibc/myjavalib.jar
1002`),
1003 )
1004}
Paul Duffindd46f712020-02-10 13:37:10 +00001005
1006func TestSnapshotWithJavaSdkLibrary(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001007 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffindd46f712020-02-10 13:37:10 +00001008 sdk {
1009 name: "mysdk",
1010 java_sdk_libs: ["myjavalib"],
1011 }
1012
1013 java_sdk_library {
1014 name: "myjavalib",
1015 apex_available: ["//apex_available:anyapex"],
1016 srcs: ["Test.java"],
1017 sdk_version: "current",
Paul Duffind7eb1c22020-05-26 20:57:10 +01001018 shared_library: false,
Paul Duffin4911a892020-04-29 23:35:13 +01001019 stubs_library_visibility: ["//other"],
1020 stubs_source_visibility: ["//another"],
Paul Duffin869de142021-07-15 14:14:41 +01001021 permitted_packages: ["pkg.myjavalib"],
Paul Duffindd46f712020-02-10 13:37:10 +00001022 }
1023 `)
1024
Paul Duffin36474d32021-03-12 12:19:43 +00001025 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001026 checkAndroidBpContents(`
Paul Duffindd46f712020-02-10 13:37:10 +00001027// This is auto-generated. DO NOT EDIT.
1028
Spandan Dasa5e26d32024-03-06 14:04:36 +00001029apex_contributions_defaults {
1030 name: "mysdk.contributions",
1031 contents: ["prebuilt_myjavalib"],
1032}
1033
Paul Duffindd46f712020-02-10 13:37:10 +00001034java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001035 name: "myjavalib",
1036 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001037 visibility: ["//visibility:public"],
Paul Duffindd46f712020-02-10 13:37:10 +00001038 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001039 shared_library: false,
Paul Duffin869de142021-07-15 14:14:41 +01001040 permitted_packages: ["pkg.myjavalib"],
Paul Duffindd46f712020-02-10 13:37:10 +00001041 public: {
1042 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001043 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001044 current_api: "sdk_library/public/myjavalib.txt",
1045 removed_api: "sdk_library/public/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001046 sdk_version: "current",
1047 },
1048 system: {
1049 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001050 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001051 current_api: "sdk_library/system/myjavalib.txt",
1052 removed_api: "sdk_library/system/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001053 sdk_version: "system_current",
1054 },
1055 test: {
1056 jars: ["sdk_library/test/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001057 stub_srcs: ["sdk_library/test/myjavalib_stub_sources"],
Paul Duffin1fd005d2020-04-09 01:08:11 +01001058 current_api: "sdk_library/test/myjavalib.txt",
1059 removed_api: "sdk_library/test/myjavalib-removed.txt",
Paul Duffindd46f712020-02-10 13:37:10 +00001060 sdk_version: "test_current",
1061 },
1062}
Paul Duffine1381882021-04-16 17:05:10 +01001063`),
Paul Duffindd46f712020-02-10 13:37:10 +00001064 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001065.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1066.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1067.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1068.intermediates/myjavalib.stubs.exportable.system/android_common/combined/myjavalib.stubs.exportable.system.jar -> sdk_library/system/myjavalib-stubs.jar
1069.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1070.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
1071.intermediates/myjavalib.stubs.exportable.test/android_common/combined/myjavalib.stubs.exportable.test.jar -> sdk_library/test/myjavalib-stubs.jar
1072.intermediates/myjavalib.stubs.source.test/android_common/exportable/myjavalib.stubs.source.test_api.txt -> sdk_library/test/myjavalib.txt
1073.intermediates/myjavalib.stubs.source.test/android_common/exportable/myjavalib.stubs.source.test_removed.txt -> sdk_library/test/myjavalib-removed.txt
Paul Duffindd46f712020-02-10 13:37:10 +00001074`),
Paul Duffin3d1248c2020-04-09 00:10:17 +01001075 checkMergeZips(
1076 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1077 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
Paul Duffin33028712021-06-22 11:00:07 +01001078 ".intermediates/mysdk/common_os/tmp/sdk_library/test/myjavalib_stub_sources.zip",
1079 ),
Paul Duffindd46f712020-02-10 13:37:10 +00001080 )
1081}
Paul Duffin3375e352020-04-28 10:44:03 +01001082
Paul Duffine8409952022-09-22 16:24:46 +01001083func TestSnapshotWithJavaSdkLibrary_DistStem(t *testing.T) {
1084 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
1085 sdk {
1086 name: "mysdk",
1087 java_sdk_libs: ["myjavalib-foo"],
1088 }
1089
1090 java_sdk_library {
1091 name: "myjavalib-foo",
1092 apex_available: ["//apex_available:anyapex"],
1093 srcs: ["Test.java"],
1094 sdk_version: "current",
1095 shared_library: false,
1096 public: {
1097 enabled: true,
1098 },
1099 dist_stem: "myjavalib",
1100 }
1101 `)
1102
1103 CheckSnapshot(t, result, "mysdk", "",
1104 checkAndroidBpContents(`
1105// This is auto-generated. DO NOT EDIT.
1106
Spandan Dasa5e26d32024-03-06 14:04:36 +00001107apex_contributions_defaults {
1108 name: "mysdk.contributions",
1109 contents: ["prebuilt_myjavalib-foo"],
1110}
1111
Paul Duffine8409952022-09-22 16:24:46 +01001112java_sdk_library_import {
1113 name: "myjavalib-foo",
1114 prefer: false,
1115 visibility: ["//visibility:public"],
1116 apex_available: ["//apex_available:anyapex"],
1117 shared_library: false,
1118 public: {
1119 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1120 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
1121 current_api: "sdk_library/public/myjavalib.txt",
1122 removed_api: "sdk_library/public/myjavalib-removed.txt",
1123 sdk_version: "current",
1124 },
1125}
1126`),
1127 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001128.intermediates/myjavalib-foo.stubs.exportable/android_common/combined/myjavalib-foo.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1129.intermediates/myjavalib-foo.stubs.source/android_common/exportable/myjavalib-foo.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1130.intermediates/myjavalib-foo.stubs.source/android_common/exportable/myjavalib-foo.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffine8409952022-09-22 16:24:46 +01001131`),
1132 checkMergeZips(
1133 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1134 ),
1135 )
1136}
1137
Paul Duffin22628d52021-05-12 23:13:22 +01001138func TestSnapshotWithJavaSdkLibrary_UseSrcJar(t *testing.T) {
1139 result := android.GroupFixturePreparers(
1140 prepareForSdkTestWithJavaSdkLibrary,
1141 android.FixtureMergeEnv(map[string]string{
1142 "SOONG_SDK_SNAPSHOT_USE_SRCJAR": "true",
1143 }),
1144 ).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 public: {
1156 enabled: true,
1157 },
1158 }
1159 `)
1160
1161 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001162 checkAndroidBpContents(`
Paul Duffin22628d52021-05-12 23:13:22 +01001163// This is auto-generated. DO NOT EDIT.
1164
Spandan Dasa5e26d32024-03-06 14:04:36 +00001165apex_contributions_defaults {
1166 name: "mysdk.contributions",
1167 contents: ["prebuilt_myjavalib"],
1168}
1169
Paul Duffin22628d52021-05-12 23:13:22 +01001170java_sdk_library_import {
1171 name: "myjavalib",
1172 prefer: false,
1173 visibility: ["//visibility:public"],
1174 apex_available: ["//apex_available:platform"],
1175 shared_library: false,
1176 public: {
1177 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1178 stub_srcs: ["sdk_library/public/myjavalib.srcjar"],
1179 current_api: "sdk_library/public/myjavalib.txt",
1180 removed_api: "sdk_library/public/myjavalib-removed.txt",
1181 sdk_version: "current",
1182 },
1183}
1184 `),
1185 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001186.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1187.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source-stubs.srcjar -> sdk_library/public/myjavalib.srcjar
1188.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1189.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin22628d52021-05-12 23:13:22 +01001190 `),
1191 )
1192}
1193
Anton Hanssond78eb762021-09-21 15:25:12 +01001194func TestSnapshotWithJavaSdkLibrary_AnnotationsZip(t *testing.T) {
1195 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
1196 sdk {
1197 name: "mysdk",
1198 java_sdk_libs: ["myjavalib"],
1199 }
1200
1201 java_sdk_library {
1202 name: "myjavalib",
1203 srcs: ["Test.java"],
1204 sdk_version: "current",
1205 shared_library: false,
1206 annotations_enabled: true,
1207 public: {
1208 enabled: true,
1209 },
1210 }
1211 `)
1212
1213 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001214 checkAndroidBpContents(`
Anton Hanssond78eb762021-09-21 15:25:12 +01001215// This is auto-generated. DO NOT EDIT.
1216
Spandan Dasa5e26d32024-03-06 14:04:36 +00001217apex_contributions_defaults {
1218 name: "mysdk.contributions",
1219 contents: ["prebuilt_myjavalib"],
1220}
1221
Anton Hanssond78eb762021-09-21 15:25:12 +01001222java_sdk_library_import {
1223 name: "myjavalib",
1224 prefer: false,
1225 visibility: ["//visibility:public"],
1226 apex_available: ["//apex_available:platform"],
1227 shared_library: false,
1228 public: {
1229 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1230 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
1231 current_api: "sdk_library/public/myjavalib.txt",
1232 removed_api: "sdk_library/public/myjavalib-removed.txt",
1233 annotations: "sdk_library/public/myjavalib_annotations.zip",
1234 sdk_version: "current",
1235 },
1236}
1237 `),
1238 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001239.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1240.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1241.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1242.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_annotations.zip -> sdk_library/public/myjavalib_annotations.zip
Anton Hanssond78eb762021-09-21 15:25:12 +01001243 `),
1244 checkMergeZips(".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip"),
1245 )
1246}
1247
Paul Duffina54016c2022-01-27 16:39:47 +00001248func TestSnapshotWithJavaSdkLibrary_AnnotationsZip_PreT(t *testing.T) {
1249 result := android.GroupFixturePreparers(
1250 prepareForSdkTestWithJavaSdkLibrary,
1251 android.FixtureMergeEnv(map[string]string{
1252 "SOONG_SDK_SNAPSHOT_TARGET_BUILD_RELEASE": "S",
1253 }),
1254 ).RunTestWithBp(t, `
1255 sdk {
1256 name: "mysdk",
1257 java_sdk_libs: ["myjavalib"],
1258 }
1259
1260 java_sdk_library {
1261 name: "myjavalib",
1262 srcs: ["Test.java"],
Paul Duffin1938dba2022-07-26 23:53:00 +00001263 sdk_version: "S",
Paul Duffina54016c2022-01-27 16:39:47 +00001264 shared_library: false,
1265 annotations_enabled: true,
1266 public: {
1267 enabled: true,
1268 },
1269 }
1270 `)
1271
1272 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001273 checkAndroidBpContents(`
Paul Duffina54016c2022-01-27 16:39:47 +00001274// This is auto-generated. DO NOT EDIT.
1275
Spandan Dasa5e26d32024-03-06 14:04:36 +00001276apex_contributions_defaults {
1277 name: "mysdk.contributions",
1278 contents: ["prebuilt_myjavalib"],
1279}
1280
Paul Duffina54016c2022-01-27 16:39:47 +00001281java_sdk_library_import {
1282 name: "myjavalib",
1283 prefer: false,
1284 visibility: ["//visibility:public"],
1285 apex_available: ["//apex_available:platform"],
1286 shared_library: false,
1287 public: {
1288 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1289 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
1290 current_api: "sdk_library/public/myjavalib.txt",
1291 removed_api: "sdk_library/public/myjavalib-removed.txt",
1292 sdk_version: "current",
1293 },
1294}
1295 `),
1296 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001297.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1298.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1299.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffina54016c2022-01-27 16:39:47 +00001300 `),
1301 checkMergeZips(".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip"),
1302 )
1303}
1304
Paul Duffin1267d872021-04-16 17:21:36 +01001305func TestSnapshotWithJavaSdkLibrary_CompileDex(t *testing.T) {
Jihoon Kangbd093452023-12-26 19:08:01 +00001306 result := android.GroupFixturePreparers(
1307 prepareForSdkTestWithJavaSdkLibrary,
Colin Crossa66b4632024-08-08 15:50:47 -07001308 android.PrepareForTestWithBuildFlag("RELEASE_HIDDEN_API_EXPORTABLE_STUBS", "true"),
Jihoon Kangbd093452023-12-26 19:08:01 +00001309 ).RunTestWithBp(t, `
Paul Duffin1267d872021-04-16 17:21:36 +01001310 sdk {
1311 name: "mysdk",
1312 java_sdk_libs: ["myjavalib"],
1313 }
1314
1315 java_sdk_library {
1316 name: "myjavalib",
1317 srcs: ["Test.java"],
1318 sdk_version: "current",
1319 shared_library: false,
1320 compile_dex: true,
1321 public: {
1322 enabled: true,
1323 },
1324 system: {
1325 enabled: true,
1326 },
1327 }
1328 `)
1329
1330 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001331 checkAndroidBpContents(`
Paul Duffin1267d872021-04-16 17:21:36 +01001332// This is auto-generated. DO NOT EDIT.
1333
Spandan Dasa5e26d32024-03-06 14:04:36 +00001334apex_contributions_defaults {
1335 name: "mysdk.contributions",
1336 contents: ["prebuilt_myjavalib"],
1337}
1338
Paul Duffin1267d872021-04-16 17:21:36 +01001339java_sdk_library_import {
1340 name: "myjavalib",
1341 prefer: false,
1342 visibility: ["//visibility:public"],
1343 apex_available: ["//apex_available:platform"],
1344 shared_library: false,
1345 compile_dex: true,
1346 public: {
1347 jars: ["sdk_library/public/myjavalib-stubs.jar"],
1348 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
1349 current_api: "sdk_library/public/myjavalib.txt",
1350 removed_api: "sdk_library/public/myjavalib-removed.txt",
1351 sdk_version: "current",
1352 },
1353 system: {
1354 jars: ["sdk_library/system/myjavalib-stubs.jar"],
1355 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
1356 current_api: "sdk_library/system/myjavalib.txt",
1357 removed_api: "sdk_library/system/myjavalib-removed.txt",
1358 sdk_version: "system_current",
1359 },
1360}
1361`),
1362 snapshotTestChecker(checkSnapshotWithSourcePreferred, func(t *testing.T, result *android.TestResult) {
Paul Duffin1267d872021-04-16 17:21:36 +01001363 dexJarBuildPath := func(name string, kind android.SdkKind) string {
Jihoon Kang98e9ac62024-09-25 23:42:30 +00001364 sdkLibInfo, _ := android.OtherModuleProvider(result.TestContext.OtherModuleProviderAdaptor(), result.Module(name, "android_common"), java.SdkLibraryInfoProvider)
1365 path := sdkLibInfo.ExportableStubDexJarPaths[kind].Path()
Paul Duffin1267d872021-04-16 17:21:36 +01001366 return path.RelativeToTop().String()
1367 }
1368
1369 dexJarPath := dexJarBuildPath("myjavalib", android.SdkPublic)
Jihoon Kangbd093452023-12-26 19:08:01 +00001370 android.AssertStringEquals(t, "source dex public stubs jar build path", "out/soong/.intermediates/myjavalib.stubs.exportable/android_common/dex/myjavalib.stubs.exportable.jar", dexJarPath)
Paul Duffin1267d872021-04-16 17:21:36 +01001371
1372 dexJarPath = dexJarBuildPath("myjavalib", android.SdkSystem)
Jihoon Kangbd093452023-12-26 19:08:01 +00001373 systemDexJar := "out/soong/.intermediates/myjavalib.stubs.exportable.system/android_common/dex/myjavalib.stubs.exportable.system.jar"
Paul Duffin1267d872021-04-16 17:21:36 +01001374 android.AssertStringEquals(t, "source dex system stubs jar build path", systemDexJar, dexJarPath)
1375
1376 // This should fall back to system as module is not available.
1377 dexJarPath = dexJarBuildPath("myjavalib", android.SdkModule)
1378 android.AssertStringEquals(t, "source dex module stubs jar build path", systemDexJar, dexJarPath)
1379
Jihoon Kangbd093452023-12-26 19:08:01 +00001380 // Prebuilt dex jar does not come from the exportable stubs.
Paul Duffin1267d872021-04-16 17:21:36 +01001381 dexJarPath = dexJarBuildPath(android.PrebuiltNameFromSource("myjavalib"), android.SdkPublic)
1382 android.AssertStringEquals(t, "prebuilt dex public stubs jar build path", "out/soong/.intermediates/snapshot/prebuilt_myjavalib.stubs/android_common/dex/myjavalib.stubs.jar", dexJarPath)
1383 }),
1384 )
1385}
1386
Paul Duffin780c5f42020-05-12 15:52:55 +01001387func TestSnapshotWithJavaSdkLibrary_SdkVersion_None(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001388 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin780c5f42020-05-12 15:52:55 +01001389 sdk {
1390 name: "mysdk",
1391 java_sdk_libs: ["myjavalib"],
1392 }
1393
1394 java_sdk_library {
1395 name: "myjavalib",
1396 srcs: ["Test.java"],
1397 sdk_version: "none",
1398 system_modules: "none",
1399 }
1400 `)
1401
Paul Duffin36474d32021-03-12 12:19:43 +00001402 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001403 checkAndroidBpContents(`
Paul Duffin780c5f42020-05-12 15:52:55 +01001404// This is auto-generated. DO NOT EDIT.
1405
Spandan Dasa5e26d32024-03-06 14:04:36 +00001406apex_contributions_defaults {
1407 name: "mysdk.contributions",
1408 contents: ["prebuilt_myjavalib"],
1409}
1410
Paul Duffin780c5f42020-05-12 15:52:55 +01001411java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001412 name: "myjavalib",
1413 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001414 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001415 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001416 shared_library: true,
Paul Duffin780c5f42020-05-12 15:52:55 +01001417 public: {
1418 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001419 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin780c5f42020-05-12 15:52:55 +01001420 current_api: "sdk_library/public/myjavalib.txt",
1421 removed_api: "sdk_library/public/myjavalib-removed.txt",
1422 sdk_version: "none",
1423 },
1424}
Paul Duffine1381882021-04-16 17:05:10 +01001425`),
Paul Duffin780c5f42020-05-12 15:52:55 +01001426 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001427.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1428.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1429.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin780c5f42020-05-12 15:52:55 +01001430`),
1431 checkMergeZips(
1432 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1433 ),
1434 )
1435}
1436
Paul Duffin87a05a32020-05-12 11:50:28 +01001437func TestSnapshotWithJavaSdkLibrary_SdkVersion_ForScope(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001438 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin87a05a32020-05-12 11:50:28 +01001439 sdk {
1440 name: "mysdk",
1441 java_sdk_libs: ["myjavalib"],
1442 }
1443
1444 java_sdk_library {
1445 name: "myjavalib",
1446 srcs: ["Test.java"],
1447 sdk_version: "module_current",
1448 public: {
1449 enabled: true,
1450 sdk_version: "module_current",
1451 },
1452 }
1453 `)
1454
Paul Duffin36474d32021-03-12 12:19:43 +00001455 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001456 checkAndroidBpContents(`
Paul Duffin87a05a32020-05-12 11:50:28 +01001457// This is auto-generated. DO NOT EDIT.
1458
Spandan Dasa5e26d32024-03-06 14:04:36 +00001459apex_contributions_defaults {
1460 name: "mysdk.contributions",
1461 contents: ["prebuilt_myjavalib"],
1462}
1463
Paul Duffin87a05a32020-05-12 11:50:28 +01001464java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001465 name: "myjavalib",
1466 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001467 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001468 apex_available: ["//apex_available:platform"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001469 shared_library: true,
Paul Duffin87a05a32020-05-12 11:50:28 +01001470 public: {
1471 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001472 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin87a05a32020-05-12 11:50:28 +01001473 current_api: "sdk_library/public/myjavalib.txt",
1474 removed_api: "sdk_library/public/myjavalib-removed.txt",
1475 sdk_version: "module_current",
1476 },
1477}
Paul Duffine1381882021-04-16 17:05:10 +01001478`),
Paul Duffin87a05a32020-05-12 11:50:28 +01001479 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001480.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1481.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1482.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffin87a05a32020-05-12 11:50:28 +01001483`),
1484 checkMergeZips(
1485 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1486 ),
1487 )
1488}
1489
1490func TestSnapshotWithJavaSdkLibrary_ApiScopes(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001491 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin3375e352020-04-28 10:44:03 +01001492 sdk {
1493 name: "mysdk",
1494 java_sdk_libs: ["myjavalib"],
1495 }
1496
1497 java_sdk_library {
1498 name: "myjavalib",
1499 apex_available: ["//apex_available:anyapex"],
1500 srcs: ["Test.java"],
1501 sdk_version: "current",
1502 public: {
1503 enabled: true,
1504 },
1505 system: {
1506 enabled: true,
1507 },
1508 }
1509 `)
1510
Paul Duffin36474d32021-03-12 12:19:43 +00001511 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001512 checkAndroidBpContents(`
Paul Duffin3375e352020-04-28 10:44:03 +01001513// This is auto-generated. DO NOT EDIT.
1514
Spandan Dasa5e26d32024-03-06 14:04:36 +00001515apex_contributions_defaults {
1516 name: "mysdk.contributions",
1517 contents: ["prebuilt_myjavalib"],
1518}
1519
Paul Duffin3375e352020-04-28 10:44:03 +01001520java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001521 name: "myjavalib",
1522 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001523 visibility: ["//visibility:public"],
Paul Duffin3375e352020-04-28 10:44:03 +01001524 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001525 shared_library: true,
Paul Duffin3375e352020-04-28 10:44:03 +01001526 public: {
1527 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001528 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001529 current_api: "sdk_library/public/myjavalib.txt",
1530 removed_api: "sdk_library/public/myjavalib-removed.txt",
1531 sdk_version: "current",
1532 },
1533 system: {
1534 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001535 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin3375e352020-04-28 10:44:03 +01001536 current_api: "sdk_library/system/myjavalib.txt",
1537 removed_api: "sdk_library/system/myjavalib-removed.txt",
1538 sdk_version: "system_current",
1539 },
1540}
Paul Duffine1381882021-04-16 17:05:10 +01001541`),
Paul Duffin3375e352020-04-28 10:44:03 +01001542 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001543.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1544.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1545.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1546.intermediates/myjavalib.stubs.exportable.system/android_common/combined/myjavalib.stubs.exportable.system.jar -> sdk_library/system/myjavalib-stubs.jar
1547.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1548.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
Paul Duffin3375e352020-04-28 10:44:03 +01001549`),
1550 checkMergeZips(
1551 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1552 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
1553 ),
1554 )
1555}
Paul Duffin8f265b92020-04-28 14:13:56 +01001556
1557func TestSnapshotWithJavaSdkLibrary_ModuleLib(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001558 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin8f265b92020-04-28 14:13:56 +01001559 sdk {
1560 name: "mysdk",
1561 java_sdk_libs: ["myjavalib"],
1562 }
1563
1564 java_sdk_library {
1565 name: "myjavalib",
1566 apex_available: ["//apex_available:anyapex"],
1567 srcs: ["Test.java"],
1568 sdk_version: "current",
1569 public: {
1570 enabled: true,
1571 },
1572 system: {
1573 enabled: true,
1574 },
1575 module_lib: {
1576 enabled: true,
1577 },
1578 }
1579 `)
1580
Paul Duffin36474d32021-03-12 12:19:43 +00001581 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001582 checkAndroidBpContents(`
Paul Duffin8f265b92020-04-28 14:13:56 +01001583// This is auto-generated. DO NOT EDIT.
1584
Spandan Dasa5e26d32024-03-06 14:04:36 +00001585apex_contributions_defaults {
1586 name: "mysdk.contributions",
1587 contents: ["prebuilt_myjavalib"],
1588}
1589
Paul Duffin8f265b92020-04-28 14:13:56 +01001590java_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 Duffin8f265b92020-04-28 14:13:56 +01001594 apex_available: ["//apex_available:anyapex"],
Paul Duffind7eb1c22020-05-26 20:57:10 +01001595 shared_library: true,
Paul Duffin8f265b92020-04-28 14:13:56 +01001596 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 Duffin8f265b92020-04-28 14:13:56 +01001599 current_api: "sdk_library/public/myjavalib.txt",
1600 removed_api: "sdk_library/public/myjavalib-removed.txt",
1601 sdk_version: "current",
1602 },
1603 system: {
1604 jars: ["sdk_library/system/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001605 stub_srcs: ["sdk_library/system/myjavalib_stub_sources"],
Paul Duffin8f265b92020-04-28 14:13:56 +01001606 current_api: "sdk_library/system/myjavalib.txt",
1607 removed_api: "sdk_library/system/myjavalib-removed.txt",
1608 sdk_version: "system_current",
1609 },
1610 module_lib: {
Paul Duffin6b836ba2020-05-13 19:19:49 +01001611 jars: ["sdk_library/module-lib/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001612 stub_srcs: ["sdk_library/module-lib/myjavalib_stub_sources"],
Paul Duffin6b836ba2020-05-13 19:19:49 +01001613 current_api: "sdk_library/module-lib/myjavalib.txt",
1614 removed_api: "sdk_library/module-lib/myjavalib-removed.txt",
Paul Duffin8f265b92020-04-28 14:13:56 +01001615 sdk_version: "module_current",
1616 },
1617}
Paul Duffine1381882021-04-16 17:05:10 +01001618`),
Paul Duffin8f265b92020-04-28 14:13:56 +01001619 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001620.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1621.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1622.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1623.intermediates/myjavalib.stubs.exportable.system/android_common/combined/myjavalib.stubs.exportable.system.jar -> sdk_library/system/myjavalib-stubs.jar
1624.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_api.txt -> sdk_library/system/myjavalib.txt
1625.intermediates/myjavalib.stubs.source.system/android_common/exportable/myjavalib.stubs.source.system_removed.txt -> sdk_library/system/myjavalib-removed.txt
1626.intermediates/myjavalib.stubs.exportable.module_lib/android_common/combined/myjavalib.stubs.exportable.module_lib.jar -> sdk_library/module-lib/myjavalib-stubs.jar
1627.intermediates/myjavalib.stubs.source.module_lib/android_common/exportable/myjavalib.stubs.source.module_lib_api.txt -> sdk_library/module-lib/myjavalib.txt
1628.intermediates/myjavalib.stubs.source.module_lib/android_common/exportable/myjavalib.stubs.source.module_lib_removed.txt -> sdk_library/module-lib/myjavalib-removed.txt
Paul Duffin8f265b92020-04-28 14:13:56 +01001629`),
1630 checkMergeZips(
Paul Duffin74f1dcd2022-07-18 13:18:23 +00001631 ".intermediates/mysdk/common_os/tmp/sdk_library/module-lib/myjavalib_stub_sources.zip",
Paul Duffin8f265b92020-04-28 14:13:56 +01001632 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1633 ".intermediates/mysdk/common_os/tmp/sdk_library/system/myjavalib_stub_sources.zip",
Paul Duffin8f265b92020-04-28 14:13:56 +01001634 ),
1635 )
1636}
Paul Duffinf7a64332020-05-13 16:54:55 +01001637
Paul Duffin0c5bae52020-06-02 13:00:08 +01001638func TestSnapshotWithJavaSdkLibrary_SystemServer(t *testing.T) {
Paul Duffin9ec86b12021-03-15 11:17:52 +00001639 result := android.GroupFixturePreparers(prepareForSdkTestWithJavaSdkLibrary).RunTestWithBp(t, `
Paul Duffin0c5bae52020-06-02 13:00:08 +01001640 sdk {
1641 name: "mysdk",
1642 java_sdk_libs: ["myjavalib"],
1643 }
1644
1645 java_sdk_library {
1646 name: "myjavalib",
1647 apex_available: ["//apex_available:anyapex"],
1648 srcs: ["Test.java"],
1649 sdk_version: "current",
1650 public: {
1651 enabled: true,
1652 },
1653 system_server: {
1654 enabled: true,
1655 },
1656 }
1657 `)
1658
Paul Duffin36474d32021-03-12 12:19:43 +00001659 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001660 checkAndroidBpContents(`
Paul Duffin0c5bae52020-06-02 13:00:08 +01001661// This is auto-generated. DO NOT EDIT.
1662
Spandan Dasa5e26d32024-03-06 14:04:36 +00001663apex_contributions_defaults {
1664 name: "mysdk.contributions",
1665 contents: ["prebuilt_myjavalib"],
1666}
1667
Paul Duffin0c5bae52020-06-02 13:00:08 +01001668java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001669 name: "myjavalib",
1670 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001671 visibility: ["//visibility:public"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001672 apex_available: ["//apex_available:anyapex"],
1673 shared_library: true,
1674 public: {
1675 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001676 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001677 current_api: "sdk_library/public/myjavalib.txt",
1678 removed_api: "sdk_library/public/myjavalib-removed.txt",
1679 sdk_version: "current",
1680 },
1681 system_server: {
1682 jars: ["sdk_library/system-server/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001683 stub_srcs: ["sdk_library/system-server/myjavalib_stub_sources"],
Paul Duffin0c5bae52020-06-02 13:00:08 +01001684 current_api: "sdk_library/system-server/myjavalib.txt",
1685 removed_api: "sdk_library/system-server/myjavalib-removed.txt",
1686 sdk_version: "system_server_current",
1687 },
1688}
Paul Duffine1381882021-04-16 17:05:10 +01001689`),
Paul Duffin0c5bae52020-06-02 13:00:08 +01001690 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001691.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1692.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1693.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
1694.intermediates/myjavalib.stubs.exportable.system_server/android_common/combined/myjavalib.stubs.exportable.system_server.jar -> sdk_library/system-server/myjavalib-stubs.jar
1695.intermediates/myjavalib.stubs.source.system_server/android_common/exportable/myjavalib.stubs.source.system_server_api.txt -> sdk_library/system-server/myjavalib.txt
1696.intermediates/myjavalib.stubs.source.system_server/android_common/exportable/myjavalib.stubs.source.system_server_removed.txt -> sdk_library/system-server/myjavalib-removed.txt
Paul Duffin0c5bae52020-06-02 13:00:08 +01001697`),
1698 checkMergeZips(
1699 ".intermediates/mysdk/common_os/tmp/sdk_library/public/myjavalib_stub_sources.zip",
1700 ".intermediates/mysdk/common_os/tmp/sdk_library/system-server/myjavalib_stub_sources.zip",
1701 ),
1702 )
1703}
1704
Paul Duffina2ae7e02020-09-11 11:55:00 +01001705func TestSnapshotWithJavaSdkLibrary_DoctagFiles(t *testing.T) {
Paul Duffindb462dd2021-03-21 22:01:55 +00001706 result := android.GroupFixturePreparers(
1707 prepareForSdkTestWithJavaSdkLibrary,
1708 android.FixtureAddFile("docs/known_doctags", nil),
1709 ).RunTestWithBp(t, `
Paul Duffina2ae7e02020-09-11 11:55:00 +01001710 sdk {
1711 name: "mysdk",
1712 java_sdk_libs: ["myjavalib"],
1713 }
1714
1715 java_sdk_library {
1716 name: "myjavalib",
1717 srcs: ["Test.java"],
1718 sdk_version: "current",
1719 public: {
1720 enabled: true,
1721 },
1722 doctag_files: ["docs/known_doctags"],
1723 }
1724
1725 filegroup {
1726 name: "mygroup",
1727 srcs: [":myjavalib{.doctags}"],
1728 }
1729 `)
1730
Paul Duffin36474d32021-03-12 12:19:43 +00001731 CheckSnapshot(t, result, "mysdk", "",
Paul Duffinb01ac4b2022-05-24 20:10:05 +00001732 checkAndroidBpContents(`
Paul Duffina2ae7e02020-09-11 11:55:00 +01001733// This is auto-generated. DO NOT EDIT.
1734
Spandan Dasa5e26d32024-03-06 14:04:36 +00001735apex_contributions_defaults {
1736 name: "mysdk.contributions",
1737 contents: ["prebuilt_myjavalib"],
1738}
1739
Paul Duffina2ae7e02020-09-11 11:55:00 +01001740java_sdk_library_import {
Paul Duffine1381882021-04-16 17:05:10 +01001741 name: "myjavalib",
1742 prefer: false,
Paul Duffind99d9972020-09-29 16:00:55 +01001743 visibility: ["//visibility:public"],
Martin Stjernholm1e041092020-11-03 00:11:09 +00001744 apex_available: ["//apex_available:platform"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001745 shared_library: true,
1746 doctag_files: ["doctags/docs/known_doctags"],
1747 public: {
1748 jars: ["sdk_library/public/myjavalib-stubs.jar"],
Paul Duffinab5ac8f2020-11-18 16:37:35 +00001749 stub_srcs: ["sdk_library/public/myjavalib_stub_sources"],
Paul Duffina2ae7e02020-09-11 11:55:00 +01001750 current_api: "sdk_library/public/myjavalib.txt",
1751 removed_api: "sdk_library/public/myjavalib-removed.txt",
1752 sdk_version: "current",
1753 },
1754}
Paul Duffine1381882021-04-16 17:05:10 +01001755`),
Paul Duffina2ae7e02020-09-11 11:55:00 +01001756 checkAllCopyRules(`
Jihoon Kangf55a5f72024-01-08 08:56:20 +00001757.intermediates/myjavalib.stubs.exportable/android_common/combined/myjavalib.stubs.exportable.jar -> sdk_library/public/myjavalib-stubs.jar
1758.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_api.txt -> sdk_library/public/myjavalib.txt
1759.intermediates/myjavalib.stubs.source/android_common/exportable/myjavalib.stubs.source_removed.txt -> sdk_library/public/myjavalib-removed.txt
Paul Duffina2ae7e02020-09-11 11:55:00 +01001760docs/known_doctags -> doctags/docs/known_doctags
1761`),
1762 )
1763}