aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/net/fabricmc/loom/task
diff options
context:
space:
mode:
authormodmuss50 <modmuss50@gmail.com>2021-01-31 00:09:40 +0000
committermodmuss50 <modmuss50@gmail.com>2021-01-31 00:12:10 +0000
commit5b3222e9b91d7f69187268e87527950e7b89aacb (patch)
tree709f47fcd9c9fab49bf0f0f89927937ab39c7c65 /src/main/java/net/fabricmc/loom/task
parent6a315be278216e04f8b2d741a346c9af54eaf4f4 (diff)
downloadarchitectury-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.java3
-rw-r--r--src/main/java/net/fabricmc/loom/task/LoomTasks.java29
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) {