From c382a5602b56e191b8fc8a15d8125f324b394495 Mon Sep 17 00:00:00 2001 From: Pete Gillin Date: Wed, 14 Nov 2018 18:45:46 +0000 Subject: [PATCH] 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 --- java/droiddoc.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/java/droiddoc.go b/java/droiddoc.go index 9dadb30e5..0c4877a82 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)