Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c9b8fbdd authored by Sam Delmerico's avatar Sam Delmerico
Browse files

bp2build for tidy_disabled_srcs

Bug: 195029134
Test: m bp2build
Change-Id: I9591439213dbf0ef68cd33151b3e32f6f6c68551
parent 1265bfdf
Loading
Loading
Loading
Loading
+33 −0
Original line number Diff line number Diff line
@@ -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"]`,
			}),
		},
	})
}
+1 −1
Original line number Diff line number Diff line
@@ -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
}
+14 −1
Original line number Diff line number Diff line
@@ -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)
			}
		}
	}
}

+1 −1
Original line number Diff line number Diff line
@@ -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 {
+1 −1
Original line number Diff line number Diff line
@@ -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 {