diff options
Diffstat (limited to 'java/base.go')
-rw-r--r-- | java/base.go | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/java/base.go b/java/base.go index 30485d0ca..ff7e06837 100644 --- a/java/base.go +++ b/java/base.go @@ -81,7 +81,7 @@ type CommonProperties struct { Libs []string `android:"arch_variant"` // list of java libraries that will be compiled into the resulting jar - Static_libs []string `android:"arch_variant"` + Static_libs proptools.Configurable[[]string] `android:"arch_variant"` // list of java libraries that should not be used to build this module Exclude_static_libs []string `android:"arch_variant"` @@ -99,9 +99,6 @@ type CommonProperties struct { // if not blank, used as prefix to generate repackage rule Jarjar_prefix *string - // if set to true, skip the jarjar repackaging - Skip_jarjar_repackage *bool - // If not blank, set the java version passed to javac as -source and -target Java_version *string @@ -832,6 +829,10 @@ func (j *Module) AvailableFor(what string) bool { return j.ApexModuleBase.AvailableFor(what) } +func (j *Module) staticLibs(ctx android.BaseModuleContext) []string { + return android.RemoveListFromList(j.properties.Static_libs.GetOrDefault(ctx, nil), j.properties.Exclude_static_libs) +} + func (j *Module) deps(ctx android.BottomUpMutatorContext) { if ctx.Device() { j.linter.deps(ctx) @@ -848,8 +849,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) { libDeps := ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...) - j.properties.Static_libs = android.RemoveListFromList(j.properties.Static_libs, j.properties.Exclude_static_libs) - ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...) + ctx.AddVariationDependencies(nil, staticLibTag, j.staticLibs(ctx)...) // Add dependency on libraries that provide additional hidden api annotations. ctx.AddVariationDependencies(nil, hiddenApiAnnotationsTag, j.properties.Hiddenapi_additional_annotations...) @@ -931,7 +931,7 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) { ctx.AddVariationDependencies(nil, staticLibTag, "jacocoagent") } - if j.useCompose() { + if j.useCompose(ctx) { ctx.AddVariationDependencies(ctx.Config().BuildOSCommonTarget.Variations(), kotlinPluginTag, "androidx.compose.compiler_compiler-hosted") } @@ -1157,13 +1157,11 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath jarjarProviderData := j.collectJarJarRules(ctx) if jarjarProviderData != nil { android.SetProvider(ctx, JarJarProvider, *jarjarProviderData) - if !proptools.Bool(j.properties.Skip_jarjar_repackage) { - text := getJarJarRuleText(jarjarProviderData) - if text != "" { - ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt") - android.WriteFileRule(ctx, ruleTextFile, text) - j.repackageJarjarRules = ruleTextFile - } + text := getJarJarRuleText(jarjarProviderData) + if text != "" { + ruleTextFile := android.PathForModuleOut(ctx, "repackaged-jarjar", "repackaging.txt") + android.WriteFileRule(ctx, ruleTextFile, text) + j.repackageJarjarRules = ruleTextFile } } @@ -1666,6 +1664,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath Output: ravenizerOutput, }) outputFile = ravenizerOutput + localImplementationJars = android.Paths{ravenizerOutput} + completeStaticLibsImplementationJars = android.NewDepSet(android.PREORDER, localImplementationJars, nil) } if j.shouldApiMapper() { @@ -1678,6 +1678,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath Output: apiMapperFile, }) outputFile = apiMapperFile + localImplementationJars = android.Paths{apiMapperFile} + completeStaticLibsImplementationJars = android.NewDepSet(android.PREORDER, localImplementationJars, nil) } // Check package restrictions if necessary. @@ -1699,6 +1701,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath Validation: pkgckFile, }) outputFile = packageCheckOutputFile + localImplementationJars = android.Paths{packageCheckOutputFile} + completeStaticLibsImplementationJars = android.NewDepSet(android.PREORDER, localImplementationJars, nil) // Check packages and create a timestamp file when complete. CheckJarPackages(ctx, pkgckFile, outputFile, j.properties.Permitted_packages) @@ -1936,8 +1940,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath j.outputFile = outputFile.WithoutRel() } -func (j *Module) useCompose() bool { - return android.InList("androidx.compose.runtime_runtime", j.properties.Static_libs) +func (j *Module) useCompose(ctx android.BaseModuleContext) bool { + return android.InList("androidx.compose.runtime_runtime", j.staticLibs(ctx)) } func collectDepProguardSpecInfo(ctx android.ModuleContext) (transitiveProguardFlags, transitiveUnconditionalExportedFlags []*android.DepSet[android.Path]) { @@ -2197,7 +2201,7 @@ func (j *Module) IDEInfo(ctx android.BaseModuleContext, dpInfo *android.IdeInfo) } dpInfo.Deps = append(dpInfo.Deps, j.CompilerDeps()...) dpInfo.Aidl_include_dirs = append(dpInfo.Aidl_include_dirs, j.deviceProperties.Aidl.Include_dirs...) - dpInfo.Static_libs = append(dpInfo.Static_libs, j.properties.Static_libs...) + dpInfo.Static_libs = append(dpInfo.Static_libs, j.staticLibs(ctx)...) dpInfo.Libs = append(dpInfo.Libs, j.properties.Libs...) } |