Revert "Print the modules that had strict_updatability_linting set"
This reverts commit ada543ed86dc4828cecdb937844c6468c872d3e3.
Reason for revert: b/323773738
Change-Id: Iaddd35b275392c8d0eb7ce1cc65523467462d7b3
diff --git a/java/lint.go b/java/lint.go
index 7c06312..c79f6e7 100644
--- a/java/lint.go
+++ b/java/lint.go
@@ -62,10 +62,6 @@
// If true, baselining updatability lint checks (e.g. NewApi) is prohibited. Defaults to false.
Strict_updatability_linting *bool
- // The reverse dependency that had strict_updatability_linting set that caused this module to
- // have it enabled, for use in error messages.
- Strict_updatability_parents []string
-
// Treat the code in this module as test code for @VisibleForTesting enforcement.
// This will be true by default for test module types, false otherwise.
// If soong gets support for testonly, this flag should be replaced with that.
@@ -121,8 +117,8 @@
LintDepSets() LintDepSets
// Methods used to propagate strict_updatability_linting values.
- GetStrictUpdatabilityLinting(ctx android.BaseModuleContext) []string
- SetStrictUpdatabilityLinting([]string)
+ GetStrictUpdatabilityLinting() bool
+ SetStrictUpdatabilityLinting(bool)
}
type LintDepSets struct {
@@ -217,22 +213,12 @@
return l.outputs.depSets
}
-// GetStrictUpdatabilityLinting returns a list of names of modules
-// that set strict_updatability_linting: true and affect the current module.
-// Strict updatability linting should be enabled if the result is non-empty.
-func (l *linter) GetStrictUpdatabilityLinting(ctx android.BaseModuleContext) []string {
- result := l.properties.Lint.Strict_updatability_parents
- if proptools.Bool(l.properties.Lint.Strict_updatability_linting) {
- result = append(result, ctx.ModuleName())
- }
- return result
+func (l *linter) GetStrictUpdatabilityLinting() bool {
+ return BoolDefault(l.properties.Lint.Strict_updatability_linting, false)
}
-// SetStrictUpdatabilityLinting adds the given list of modules to this module's
-// list of "strict updatable parent" modules. If then given list is non-empty,
-// it causes strict updatability linting to be enabled on this module.
-func (l *linter) SetStrictUpdatabilityLinting(parents []string) {
- l.properties.Lint.Strict_updatability_parents = android.SortedUniqueStrings(append(l.properties.Lint.Strict_updatability_parents, parents...))
+func (l *linter) SetStrictUpdatabilityLinting(strictLinting bool) {
+ l.properties.Lint.Strict_updatability_linting = &strictLinting
}
var _ LintDepSetsIntf = (*linter)(nil)
@@ -339,10 +325,9 @@
cmd.FlagForEachArg("--error_check ", l.properties.Lint.Error_checks)
cmd.FlagForEachArg("--fatal_check ", l.properties.Lint.Fatal_checks)
- if strict_mods := l.GetStrictUpdatabilityLinting(ctx); len(strict_mods) > 0 {
+ if l.GetStrictUpdatabilityLinting() {
// Verify the module does not baseline issues that endanger safe updatability.
if l.properties.Lint.Baseline_filename != nil {
- cmd.FlagWithArg("--strict_updatability_parents ", proptools.ShellEscape(strings.Join(strict_mods, ",")))
cmd.FlagWithInput("--baseline ", android.PathForModuleSrc(ctx, *l.properties.Lint.Baseline_filename))
cmd.FlagForEachArg("--disallowed_issues ", updatabilityChecks)
}
@@ -748,13 +733,11 @@
// Enforce the strict updatability linting to all applicable transitive dependencies.
func enforceStrictUpdatabilityLintingMutator(ctx android.TopDownMutatorContext) {
m := ctx.Module()
- if d, ok := m.(LintDepSetsIntf); ok {
- if strict_mods := d.GetStrictUpdatabilityLinting(ctx); len(strict_mods) > 0 {
- ctx.VisitDirectDepsWithTag(staticLibTag, func(d android.Module) {
- if a, ok := d.(LintDepSetsIntf); ok {
- a.SetStrictUpdatabilityLinting(strict_mods)
- }
- })
- }
+ if d, ok := m.(LintDepSetsIntf); ok && d.GetStrictUpdatabilityLinting() {
+ ctx.VisitDirectDepsWithTag(staticLibTag, func(d android.Module) {
+ if a, ok := d.(LintDepSetsIntf); ok {
+ a.SetStrictUpdatabilityLinting(true)
+ }
+ })
}
}
diff --git a/java/lint_test.go b/java/lint_test.go
index 6b24daa..b51753f 100644
--- a/java/lint_test.go
+++ b/java/lint_test.go
@@ -202,71 +202,6 @@
}
}
-func TestJavaLintStrictUpdatabilityLintingMultipleParents(t *testing.T) {
- bp := `
- java_library {
- name: "a",
- srcs: ["a.java"],
- static_libs: ["b"],
- min_sdk_version: "29",
- sdk_version: "current",
- lint: {
- strict_updatability_linting: true,
- baseline_filename: "lint-baseline.xml",
- },
- }
-
- java_library {
- name: "b",
- srcs: ["b.java"],
- static_libs: ["c"],
- min_sdk_version: "29",
- sdk_version: "current",
- lint: {
- strict_updatability_linting: true,
- },
- }
-
- java_library {
- name: "d",
- srcs: ["d.java"],
- static_libs: ["c"],
- min_sdk_version: "29",
- sdk_version: "current",
- lint: {
- strict_updatability_linting: true,
- },
- }
-
- java_library {
- name: "c",
- srcs: ["c.java"],
- min_sdk_version: "29",
- sdk_version: "current",
- lint: {
- baseline_filename: "lint-baseline.xml",
- }
- }
- `
- fs := android.MockFS{
- "lint-baseline.xml": nil,
- }
-
- result := android.GroupFixturePreparers(PrepareForTestWithJavaDefaultModules, fs.AddToFixture()).
- RunTestWithBp(t, bp)
-
- c := result.ModuleForTests("c", "android_common")
- sboxProto := android.RuleBuilderSboxProtoForTests(t, result.TestContext, c.Output("lint.sbox.textproto"))
- if !strings.Contains(*sboxProto.Commands[0].Command,
- "--baseline lint-baseline.xml --disallowed_issues NewApi") {
- t.Error("did not restrict baselining NewApi")
- }
- if !strings.Contains(*sboxProto.Commands[0].Command,
- "--strict_updatability_parents a,b,d") {
- t.Errorf("Did not find correct strict_updatability_parents in command %q", *sboxProto.Commands[0].Command)
- }
-}
-
func TestJavaLintDatabaseSelectionFull(t *testing.T) {
testCases := []struct {
sdk_version string
diff --git a/java/sdk_library.go b/java/sdk_library.go
index 570248e..49e6727 100644
--- a/java/sdk_library.go
+++ b/java/sdk_library.go
@@ -2968,17 +2968,17 @@
}
}
-func (module *SdkLibraryImport) GetStrictUpdatabilityLinting(ctx android.BaseModuleContext) []string {
+func (module *SdkLibraryImport) GetStrictUpdatabilityLinting() bool {
if module.implLibraryModule == nil {
- return nil
+ return false
} else {
- return module.implLibraryModule.GetStrictUpdatabilityLinting(ctx)
+ return module.implLibraryModule.GetStrictUpdatabilityLinting()
}
}
-func (module *SdkLibraryImport) SetStrictUpdatabilityLinting(parents []string) {
+func (module *SdkLibraryImport) SetStrictUpdatabilityLinting(strictLinting bool) {
if module.implLibraryModule != nil {
- module.implLibraryModule.SetStrictUpdatabilityLinting(parents)
+ module.implLibraryModule.SetStrictUpdatabilityLinting(strictLinting)
}
}