aboutsummaryrefslogtreecommitdiffstats
path: root/java/droiddoc.go
diff options
context:
space:
mode:
authorPete Gillin <peteg@google.com>2018-11-14 18:45:46 +0000
committerPete Gillin <peteg@google.com>2018-11-19 17:49:38 +0000
commitc382a5602b56e191b8fc8a15d8125f324b394495 (patch)
treec95696415e551fe1bfa41c755effadd00f4bd6d6 /java/droiddoc.go
parent6a8d765843438216ae2f2c511b3472fd6d598a06 (diff)
downloadandroid_build_soong-c382a5602b56e191b8fc8a15d8125f324b394495.tar.gz
android_build_soong-c382a5602b56e191b8fc8a15d8125f324b394495.tar.bz2
android_build_soong-c382a5602b56e191b8fc8a15d8125f324b394495.zip
Add droidstubs support for --validate-nullability-from-list.
This names an input file for the droidstubs rule, so needs to be handled in soong. Test: core-current-stubs-nullability-validation-check-nullability-warnings Bug: 73448108 Change-Id: I092c89f01c8a448ca486e4b57d43a1c3af133114
Diffstat (limited to 'java/droiddoc.go')
-rw-r--r--java/droiddoc.go13
1 files changed, 12 insertions, 1 deletions
diff --git a/java/droiddoc.go b/java/droiddoc.go
index 9dadb30e..0c4877a8 100644
--- a/java/droiddoc.go
+++ b/java/droiddoc.go
@@ -360,6 +360,9 @@ type DroidstubsProperties struct {
// a list of top-level directories containing Java stub files to merge show/hide annotations from.
Merge_inclusion_annotations_dirs []string
+ // a file containing a list of classes to do nullability validation for.
+ Validate_nullability_from_list *string
+
// a file containing expected warnings produced by validation of nullability annotations.
Check_nullability_warnings *string
@@ -1302,6 +1305,9 @@ func (d *Droidstubs) DepsMutator(ctx android.BottomUpMutatorContext) {
}
}
+ if String(d.properties.Validate_nullability_from_list) != "" {
+ android.ExtractSourceDeps(ctx, d.properties.Validate_nullability_from_list)
+ }
if String(d.properties.Check_nullability_warnings) != "" {
android.ExtractSourceDeps(ctx, d.properties.Check_nullability_warnings)
}
@@ -1411,7 +1417,9 @@ func (d *Droidstubs) collectAnnotationsFlags(ctx android.ModuleContext,
var flags string
if Bool(d.properties.Annotations_enabled) {
flags += " --include-annotations"
- validatingNullability := strings.Contains(d.Javadoc.args, "--validate-nullability-from-merged-stubs")
+ validatingNullability :=
+ strings.Contains(d.Javadoc.args, "--validate-nullability-from-merged-stubs") ||
+ String(d.properties.Validate_nullability_from_list) != ""
migratingNullability := String(d.properties.Previous_api) != ""
if !(migratingNullability || validatingNullability) {
ctx.PropertyErrorf("previous_api",
@@ -1422,6 +1430,9 @@ func (d *Droidstubs) collectAnnotationsFlags(ctx android.ModuleContext,
*implicits = append(*implicits, previousApi)
flags += " --migrate-nullness " + previousApi.String()
}
+ if s := String(d.properties.Validate_nullability_from_list); s != "" {
+ flags += " --validate-nullability-from-list " + ctx.ExpandSource(s, "validate_nullability_from_list").String()
+ }
if validatingNullability {
d.nullabilityWarningsFile = android.PathForModuleOut(ctx, ctx.ModuleName()+"_nullability_warnings.txt")
*implicitOutputs = append(*implicitOutputs, d.nullabilityWarningsFile)