diff options
-rw-r--r-- | aconfig/codegen/init.go | 3 | ||||
-rw-r--r-- | aconfig/codegen/java_aconfig_library.go | 13 |
2 files changed, 13 insertions, 3 deletions
diff --git a/aconfig/codegen/init.go b/aconfig/codegen/init.go index ed0b3ed7f..34fdca3d1 100644 --- a/aconfig/codegen/init.go +++ b/aconfig/codegen/init.go @@ -33,6 +33,7 @@ var ( ` --cache ${in}` + ` --out ${out}.tmp` + ` --allow-instrumentation ${debug}` + + ` --new-exported ${new_exported}` + ` && $soong_zip -write_if_changed -jar -o ${out} -C ${out}.tmp -D ${out}.tmp` + ` && rm -rf ${out}.tmp`, CommandDeps: []string{ @@ -40,7 +41,7 @@ var ( "$soong_zip", }, Restat: true, - }, "mode", "debug") + }, "mode", "debug", "new_exported") // For cc_aconfig_library: Generate C++ library cppRule = pctx.AndroidStaticRule("cc_aconfig_library", diff --git a/aconfig/codegen/java_aconfig_library.go b/aconfig/codegen/java_aconfig_library.go index 9f399bf76..cd1767b95 100644 --- a/aconfig/codegen/java_aconfig_library.go +++ b/aconfig/codegen/java_aconfig_library.go @@ -98,14 +98,23 @@ 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()), + "mode": mode, + "debug": strconv.FormatBool(ctx.Config().ReleaseReadFromNewStorage()), + "new_exported": strconv.FormatBool(newExported), }, }) |