Introduce "Exclude_static_libs" property for Java modules
Exclude_static_libs property can be used to specify static libs that should not be used to build the module. The list acts as filter for static_libs. Bug: 285410821 Test: go test ./java Change-Id: Iee7f160ba88b5f64bdd265c30d47c9f51feb0f5e
This commit is contained in:
@@ -79,6 +79,9 @@ type CommonProperties struct {
|
||||
// list of java libraries that will be compiled into the resulting jar
|
||||
Static_libs []string `android:"arch_variant"`
|
||||
|
||||
// list of java libraries that should not be used to build this module
|
||||
Exclude_static_libs []string `android:"arch_variant"`
|
||||
|
||||
// manifest file to be included in resulting jar
|
||||
Manifest *string `android:"path"`
|
||||
|
||||
@@ -724,6 +727,8 @@ func (j *Module) deps(ctx android.BottomUpMutatorContext) {
|
||||
}
|
||||
|
||||
libDeps := ctx.AddVariationDependencies(nil, libTag, j.properties.Libs...)
|
||||
|
||||
j.properties.Static_libs = android.RemoveListFromList(j.properties.Static_libs, j.properties.Exclude_static_libs)
|
||||
ctx.AddVariationDependencies(nil, staticLibTag, j.properties.Static_libs...)
|
||||
|
||||
// Add dependency on libraries that provide additional hidden api annotations.
|
||||
|
@@ -2322,3 +2322,34 @@ java_test_host {
|
||||
t.Errorf("Expected args[\"extraTestRunnerConfigs\"] to equal %q, was %q", expected, args["extraTestRunnerConfigs"])
|
||||
}
|
||||
}
|
||||
|
||||
func TestJavaExcludeStaticLib(t *testing.T) {
|
||||
ctx, _ := testJava(t, `
|
||||
java_library {
|
||||
name: "bar",
|
||||
}
|
||||
java_library {
|
||||
name: "foo",
|
||||
}
|
||||
java_library {
|
||||
name: "baz",
|
||||
static_libs: [
|
||||
"foo",
|
||||
"bar",
|
||||
],
|
||||
exclude_static_libs: [
|
||||
"bar",
|
||||
],
|
||||
}
|
||||
`)
|
||||
|
||||
// "bar" not included as dependency of "baz"
|
||||
CheckModuleDependencies(t, ctx, "baz", "android_common", []string{
|
||||
`core-lambda-stubs`,
|
||||
`ext`,
|
||||
`foo`,
|
||||
`framework`,
|
||||
`stable-core-platform-api-stubs-system-modules`,
|
||||
`stable.core.platform.api.stubs`,
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user