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

Commit a8c1caca authored by Anton Hansson's avatar Anton Hansson Committed by Gerrit Code Review
Browse files

Merge "Add filegroup_defaults module"

parents eaab8740 7d6dd8bb
Loading
Loading
Loading
Loading
+23 −2
Original line number Original line Diff line number Diff line
@@ -26,13 +26,18 @@ import (
)
)


func init() {
func init() {
	RegisterModuleType("filegroup", FileGroupFactory)
	RegisterFilegroupBuildComponents(InitRegistrationContext)
}
}


var PrepareForTestWithFilegroup = FixtureRegisterWithContext(func(ctx RegistrationContext) {
var PrepareForTestWithFilegroup = FixtureRegisterWithContext(func(ctx RegistrationContext) {
	ctx.RegisterModuleType("filegroup", FileGroupFactory)
	RegisterFilegroupBuildComponents(ctx)
})
})


func RegisterFilegroupBuildComponents(ctx RegistrationContext) {
	ctx.RegisterModuleType("filegroup", FileGroupFactory)
	ctx.RegisterModuleType("filegroup_defaults", FileGroupDefaultsFactory)
}

var convertedProtoLibrarySuffix = "_bp2build_converted"
var convertedProtoLibrarySuffix = "_bp2build_converted"


// IsFilegroup checks that a module is a filegroup type
// IsFilegroup checks that a module is a filegroup type
@@ -178,6 +183,7 @@ type fileGroupProperties struct {
type fileGroup struct {
type fileGroup struct {
	ModuleBase
	ModuleBase
	BazelModuleBase
	BazelModuleBase
	DefaultableModuleBase
	FileGroupAsLibrary
	FileGroupAsLibrary
	properties fileGroupProperties
	properties fileGroupProperties
	srcs       Paths
	srcs       Paths
@@ -195,6 +201,7 @@ func FileGroupFactory() Module {
	module.AddProperties(&module.properties)
	module.AddProperties(&module.properties)
	InitAndroidModule(module)
	InitAndroidModule(module)
	InitBazelModule(module)
	InitBazelModule(module)
	InitDefaultableModule(module)
	return module
	return module
}
}


@@ -326,3 +333,17 @@ func ToFileGroupAsLibrary(ctx BazelConversionPathContext, name string) (FileGrou
	}
	}
	return nil, false
	return nil, false
}
}

// Defaults
type FileGroupDefaults struct {
	ModuleBase
	DefaultsModuleBase
}

func FileGroupDefaultsFactory() Module {
	module := &FileGroupDefaults{}
	module.AddProperties(&fileGroupProperties{})
	InitDefaultsModule(module)

	return module
}
+21 −0
Original line number Original line Diff line number Diff line
@@ -58,3 +58,24 @@ func TestFileGroupWithPathProp(t *testing.T) {
		AssertStringEquals(t, "src full path", expectedOutputfile, fg.srcs[0].String())
		AssertStringEquals(t, "src full path", expectedOutputfile, fg.srcs[0].String())
	}
	}
}
}

func TestFilegroupDefaults(t *testing.T) {
	bp := FixtureAddTextFile("p/Android.bp", `
		filegroup_defaults {
			name: "defaults",
			visibility: ["//x"],
		}
		filegroup {
			name: "foo",
			defaults: ["defaults"],
			visibility: ["//y"],
		}
	`)
	result := GroupFixturePreparers(
		PrepareForTestWithFilegroup,
		PrepareForTestWithDefaults,
		PrepareForTestWithVisibility,
		bp).RunTest(t)
	rules := effectiveVisibilityRules(result.Config, qualifiedModuleName{pkg: "p", name: "foo"})
	AssertDeepEquals(t, "visibility", []string{"//x", "//y"}, rules.Strings())
}