Merge "Ensure consistent APEX variation for java_sdk_library and java_sdk_library_import" am: 770193da6c am: 6376a132a7

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

Change-Id: Ifa5c52220eb38b3f8be980c2ff866e5862340a93
This commit is contained in:
Paul Duffin
2021-06-24 15:17:46 +00:00
committed by Automerger Merge Worker
2 changed files with 30 additions and 6 deletions

View File

@@ -684,6 +684,15 @@ func (c *commonToSdkLibraryAndImport) initCommonAfterDefaultsApplied(ctx android
return true
}
// uniqueApexVariations provides common implementation of the ApexModule.UniqueApexVariations
// method.
func (c *commonToSdkLibraryAndImport) uniqueApexVariations() bool {
// A java_sdk_library that is a shared library produces an XML file that makes the shared library
// usable from an AndroidManifest.xml's <uses-library> entry. That XML file contains the name of
// the APEX and so it needs a unique variation per APEX.
return c.sharedLibrary()
}
func (c *commonToSdkLibraryAndImport) generateCommonBuildActions(ctx android.ModuleContext) {
c.doctagPaths = android.PathsForModuleSrc(ctx, c.commonSdkLibraryProperties.Doctag_files)
}
@@ -1528,6 +1537,7 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC
mctx.CreateModule(DroidstubsFactory, &props)
}
// Implements android.ApexModule
func (module *SdkLibrary) DepIsInSameApex(mctx android.BaseModuleContext, dep android.Module) bool {
depTag := mctx.OtherModuleDependencyTag(dep)
if depTag == xmlPermissionsFileTag {
@@ -1536,6 +1546,11 @@ func (module *SdkLibrary) DepIsInSameApex(mctx android.BaseModuleContext, dep an
return module.Library.DepIsInSameApex(mctx, dep)
}
// Implements android.ApexModule
func (module *SdkLibrary) UniqueApexVariations() bool {
return module.uniqueApexVariations()
}
// Creates the xml file that publicizes the runtime library
func (module *SdkLibrary) createXmlFile(mctx android.DefaultableHookContext) {
props := struct {
@@ -2090,6 +2105,11 @@ func (module *SdkLibraryImport) ShouldSupportSdkVersion(ctx android.BaseModuleCo
return nil
}
// Implements android.ApexModule
func (module *SdkLibraryImport) UniqueApexVariations() bool {
return module.uniqueApexVariations()
}
func (module *SdkLibraryImport) OutputFiles(tag string) (android.Paths, error) {
return module.commonOutputFiles(tag)
}