Merge "Add a Tag field to dist to dist a tagged output" into rvc-dev

This commit is contained in:
Anton Hansson
2020-03-30 23:17:15 +00:00
committed by Android (Google) Code Review
3 changed files with 59 additions and 1 deletions

View File

@@ -419,6 +419,8 @@ type Module struct {
// list of the xref extraction files
kytheFiles android.Paths
distFile android.Path
}
func (j *Module) OutputFiles(tag string) (android.Paths, error) {
@@ -1776,9 +1778,18 @@ 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)
}
@@ -1822,6 +1833,15 @@ func (j *Library) GenerateAndroidBuildActions(ctx android.ModuleContext) {
j.installFile = ctx.InstallFile(android.PathForModuleInstall(ctx, "framework"),
ctx.ModuleName()+".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]
}
}
func (j *Library) DepsMutator(ctx android.BottomUpMutatorContext) {
@@ -1946,7 +1966,8 @@ func LibraryFactory() android.Module {
&module.Module.properties,
&module.Module.deviceProperties,
&module.Module.dexpreoptProperties,
&module.Module.protoProperties)
&module.Module.protoProperties,
&module.libraryProperties)
android.InitApexModule(module)
android.InitSdkAwareModule(module)