bp2build for tidy_disabled_srcs

Bug: 195029134
Test: m bp2build
Change-Id: I9591439213dbf0ef68cd33151b3e32f6f6c68551
This commit is contained in:
Sam Delmerico
2022-10-25 15:47:17 -04:00
parent 1265bfdfbd
commit c9b8fbdda0
5 changed files with 50 additions and 4 deletions

View File

@@ -3508,3 +3508,36 @@ cc_library_static {
},
})
}
func TestCcLibraryWithTidy(t *testing.T) {
runCcLibraryTestCase(t, Bp2buildTestCase{
Description: "cc_library uses tidy properties",
ModuleTypeUnderTest: "cc_library",
ModuleTypeUnderTestFactory: cc.LibraryFactory,
Blueprint: `
cc_library_static {
name: "foo",
srcs: ["foo.cpp"],
tidy: true,
tidy_checks: ["check1", "check2"],
tidy_checks_as_errors: ["check1error", "check2error"],
tidy_disabled_srcs: ["bar.cpp"],
}`,
ExpectedBazelTargets: []string{
MakeBazelTarget("cc_library_static", "foo", AttrNameToString{
"local_includes": `["."]`,
"srcs": `["foo.cpp"]`,
"tidy": `True`,
"tidy_checks": `[
"check1",
"check2",
]`,
"tidy_checks_as_errors": `[
"check1error",
"check2error",
]`,
"tidy_disabled_srcs": `["bar.cpp"]`,
}),
},
})
}

View File

@@ -646,7 +646,7 @@ func binaryBp2buildAttrs(ctx android.TopDownMutatorContext, m *Module) binaryAtt
sdkAttributes: bp2BuildParseSdkAttributes(m),
}
m.convertTidyAttributes(&attrs.tidyAttributes)
m.convertTidyAttributes(ctx, &attrs.tidyAttributes)
return attrs
}

View File

@@ -75,9 +75,11 @@ type tidyAttributes struct {
Tidy_flags []string
Tidy_checks []string
Tidy_checks_as_errors []string
Tidy_disabled_srcs bazel.LabelListAttribute
// TODO(b/255754964) support Tidy_timeout_srcs
}
func (m *Module) convertTidyAttributes(moduleAttrs *tidyAttributes) {
func (m *Module) convertTidyAttributes(ctx android.BaseMutatorContext, moduleAttrs *tidyAttributes) {
for _, f := range m.features {
if tidy, ok := f.(*tidyFeature); ok {
moduleAttrs.Tidy = tidy.Properties.Tidy
@@ -85,6 +87,17 @@ func (m *Module) convertTidyAttributes(moduleAttrs *tidyAttributes) {
moduleAttrs.Tidy_checks = tidy.Properties.Tidy_checks
moduleAttrs.Tidy_checks_as_errors = tidy.Properties.Tidy_checks_as_errors
}
}
archVariantProps := m.GetArchVariantProperties(ctx, &BaseCompilerProperties{})
for axis, configToProps := range archVariantProps {
for config, _props := range configToProps {
if archProps, ok := _props.(*BaseCompilerProperties); ok {
archDisabledSrcs := android.BazelLabelForModuleSrc(ctx, archProps.Tidy_disabled_srcs)
moduleAttrs.Tidy_disabled_srcs.SetSelectValue(axis, config, archDisabledSrcs)
}
}
}
}

View File

@@ -2791,7 +2791,7 @@ func sharedOrStaticLibraryBp2Build(ctx android.TopDownMutatorContext, module *Mo
Runtime_deps: linkerAttrs.runtimeDeps,
}
module.convertTidyAttributes(&commonAttrs.tidyAttributes)
module.convertTidyAttributes(ctx, &commonAttrs.tidyAttributes)
var attrs interface{}
if isStatic {

View File

@@ -678,7 +678,7 @@ func testBinaryBp2build(ctx android.TopDownMutatorContext, m *Module) {
}
}
m.convertTidyAttributes(&testBinaryAttrs.tidyAttributes)
m.convertTidyAttributes(ctx, &testBinaryAttrs.tidyAttributes)
for _, propIntf := range m.GetProperties() {
if testLinkerProps, ok := propIntf.(*TestLinkerProperties); ok {