Merge "Create java_api_contribution_import from sdk_library_import" into main am: 18a33e51c6 am: 578ece61ed am: 567f0186a3 am: f8b75c06ba am: 999d6f8b0a

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/2748475

Change-Id: Id2100cd5a805d7d4579530992e4fb65958796e18
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Jihoon Kang
2023-09-19 02:46:28 +00:00
committed by Automerger Merge Worker
2 changed files with 28 additions and 0 deletions

View File

@@ -2485,6 +2485,10 @@ func (module *SdkLibraryImport) createInternalModules(mctx android.DefaultableHo
if len(scopeProperties.Stub_srcs) > 0 {
module.createPrebuiltStubsSources(mctx, apiScope, scopeProperties)
}
if scopeProperties.Current_api != nil {
module.createPrebuiltApiContribution(mctx, apiScope, scopeProperties)
}
}
javaSdkLibraries := javaSdkLibraries(mctx.Config())
@@ -2540,6 +2544,25 @@ func (module *SdkLibraryImport) createPrebuiltStubsSources(mctx android.Defaulta
mctx.CreateModule(PrebuiltStubsSourcesFactory, &props)
}
func (module *SdkLibraryImport) createPrebuiltApiContribution(mctx android.DefaultableHookContext, apiScope *apiScope, scopeProperties *sdkLibraryScopeProperties) {
api_file := scopeProperties.Current_api
api_surface := &apiScope.name
props := struct {
Name *string
Api_surface *string
Api_file *string
Visibility []string
}{}
props.Name = proptools.StringPtr(module.stubsSourceModuleName(apiScope) + ".api.contribution")
props.Api_surface = api_surface
props.Api_file = api_file
props.Visibility = []string{"//visibility:override", "//visibility:public"}
mctx.CreateModule(ApiContributionImportFactory, &props)
}
// Add the dependencies on the child module in the component deps mutator so that it
// creates references to the prebuilt and not the source modules.
func (module *SdkLibraryImport) ComponentDepsMutator(ctx android.BottomUpMutatorContext) {