java_sdk_library: Control API surfaces generated

Adds a per scope set of properties that allows explicit control over
the API surfaces generated.

Previously, the term active was used to determine whether it was
generated but that was a little abstract and unclear so has been
replaced by generated.

Test: m nothing
Bug: 155164730
Change-Id: I7539d89618b61f6b9d1a4b60cc3f9614b157f0d9
This commit is contained in:
Paul Duffin
2020-04-28 10:44:03 +01:00
parent 06938a0a16
commit 3375e35d99
3 changed files with 244 additions and 18 deletions

View File

@@ -1229,6 +1229,24 @@ func TestJavaSdkLibrary(t *testing.T) {
}
}
func TestJavaSdkLibrary_InvalidScopes(t *testing.T) {
testJavaError(t, `module "foo": enabled api scope "system" depends on disabled scope "public"`, `
java_sdk_library {
name: "foo",
srcs: ["a.java", "b.java"],
api_packages: ["foo"],
// Explicitly disable public to test the check that ensures the set of enabled
// scopes is consistent.
public: {
enabled: false,
},
system: {
enabled: true,
},
}
`)
}
var compilerFlagsTestCases = []struct {
in string
out bool