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

Commit 775f2cb3 authored by Sam Delmerico's avatar Sam Delmerico Committed by Gerrit Code Review
Browse files

Merge "export neverallow include dir list to Bazel"

parents b70f746e 46d08b4e
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ import (

var (
	pctx         = NewPackageContext("android/soong/android")
	exportedVars = NewExportedVariables(pctx)

	cpPreserveSymlinks = pctx.VariableConfigMethod("cpPreserveSymlinks",
		Config.CpPreserveSymlinksFlags)
@@ -128,6 +129,13 @@ func init() {
	pctx.VariableFunc("RBEWrapper", func(ctx PackageVarContext) string {
		return ctx.Config().RBEWrapper()
	})

	exportedVars.ExportStringList("NeverAllowNotInIncludeDir", neverallowNotInIncludeDir)
	exportedVars.ExportStringList("NeverAllowNoUseIncludeDir", neverallowNoUseIncludeDir)
}

func BazelCcToolchainVars(config Config) string {
	return BazelToolchainVars(config, exportedVars)
}

var (
+8 −6
Original line number Diff line number Diff line
@@ -74,8 +74,8 @@ func createBp2BuildRule() Rule {
			"supported for custom conversion, use allowlists.go instead.")
}

func createIncludeDirsRules() []Rule {
	notInIncludeDir := []string{
var (
	neverallowNotInIncludeDir = []string{
		"art",
		"art/libnativebridge",
		"art/libnativeloader",
@@ -91,7 +91,7 @@ func createIncludeDirsRules() []Rule {
		"external/vixl",
		"external/wycheproof",
	}
	noUseIncludeDir := []string{
	neverallowNoUseIncludeDir = []string{
		"frameworks/av/apex",
		"frameworks/av/tools",
		"frameworks/native/cmds",
@@ -103,10 +103,12 @@ func createIncludeDirsRules() []Rule {
		"system/libfmq",
		"system/libvintf",
	}
)

	rules := make([]Rule, 0, len(notInIncludeDir)+len(noUseIncludeDir))
func createIncludeDirsRules() []Rule {
	rules := make([]Rule, 0, len(neverallowNotInIncludeDir)+len(neverallowNoUseIncludeDir))

	for _, path := range notInIncludeDir {
	for _, path := range neverallowNotInIncludeDir {
		rule :=
			NeverAllow().
				WithMatcher("include_dirs", StartsWith(path+"/")).
@@ -116,7 +118,7 @@ func createIncludeDirsRules() []Rule {
		rules = append(rules, rule)
	}

	for _, path := range noUseIncludeDir {
	for _, path := range neverallowNoUseIncludeDir {
		rule := NeverAllow().In(path+"/").WithMatcher("include_dirs", isSetMatcherInstance).
			Because("include_dirs is deprecated, all usages of them in '" + path + "' have been migrated" +
				" to use alternate mechanisms and so can no longer be used.")
+3 −0
Original line number Diff line number Diff line
@@ -23,6 +23,9 @@ type BazelFile struct {
func CreateSoongInjectionFiles(cfg android.Config, metrics CodegenMetrics) []BazelFile {
	var files []BazelFile

	files = append(files, newFile("android", GeneratedBuildFileName, "")) // Creates a //cc_toolchain package.
	files = append(files, newFile("android", "constants.bzl", android.BazelCcToolchainVars(cfg)))

	files = append(files, newFile("cc_toolchain", GeneratedBuildFileName, "")) // Creates a //cc_toolchain package.
	files = append(files, newFile("cc_toolchain", "constants.bzl", cc_config.BazelCcToolchainVars(cfg)))

+8 −0
Original line number Diff line number Diff line
@@ -87,6 +87,14 @@ func TestCreateBazelFiles_Bp2Build_CreatesDefaultFiles(t *testing.T) {
	files := CreateSoongInjectionFiles(testConfig, CreateCodegenMetrics())

	expectedFilePaths := []bazelFilepath{
		{
			dir:      "android",
			basename: GeneratedBuildFileName,
		},
		{
			dir:      "android",
			basename: "constants.bzl",
		},
		{
			dir:      "cc_toolchain",
			basename: GeneratedBuildFileName,