diff options
author | modmuss50 <modmuss50@gmail.com> | 2021-01-31 00:09:40 +0000 |
---|---|---|
committer | modmuss50 <modmuss50@gmail.com> | 2021-01-31 00:12:10 +0000 |
commit | 5b3222e9b91d7f69187268e87527950e7b89aacb (patch) | |
tree | 709f47fcd9c9fab49bf0f0f89927937ab39c7c65 /src/main/java/net/fabricmc/loom/task | |
parent | 6a315be278216e04f8b2d741a346c9af54eaf4f4 (diff) | |
download | architectury-loom-5b3222e9b91d7f69187268e87527950e7b89aacb.tar.gz architectury-loom-5b3222e9b91d7f69187268e87527950e7b89aacb.tar.bz2 architectury-loom-5b3222e9b91d7f69187268e87527950e7b89aacb.zip |
Rename mode -> environment + Hopefully fix a regression with the run tasks
Diffstat (limited to 'src/main/java/net/fabricmc/loom/task')
-rw-r--r-- | src/main/java/net/fabricmc/loom/task/AbstractRunTask.java | 3 | ||||
-rw-r--r-- | src/main/java/net/fabricmc/loom/task/LoomTasks.java | 29 |
2 files changed, 19 insertions, 13 deletions
diff --git a/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java b/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java index d1655d41..b944f7aa 100644 --- a/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java +++ b/src/main/java/net/fabricmc/loom/task/AbstractRunTask.java @@ -32,6 +32,7 @@ import java.util.List; import java.util.function.Function; import org.gradle.api.Project; +import org.gradle.api.plugins.JavaPlugin; import org.gradle.api.tasks.JavaExec; import net.fabricmc.loom.LoomGradleExtension; @@ -46,7 +47,7 @@ public abstract class AbstractRunTask extends JavaExec { setGroup("fabric"); this.configProvider = config; - classpath(getProject().getConfigurations().getByName("runtimeClasspath")); + setClasspath(getProject().getConfigurations().getByName(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME)); classpath(this.getProject().getExtensions().getByType(LoomGradleExtension.class).getUnmappedModCollection()); } diff --git a/src/main/java/net/fabricmc/loom/task/LoomTasks.java b/src/main/java/net/fabricmc/loom/task/LoomTasks.java index 2d8dfc69..a3aca532 100644 --- a/src/main/java/net/fabricmc/loom/task/LoomTasks.java +++ b/src/main/java/net/fabricmc/loom/task/LoomTasks.java @@ -24,6 +24,7 @@ package net.fabricmc.loom.task; +import com.google.common.base.Preconditions; import org.gradle.api.Project; import org.gradle.api.tasks.TaskContainer; @@ -85,20 +86,24 @@ public final class LoomTasks { private static void registerRunTasks(TaskContainer tasks, Project project) { LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); - extension.getRuns().create("client", RunConfigSettings::client); - extension.getRuns().create("server", RunConfigSettings::server); + Preconditions.checkArgument(extension.getRuns().size() == 0, "Run configurations must not be registered before loom"); - project.afterEvaluate(p -> { - for (RunConfigSettings config : extension.getRuns()) { - String configName = config.getName(); - String taskName = "run" + configName.substring(0, 1).toUpperCase() + configName.substring(1); - - tasks.register(taskName, RunGameTask.class, config).configure(t -> { - t.setDescription("Starts the '" + config.getConfigName() + "' run configuration"); - t.setGroup("fabric"); - }); - } + extension.getRuns().whenObjectAdded(config -> { + String configName = config.getName(); + String taskName = "run" + configName.substring(0, 1).toUpperCase() + configName.substring(1); + + tasks.register(taskName, RunGameTask.class, config).configure(t -> { + t.setDescription("Starts the '" + config.getConfigName() + "' run configuration"); + t.setGroup("fabric"); + + if (config.getEnvironment().equals("client")) { + t.dependsOn("downloadAssets"); + } + }); }); + + extension.getRuns().create("client", RunConfigSettings::client); + extension.getRuns().create("server", RunConfigSettings::server); } private static void registerDecompileTasks(TaskContainer tasks, Project project) { |