summaryrefslogtreecommitdiff
path: root/java/java.go
diff options
context:
space:
mode:
author Spandan Das <spandandas@google.com> 2022-12-01 21:43:06 +0000
committer Jihoon Kang <jihoonkang@google.com> 2022-12-28 00:27:11 +0000
commit09ff3deef5ef2f70299eab805c28576616e4e8ec (patch)
tree91231b9501ff5f740abafdabef99f43c1f6d7fca /java/java.go
parentea04aad416a23a527c79f999fbecb58512bf97a6 (diff)
Add an api_files property in java_api_library
java_api_contribution is useful to java_api_library when the api files are not colocated. If they are colocated (e.g. in Multi-tree assembled api_surfaces directory), it is useful to refer to them directly without nedding to create a java_api_contribution module. Test: In build/soong, go test ./java Change-Id: I5b4e557068a1e5c71a80c76452030e72ec83a696 Merged-In: I5b4e557068a1e5c71a80c76452030e72ec83a696
Diffstat (limited to 'java/java.go')
-rw-r--r--java/java.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/java/java.go b/java/java.go
index 4e1837922..7a1f53231 100644
--- a/java/java.go
+++ b/java/java.go
@@ -1496,8 +1496,14 @@ type JavaApiLibraryProperties struct {
Api_surface *string
// list of Java API contribution modules that consists this API surface
+ // This is a list of Soong modules
Api_contributions []string
+ // list of api.txt files relative to this directory that contribute to the
+ // API surface.
+ // This is a list of relative paths
+ Api_files []string
+
// List of flags to be passed to the javac compiler to generate jar file
Javacflags []string
}
@@ -1594,6 +1600,13 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
srcFiles = append(srcFiles, android.PathForSource(ctx, provider.ApiFile.String()))
})
+ // Add the api_files inputs
+ for _, api := range al.properties.Api_files {
+ // Use MaybeExistentPathForSource since the api file might not exist during analysis.
+ // This will be provided by the orchestrator in the combined execution.
+ srcFiles = append(srcFiles, android.MaybeExistentPathForSource(ctx, ctx.ModuleDir(), api))
+ }
+
cmd := metalavaStubCmd(ctx, rule, srcFiles, homeDir)
al.stubsFlags(ctx, cmd, stubsDir)