Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 219009f6 authored by Cole Faust's avatar Cole Faust Committed by Gerrit Code Review
Browse files

Merge "Make the java static_libs property configurable" into main

parents f2c204c6 b749347f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -973,7 +973,7 @@ type AARImportProperties struct {
	// Defaults to sdk_version if not set. See sdk_version for possible values.
	Min_sdk_version *string
	// List of java static libraries that the included ARR (android library prebuilts) has dependencies to.
	Static_libs []string
	Static_libs proptools.Configurable[[]string]
	// List of java libraries that the included ARR (android library prebuilts) has dependencies to.
	Libs []string
	// If set to true, run Jetifier against .aar file. Defaults to false.
@@ -1103,7 +1103,7 @@ func (a *AARImport) DepsMutator(ctx android.BottomUpMutatorContext) {
	}

	ctx.AddVariationDependencies(nil, libTag, a.properties.Libs...)
	ctx.AddVariationDependencies(nil, staticLibTag, a.properties.Static_libs...)
	ctx.AddVariationDependencies(nil, staticLibTag, a.properties.Static_libs.GetOrDefault(ctx, nil)...)

	a.usesLibrary.deps(ctx, false)
}
+10 −7
Original line number Diff line number Diff line
@@ -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"`
@@ -831,6 +831,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)
@@ -847,8 +851,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...)
@@ -930,7 +933,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")
	}
@@ -1935,8 +1938,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]) {
@@ -2196,7 +2199,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...)
}

+2 −2
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ type JavadocProperties struct {
	Filter_packages []string

	// list of java libraries that will be in the classpath.
	Libs []string `android:"arch_variant"`
	Libs proptools.Configurable[[]string] `android:"arch_variant"`

	// If set to false, don't allow this module(-docs.zip) to be exported. Defaults to true.
	Installable *bool
@@ -274,7 +274,7 @@ func (j *Javadoc) addDeps(ctx android.BottomUpMutatorContext) {
		}
	}

	ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
	ctx.AddVariationDependencies(nil, libTag, j.properties.Libs.GetOrDefault(ctx, nil)...)
}

func (j *Javadoc) collectAidlFlags(ctx android.ModuleContext, deps deps) droiddocBuilderFlags {
+0 −8
Original line number Diff line number Diff line
@@ -70,14 +70,6 @@ func (module *GeneratedJavaLibraryModule) AddSharedLibrary(name string) {
	module.Library.properties.Libs = append(module.Library.properties.Libs, name)
}

// Add a java shared library as a dependency, as if they had said `libs: [ "name" ]`
func (module *GeneratedJavaLibraryModule) AddStaticLibrary(name string) {
	if module.depsMutatorDone {
		panic("GeneratedJavaLibraryModule.AddStaticLibrary called after DepsMutator")
	}
	module.Library.properties.Static_libs = append(module.Library.properties.Static_libs, name)
}

func (module *GeneratedJavaLibraryModule) DepsMutator(ctx android.BottomUpMutatorContext) {
	module.callbacks.DepsMutator(module, ctx)
	module.depsMutatorDone = true
+10 −10
Original line number Diff line number Diff line
@@ -2011,11 +2011,11 @@ type JavaApiLibraryProperties struct {

	// List of shared java libs that this module has dependencies to and
	// should be passed as classpath in javac invocation
	Libs []string
	Libs proptools.Configurable[[]string]

	// List of java libs that this module has static dependencies to and will be
	// merge zipped after metalava invocation
	Static_libs []string
	Static_libs proptools.Configurable[[]string]

	// Version of previously released API file for compatibility check.
	Previous_api *string `android:"path"`
@@ -2191,8 +2191,8 @@ func (al *ApiLibrary) DepsMutator(ctx android.BottomUpMutatorContext) {

		}
	}
	ctx.AddVariationDependencies(nil, libTag, al.properties.Libs...)
	ctx.AddVariationDependencies(nil, staticLibTag, al.properties.Static_libs...)
	ctx.AddVariationDependencies(nil, libTag, al.properties.Libs.GetOrDefault(ctx, nil)...)
	ctx.AddVariationDependencies(nil, staticLibTag, al.properties.Static_libs.GetOrDefault(ctx, nil)...)

	for _, aconfigDeclarationsName := range al.properties.Aconfig_declarations {
		ctx.AddDependency(ctx.Module(), aconfigDeclarationTag, aconfigDeclarationsName)
@@ -2426,16 +2426,16 @@ func (al *ApiLibrary) TargetSdkVersion(ctx android.EarlyModuleContext) android.A

func (al *ApiLibrary) IDEInfo(ctx android.BaseModuleContext, i *android.IdeInfo) {
	i.Deps = append(i.Deps, al.ideDeps(ctx)...)
	i.Libs = append(i.Libs, al.properties.Libs...)
	i.Static_libs = append(i.Static_libs, al.properties.Static_libs...)
	i.Libs = append(i.Libs, al.properties.Libs.GetOrDefault(ctx, nil)...)
	i.Static_libs = append(i.Static_libs, al.properties.Static_libs.GetOrDefault(ctx, nil)...)
	i.SrcJars = append(i.SrcJars, al.stubsSrcJar.String())
}

// deps of java_api_library for module_bp_java_deps.json
func (al *ApiLibrary) ideDeps(ctx android.BaseModuleContext) []string {
	ret := []string{}
	ret = append(ret, al.properties.Libs...)
	ret = append(ret, al.properties.Static_libs...)
	ret = append(ret, al.properties.Libs.GetOrDefault(ctx, nil)...)
	ret = append(ret, al.properties.Static_libs.GetOrDefault(ctx, nil)...)
	if al.properties.System_modules != nil {
		ret = append(ret, proptools.String(al.properties.System_modules))
	}
@@ -2479,7 +2479,7 @@ type ImportProperties struct {
	Libs []string

	// List of static java libs that this module has dependencies to
	Static_libs []string
	Static_libs proptools.Configurable[[]string]

	// List of files to remove from the jar file(s)
	Exclude_files []string
@@ -2620,7 +2620,7 @@ func (j *Import) setStrictUpdatabilityLinting(bool) {

func (j *Import) DepsMutator(ctx android.BottomUpMutatorContext) {
	ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
	ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...)
	ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs.GetOrDefault(ctx, nil)...)

	if ctx.Device() && Bool(j.dexProperties.Compile_dex) {
		sdkDeps(ctx, android.SdkContext(j), j.dexer)
Loading