Generate tidy-* rules unless tidy is disabled
* make tidy-soong_subset, or make tidy-<any_directory>,
should trigger the same clang-tidy compilations
with or without global WITH_TIDY=1.
* Normal make should not trigger clang-tidy compilations
unless global WITH_TIDY=1 or a module has set tidy:true.
Bug: 213918926
Test: NINJA_ARGS="-n" make tidy-soong_subset
Test: NINJA_ARGS="-n" make <some-library>
Change-Id: Iafffd3894abe137c9584c2c01830898422f9a677
diff --git a/cc/tidy.go b/cc/tidy.go
index 78a791f..97418fe 100644
--- a/cc/tidy.go
+++ b/cc/tidy.go
@@ -71,13 +71,17 @@
return flags
}
- // If not explicitly set, check the global tidy flag
- if tidy.Properties.Tidy == nil && !ctx.Config().ClangTidy() {
- return flags
- }
-
+ // If not explicitly disabled, set flags.Tidy to generate .tidy rules.
+ // Note that libraries and binaries will depend on .tidy files ONLY if
+ // the global WITH_TIDY or module 'tidy' property is true.
flags.Tidy = true
+ // If explicitly enabled, by global default or local tidy property,
+ // set flags.NeedTidyFiles to make this module depend on .tidy files.
+ if ctx.Config().ClangTidy() || Bool(tidy.Properties.Tidy) {
+ flags.NeedTidyFiles = true
+ }
+
// Add global WITH_TIDY_FLAGS and local tidy_flags.
withTidyFlags := ctx.Config().Getenv("WITH_TIDY_FLAGS")
if len(withTidyFlags) > 0 {