mirror of
https://github.com/architectury/architectury-loom.git
synced 2026-04-03 05:57:42 -05:00
Merge remote-tracking branch 'architectury/dev/0.10.0' into dev/0.11.0
This commit is contained in:
@@ -89,9 +89,19 @@ public final class CompileConfiguration {
|
||||
extension.createLazyConfiguration(Constants.Configurations.FORGE_NAMED).configure(configuration -> configuration.setTransitive(false));
|
||||
extension.createLazyConfiguration(Constants.Configurations.FORGE_EXTRA).configure(configuration -> configuration.setTransitive(false));
|
||||
extension.createLazyConfiguration(Constants.Configurations.MCP_CONFIG).configure(configuration -> configuration.setTransitive(false));
|
||||
extension.createLazyConfiguration(Constants.Configurations.FORGE_RUNTIME_LIBRARY);
|
||||
|
||||
extendsFrom(Constants.Configurations.MINECRAFT_DEPENDENCIES, Constants.Configurations.FORGE_DEPENDENCIES, project);
|
||||
|
||||
extendsFrom(Constants.Configurations.FORGE_RUNTIME_LIBRARY, Constants.Configurations.FORGE_DEPENDENCIES, project);
|
||||
extendsFrom(Constants.Configurations.FORGE_RUNTIME_LIBRARY, Constants.Configurations.MINECRAFT_DEPENDENCIES, project);
|
||||
extendsFrom(Constants.Configurations.FORGE_RUNTIME_LIBRARY, Constants.Configurations.FORGE_EXTRA, project);
|
||||
extendsFrom(Constants.Configurations.FORGE_RUNTIME_LIBRARY, Constants.Configurations.MINECRAFT_NAMED, project);
|
||||
extendsFrom(Constants.Configurations.FORGE_RUNTIME_LIBRARY, Constants.Configurations.FORGE_NAMED, project);
|
||||
// Include any user-defined libraries on the runtime CP.
|
||||
// (All the other superconfigurations are already on there.)
|
||||
extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.FORGE_RUNTIME_LIBRARY, project);
|
||||
|
||||
extendsFrom(JavaPlugin.COMPILE_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.FORGE_NAMED, project);
|
||||
extendsFrom(JavaPlugin.RUNTIME_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.FORGE_NAMED, project);
|
||||
extendsFrom(JavaPlugin.TEST_COMPILE_CLASSPATH_CONFIGURATION_NAME, Constants.Configurations.FORGE_NAMED, project);
|
||||
|
||||
@@ -61,6 +61,7 @@ public class LaunchProvider extends DependencyProvider {
|
||||
.property("fabric.development", "true")
|
||||
.property("fabric.remapClasspathFile", getRemapClasspathFile().getAbsolutePath())
|
||||
.property("log4j.configurationFile", getAllLog4JConfigFiles())
|
||||
.property("log4j2.formatMsgNoLookups", "true")
|
||||
|
||||
.property("client", "java.library.path", getExtension().getMinecraftProvider().nativesDir().getAbsolutePath())
|
||||
.property("client", "org.lwjgl.librarypath", getExtension().getMinecraftProvider().nativesDir().getAbsolutePath());
|
||||
|
||||
@@ -299,21 +299,11 @@ public class ForgeUserdevProvider extends DependencyProvider {
|
||||
|
||||
private Set<File> runtimeClasspath() {
|
||||
// Should we actually include the runtime classpath here? Forge doesn't seem to be using this property anyways
|
||||
Set<File> mcLibs = DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_DEPENDENCIES), true);
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.MINECRAFT_DEPENDENCIES), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_EXTRA), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.MINECRAFT_NAMED), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_NAMED), false));
|
||||
return mcLibs;
|
||||
return minecraftClasspath();
|
||||
}
|
||||
|
||||
private Set<File> minecraftClasspath() {
|
||||
Set<File> mcLibs = DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_DEPENDENCIES), true);
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.MINECRAFT_DEPENDENCIES), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_EXTRA), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.MINECRAFT_NAMED), false));
|
||||
mcLibs.addAll(DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_NAMED), false));
|
||||
return mcLibs;
|
||||
return DependencyDownloader.resolveFiles(getProject().getConfigurations().getByName(Constants.Configurations.FORGE_RUNTIME_LIBRARY), true);
|
||||
}
|
||||
|
||||
public File getUserdevJar() {
|
||||
|
||||
@@ -72,8 +72,8 @@ public class SrgProvider extends DependencyProvider {
|
||||
private Path mergedMojangRaw;
|
||||
private Path mergedMojang;
|
||||
private Path mergedMojangTrimmed;
|
||||
private static Path mojmapTsrg;
|
||||
private static Path mojmapTsrg2;
|
||||
private static Map<String, Path> mojmapTsrgMap = new HashMap<>();
|
||||
private static Map<String, Path> mojmapTsrg2Map = new HashMap<>();
|
||||
|
||||
public SrgProvider(Project project) {
|
||||
super(project);
|
||||
@@ -218,9 +218,10 @@ public class SrgProvider extends DependencyProvider {
|
||||
}
|
||||
|
||||
public static Path getMojmapTsrg(Project project, LoomGradleExtension extension) throws IOException {
|
||||
if (mojmapTsrg != null) return mojmapTsrg;
|
||||
String minecraftVersion = extension.getMinecraftProvider().minecraftVersion();
|
||||
if (mojmapTsrgMap.containsKey(minecraftVersion)) return mojmapTsrgMap.get(minecraftVersion);
|
||||
|
||||
mojmapTsrg = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg");
|
||||
Path mojmapTsrg = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg");
|
||||
|
||||
if (Files.notExists(mojmapTsrg) || LoomGradlePlugin.refreshDeps) {
|
||||
try (BufferedWriter writer = Files.newBufferedWriter(mojmapTsrg, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
|
||||
@@ -229,13 +230,15 @@ public class SrgProvider extends DependencyProvider {
|
||||
}
|
||||
}
|
||||
|
||||
mojmapTsrgMap.put(minecraftVersion, mojmapTsrg);
|
||||
return mojmapTsrg;
|
||||
}
|
||||
|
||||
public static Path getMojmapTsrg2(Project project, LoomGradleExtension extension) throws IOException {
|
||||
if (mojmapTsrg2 != null) return mojmapTsrg2;
|
||||
String minecraftVersion = extension.getMinecraftProvider().minecraftVersion();
|
||||
if (mojmapTsrg2Map.containsKey(minecraftVersion)) return mojmapTsrg2Map.get(minecraftVersion);
|
||||
|
||||
mojmapTsrg2 = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg2");
|
||||
Path mojmapTsrg2 = extension.getMinecraftProvider().dir("forge").toPath().resolve("mojmap.tsrg2");
|
||||
|
||||
if (Files.notExists(mojmapTsrg2) || LoomGradlePlugin.refreshDeps) {
|
||||
try (BufferedWriter writer = Files.newBufferedWriter(mojmapTsrg2, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)) {
|
||||
@@ -245,6 +248,7 @@ public class SrgProvider extends DependencyProvider {
|
||||
}
|
||||
}
|
||||
|
||||
mojmapTsrg2Map.put(minecraftVersion, mojmapTsrg2);
|
||||
return mojmapTsrg2;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,9 +78,24 @@ public class Constants {
|
||||
public static final String FORGE_USERDEV = "forgeUserdev";
|
||||
public static final String FORGE_INSTALLER = "forgeInstaller";
|
||||
public static final String FORGE_UNIVERSAL = "forgeUniversal";
|
||||
/**
|
||||
* Forge's own dependencies. Not intended to be used by users,
|
||||
* {@link #FORGE_RUNTIME_LIBRARY forgeRuntimeLibrary} is for that instead.
|
||||
*/
|
||||
public static final String FORGE_DEPENDENCIES = "forgeDependencies";
|
||||
public static final String FORGE_NAMED = "forgeNamed";
|
||||
/**
|
||||
* "Extra" runtime dependencies on Forge. Contains the Minecraft resources
|
||||
* and {@linkplain Dependencies#FORGE_RUNTIME the Architectury Loom runtime}.
|
||||
*/
|
||||
public static final String FORGE_EXTRA = "forgeExtra";
|
||||
/**
|
||||
* The configuration used to create the Forge runtime classpath file list.
|
||||
* Users can also directly add files to this config.
|
||||
*
|
||||
* @see net.fabricmc.loom.configuration.providers.forge.ForgeUserdevProvider
|
||||
*/
|
||||
public static final String FORGE_RUNTIME_LIBRARY = "forgeRuntimeLibrary";
|
||||
public static final String MAPPING_CONSTANTS = "mappingsConstants";
|
||||
public static final String UNPICK_CLASSPATH = "unpick";
|
||||
/**
|
||||
|
||||
@@ -81,6 +81,16 @@ public final class DependencyDownloader {
|
||||
return files;
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves a configuration and its superconfigurations.
|
||||
*
|
||||
* <p>Note that unlike resolving a {@linkplain Configuration#copyRecursive() recursive copy} of the configuration,
|
||||
* this method overrides the transitivity of all superconfigurations as well.
|
||||
*
|
||||
* @param configuration the configuration to resolve
|
||||
* @param transitive true if transitive dependencies should be included, false otherwise
|
||||
* @return a mutable set containing the resolved files of the configuration
|
||||
*/
|
||||
public static Set<File> resolveFiles(Configuration configuration, boolean transitive) {
|
||||
return resolve(configuration, transitive);
|
||||
}
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<PatternLayout>
|
||||
<LoggerNamePatternSelector defaultPattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(%logger{1})}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}" disableAnsi="${sys:fabric.log.disableAnsi:-true}">
|
||||
<!-- Dont show the logger name for minecraft classes-->
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(Minecraft)}{cyan} %highlight{%msg%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}"/>
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="%style{[%d{HH:mm:ss}]}{blue} %highlight{[%t/%level]}{FATAL=red, ERROR=red, WARN=yellow, INFO=green, DEBUG=green, TRACE=blue} %style{(Minecraft)}{cyan} %highlight{%msg{nolookups}%n}{FATAL=red, ERROR=red, WARN=normal, INFO=normal, DEBUG=normal, TRACE=normal}"/>
|
||||
</LoggerNamePatternSelector>
|
||||
</PatternLayout>
|
||||
</Console>
|
||||
@@ -15,9 +15,9 @@
|
||||
<!-- Vanilla server gui -->
|
||||
<Queue name="ServerGuiConsole" ignoreExceptions="true">
|
||||
<PatternLayout>
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss} %level] (%logger{1}) %msg%n">
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss} %level] (%logger{1}) %msg{nolookups}%n">
|
||||
<!-- Dont show the logger name for minecraft classes-->
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss} %level] %msg%n"/>
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss} %level] %msg{nolookups}%n"/>
|
||||
</LoggerNamePatternSelector>
|
||||
</PatternLayout>
|
||||
</Queue>
|
||||
@@ -25,9 +25,9 @@
|
||||
<!-- latest.log same as vanilla -->
|
||||
<RollingRandomAccessFile name="LatestFile" fileName="logs/latest.log" filePattern="logs/%d{yyyy-MM-dd}-%i.log.gz">
|
||||
<PatternLayout>
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] (%logger{1}) %msg%n">
|
||||
<LoggerNamePatternSelector defaultPattern="[%d{HH:mm:ss}] [%t/%level] (%logger{1}) %msg{nolookups}%n">
|
||||
<!-- Dont show the logger name for minecraft classes-->
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] (Minecraft) %msg%n"/>
|
||||
<PatternMatch key="net.minecraft.,com.mojang." pattern="[%d{HH:mm:ss}] [%t/%level] (Minecraft) %msg{nolookups}%n"/>
|
||||
</LoggerNamePatternSelector>
|
||||
</PatternLayout>
|
||||
<Policies>
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<!-- Debug log file -->
|
||||
<RollingRandomAccessFile name="DebugFile" fileName="logs/debug.log" filePattern="logs/debug-%i.log.gz">
|
||||
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] (%logger) %msg%n" />
|
||||
<PatternLayout pattern="[%d{HH:mm:ss}] [%t/%level] (%logger) %msg{nolookups}%n" />
|
||||
|
||||
<!-- Keep 5 files max -->
|
||||
<DefaultRolloverStrategy max="5" fileIndex="min"/>
|
||||
|
||||
Reference in New Issue
Block a user