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:
@@ -2252,6 +2252,29 @@ func TestJavaApiLibraryDepApiSrcs(t *testing.T) {
|
||||
android.AssertStringDoesContain(t, "Command expected to contain output files list text file flag", manifestCommand, "--out __SBOX_SANDBOX_DIR__/out/sources.txt")
|
||||
}
|
||||
|
||||
func TestJavaApiLibraryFilegroupInput(t *testing.T) {
|
||||
ctx, _ := testJavaWithFS(t, `
|
||||
filegroup {
|
||||
name: "default_current.txt",
|
||||
srcs: ["current.txt"],
|
||||
}
|
||||
|
||||
java_api_library {
|
||||
name: "foo",
|
||||
api_files: [":default_current.txt"],
|
||||
}
|
||||
`,
|
||||
map[string][]byte{
|
||||
"current.txt": nil,
|
||||
})
|
||||
|
||||
m := ctx.ModuleForTests("foo", "android_common")
|
||||
outputs := fmt.Sprint(m.AllOutputs())
|
||||
if !strings.Contains(outputs, "foo/foo.jar") {
|
||||
t.Errorf("Module output does not contain expected jar %s", "foo/foo.jar")
|
||||
}
|
||||
}
|
||||
|
||||
func TestTradefedOptions(t *testing.T) {
|
||||
result := PrepareForTestWithJavaBuildComponents.RunTestWithBp(t, `
|
||||
java_test_host {
|
||||
|
Reference in New Issue
Block a user