Remove api_files property from java_api_library
java_api_contribution provides api_surface information, but files directly passed to java_api_library do not possess such information. Currently, the api surface is assumed via naming convention for api files passed via api_files property, but this is fragile. This change removes the api_files property from java_api_library and enforce all api files to be passed via java_api_contribution Test: m nothing --build-from-text-stub Bug: 300964421 Change-Id: If01d9ed978fe469d4ee0d685582a51629ebecc56
This commit is contained in:
@@ -1885,7 +1885,6 @@ func TestJavaApiLibraryAndProviderLink(t *testing.T) {
|
||||
name: "bar2",
|
||||
api_surface: "system",
|
||||
api_contributions: ["foo1", "foo2"],
|
||||
api_files: ["api1/current.txt", "api2/current.txt"]
|
||||
}
|
||||
`,
|
||||
map[string][]byte{
|
||||
@@ -1903,7 +1902,7 @@ func TestJavaApiLibraryAndProviderLink(t *testing.T) {
|
||||
},
|
||||
{
|
||||
moduleName: "bar2",
|
||||
sourceTextFileDirs: []string{"a/current.txt", "b/current.txt", "api1/current.txt", "api2/current.txt"},
|
||||
sourceTextFileDirs: []string{"a/current.txt", "b/current.txt"},
|
||||
},
|
||||
}
|
||||
for _, c := range testcases {
|
||||
@@ -1975,7 +1974,6 @@ func TestJavaApiLibraryAndDefaultsLink(t *testing.T) {
|
||||
api_surface: "system",
|
||||
defaults:["baz1", "baz2"],
|
||||
api_contributions: ["foo4"],
|
||||
api_files: ["api1/current.txt", "api2/current.txt"]
|
||||
}
|
||||
`,
|
||||
map[string][]byte{
|
||||
@@ -2000,7 +1998,7 @@ func TestJavaApiLibraryAndDefaultsLink(t *testing.T) {
|
||||
{
|
||||
moduleName: "bar3",
|
||||
// API text files need to be sorted from the narrower api scope to the wider api scope
|
||||
sourceTextFileDirs: []string{"a/current.txt", "b/current.txt", "api1/current.txt", "api2/current.txt", "c/system-current.txt", "d/system-current.txt"},
|
||||
sourceTextFileDirs: []string{"a/current.txt", "b/current.txt", "c/system-current.txt", "d/system-current.txt"},
|
||||
},
|
||||
}
|
||||
for _, c := range testcases {
|
||||
@@ -2265,29 +2263,6 @@ func TestJavaApiLibraryFullApiSurfaceStub(t *testing.T) {
|
||||
android.AssertStringDoesContain(t, "Command expected to contain full_api_surface_stub output jar", manifestCommand, "lib1.jar")
|
||||
}
|
||||
|
||||
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