@@ -349,14 +349,19 @@ private void validateSDK(@NotNull Path path, boolean isLocalSDK) {
349349
350350 try {
351351 validate (DIR , path , "" );
352+ validate (FIL , path , "sdk/moe-desugared-dex.jar" );
353+ validate (FIL , path , "sdk/moe-desugared-lib.json" );
354+ validate (FIL , path , "sdk/moe-core-dex.jar" );
352355 validate (FIL , path , "sdk/moe-core.jar" );
353356 validate (FIL , path , "sdk/moe-core-javadoc.jar" );
354357 validate (FIL , path , "sdk/moe-core-sources.jar" );
355358
359+ validate (FIL , path , "sdk/moe-ios-junit-dex.jar" );
356360 validate (FIL , path , "sdk/moe-ios-junit.jar" );
357361 validate (FIL , path , "sdk/moe-ios-junit-javadoc.jar" );
358362 validate (FIL , path , "sdk/moe-ios-junit-sources.jar" );
359363
364+ validate (FIL , path , "sdk/moe-ios-dex.jar" );
360365 validate (FIL , path , "sdk/moe-ios.jar" );
361366 validate (FIL , path , "sdk/moe-ios-javadoc.jar" );
362367 validate (FIL , path , "sdk/moe-ios-sources.jar" );
@@ -367,14 +372,13 @@ private void validateSDK(@NotNull Path path, boolean isLocalSDK) {
367372 }
368373
369374 validate (FIL | EXE , path , "tools/dex2oat" );
370- validate (FIL , path , "tools/dx.jar" );
371375 validate (FIL , path , "tools/ios-device.jar" );
372376 validate (FIL , path , "tools/java8support.jar" );
373377 validate (DIR , path , "tools/macosx" );
374378 validate (FIL , path , "tools/preloaded-classes" );
375379 validate (FIL , path , "tools/proguard-full.cfg" );
376380 validate (FIL , path , "tools/proguard.cfg" );
377- validate (FIL , path , "tools/proguard .jar" );
381+ validate (FIL , path , "tools/r8 .jar" );
378382 validate (DIR , path , "tools/windows/x86_64" );
379383 validate (FIL , path , "tools/wrapnatjgen.jar" );
380384 validate (FIL , path , "tools/gradlew.zip" );
@@ -407,24 +411,29 @@ private void validate(int type, @NotNull Path path, @NotNull String sub) throws
407411 private @ Nullable File MOE_SDK_ROOT ;
408412 private @ Nullable File MOE_SDK_SDK_DIR ;
409413 private @ Nullable File MOE_SDK_TOOLS_DIR ;
414+
415+ private @ Nullable File MOE_SDK_DESUGARED_LIB_JSON ;
416+ private @ Nullable File MOE_SDK_DESUGARED_DEX ;
410417 private @ Nullable File MOE_SDK_CORE_JAR ;
418+ private @ Nullable File MOE_SDK_CORE_DEX ;
411419 private @ Nullable File MOE_SDK_CORE_SOURCES_JAR ;
412420 private @ Nullable File MOE_SDK_CORE_JAVADOC_JAR ;
413421 private @ Nullable File MOE_SDK_IOS_JAVADOC_JAR ;
414422 private @ Nullable File MOE_SDK_IOS_JUNIT_JAR ;
423+ private @ Nullable File MOE_SDK_IOS_JUNIT_DEX ;
415424 private @ Nullable File MOE_SDK_IOS_JUNIT_SOURCES_JAR ;
416425 private @ Nullable File MOE_SDK_IOS_JUNIT_JAVADOC_JAR ;
417426 private @ Nullable File MOE_SDK_IOS_JAR ;
427+ private @ Nullable File MOE_SDK_IOS_DEX ;
418428 private @ Nullable File MOE_SDK_IOS_SOURCES_JAR ;
419429 private @ Nullable File MOE_SDK_DEX2OAT_EXEC ;
420- private @ Nullable File MOE_SDK_DX_JAR ;
421430 private @ Nullable File MOE_SDK_IOS_DEVICE_JAR ;
422431 private @ Nullable File MOE_SDK_JAVA8SUPPORT_JAR ;
423432 private @ Nullable File MOE_SDK_MACOS_SUPPORT ;
424433 private @ Nullable File MOE_SDK_PRELOADEDCLASSES_FILE ;
425434 private @ Nullable File MOE_SDK_PROGUARDFULL_CFG ;
426435 private @ Nullable File MOE_SDK_PROGUARD_CFG ;
427- private @ Nullable File MOE_SDK_PROGUARD_JAR ;
436+ private @ Nullable File MOE_SDK_R8_JAR ;
428437 private @ Nullable File MOE_SDK_WINDOWS_X86_64_SUPPORT ;
429438 private @ Nullable File MOE_SDK_NATJGEN_JAR ;
430439 private @ Nullable File MOE_SDK_GRADLEW_ZIP ;
@@ -433,24 +442,28 @@ private void bakeSDKPaths(@NotNull Path path) {
433442 MOE_SDK_ROOT = path .toFile ();
434443 MOE_SDK_SDK_DIR = path .resolve ("sdk" ).toFile ();
435444 MOE_SDK_TOOLS_DIR = path .resolve ("tools" ).toFile ();
445+ MOE_SDK_DESUGARED_LIB_JSON = path .resolve ("sdk/moe-desugared-lib.json" ).toFile ();
446+ MOE_SDK_DESUGARED_DEX = path .resolve ("sdk/moe-desugared-dex.jar" ).toFile ();
436447 MOE_SDK_CORE_JAR = path .resolve ("sdk/moe-core.jar" ).toFile ();
448+ MOE_SDK_CORE_DEX = path .resolve ("sdk/moe-core-dex.jar" ).toFile ();
437449 MOE_SDK_CORE_SOURCES_JAR = path .resolve ("sdk/moe-core-sources.jar" ).toFile ();
438450 MOE_SDK_CORE_JAVADOC_JAR = path .resolve ("sdk/moe-core-javadoc.jar" ).toFile ();
439451 MOE_SDK_IOS_JAR = path .resolve ("sdk/moe-ios.jar" ).toFile ();
452+ MOE_SDK_IOS_DEX = path .resolve ("sdk/moe-ios-dex.jar" ).toFile ();
440453 MOE_SDK_IOS_SOURCES_JAR = path .resolve ("sdk/moe-ios-sources.jar" ).toFile ();
441454 MOE_SDK_IOS_JAVADOC_JAR = path .resolve ("sdk/moe-ios-javadoc.jar" ).toFile ();
442455 MOE_SDK_IOS_JUNIT_JAR = path .resolve ("sdk/moe-ios-junit.jar" ).toFile ();
456+ MOE_SDK_IOS_JUNIT_DEX = path .resolve ("sdk/moe-ios-junit-dex.jar" ).toFile ();
443457 MOE_SDK_IOS_JUNIT_SOURCES_JAR = path .resolve ("sdk/moe-ios-junit-sources.jar" ).toFile ();
444458 MOE_SDK_IOS_JUNIT_JAVADOC_JAR = path .resolve ("sdk/moe-ios-junit-javadoc.jar" ).toFile ();
445459 MOE_SDK_DEX2OAT_EXEC = path .resolve ("tools/dex2oat" ).toFile ();
446- MOE_SDK_DX_JAR = path .resolve ("tools/dx.jar" ).toFile ();
447460 MOE_SDK_IOS_DEVICE_JAR = path .resolve ("tools/ios-device.jar" ).toFile ();
448461 MOE_SDK_JAVA8SUPPORT_JAR = path .resolve ("tools/java8support.jar" ).toFile ();
449462 MOE_SDK_MACOS_SUPPORT = path .resolve ("tools/macosx" ).toFile ();
450463 MOE_SDK_PRELOADEDCLASSES_FILE = path .resolve ("tools/preloaded-classes" ).toFile ();
451464 MOE_SDK_PROGUARDFULL_CFG = path .resolve ("tools/proguard-full.cfg" ).toFile ();
452465 MOE_SDK_PROGUARD_CFG = path .resolve ("tools/proguard.cfg" ).toFile ();
453- MOE_SDK_PROGUARD_JAR = path .resolve ("tools/proguard .jar" ).toFile ();
466+ MOE_SDK_R8_JAR = path .resolve ("tools/r8 .jar" ).toFile ();
454467 MOE_SDK_WINDOWS_X86_64_SUPPORT = path .resolve ("tools/windows/x86_64" ).toFile ();
455468 MOE_SDK_NATJGEN_JAR = path .resolve ("tools/wrapnatjgen.jar" ).toFile ();
456469 MOE_SDK_GRADLEW_ZIP = path .resolve ("tools/gradlew.zip" ).toFile ();
@@ -472,6 +485,15 @@ public File getToolsDir() {
472485 return safeVariable (MOE_SDK_TOOLS_DIR , "MOE_SDK_TOOLS_DIR" );
473486 }
474487
488+ @ NotNull
489+ public File getDesugaredLibJson () {
490+ return safeVariable (MOE_SDK_DESUGARED_LIB_JSON , "MOE_SDK_DESUGARED_LIB_JSON" );
491+ }
492+ @ NotNull
493+ public File getDesugaredLibDex () {
494+ return safeVariable (MOE_SDK_DESUGARED_DEX , "MOE_SDK_DESUGARED_DEX" );
495+ }
496+
475497 @ NotNull
476498 public File getCoreJar () {
477499 return safeVariable (MOE_SDK_CORE_JAR , "MOE_SDK_CORE_JAR" );
@@ -489,6 +511,11 @@ public File getCoreSourcesJar() {
489511 return safeVariable (MOE_SDK_CORE_SOURCES_JAR , "MOE_SDK_CORE_SOURCES_JAR" );
490512 }
491513
514+ @ NotNull
515+ public File getCoreDex () {
516+ return safeVariable (MOE_SDK_CORE_DEX , "MOE_SDK_CORE_DEX" );
517+ }
518+
492519 @ NotNull
493520 @ IgnoreUnused
494521 public File getiOSJavadocJar () {
@@ -518,19 +545,25 @@ public File getiOSJUnitSourcesJar() {
518545 return safeVariable (MOE_SDK_IOS_JUNIT_SOURCES_JAR , "MOE_SDK_IOS_JUNIT_SOURCES_JAR" );
519546 }
520547
548+ @ NotNull
549+ @ IgnoreUnused
550+ public File getiOSJUnitDex () {
551+ return safeVariable (MOE_SDK_IOS_JUNIT_DEX , "MOE_SDK_IOS_JUNIT_DEX" );
552+ }
553+
521554 @ NotNull
522555 private File getiOSJar () {
523556 return safeVariable (MOE_SDK_IOS_JAR , "MOE_SDK_IOS_JAR" );
524557 }
525558
526559 @ NotNull
527- public File getDex2OatExec () {
528- return safeVariable (MOE_SDK_DEX2OAT_EXEC , "MOE_SDK_DEX2OAT_EXEC " );
560+ private File getiOSDex () {
561+ return safeVariable (MOE_SDK_IOS_DEX , "MOE_SDK_IOS_DEX " );
529562 }
530563
531564 @ NotNull
532- public File getDxJar () {
533- return safeVariable (MOE_SDK_DX_JAR , "MOE_SDK_DX_JAR " );
565+ public File getDex2OatExec () {
566+ return safeVariable (MOE_SDK_DEX2OAT_EXEC , "MOE_SDK_DEX2OAT_EXEC " );
534567 }
535568
536569 @ NotNull
@@ -565,8 +598,8 @@ public File getProguardCfg() {
565598 }
566599
567600 @ NotNull
568- public File getProGuardJar () {
569- return safeVariable (MOE_SDK_PROGUARD_JAR , "MOE_SDK_PROGUARD_JAR " );
601+ public File getR8Jar () {
602+ return safeVariable (MOE_SDK_R8_JAR , "MOE_SDK_R8_JAR " );
570603 }
571604
572605 @ NotNull
@@ -594,6 +627,13 @@ public File getPlatformJar(final @NotNull MoePlatform platform) {
594627 throw new GradleException ("platform jar is unsupported for " + platform .displayName );
595628 }
596629
630+ @ NotNull
631+ public File getPlatformDex (final @ NotNull MoePlatform platform ) {
632+ if (platform == MoePlatform .IOS ) {
633+ return getiOSDex ();
634+ }
635+ throw new GradleException ("platform dex is unsupported for " + platform .displayName );
636+ }
597637 @ NotNull
598638 private static <T > T safeVariable (@ Nullable T variable , @ NotNull String name ) {
599639 return Require .nonNull (variable , "Unable to access MOE SDK variable '" + name + "'" );
0 commit comments