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

Commit cdea74d9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Support testing for resource shrinking"

parents 365dcdf6 51b0a102
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ bootstrap_go_package {
        "plugin_test.go",
        "prebuilt_apis_test.go",
        "proto_test.go",
        "resourceshrinker_test.go",
        "rro_test.go",
        "sdk_test.go",
        "sdk_library_test.go",
+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ type DexProperties struct {
		// classes referenced by the app manifest.  Defaults to false.
		No_aapt_flags *bool

		// If true, optimize for size by removing unused resources. Defaults to false.
		Shrink_resources *bool

		// Flags to pass to proguard.
+53 −0
Original line number Diff line number Diff line
// Copyright 2022 Google Inc. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package java

import (
	"testing"

	"android/soong/android"
)

func TestShrinkResourcesArgs(t *testing.T) {
	result := android.GroupFixturePreparers(
		PrepareForTestWithJavaDefaultModules,
	).RunTestWithBp(t, `
		android_app {
			name: "app_shrink",
			platform_apis: true,
			optimize: {
				shrink_resources: true,
			}
		}

		android_app {
			name: "app_no_shrink",
			platform_apis: true,
			optimize: {
				shrink_resources: false,
			}
		}
	`)

	appShrink := result.ModuleForTests("app_shrink", "android_common")
	appShrinkResources := appShrink.Rule("shrinkResources")
	android.AssertStringDoesContain(t, "expected shrinker.xml in app_shrink resource shrinker flags",
		appShrinkResources.Args["raw_resources"], "shrinker.xml")

	appNoShrink := result.ModuleForTests("app_no_shrink", "android_common")
	if appNoShrink.MaybeRule("shrinkResources").Rule != nil {
		t.Errorf("unexpected shrinkResources rule for app_no_shrink")
	}
}
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ var prepareForTestWithFrameworkDeps = android.GroupFixturePreparers(
		// Needed for R8 rules on apps
		"build/make/core/proguard.flags":             nil,
		"build/make/core/proguard_basic_keeps.flags": nil,
		"prebuilts/cmdline-tools/shrinker.xml":       nil,
	}.AddToFixture(),
)