Add D8 support
Bug: 67754178
Test: m -j32 checkbuild && USE_D8=true m -j32 checkbuild
Change-Id: If63afc10ceb5e753bbb7f195bb8a895eaef10775
diff --git a/java/config/config.go b/java/config/config.go
index eb71ddb..f4abd37 100644
--- a/java/config/config.go
+++ b/java/config/config.go
@@ -77,7 +77,22 @@
pctx.SourcePathVariable("JarArgsCmd", "build/soong/scripts/jar-args.sh")
pctx.HostBinToolVariable("SoongZipCmd", "soong_zip")
pctx.HostBinToolVariable("MergeZipsCmd", "merge_zips")
- pctx.HostBinToolVariable("DxCmd", "dx")
+ pctx.VariableFunc("DxCmd", func(config interface{}) (string, error) {
+ dexer := "dx"
+ if config.(android.Config).Getenv("USE_D8") == "true" {
+ dexer = "d8"
+ }
+ if config.(android.Config).UnbundledBuild() {
+ return "prebuilts/build-tools/common/bin/" + dexer, nil
+ } else {
+ path, err := pctx.HostBinToolPath(config, dexer)
+ if err != nil {
+ return "", err
+ }
+ return path.String(), nil
+ }
+ })
+
pctx.HostJavaToolVariable("JarjarCmd", "jarjar.jar")
pctx.HostJavaToolVariable("DesugarJar", "desugar.jar")