diff options
author | Colin Cross <ccross@android.com> | 2017-12-22 15:56:08 -0800 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2018-01-02 18:23:43 -0800 |
commit | f0056cb2ed3fe9d34d89df421922569b095f2e47 (patch) | |
tree | 5361b7a8c2315608e28f882b0d8bace7982649ba /java/java.go | |
parent | e6ddff68be6b76cbae935f9a5125549327a66111 (diff) |
Refactor dexing
Move dexing support into java/dex.go, including the rules and logic
from builder.go and the function from java.go.
Test: no change to build.ninja
Change-Id: I098d2a9774e28079ba44791679a0db6f876fe3e6
Diffstat (limited to 'java/java.go')
-rw-r--r-- | java/java.go | 95 |
1 files changed, 1 insertions, 94 deletions
diff --git a/java/java.go b/java/java.go index 7daa8f2ef..f06d81d7a 100644 --- a/java/java.go +++ b/java/java.go @@ -700,7 +700,6 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path // Store the list of .java files that was passed to javac j.compiledJavaSrcs = uniqueSrcFiles j.compiledSrcJars = srcJars - fullD8 := ctx.Config().UseD8Desugar() enable_sharding := false if ctx.Device() && !ctx.Config().IsEnvFalse("TURBINE_ENABLED") { @@ -840,12 +839,7 @@ func (j *Module) compile(ctx android.ModuleContext, extraSrcJars ...android.Path } if ctx.Device() && j.installable() { - if fullD8 { - outputFile = j.compileDexFullD8(ctx, flags, outputFile, jarName) - } else { - outputFile = j.desugar(ctx, flags, outputFile, jarName) - outputFile = j.compileDex(ctx, flags, outputFile, jarName) - } + outputFile = j.compileDex(ctx, flags, outputFile, jarName) if ctx.Failed() { return } @@ -893,27 +887,6 @@ func (j *Module) compileJavaHeader(ctx android.ModuleContext, srcFiles, srcJars return headerJar } -func (j *Module) desugar(ctx android.ModuleContext, flags javaBuilderFlags, - classesJar android.Path, jarName string) android.Path { - - desugarFlags := []string{ - "--min_sdk_version " + j.minSdkVersionNumber(ctx), - "--desugar_try_with_resources_if_needed=false", - "--allow_empty_bootclasspath", - } - - if inList("--core-library", j.deviceProperties.Dxflags) { - desugarFlags = append(desugarFlags, "--core_library") - } - - flags.desugarFlags = strings.Join(desugarFlags, " ") - - desugarJar := android.PathForModuleOut(ctx, "desugar", jarName) - TransformDesugar(ctx, desugarJar, classesJar, flags) - - return desugarJar -} - func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, classesJar android.Path, jarName string) android.Path { @@ -929,72 +902,6 @@ func (j *Module) instrument(ctx android.ModuleContext, flags javaBuilderFlags, return instrumentedJar } -func (j *Module) compileDex(ctx android.ModuleContext, flags javaBuilderFlags, - classesJar android.Path, jarName string) android.Path { - - dxFlags := j.deviceProperties.Dxflags - - if ctx.Config().Getenv("NO_OPTIMIZE_DX") != "" { - dxFlags = append(dxFlags, "--no-optimize") - } - - if ctx.Config().Getenv("GENERATE_DEX_DEBUG") != "" { - dxFlags = append(dxFlags, - "--debug", - "--verbose", - "--dump-to="+android.PathForModuleOut(ctx, "classes.lst").String(), - "--dump-width=1000") - } - - dxFlags = append(dxFlags, "--min-sdk-version="+j.minSdkVersionNumber(ctx)) - - flags.dxFlags = strings.Join(dxFlags, " ") - - // Compile classes.jar into classes.dex and then javalib.jar - javalibJar := android.PathForModuleOut(ctx, "dex", jarName) - TransformClassesJarToDexJar(ctx, javalibJar, classesJar, flags) - - j.dexJarFile = javalibJar - return javalibJar -} - -func (j *Module) compileDexFullD8(ctx android.ModuleContext, flags javaBuilderFlags, - classesJar android.Path, jarName string) android.Path { - - // Translate all the DX flags to D8 ones until all the build files have been migrated - // to D8 flags. See: b/69377755 - var dxFlags []string - for _, x := range j.deviceProperties.Dxflags { - switch x { - case "--core-library", "--dex", "--multi-dex": - continue - default: - dxFlags = append(dxFlags, x) - } - } - - if ctx.AConfig().Getenv("NO_OPTIMIZE_DX") != "" { - dxFlags = append(dxFlags, "--debug") - } - - if ctx.AConfig().Getenv("GENERATE_DEX_DEBUG") != "" { - dxFlags = append(dxFlags, - "--debug", - "--verbose") - } - - dxFlags = append(dxFlags, "--min-api "+j.minSdkVersionNumber(ctx)) - - flags.dxFlags = strings.Join(dxFlags, " ") - - // Compile classes.jar into classes.dex and then javalib.jar - javalibJar := android.PathForModuleOut(ctx, "dex", jarName) - TransformClassesJarToDexJar(ctx, javalibJar, classesJar, flags) - - j.dexJarFile = javalibJar - return javalibJar -} - // Returns a sdk version as a string that is guaranteed to be a parseable as a number. For // modules targeting an unreleased SDK (meaning it does not yet have a number) it returns "10000". func (j *Module) minSdkVersionNumber(ctx android.ModuleContext) string { |