summaryrefslogtreecommitdiff
path: root/java/base.go
diff options
context:
space:
mode:
author Jihoon Kang <jihoonkang@google.com> 2024-04-11 17:37:58 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2024-04-11 17:37:58 +0000
commit033ffb9533717aa7f73f8cccd7506427f5ce47ba (patch)
treed50714ce95016aac2c86b2e55b72ca382f729c88 /java/base.go
parent291a4912d148d740790edfac2e7b707070ef1abf (diff)
parent3921f0b3560a0dbbac3f5590dc639caf9492a2e8 (diff)
Merge "Collect aconfig_declarations of the dependent java_aconfig_library modules" into main
Diffstat (limited to 'java/base.go')
-rw-r--r--java/base.go17
1 files changed, 15 insertions, 2 deletions
diff --git a/java/base.go b/java/base.go
index e2f20cee5..391ba8355 100644
--- a/java/base.go
+++ b/java/base.go
@@ -197,6 +197,9 @@ type CommonProperties struct {
// Additional srcJars tacked in by GeneratedJavaLibraryModule
Generated_srcjars []android.Path `android:"mutated"`
+ // intermediate aconfig cache file tacked in by GeneratedJavaLibraryModule
+ Aconfig_Cache_files []android.Path `android:"mutated"`
+
// If true, then only the headers are built and not the implementation jar.
Headers_only *bool
@@ -541,6 +544,11 @@ type Module struct {
jarjarRenameRules map[string]string
stubsLinkType StubsLinkType
+
+ // Paths to the aconfig intermediate cache files that are provided by the
+ // java_aconfig_library or java_library modules that are statically linked
+ // to this module. Does not contain cache files from all transitive dependencies.
+ aconfigCacheFiles android.Paths
}
func (j *Module) CheckStableSdkVersion(ctx android.BaseModuleContext) error {
@@ -1197,6 +1205,8 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
// final R classes from the app.
flags.classpath = append(android.CopyOf(extraClasspathJars), flags.classpath...)
+ j.aconfigCacheFiles = append(deps.aconfigProtoFiles, j.properties.Aconfig_Cache_files...)
+
// If compiling headers then compile them and skip the rest
if proptools.Bool(j.properties.Headers_only) {
if srcFiles.HasExt(".kt") {
@@ -1736,7 +1746,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars, extraClasspath
ExportedPluginDisableTurbine: j.exportedDisableTurbine,
JacocoReportClassesFile: j.jacocoReportClassesFile,
StubsLinkType: j.stubsLinkType,
- AconfigIntermediateCacheOutputPaths: deps.aconfigProtoFiles,
+ AconfigIntermediateCacheOutputPaths: j.aconfigCacheFiles,
})
// Save the output file with no relative path so that it doesn't end up in a subdirectory when used as a resource
@@ -2350,7 +2360,10 @@ func (j *Module) collectDeps(ctx android.ModuleContext) deps {
deps.staticHeaderJars = append(deps.staticHeaderJars, dep.Srcs()...)
}
} else if dep, ok := android.OtherModuleProvider(ctx, module, android.CodegenInfoProvider); ok {
- deps.aconfigProtoFiles = append(deps.aconfigProtoFiles, dep.IntermediateCacheOutputPaths...)
+ switch tag {
+ case staticLibTag:
+ deps.aconfigProtoFiles = append(deps.aconfigProtoFiles, dep.IntermediateCacheOutputPaths...)
+ }
} else {
switch tag {
case bootClasspathTag: