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

Commit 3d419e3b authored by Bill Peckham's avatar Bill Peckham Committed by Gerrit Code Review
Browse files

Merge "Automatically set uncompress_dex for java_import."

parents 31094b10 ff89ffae
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -85,7 +85,7 @@ func TestHiddenAPISingletonWithPrebuilt(t *testing.T) {

	hiddenAPI := ctx.SingletonForTests("hiddenapi")
	hiddenapiRule := hiddenAPI.Rule("hiddenapi")
	want := "--boot-dex=" + buildDir + "/.intermediates/foo/android_common/dex/foo.jar"
	want := "--boot-dex=" + buildDir + "/.intermediates/foo/android_common/aligned/foo.jar"
	if !strings.Contains(hiddenapiRule.RuleParams.Command, want) {
		t.Errorf("Expected %s in hiddenapi command, but it was not present: %s", want, hiddenapiRule.RuleParams.Command)
	}
+15 −0
Original line number Diff line number Diff line
@@ -2707,6 +2707,7 @@ type Import struct {

	hiddenAPI
	dexer
	dexpreopter

	properties ImportProperties

@@ -2832,6 +2833,14 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) {
		}

		// Dex compilation

		j.dexpreopter.installPath = android.PathForModuleInstall(ctx, "framework", jarName)
		if j.dexProperties.Uncompress_dex == nil {
			// If the value was not force-set by the user, use reasonable default based on the module.
			j.dexProperties.Uncompress_dex = proptools.BoolPtr(shouldUncompressDex(ctx, &j.dexpreopter))
		}
		j.dexpreopter.uncompressedDex = *j.dexProperties.Uncompress_dex

		var dexOutputFile android.ModuleOutPath
		dexOutputFile = j.dexer.compileDex(ctx, flags, j.minSdkVersion(), outputFile, jarName)
		if ctx.Failed() {
@@ -2951,6 +2960,12 @@ func (j *Import) IDECustomizedModuleName() string {

var _ android.PrebuiltInterface = (*Import)(nil)

func (j *Import) IsInstallable() bool {
	return Bool(j.properties.Installable)
}

var _ dexpreopterInterface = (*Import)(nil)

// java_import imports one or more `.jar` files into the build graph as if they were built by a java_library module.
//
// By default, a java_import has a single variant that expects a `.jar` file containing `.class` files that were