@@ -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,7 +372,6 @@ 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" );
@@ -407,14 +411,20 @@ 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 ;
420430 private @ Nullable File MOE_SDK_DX_JAR ;
@@ -433,13 +443,18 @@ private void bakeSDKPaths(@NotNull Path path) {
433443 MOE_SDK_ROOT = path .toFile ();
434444 MOE_SDK_SDK_DIR = path .resolve ("sdk" ).toFile ();
435445 MOE_SDK_TOOLS_DIR = path .resolve ("tools" ).toFile ();
446+ MOE_SDK_DESUGARED_LIB_JSON = path .resolve ("sdk/moe-desugared-lib.json" ).toFile ();
447+ MOE_SDK_DESUGARED_DEX = path .resolve ("sdk/moe-desugared-dex.jar" ).toFile ();
436448 MOE_SDK_CORE_JAR = path .resolve ("sdk/moe-core.jar" ).toFile ();
449+ MOE_SDK_CORE_DEX = path .resolve ("sdk/moe-core-dex.jar" ).toFile ();
437450 MOE_SDK_CORE_SOURCES_JAR = path .resolve ("sdk/moe-core-sources.jar" ).toFile ();
438451 MOE_SDK_CORE_JAVADOC_JAR = path .resolve ("sdk/moe-core-javadoc.jar" ).toFile ();
439452 MOE_SDK_IOS_JAR = path .resolve ("sdk/moe-ios.jar" ).toFile ();
453+ MOE_SDK_IOS_DEX = path .resolve ("sdk/moe-ios-dex.jar" ).toFile ();
440454 MOE_SDK_IOS_SOURCES_JAR = path .resolve ("sdk/moe-ios-sources.jar" ).toFile ();
441455 MOE_SDK_IOS_JAVADOC_JAR = path .resolve ("sdk/moe-ios-javadoc.jar" ).toFile ();
442456 MOE_SDK_IOS_JUNIT_JAR = path .resolve ("sdk/moe-ios-junit.jar" ).toFile ();
457+ MOE_SDK_IOS_JUNIT_DEX = path .resolve ("sdk/moe-ios-junit-dex.jar" ).toFile ();
443458 MOE_SDK_IOS_JUNIT_SOURCES_JAR = path .resolve ("sdk/moe-ios-junit-sources.jar" ).toFile ();
444459 MOE_SDK_IOS_JUNIT_JAVADOC_JAR = path .resolve ("sdk/moe-ios-junit-javadoc.jar" ).toFile ();
445460 MOE_SDK_DEX2OAT_EXEC = path .resolve ("tools/dex2oat" ).toFile ();
@@ -472,6 +487,15 @@ public File getToolsDir() {
472487 return safeVariable (MOE_SDK_TOOLS_DIR , "MOE_SDK_TOOLS_DIR" );
473488 }
474489
490+ @ NotNull
491+ public File getDesugaredLibJson () {
492+ return safeVariable (MOE_SDK_DESUGARED_LIB_JSON , "MOE_SDK_DESUGARED_LIB_JSON" );
493+ }
494+ @ NotNull
495+ public File getDesugaredLibDex () {
496+ return safeVariable (MOE_SDK_DESUGARED_DEX , "MOE_SDK_DESUGARED_DEX" );
497+ }
498+
475499 @ NotNull
476500 public File getCoreJar () {
477501 return safeVariable (MOE_SDK_CORE_JAR , "MOE_SDK_CORE_JAR" );
@@ -489,6 +513,11 @@ public File getCoreSourcesJar() {
489513 return safeVariable (MOE_SDK_CORE_SOURCES_JAR , "MOE_SDK_CORE_SOURCES_JAR" );
490514 }
491515
516+ @ NotNull
517+ public File getCoreDex () {
518+ return safeVariable (MOE_SDK_CORE_DEX , "MOE_SDK_CORE_DEX" );
519+ }
520+
492521 @ NotNull
493522 @ IgnoreUnused
494523 public File getiOSJavadocJar () {
@@ -518,11 +547,22 @@ public File getiOSJUnitSourcesJar() {
518547 return safeVariable (MOE_SDK_IOS_JUNIT_SOURCES_JAR , "MOE_SDK_IOS_JUNIT_SOURCES_JAR" );
519548 }
520549
550+ @ NotNull
551+ @ IgnoreUnused
552+ public File getiOSJUnitDex () {
553+ return safeVariable (MOE_SDK_IOS_JUNIT_DEX , "MOE_SDK_IOS_JUNIT_DEX" );
554+ }
555+
521556 @ NotNull
522557 private File getiOSJar () {
523558 return safeVariable (MOE_SDK_IOS_JAR , "MOE_SDK_IOS_JAR" );
524559 }
525560
561+ @ NotNull
562+ private File getiOSDex () {
563+ return safeVariable (MOE_SDK_IOS_DEX , "MOE_SDK_IOS_DEX" );
564+ }
565+
526566 @ NotNull
527567 public File getDex2OatExec () {
528568 return safeVariable (MOE_SDK_DEX2OAT_EXEC , "MOE_SDK_DEX2OAT_EXEC" );
@@ -594,6 +634,13 @@ public File getPlatformJar(final @NotNull MoePlatform platform) {
594634 throw new GradleException ("platform jar is unsupported for " + platform .displayName );
595635 }
596636
637+ @ NotNull
638+ public File getPlatformDex (final @ NotNull MoePlatform platform ) {
639+ if (platform == MoePlatform .IOS ) {
640+ return getiOSDex ();
641+ }
642+ throw new GradleException ("platform dex is unsupported for " + platform .displayName );
643+ }
597644 @ NotNull
598645 private static <T > T safeVariable (@ Nullable T variable , @ NotNull String name ) {
599646 return Require .nonNull (variable , "Unable to access MOE SDK variable '" + name + "'" );
0 commit comments