aboutsummaryrefslogtreecommitdiff
path: root/aconfig/codegen/java_aconfig_library.go
diff options
context:
space:
mode:
authormosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
committermosimchah <mosimchah@gmail.com>2025-12-02 09:27:38 -0500
commitc7bade461dc55726f62997d13a48582f7c4b4655 (patch)
treeea0588da76060a2038f54f67efd046ca77634b10 /aconfig/codegen/java_aconfig_library.go
parent0f5414d19317805e8bbbe7c4db5f0fd78769bad5 (diff)
parent89d78cff8b00d3b20a90074635c3fe5a2ee49474 (diff)
Merge branch 'lineage-23.1' of https://github.com/LineageOS/android_build_soong into HEADw16.1
* 'lineage-23.1' of https://github.com/LineageOS/android_build_soong: (528 commits) Revert "install_symlink: Make symlink target configurable" Reapply "Clear as much of cc.Module as possible after GenerateBuildActions" Revert "rust: config: Fix missing CPU variant LD flags in Rust" Rename build-flag in outdir Revert^4 "cipd: Default CIPD proxy server to on, add opt-out" Convert check-vintf-all to phony with actions Create a partial implementation of check-vintf-all for soong-only Configure RBE rust pool based on build variant Revert^3 "Add sdk version check to arr" Add jdk.internal.invoke to the allowlist Make droid always depend on symbols zip Import Device and Odm skus Don't install gob_gen in Soong Remove bazel reference from run_integration_tests.sh Fix bootstrap_test.sh Don't panic in aconfig libraries when AllowMissingDependencies is set Avoid returning nil paths from PathForModuleSrc Revert "Flag controled clang version" Rework module target dependencies on required deps Revert^2 "Add sdk version check to arr" ... Change-Id: I6e9a63fa14fda917a42e426e5dcebbad7f67e1de
Diffstat (limited to 'aconfig/codegen/java_aconfig_library.go')
-rw-r--r--aconfig/codegen/java_aconfig_library.go27
1 files changed, 10 insertions, 17 deletions
diff --git a/aconfig/codegen/java_aconfig_library.go b/aconfig/codegen/java_aconfig_library.go
index 7b9da8eb4..371bdf4f2 100644
--- a/aconfig/codegen/java_aconfig_library.go
+++ b/aconfig/codegen/java_aconfig_library.go
@@ -20,7 +20,6 @@ import (
"github.com/google/blueprint"
"github.com/google/blueprint/proptools"
- "strconv"
)
type declarationsTagType struct {
@@ -78,14 +77,19 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) DepsMutator(module *ja
func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) GenerateSourceJarBuildActions(module *java.GeneratedJavaLibraryModule, ctx android.ModuleContext) (android.Path, android.Path) {
// Get the values that came from the global RELEASE_ACONFIG_VALUE_SETS flag
- declarationsModules := ctx.GetDirectDepsWithTag(declarationsTag)
+ declarationsModules := ctx.GetDirectDepsProxyWithTag(declarationsTag)
+ srcJarPath := android.PathForModuleGen(ctx, ctx.ModuleName()+".srcjar")
if len(declarationsModules) != 1 {
- panic("Exactly one aconfig_declarations property required")
+ if ctx.Config().AllowMissingDependencies() {
+ ctx.AddMissingDependencies([]string{"exactly_one_aconfig_declarations_required"})
+ return srcJarPath, android.PathForModuleOut(ctx, "missing_declarations")
+ } else {
+ panic("Exactly one aconfig_declarations property required")
+ }
}
declarations, _ := android.OtherModuleProvider(ctx, declarationsModules[0], android.AconfigDeclarationsProviderKey)
// Generate the action to build the srcjar
- srcJarPath := android.PathForModuleGen(ctx, ctx.ModuleName()+".srcjar")
mode := proptools.StringDefault(callbacks.properties.Mode, "production")
if !isModeSupported(mode) {
@@ -98,28 +102,17 @@ func (callbacks *JavaAconfigDeclarationsLibraryCallbacks) GenerateSourceJarBuild
ctx.PropertyErrorf("mode", "exported mode requires its aconfig_declaration has exportable prop true")
}
- var newExported bool
- if useNewExported, ok := ctx.Config().GetBuildFlag("RELEASE_ACONFIG_NEW_EXPORTED"); ok {
- // The build flag (RELEASE_ACONFIG_REQUIRE_ALL_READ_ONLY) is the negation of the aconfig flag
- // (allow-read-write) for historical reasons.
- // Bool build flags are always "" for false, and generally "true" for true.
- newExported = useNewExported == "true"
- }
-
ctx.Build(pctx, android.BuildParams{
Rule: javaRule,
Input: declarations.IntermediateCacheOutputPath,
Output: srcJarPath,
Description: "aconfig.srcjar",
Args: map[string]string{
- "mode": mode,
- "debug": strconv.FormatBool(ctx.Config().ReleaseReadFromNewStorage()),
- "new_exported": strconv.FormatBool(newExported),
- "check_api_level": strconv.FormatBool(ctx.Config().ReleaseAconfigCheckApiLevel()),
+ "mode": mode,
},
})
- if declarations.Exportable {
+ if ctx.Config().ReleaseJarjarFlagsInFramework() || declarations.Exportable {
// Mark our generated code as possibly needing jarjar repackaging
// The repackaging only happens when the corresponding aconfig_declaration
// has property exportable true