Disallow missing api source files for java_api_library module

The purpose of this change is to enable filegroups to be taken as inputs
for `java_api_library` module `api_files` property. However, since
android.MaybeExistentPathForSource() does not support this, it needs to
be replaced with android.PathForModuleSrc(), which checks for the files'
existence.

Bug: 283006953
Test: go test ./java
Change-Id: I8a7d7f200f900219cc17243194a4c26071329ee6
This commit is contained in:
Jihoon Kang
2023-05-17 00:23:38 +00:00
parent 7754be760a
commit 795319fadb
3 changed files with 31 additions and 5 deletions

View File

@@ -1651,7 +1651,7 @@ type JavaApiLibraryProperties struct {
// 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
Api_files []string `android:"path"`
// List of flags to be passed to the javac compiler to generate jar file
Javacflags []string
@@ -1833,9 +1833,7 @@ func (al *ApiLibrary) GenerateAndroidBuildActions(ctx android.ModuleContext) {
// 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))
srcFiles = append(srcFiles, android.PathForModuleSrc(ctx, api))
}
if srcFiles == nil {