From 09ff3deef5ef2f70299eab805c28576616e4e8ec Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Thu, 1 Dec 2022 21:43:06 +0000 Subject: 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 --- java/java.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'java/java.go') 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) -- cgit v1.2.3-59-g8ed1b