From fb3bb32bff347e62b4b1bcf0563ee3200c8d5015 Mon Sep 17 00:00:00 2001 From: Sam Delmerico Date: Fri, 21 Oct 2022 10:42:24 -0400 Subject: [PATCH] add clang_tidy properties to bp2build Bug: 195029134 Test: m bp2build Change-Id: I9ca2436ef792911be72788b6640287726a609e2f --- cc/binary.go | 4 ++++ cc/bp2build.go | 20 ++++++++++++++++++++ cc/library.go | 2 ++ cc/test.go | 4 ++++ 4 files changed, 30 insertions(+) diff --git a/cc/binary.go b/cc/binary.go index a6d750726..d09e74458 100644 --- a/cc/binary.go +++ b/cc/binary.go @@ -646,6 +646,8 @@ func binaryBp2buildAttrs(ctx android.TopDownMutatorContext, m *Module) binaryAtt sdkAttributes: bp2BuildParseSdkAttributes(m), } + m.convertTidyAttributes(&attrs.tidyAttributes) + return attrs } @@ -698,4 +700,6 @@ type binaryAttributes struct { Features bazel.StringListAttribute sdkAttributes + + tidyAttributes } diff --git a/cc/bp2build.go b/cc/bp2build.go index d6d052faf..2f79caec7 100644 --- a/cc/bp2build.go +++ b/cc/bp2build.go @@ -66,6 +66,26 @@ type staticOrSharedAttributes struct { Native_coverage bazel.BoolAttribute sdkAttributes + + tidyAttributes +} + +type tidyAttributes struct { + Tidy *bool + Tidy_flags []string + Tidy_checks []string + Tidy_checks_as_errors []string +} + +func (m *Module) convertTidyAttributes(moduleAttrs *tidyAttributes) { + for _, f := range m.features { + if tidy, ok := f.(*tidyFeature); ok { + moduleAttrs.Tidy = tidy.Properties.Tidy + moduleAttrs.Tidy_flags = tidy.Properties.Tidy_flags + moduleAttrs.Tidy_checks = tidy.Properties.Tidy_checks + moduleAttrs.Tidy_checks_as_errors = tidy.Properties.Tidy_checks_as_errors + } + } } // groupSrcsByExtension partitions `srcs` into groups based on file extension. diff --git a/cc/library.go b/cc/library.go index a590b223b..41a68e3cb 100644 --- a/cc/library.go +++ b/cc/library.go @@ -2791,6 +2791,8 @@ func sharedOrStaticLibraryBp2Build(ctx android.TopDownMutatorContext, module *Mo Runtime_deps: linkerAttrs.runtimeDeps, } + module.convertTidyAttributes(&commonAttrs.tidyAttributes) + var attrs interface{} if isStatic { commonAttrs.Deps.Add(baseAttributes.protoDependency) diff --git a/cc/test.go b/cc/test.go index 715c537c7..92055fa93 100644 --- a/cc/test.go +++ b/cc/test.go @@ -643,6 +643,8 @@ type testBinaryAttributes struct { Gtest bool Isolated bool + + tidyAttributes } // testBinaryBp2build is the bp2build converter for cc_test modules. A cc_test's @@ -676,6 +678,8 @@ func testBinaryBp2build(ctx android.TopDownMutatorContext, m *Module) { } } + m.convertTidyAttributes(&testBinaryAttrs.tidyAttributes) + for _, propIntf := range m.GetProperties() { if testLinkerProps, ok := propIntf.(*TestLinkerProperties); ok { testBinaryAttrs.Gtest = proptools.BoolDefault(testLinkerProps.Gtest, true)