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

Commit eeff2226 authored by Yu Liu's avatar Yu Liu Committed by Android Build Cherrypicker Worker
Browse files

Pass "--container" to aconfig create-cache

Bug: 328823994
Test: unit tests and manual tests locally.

Ignore-AOSP-First: It is easier to detect all the mismatch in internal
master.
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:b75ed0f2d8c4d13924573fd065c9706475aac17b)
Merged-In: I096877015b78786639376b279a9be5d07594d92e
Change-Id: I096877015b78786639376b279a9be5d07594d92e
parent 97409cd9
Loading
Loading
Loading
Loading
+11 −7
Original line number Diff line number Diff line
@@ -137,18 +137,22 @@ func (module *DeclarationsModule) GenerateAndroidBuildActions(ctx android.Module
	inputFiles := make([]android.Path, len(declarationFiles))
	copy(inputFiles, declarationFiles)
	inputFiles = append(inputFiles, valuesFiles...)
	ctx.Build(pctx, android.BuildParams{
		Rule:        aconfigRule,
		Output:      intermediateCacheFilePath,
		Inputs:      inputFiles,
		Description: "aconfig_declarations",
		Args: map[string]string{
	args := map[string]string{
		"release_version":    ctx.Config().ReleaseVersion(),
		"package":            module.properties.Package,
		"declarations":       android.JoinPathsWithPrefix(declarationFiles, "--declarations "),
		"values":             joinAndPrefix(" --values ", module.properties.Values),
		"default-permission": optionalVariable(" --default-permission ", defaultPermission),
		},
	}
	if len(module.properties.Container) > 0 {
		args["container"] = "--container " + module.properties.Container
	}
	ctx.Build(pctx, android.BuildParams{
		Rule:        aconfigRule,
		Output:      intermediateCacheFilePath,
		Inputs:      inputFiles,
		Description: "aconfig_declarations",
		Args:        args,
	})

	intermediateDumpFilePath := android.PathForModuleOut(ctx, "intermediate.txt")
+35 −0
Original line number Diff line number Diff line
@@ -69,3 +69,38 @@ func TestAconfigDeclarationsWithExportableUnset(t *testing.T) {
	depData, _ := android.SingletonModuleProvider(result, module, android.AconfigDeclarationsProviderKey)
	android.AssertBoolEquals(t, "exportable", depData.Exportable, false)
}

func TestAconfigDeclarationsWithContainer(t *testing.T) {
	bp := `
		aconfig_declarations {
			name: "module_name",
			package: "com.example.package",
			container: "com.android.foo",
			srcs: [
				"foo.aconfig",
			],
		}
	`
	result := runTest(t, android.FixtureExpectsNoErrors, bp)

	module := result.ModuleForTests("module_name", "")
	rule := module.Rule("aconfig")
	android.AssertStringEquals(t, "rule must contain container", rule.Args["container"], "--container com.android.foo")
}

func TestAconfigDeclarationsWithoutContainer(t *testing.T) {
	bp := `
		aconfig_declarations {
			name: "module_name",
			package: "com.example.package",
			srcs: [
				"foo.aconfig",
			],
		}
	`
	result := runTest(t, android.FixtureExpectsNoErrors, bp)

	module := result.ModuleForTests("module_name", "")
	rule := module.Rule("aconfig")
	android.AssertIntEquals(t, "rule must not contain container", len(rule.Args["container"]), 0)
}
+2 −1
Original line number Diff line number Diff line
@@ -28,6 +28,7 @@ var (
		blueprint.RuleParams{
			Command: `${aconfig} create-cache` +
				` --package ${package}` +
				` ${container}` +
				` ${declarations}` +
				` ${values}` +
				` ${default-permission}` +
@@ -38,7 +39,7 @@ var (
				"${aconfig}",
			},
			Restat: true,
		}, "release_version", "package", "declarations", "values", "default-permission")
		}, "release_version", "package", "container", "declarations", "values", "default-permission")

	// For create-device-config-sysprops: Generate aconfig flag value map text file
	aconfigTextRule = pctx.AndroidStaticRule("aconfig_text",