mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-02 21:47:42 -05:00
Merge remote-tracking branch 'FabricMC/dev/0.10' into dev/0.10.0
Signed-off-by: shedaniel <daniel@shedaniel.me> # Conflicts: # .github/workflows/test.yml # src/main/java/net/fabricmc/loom/configuration/RemapConfiguration.java # src/main/java/net/fabricmc/loom/configuration/ide/RunConfig.java # src/main/java/net/fabricmc/loom/configuration/providers/MinecraftProviderImpl.java # src/main/java/net/fabricmc/loom/configuration/providers/minecraft/assets/MinecraftAssetsProvider.java # src/main/java/net/fabricmc/loom/decompilers/fernflower/AbstractFernFlowerDecompiler.java # src/main/java/net/fabricmc/loom/decompilers/fernflower/ForkingJavaExec.java # src/main/java/net/fabricmc/loom/task/GenVsCodeProjectTask.java # src/main/java/net/fabricmc/loom/task/GenerateSourcesTask.java # src/main/java/net/fabricmc/loom/util/SourceRemapper.java # src/test/resources/projects/parchment/build.gradle
This commit is contained in:
@@ -27,6 +27,7 @@ package net.fabricmc.loom.task;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
@@ -101,7 +102,7 @@ public class GenVsCodeProjectTask extends AbstractLoomTask {
|
||||
continue;
|
||||
}
|
||||
|
||||
launch.add(RunConfig.runConfig(project, settings));
|
||||
launch.add(project, RunConfig.runConfig(project, settings));
|
||||
settings.makeRunDir();
|
||||
}
|
||||
|
||||
@@ -151,9 +152,9 @@ public class GenVsCodeProjectTask extends AbstractLoomTask {
|
||||
public String version = "0.2.0";
|
||||
public List<VsCodeConfiguration> configurations = new ArrayList<>();
|
||||
|
||||
public void add(RunConfig runConfig) {
|
||||
public void add(Project project, RunConfig runConfig) {
|
||||
if (configurations.stream().noneMatch(config -> Objects.equals(config.name, runConfig.configName))) {
|
||||
VsCodeConfiguration configuration = new VsCodeConfiguration(runConfig);
|
||||
VsCodeConfiguration configuration = new VsCodeConfiguration(project, runConfig);
|
||||
configurations.add(configuration);
|
||||
|
||||
if (!configuration.tasksBeforeRun.isEmpty()) {
|
||||
@@ -176,6 +177,7 @@ public class GenVsCodeProjectTask extends AbstractLoomTask {
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
private static class VsCodeConfiguration {
|
||||
public transient Project project;
|
||||
public String type = "java";
|
||||
public String name;
|
||||
public String request = "launch";
|
||||
@@ -190,7 +192,7 @@ public class GenVsCodeProjectTask extends AbstractLoomTask {
|
||||
public String preLaunchTask = null;
|
||||
public String projectName = null;
|
||||
|
||||
VsCodeConfiguration(RunConfig runConfig) {
|
||||
VsCodeConfiguration(Project project, RunConfig runConfig) {
|
||||
this.name = runConfig.configName;
|
||||
this.mainClass = runConfig.mainClass;
|
||||
this.vmArgs = runConfig.vmArgs;
|
||||
@@ -199,6 +201,14 @@ public class GenVsCodeProjectTask extends AbstractLoomTask {
|
||||
this.projectName = runConfig.vscodeProjectName;
|
||||
this.env.putAll(runConfig.envVariables);
|
||||
this.tasksBeforeRun.addAll(runConfig.vscodeBeforeRun);
|
||||
|
||||
if (project.getRootProject() != project) {
|
||||
Path rootPath = project.getRootDir().toPath();
|
||||
Path projectPath = project.getProjectDir().toPath();
|
||||
String relativePath = rootPath.relativize(projectPath).toString();
|
||||
|
||||
this.cwd = "${workspaceFolder}/%s/%s".formatted(relativePath, runConfig.runDir);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user