Skip to content

Commit ba5a32f

Browse files
committed
1 parent c186269 commit ba5a32f

File tree

10 files changed

+223
-66
lines changed

10 files changed

+223
-66
lines changed

src/main/java/org/moe/gradle/MoeExtension.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,12 +145,9 @@ public void setProguardLevel(@NotNull String proguardLevel) {
145145
}
146146

147147
@Nullable
148+
@org.jetbrains.annotations.Nullable
148149
public File getPlatformJar() {
149150
return plugin.getSDK().getPlatformJar(platform);
150151
}
151152

152-
@Nullable
153-
public File getPlatformDex() {
154-
return plugin.getSDK().getPlatformDex(platform);
155-
}
156153
}

src/main/java/org/moe/gradle/MoePlugin.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.moe.gradle.anns.Nullable;
2929
import org.moe.gradle.remote.Server;
3030
import org.moe.gradle.tasks.AbstractBaseTask;
31+
import org.moe.gradle.tasks.Desugar;
3132
import org.moe.gradle.tasks.Dex;
3233
import org.moe.gradle.tasks.Dex2Oat;
3334
import org.moe.gradle.tasks.ClassValidate;
@@ -137,6 +138,8 @@ public void apply(Project project) {
137138
// Install rules
138139
addRule(ProGuard.class, "Creates a ProGuarded jar.",
139140
asList(SOURCE_SET, MODE), MoePlugin.this);
141+
addRule(Desugar.class, "Creates a desugared jar.",
142+
asList(SOURCE_SET, MODE), MoePlugin.this);
140143
addRule(ClassValidate.class, "Validate classes.",
141144
asList(SOURCE_SET, MODE), MoePlugin.this);
142145
addRule(Dex.class, "Creates a Dexed jar.",

src/main/java/org/moe/gradle/MoeSDK.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -349,17 +349,14 @@ private void validateSDK(@NotNull Path path, boolean isLocalSDK) {
349349

350350
try {
351351
validate(DIR, path, "");
352-
validate(FIL, path, "sdk/moe-core.dex");
353352
validate(FIL, path, "sdk/moe-core.jar");
354353
validate(FIL, path, "sdk/moe-core-javadoc.jar");
355354
validate(FIL, path, "sdk/moe-core-sources.jar");
356355

357-
validate(FIL, path, "sdk/moe-ios-junit.dex");
358356
validate(FIL, path, "sdk/moe-ios-junit.jar");
359357
validate(FIL, path, "sdk/moe-ios-junit-javadoc.jar");
360358
validate(FIL, path, "sdk/moe-ios-junit-sources.jar");
361359

362-
validate(FIL, path, "sdk/moe-ios-dex.jar");
363360
validate(FIL, path, "sdk/moe-ios.jar");
364361
validate(FIL, path, "sdk/moe-ios-javadoc.jar");
365362
validate(FIL, path, "sdk/moe-ios-sources.jar");
@@ -413,15 +410,12 @@ private void validate(int type, @NotNull Path path, @NotNull String sub) throws
413410
private @Nullable File MOE_SDK_CORE_JAR;
414411
private @Nullable File MOE_SDK_CORE_SOURCES_JAR;
415412
private @Nullable File MOE_SDK_CORE_JAVADOC_JAR;
416-
private @Nullable File MOE_SDK_CORE_DEX;
417413
private @Nullable File MOE_SDK_IOS_JAVADOC_JAR;
418414
private @Nullable File MOE_SDK_IOS_JUNIT_JAR;
419415
private @Nullable File MOE_SDK_IOS_JUNIT_SOURCES_JAR;
420416
private @Nullable File MOE_SDK_IOS_JUNIT_JAVADOC_JAR;
421-
private @Nullable File MOE_SDK_IOS_JUNIT_DEX;
422417
private @Nullable File MOE_SDK_IOS_JAR;
423418
private @Nullable File MOE_SDK_IOS_SOURCES_JAR;
424-
private @Nullable File MOE_SDK_IOS_DEX;
425419
private @Nullable File MOE_SDK_DEX2OAT_EXEC;
426420
private @Nullable File MOE_SDK_DX_JAR;
427421
private @Nullable File MOE_SDK_IOS_DEVICE_JAR;
@@ -440,15 +434,12 @@ private void bakeSDKPaths(@NotNull Path path) {
440434
MOE_SDK_SDK_DIR = path.resolve("sdk").toFile();
441435
MOE_SDK_TOOLS_DIR = path.resolve("tools").toFile();
442436
MOE_SDK_CORE_JAR = path.resolve("sdk/moe-core.jar").toFile();
443-
MOE_SDK_CORE_DEX = path.resolve("sdk/moe-core.dex").toFile();
444437
MOE_SDK_CORE_SOURCES_JAR = path.resolve("sdk/moe-core-sources.jar").toFile();
445438
MOE_SDK_CORE_JAVADOC_JAR = path.resolve("sdk/moe-core-javadoc.jar").toFile();
446-
MOE_SDK_IOS_DEX = path.resolve("sdk/moe-ios-dex.jar").toFile();
447439
MOE_SDK_IOS_JAR = path.resolve("sdk/moe-ios.jar").toFile();
448440
MOE_SDK_IOS_SOURCES_JAR = path.resolve("sdk/moe-ios-sources.jar").toFile();
449441
MOE_SDK_IOS_JAVADOC_JAR = path.resolve("sdk/moe-ios-javadoc.jar").toFile();
450442
MOE_SDK_IOS_JUNIT_JAR = path.resolve("sdk/moe-ios-junit.jar").toFile();
451-
MOE_SDK_IOS_JUNIT_DEX = path.resolve("sdk/moe-ios-junit.dex").toFile();
452443
MOE_SDK_IOS_JUNIT_SOURCES_JAR = path.resolve("sdk/moe-ios-junit-sources.jar").toFile();
453444
MOE_SDK_IOS_JUNIT_JAVADOC_JAR = path.resolve("sdk/moe-ios-junit-javadoc.jar").toFile();
454445
MOE_SDK_DEX2OAT_EXEC = path.resolve("tools/dex2oat").toFile();
@@ -498,11 +489,6 @@ public File getCoreSourcesJar() {
498489
return safeVariable(MOE_SDK_CORE_SOURCES_JAR, "MOE_SDK_CORE_SOURCES_JAR");
499490
}
500491

501-
@NotNull
502-
public File getCoreDex() {
503-
return safeVariable(MOE_SDK_CORE_DEX, "MOE_SDK_CORE_DEX");
504-
}
505-
506492
@NotNull
507493
@IgnoreUnused
508494
public File getiOSJavadocJar() {
@@ -532,22 +518,11 @@ public File getiOSJUnitSourcesJar() {
532518
return safeVariable(MOE_SDK_IOS_JUNIT_SOURCES_JAR, "MOE_SDK_IOS_JUNIT_SOURCES_JAR");
533519
}
534520

535-
@NotNull
536-
@IgnoreUnused
537-
public File getiOSJUnitDex() {
538-
return safeVariable(MOE_SDK_IOS_JUNIT_DEX, "MOE_SDK_IOS_JUNIT_DEX");
539-
}
540-
541521
@NotNull
542522
private File getiOSJar() {
543523
return safeVariable(MOE_SDK_IOS_JAR, "MOE_SDK_IOS_JAR");
544524
}
545525

546-
@NotNull
547-
private File getiOSDex() {
548-
return safeVariable(MOE_SDK_IOS_DEX, "MOE_SDK_IOS_DEX");
549-
}
550-
551526
@NotNull
552527
public File getDex2OatExec() {
553528
return safeVariable(MOE_SDK_DEX2OAT_EXEC, "MOE_SDK_DEX2OAT_EXEC");
@@ -619,14 +594,6 @@ public File getPlatformJar(final @NotNull MoePlatform platform) {
619594
throw new GradleException("platform jar is unsupported for " + platform.displayName);
620595
}
621596

622-
@NotNull
623-
public File getPlatformDex(final @NotNull MoePlatform platform) {
624-
if (platform == MoePlatform.IOS) {
625-
return getiOSDex();
626-
}
627-
throw new GradleException("platform dex is unsupported for " + platform.displayName);
628-
}
629-
630597
@NotNull
631598
private static <T> T safeVariable(@Nullable T variable, @NotNull String name) {
632599
return Require.nonNull(variable, "Unable to access MOE SDK variable '" + name + "'");

src/main/java/org/moe/gradle/tasks/AbstractBaseTask.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ public Object doCall() {
148148

149149
@SuppressWarnings("unchecked")
150150
@NotNull
151+
@org.jetbrains.annotations.NotNull
151152
public <T> T getOrConvention(@Nullable T value, @NotNull String name) {
152153
Require.nonNull(name);
153154

@@ -165,6 +166,7 @@ public <T> T getOrConvention(@Nullable T value, @NotNull String name) {
165166

166167
@SuppressWarnings("unchecked")
167168
@Nullable
169+
@org.jetbrains.annotations.Nullable
168170
public <T> T nullableGetOrConvention(@Nullable T value, @NotNull String name) {
169171
Require.nonNull(name);
170172

src/main/java/org/moe/gradle/tasks/Dex2Oat.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -25,13 +25,11 @@
2525
import org.gradle.api.tasks.OutputFile;
2626
import org.gradle.api.tasks.SourceSet;
2727
import org.moe.common.utils.NativeUtil;
28-
import org.moe.gradle.MoeExtension;
2928
import org.moe.gradle.MoePlugin;
3029
import org.moe.gradle.MoeSDK;
3130
import org.moe.gradle.anns.IgnoreUnused;
3231
import org.moe.gradle.anns.NotNull;
3332
import org.moe.gradle.anns.Nullable;
34-
import org.moe.gradle.options.ProGuardOptions;
3533
import org.moe.gradle.remote.Server;
3634
import org.moe.gradle.remote.file.FileList;
3735
import org.moe.gradle.utils.Arch;
@@ -328,7 +326,6 @@ protected final void setupMoeTask(@NotNull SourceSet sourceSet, @NotNull Mode mo
328326

329327
setSupportsRemoteBuild(true);
330328

331-
final MoeExtension ext = getMoeExtension();
332329
final MoeSDK sdk = getMoeSDK();
333330

334331
// Construct default output path
@@ -363,23 +360,6 @@ protected final void setupMoeTask(@NotNull SourceSet sourceSet, @NotNull Mode mo
363360
addConvention(CONVENTION_INPUT_FILES, () -> {
364361
final Set<File> files = new HashSet<>();
365362
files.add(dexTask.getDestJar());
366-
367-
switch (ext.proguard.getLevelRaw()) {
368-
case ProGuardOptions.LEVEL_APP:
369-
files.add(sdk.getCoreDex());
370-
if (ext.getPlatformDex() != null) {
371-
files.add(ext.getPlatformDex());
372-
}
373-
break;
374-
case ProGuardOptions.LEVEL_PLATFORM:
375-
files.add(sdk.getCoreDex());
376-
break;
377-
case ProGuardOptions.LEVEL_ALL:
378-
break;
379-
default:
380-
throw new IllegalStateException();
381-
}
382-
383363
return files;
384364
});
385365
addConvention(CONVENTION_COMPILER_BACKEND, () -> BACKEND_QUICK);

src/main/java/org/moe/gradle/tasks/ProGuard.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -372,7 +372,7 @@ private void composeConfigurationFile() {
372372
FileUtils.write(getComposedCfgFile(), conf.toString());
373373
}
374374

375-
private static void startSection(@NotNull final StringBuilder b, @NotNull final String comment) {
375+
static void startSection(@NotNull final StringBuilder b, @NotNull final String comment) {
376376
int l = comment.length();
377377
b.append("\n##");
378378
for (int i = 0; i < l; ++i)

src/main/java/org/moe/gradle/tasks/ResourcePackager.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,9 @@ private static Jar create(@NotNull MoePlugin plugin, @NotNull SourceSet sourceSe
107107
switch (ext.proguard.getLevelRaw()) {
108108
case ProGuardOptions.LEVEL_APP:
109109
resourcePackagerTask.from(_project.zipTree(sdk.getCoreJar()));
110-
resourcePackagerTask.from(_project.zipTree(ext.getPlatformJar()));
110+
if (ext.getPlatformJar() != null){
111+
resourcePackagerTask.from(_project.zipTree(ext.getPlatformJar()));
112+
}
111113
break;
112114
case ProGuardOptions.LEVEL_PLATFORM:
113115
resourcePackagerTask.from(_project.zipTree(sdk.getCoreJar()));

src/main/java/org/moe/gradle/tasks/XcodeBuild.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,7 +431,12 @@ protected void run() {
431431
excludes.add(classValidateTask.getOutputDir());
432432
excludes.add(classValidateTask.getLogFile());
433433

434-
final ProGuard proGuardTask = classValidateTask.getProGuardTaskDep();
434+
final Desugar desugarTask = classValidateTask.getDesugarTaskDep();
435+
excludes.add(desugarTask.getOutJar());
436+
excludes.add(desugarTask.getComposedCfgFile());
437+
excludes.add(desugarTask.getLogFile());
438+
439+
final ProGuard proGuardTask = desugarTask.getProGuardTaskDep();
435440
excludes.add(proGuardTask.getOutJar());
436441
excludes.add(proGuardTask.getComposedCfgFile());
437442
excludes.add(proGuardTask.getLogFile());

src/main/kotlin/org/moe/gradle/tasks/ClassValidate.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ open class ClassValidate : AbstractBaseTask() {
7474
}
7575

7676
@get:Internal
77-
lateinit var proGuardTaskDep: ProGuard
77+
lateinit var desugarTaskDep: Desugar
7878
private set
7979

8080
protected fun setupMoeTask(
@@ -89,13 +89,13 @@ open class ClassValidate : AbstractBaseTask() {
8989
description = "Validate classes (sourceset: ${sourceSet.name}, mode: ${mode.name})."
9090

9191
// Add dependencies
92-
val proGuardTask = moePlugin.getTaskBy(ProGuard::class.java, sourceSet, mode)
93-
proGuardTaskDep = proGuardTask
94-
dependsOn(proGuardTask)
92+
val desugarTask = moePlugin.getTaskBy(Desugar::class.java, sourceSet, mode)
93+
desugarTaskDep = desugarTask
94+
dependsOn(desugarTask)
9595

9696
// Update convention mapping
97-
addConvention(CONVENTION_INPUT_FILES) { setOf(proGuardTask.outJar) }
98-
addConvention(CONVENTION_CLASSPATH_FILES) { setOf(proGuardTask.libraryJars) }
97+
addConvention(CONVENTION_INPUT_FILES) { setOf(desugarTask.getOutJar()) }
98+
addConvention(CONVENTION_CLASSPATH_FILES) { setOf(desugarTask.getLibraryJars()) }
9999
addConvention(CONVENTION_OUTPUT_DIR) { resolvePathInBuildDir(out, "output") }
100100
addConvention(CONVENTION_LOG_FILE) { resolvePathInBuildDir(out, "ClassValidate.log") }
101101
}

0 commit comments

Comments
 (0)