diff --git a/java/base.go b/java/base.go index 6e42aef33..55d77dc4a 100644 --- a/java/base.go +++ b/java/base.go @@ -1488,14 +1488,7 @@ func (j *Module) compile(ctx android.ModuleContext, aaptSrcJar android.Path) { } // Dex compilation var dexOutputFile android.OutputPath - params := &compileDexParams{ - flags: flags, - sdkVersion: j.SdkVersion(ctx), - minSdkVersion: j.MinSdkVersion(ctx), - classesJar: implementationAndResourcesJar, - jarName: jarName, - } - dexOutputFile = j.dexer.compileDex(ctx, params) + dexOutputFile = j.dexer.compileDex(ctx, flags, j.MinSdkVersion(ctx), implementationAndResourcesJar, jarName) if ctx.Failed() { return } diff --git a/java/dex.go b/java/dex.go index ed1f07b26..40ee99d3b 100644 --- a/java/dex.go +++ b/java/dex.go @@ -180,7 +180,7 @@ var r8, r8RE = pctx.MultiCommandRemoteStaticRules("r8", "r8Flags", "zipFlags", "tmpJar", "mergeZipsFlags"}, []string{"implicits"}) func (d *dexer) dexCommonFlags(ctx android.ModuleContext, - dexParams *compileDexParams) (flags []string, deps android.Paths) { + minSdkVersion android.SdkSpec) (flags []string, deps android.Paths) { flags = d.dexProperties.Dxflags // Translate all the DX flags to D8 ones until all the build files have been migrated @@ -209,11 +209,11 @@ func (d *dexer) dexCommonFlags(ctx android.ModuleContext, // Note: Targets with a min SDK kind of core_platform (e.g., framework.jar) or unspecified (e.g., // services.jar), are not classified as stable, which is WAI. // TODO(b/232073181): Expand to additional min SDK cases after validation. - if !dexParams.sdkVersion.Stable() { + if !minSdkVersion.Stable() { flags = append(flags, "--android-platform-build") } - effectiveVersion, err := dexParams.minSdkVersion.EffectiveVersion(ctx) + effectiveVersion, err := minSdkVersion.EffectiveVersion(ctx) if err != nil { ctx.PropertyErrorf("min_sdk_version", "%s", err) } @@ -317,27 +317,20 @@ func (d *dexer) r8Flags(ctx android.ModuleContext, flags javaBuilderFlags) (r8Fl return r8Flags, r8Deps } -type compileDexParams struct { - flags javaBuilderFlags - sdkVersion android.SdkSpec - minSdkVersion android.SdkSpec - classesJar android.Path - jarName string -} - -func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParams) android.OutputPath { +func (d *dexer) compileDex(ctx android.ModuleContext, flags javaBuilderFlags, minSdkVersion android.SdkSpec, + classesJar android.Path, jarName string) android.OutputPath { // Compile classes.jar into classes.dex and then javalib.jar - javalibJar := android.PathForModuleOut(ctx, "dex", dexParams.jarName).OutputPath + javalibJar := android.PathForModuleOut(ctx, "dex", jarName).OutputPath outDir := android.PathForModuleOut(ctx, "dex") - tmpJar := android.PathForModuleOut(ctx, "withres-withoutdex", dexParams.jarName) + tmpJar := android.PathForModuleOut(ctx, "withres-withoutdex", jarName) zipFlags := "--ignore_missing_files" if proptools.Bool(d.dexProperties.Uncompress_dex) { zipFlags += " -L 0" } - commonFlags, commonDeps := d.dexCommonFlags(ctx, dexParams) + commonFlags, commonDeps := d.dexCommonFlags(ctx, minSdkVersion) // Exclude kotlinc generated files when "exclude_kotlinc_generated_files" is set to true. mergeZipsFlags := "" @@ -354,7 +347,7 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam android.ModuleNameWithPossibleOverride(ctx), "unused.txt") proguardUsageZip := android.PathForModuleOut(ctx, "proguard_usage.zip") d.proguardUsageZip = android.OptionalPathForPath(proguardUsageZip) - r8Flags, r8Deps := d.r8Flags(ctx, dexParams.flags) + r8Flags, r8Deps := d.r8Flags(ctx, flags) r8Deps = append(r8Deps, commonDeps...) rule := r8 args := map[string]string{ @@ -377,12 +370,12 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam Description: "r8", Output: javalibJar, ImplicitOutputs: android.WritablePaths{proguardDictionary, proguardUsageZip}, - Input: dexParams.classesJar, + Input: classesJar, Implicits: r8Deps, Args: args, }) } else { - d8Flags, d8Deps := d8Flags(dexParams.flags) + d8Flags, d8Deps := d8Flags(flags) d8Deps = append(d8Deps, commonDeps...) rule := d8 if ctx.Config().UseRBE() && ctx.Config().IsEnvTrue("RBE_D8") { @@ -392,7 +385,7 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam Rule: rule, Description: "d8", Output: javalibJar, - Input: dexParams.classesJar, + Input: classesJar, Implicits: d8Deps, Args: map[string]string{ "d8Flags": strings.Join(append(commonFlags, d8Flags...), " "), @@ -404,7 +397,7 @@ func (d *dexer) compileDex(ctx android.ModuleContext, dexParams *compileDexParam }) } if proptools.Bool(d.dexProperties.Uncompress_dex) { - alignedJavalibJar := android.PathForModuleOut(ctx, "aligned", dexParams.jarName).OutputPath + alignedJavalibJar := android.PathForModuleOut(ctx, "aligned", jarName).OutputPath TransformZipAlign(ctx, alignedJavalibJar, javalibJar) javalibJar = alignedJavalibJar } diff --git a/java/dex_test.go b/java/dex_test.go index cddd4ad83..fc6cd0f3f 100644 --- a/java/dex_test.go +++ b/java/dex_test.go @@ -41,7 +41,6 @@ func TestR8(t *testing.T) { name: "core_platform_app", srcs: ["foo.java"], sdk_version: "core_platform", - min_sdk_version: "31", } java_library { diff --git a/java/java.go b/java/java.go index 1e8d7b9e9..b3abc9118 100644 --- a/java/java.go +++ b/java/java.go @@ -1981,15 +1981,7 @@ func (j *Import) GenerateAndroidBuildActions(ctx android.ModuleContext) { j.dexpreopter.uncompressedDex = *j.dexProperties.Uncompress_dex var dexOutputFile android.OutputPath - dexParams := &compileDexParams{ - flags: flags, - sdkVersion: j.SdkVersion(ctx), - minSdkVersion: j.MinSdkVersion(ctx), - classesJar: outputFile, - jarName: jarName, - } - - dexOutputFile = j.dexer.compileDex(ctx, dexParams) + dexOutputFile = j.dexer.compileDex(ctx, flags, j.MinSdkVersion(ctx), outputFile, jarName) if ctx.Failed() { return }