diff options
author | 2023-10-09 17:53:04 +0000 | |
---|---|---|
committer | 2023-10-11 16:17:55 +0000 | |
commit | 8f83dcd18c6bead85384e359a69ba36b3883b252 (patch) | |
tree | e17afdcf0dd771e7a9811798e3c955be989a0dc8 /java/testing.go | |
parent | 0bf0865f83ca80a97bcdf2133e9ec8ee5b3a3d18 (diff) |
Add droidstub modules for Soong java testing
Previously, only the essential java_api_library and
java_api_contribution modules were being added to the template bp file
for testing purpose. However, since the child change aosp/2640275
adds droidstubs that generates the java_api_contribution as the
dependency of the java_api_library modules, not adding the droidstubs
modules to the template bp file will lead to missing dependency errors
in Soong test cases that tests the from-text generation &
java_api_library functionality.
To prevent this, this change adds the droidstubs modules instead of the
auto generated java_api_contribution modules to the template bp file to
more closely align with the real life behavior.
Test: m nothing
Bug: 288624417
Change-Id: I6a25e2f6c5f1281e96eca15aa5eec7417635df3f
Diffstat (limited to 'java/testing.go')
-rw-r--r-- | java/testing.go | 123 |
1 files changed, 72 insertions, 51 deletions
diff --git a/java/testing.go b/java/testing.go index 0b7e68539..335c98398 100644 --- a/java/testing.go +++ b/java/testing.go @@ -73,10 +73,15 @@ var prepareForTestWithFrameworkDeps = android.GroupFixturePreparers( // Needed for various deps defined in GatherRequiredDepsForTest() defaultJavaDir + "/a.java": nil, defaultJavaDir + "/api/current.txt": nil, + defaultJavaDir + "/api/removed.txt": nil, defaultJavaDir + "/api/system-current.txt": nil, + defaultJavaDir + "/api/system-removed.txt": nil, defaultJavaDir + "/api/test-current.txt": nil, + defaultJavaDir + "/api/test-removed.txt": nil, defaultJavaDir + "/api/module-lib-current.txt": nil, + defaultJavaDir + "/api/module-lib-removed.txt": nil, defaultJavaDir + "/api/system-server-current.txt": nil, + defaultJavaDir + "/api/system-server-removed.txt": nil, // Needed for R8 rules on apps "build/make/core/proguard.flags": nil, @@ -425,80 +430,96 @@ func gatherRequiredDepsForTest() string { `, extra) } - type apiContributionStruct struct { - name string - apiSurface string - apiFile string + type droidstubsStruct struct { + name string + apiSurface string + apiFile string + removedFile string } - var publicApiContribution = apiContributionStruct{ - name: "api-stubs-docs-non-updatable.api.contribution", - apiSurface: "public", - apiFile: "api/current.txt", + var publicDroidstubs = droidstubsStruct{ + name: "api-stubs-docs-non-updatable", + apiSurface: "public", + apiFile: "api/current.txt", + removedFile: "api/removed.txt", } - var systemApiContribution = apiContributionStruct{ - name: "system-api-stubs-docs-non-updatable.api.contribution", - apiSurface: "system", - apiFile: "api/system-current.txt", + var systemDroidstubs = droidstubsStruct{ + name: "system-api-stubs-docs-non-updatable", + apiSurface: "system", + apiFile: "api/system-current.txt", + removedFile: "api/system-removed.txt", } - var testApiContribution = apiContributionStruct{ - name: "test-api-stubs-docs-non-updatable.api.contribution", - apiSurface: "test", - apiFile: "api/test-current.txt", + var testDroidstubs = droidstubsStruct{ + name: "test-api-stubs-docs-non-updatable", + apiSurface: "test", + apiFile: "api/test-current.txt", + removedFile: "api/test-removed.txt", } - var moduleLibApiContribution = apiContributionStruct{ - name: "module-lib-api-stubs-docs-non-updatable.api.contribution", - apiSurface: "module-lib", - apiFile: "api/module-lib-current.txt", + var moduleLibDroidstubs = droidstubsStruct{ + name: "module-lib-api-stubs-docs-non-updatable", + apiSurface: "module-lib", + apiFile: "api/module-lib-current.txt", + removedFile: "api/module-lib-removed.txt", } - var systemServerApiContribution = apiContributionStruct{ + var systemServerDroidstubs = droidstubsStruct{ // This module does not exist but is named this way for consistency - name: "system-server-api-stubs-docs-non-updatable.api.contribution", - apiSurface: "system-server", - apiFile: "api/system-server-current.txt", + name: "system-server-api-stubs-docs-non-updatable", + apiSurface: "system-server", + apiFile: "api/system-server-current.txt", + removedFile: "api/system-server-removed.txt", } - var apiContributionStructs = []apiContributionStruct{ - publicApiContribution, - systemApiContribution, - testApiContribution, - moduleLibApiContribution, - systemServerApiContribution, + var droidstubsStructs = []droidstubsStruct{ + publicDroidstubs, + systemDroidstubs, + testDroidstubs, + moduleLibDroidstubs, + systemServerDroidstubs, } - extraApiLibraryModules := map[string]apiContributionStruct{ - "android_stubs_current.from-text": publicApiContribution, - "android_system_stubs_current.from-text": systemApiContribution, - "android_test_stubs_current.from-text": testApiContribution, - "android_module_lib_stubs_current.from-text": moduleLibApiContribution, - "android_module_lib_stubs_current_full.from-text": moduleLibApiContribution, - "android_system_server_stubs_current.from-text": systemServerApiContribution, - "core.current.stubs.from-text": publicApiContribution, - "legacy.core.platform.api.stubs.from-text": publicApiContribution, - "stable.core.platform.api.stubs.from-text": publicApiContribution, - "core-lambda-stubs.from-text": publicApiContribution, - "android-non-updatable.stubs.from-text": publicApiContribution, - "android-non-updatable.stubs.system.from-text": systemApiContribution, - "android-non-updatable.stubs.test.from-text": testApiContribution, - "android-non-updatable.stubs.module_lib.from-text": moduleLibApiContribution, + extraApiLibraryModules := map[string]droidstubsStruct{ + "android_stubs_current.from-text": publicDroidstubs, + "android_system_stubs_current.from-text": systemDroidstubs, + "android_test_stubs_current.from-text": testDroidstubs, + "android_module_lib_stubs_current.from-text": moduleLibDroidstubs, + "android_module_lib_stubs_current_full.from-text": moduleLibDroidstubs, + "android_system_server_stubs_current.from-text": systemServerDroidstubs, + "core.current.stubs.from-text": publicDroidstubs, + "legacy.core.platform.api.stubs.from-text": publicDroidstubs, + "stable.core.platform.api.stubs.from-text": publicDroidstubs, + "core-lambda-stubs.from-text": publicDroidstubs, + "android-non-updatable.stubs.from-text": publicDroidstubs, + "android-non-updatable.stubs.system.from-text": systemDroidstubs, + "android-non-updatable.stubs.test.from-text": testDroidstubs, + "android-non-updatable.stubs.module_lib.from-text": moduleLibDroidstubs, } - for _, apiContribution := range apiContributionStructs { + for _, droidstubs := range droidstubsStructs { bp += fmt.Sprintf(` - java_api_contribution { + droidstubs { name: "%s", api_surface: "%s", - api_file: "%s", + check_api: { + current: { + api_file: "%s", + removed_api_file: "%s", + } + } } - `, apiContribution.name, apiContribution.apiSurface, apiContribution.apiFile) + `, + droidstubs.name, + droidstubs.apiSurface, + droidstubs.apiFile, + droidstubs.removedFile, + ) } - for libName, apiContribution := range extraApiLibraryModules { + for libName, droidstubs := range extraApiLibraryModules { bp += fmt.Sprintf(` java_api_library { name: "%s", api_contributions: ["%s"], } - `, libName, apiContribution.name) + `, libName, droidstubs.name+".api.contribution") } bp += ` |