Support multiple dists per Android.bp module, and dist output selection.
This CL adds "dists" to the base property struct to support multiple dist file configurations, and generic tag support to dist tagged outputs of modules. Fixes: b/152834186 Test: soong tests and `m sdk dist` Change-Id: I80c86bc9b7b09e671f640a4480c45d438bdd9a2a Signed-off-by: Jingwen Chen <jingwen@google.com>
This commit is contained in:
21
java/java.go
21
java/java.go
@@ -479,7 +479,7 @@ type Module struct {
|
||||
// list of the xref extraction files
|
||||
kytheFiles android.Paths
|
||||
|
||||
distFile android.Path
|
||||
distFiles android.TaggedDistFiles
|
||||
|
||||
// Collect the module directory for IDE info in java/jdeps.go.
|
||||
modulePaths []string
|
||||
@@ -1921,18 +1921,9 @@ func (j *Module) IsInstallable() bool {
|
||||
// Java libraries (.jar file)
|
||||
//
|
||||
|
||||
type LibraryProperties struct {
|
||||
Dist struct {
|
||||
// The tag of the output of this module that should be output.
|
||||
Tag *string `android:"arch_variant"`
|
||||
} `android:"arch_variant"`
|
||||
}
|
||||
|
||||
type Library struct {
|
||||
Module
|
||||
|
||||
libraryProperties LibraryProperties
|
||||
|
||||
InstallMixin func(ctx android.ModuleContext, installPath android.Path) (extraInstallDeps android.Paths)
|
||||
}
|
||||
|
||||
@@ -1994,14 +1985,7 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
|
||||
j.Stem()+".jar", j.outputFile, extraInstallDeps...)
|
||||
}
|
||||
|
||||
// Verify Dist.Tag is set to a supported output
|
||||
if j.libraryProperties.Dist.Tag != nil {
|
||||
distFiles, err := j.OutputFiles(*j.libraryProperties.Dist.Tag)
|
||||
if err != nil {
|
||||
ctx.PropertyErrorf("dist.tag", "%s", err.Error())
|
||||
}
|
||||
j.distFile = distFiles[0]
|
||||
}
|
||||
j.distFiles = j.GenerateTaggedDistFiles(ctx)
|
||||
}
|
||||
|
||||
func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) {
|
||||
@@ -2119,7 +2103,6 @@ func LibraryFactory() android.Module {
|
||||
module := &Library{}
|
||||
|
||||
module.addHostAndDeviceProperties()
|
||||
module.AddProperties(&module.libraryProperties)
|
||||
|
||||
module.initModuleAndImport(&module.ModuleBase)
|
||||
|
||||
|
Reference in New Issue
Block a user