diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/ConfigValue.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/ConfigValue.java index ea44b01b..baa919b1 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/ConfigValue.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/ConfigValue.java @@ -39,6 +39,10 @@ public sealed interface ConfigValue { String OUTPUT = "output"; String PREVIOUS_OUTPUT_SUFFIX = "Output"; String SRG_MAPPINGS_NAME = "mappings"; + /** + * A special config value that is the path to a log file if absent. + */ + String LOG = "log"; R fold(Function constant, Function variable); diff --git a/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/McpExecutor.java b/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/McpExecutor.java index e0df1b1f..d5275e3e 100644 --- a/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/McpExecutor.java +++ b/src/main/java/net/fabricmc/loom/configuration/providers/forge/mcpconfig/McpExecutor.java @@ -102,6 +102,8 @@ public final class McpExecutor { return LoomGradleExtension.get(project).getSrgProvider().getSrg().toAbsolutePath().toString(); } else if (extraConfig.containsKey(name)) { return extraConfig.get(name); + } else if (name.equals(ConfigValue.LOG)) { + return cache.resolve("log.log").toAbsolutePath().toString(); } throw new IllegalArgumentException("Unknown MCP config variable: " + name);