Generate java_api_contribution module from droidstubs module

Context
- droidstubs module are either generated from the java_sdk_library
  module or defined in the bp files.
- Since droidstubs module contains API text file property,
  java_api_contribution module can by dynamically created from
  droidstubs.

Implementation
- Add `api_surface` property in droidstubs module. This property is
  either inherited from the java_sdk_library or written in the module
  definition in the bp file.
- Add defaultable hook in droidstubs module to generate the child
  java_api_contribution module.

Test: m
Change-Id: Ica43d65614723c623cd0c155266f9844e69e5d5e
This commit is contained in:
Jihoon Kang
2023-01-26 08:08:52 +00:00
parent ba46e76622
commit 3198f3cb52
5 changed files with 75 additions and 2 deletions

View File

@@ -1840,6 +1840,20 @@ func TestDeviceBinaryWrapperGeneration(t *testing.T) {
}`)
}
func TestJavaApiContributionEmptyApiFile(t *testing.T) {
testJavaError(t,
"Error: foo has an empty api file.",
`java_api_contribution {
name: "foo",
}
java_api_library {
name: "bar",
api_surface: "public",
api_contributions: ["foo"],
}
`)
}
func TestJavaApiLibraryAndProviderLink(t *testing.T) {
provider_bp_a := `
java_api_contribution {