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

Commit 58d5327f authored by PODISHETTY KUMAR's avatar PODISHETTY KUMAR Committed by Automerger Merge Worker
Browse files

Merge "Revert "Pass --non-updatable-system flag to aapt2 when versionCode is...

Merge "Revert "Pass --non-updatable-system flag to aapt2 when versionCode is unspecified"" into main am: fc767787

Original change: https://android-review.googlesource.com/c/platform/build/soong/+/3133475



Change-Id: I03a00bfb541769e6aa877a184ce7efa2a03d0f59
Signed-off-by: default avatarAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
parents 523108c2 fc767787
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -107,10 +107,6 @@ type aaptProperties struct {

	// Names of aconfig_declarations modules that specify aconfig flags that the module depends on.
	Flags_packages []string

	// If set, `--non-updatable-system` flag is not passed to aapt2 even when
	// `--version-code` is not specified in the `aaptFlags` property list or in the manifest.
	DisableNonUpdatableSystem bool `blueprint:"mutated"`
}

type aapt struct {
@@ -312,9 +308,9 @@ func (a *aapt) aapt2Flags(ctx android.ModuleContext, sdkContext android.SdkConte
	// This behavior has been copied from Make.
	linkFlags = append(linkFlags, "--target-sdk-version "+minSdkVersion)

	// Mark non updatable when the module does not specify a version code
	if !a.aaptProperties.DisableNonUpdatableSystem && !hasVersionCode {
		linkFlags = append(linkFlags, "--non-updatable-system")
	// Version code
	if !hasVersionCode {
		linkFlags = append(linkFlags, "--version-code", ctx.Config().PlatformSdkVersion().String())
	}

	if !hasVersionName {
+0 −2
Original line number Diff line number Diff line
@@ -1452,7 +1452,6 @@ func AndroidTestFactory() android.Module {
	module.appProperties.AlwaysPackageNativeLibs = true
	module.Module.dexpreopter.isTest = true
	module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true)
	module.aaptProperties.DisableNonUpdatableSystem = true

	module.addHostAndDeviceProperties()
	module.AddProperties(
@@ -1509,7 +1508,6 @@ func AndroidTestHelperAppFactory() android.Module {
	module.appProperties.AlwaysPackageNativeLibs = true
	module.Module.dexpreopter.isTest = true
	module.Module.linter.properties.Lint.Test = proptools.BoolPtr(true)
	module.aaptProperties.DisableNonUpdatableSystem = true

	module.addHostAndDeviceProperties()
	module.AddProperties(
+0 −49
Original line number Diff line number Diff line
@@ -4477,54 +4477,5 @@ func TestAppMinSdkVersionOverride(t *testing.T) {
		fooOverride.BuildParams.Args["args"],
		"--minSdkVersion  33",
	)
}

func TestNonUpdatableSystem(t *testing.T) {
	ctx := testApp(t, `
		android_app {
			name: "foo",
			srcs: ["a.java"],
			sdk_version: "current",
			aaptflags: [
				"--version-code 1",
			],
		}
		android_app {
			name: "bar",
			srcs: ["a.java"],
			sdk_version: "current",
		}
		android_test {
			name: "baz",
			srcs: ["a.java"],
			sdk_version: "current",
		}
		android_test_helper_app {
			name: "baz_helper",
			srcs: ["a.java"],
			sdk_version: "current",
		}
	`)

	hasNonUpdatableSystemFlag := func(module android.TestingModule) bool {
		moduleAapt2LinkRule := module.Rule("android/soong/java.aapt2Link")
		linkFlags := moduleAapt2LinkRule.Args["flags"]
		return strings.Contains(linkFlags, "--non-updatable-system")
	}

	foo := ctx.ModuleForTests("foo", "android_common")
	android.AssertBoolEquals(t, "app should not pass `--non-updatable-flags` when --version-code is specified",
		false, hasNonUpdatableSystemFlag(foo))

	bar := ctx.ModuleForTests("bar", "android_common")
	android.AssertBoolEquals(t, "app should pass `--non-updatable-flags` when --version-code is not specified",
		true, hasNonUpdatableSystemFlag(bar))

	baz := ctx.ModuleForTests("baz", "android_common")
	android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
		false, hasNonUpdatableSystemFlag(baz))

	baz_helper := ctx.ModuleForTests("baz_helper", "android_common")
	android.AssertBoolEquals(t, "test should not pass `--non-updatable-flags` even if --version-code is not specified",
		false, hasNonUpdatableSystemFlag(baz_helper))
}