mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-12 00:07:45 +00:00
Updated to use newer libraries that reduce the command line arguments needed to run the game. Fix issues in the SecureModule's classloader that caused resources to not be seen when they are on parent module layers.
123 lines
6.3 KiB
Groovy
123 lines
6.3 KiB
Groovy
import org.gradle.internal.os.OperatingSystem
|
|
|
|
pluginManagement {
|
|
repositories {
|
|
gradlePluginPortal()
|
|
mavenLocal()
|
|
maven { url = 'https://maven.minecraftforge.net/' }
|
|
}
|
|
}
|
|
|
|
buildscript {
|
|
dependencies {
|
|
classpath('com.google.code.gson:gson') {
|
|
version {
|
|
strictly '2.10.1'
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.7.0'
|
|
}
|
|
|
|
dependencyResolutionManagement {
|
|
versionCatalogs {
|
|
libs {
|
|
library('forgespi', 'net.minecraftforge:forgespi:7.1.0') // Needs modlauncher
|
|
library('bootstrap', 'net.minecraftforge:bootstrap:1.2.0') // Needs modlauncher
|
|
library('modlauncher', 'net.minecraftforge:modlauncher:10.1.1') // Needs securemodules
|
|
library('securemodules', 'net.minecraftforge:securemodules:2.2.3') // Needs unsafe
|
|
library('unsafe', 'net.minecraftforge:unsafe:0.9.2')
|
|
library('accesstransformers', 'net.minecraftforge:accesstransformers:8.1.1')
|
|
library('antlr-runtime', 'org.antlr:antlr4-runtime:4.9.1') // Needed by Access Transformer because parsing a simple text file was too complicated
|
|
library('coremods', 'net.minecraftforge:coremods:5.1.0')
|
|
library('nashorn', 'org.openjdk.nashorn:nashorn-core:15.3') // Needed by coremods, because the JRE no longer ships JS
|
|
library('eventbus', 'net.minecraftforge:eventbus:6.2.0')
|
|
library('typetools', 'net.jodah:typetools:0.6.3') // Needed by EventBus because of lambdas
|
|
library('mergetool-api', 'net.minecraftforge:mergetool-api:1.0')
|
|
|
|
library('mixin', 'org.spongepowered:mixin:0.8.5')
|
|
library('nulls', 'org.jetbrains:annotations:23.0.0') // Got to have our null annotations!
|
|
library('slf4j-api', 'org.slf4j:slf4j-api:1.8.0-beta4')
|
|
library('maven-artifact', 'org.apache.maven:maven-artifact:3.8.5')
|
|
|
|
// Google's InMemory File System. Used by ForgeDev Tests for now, but could be useful for a lot of things.
|
|
library('jimfs', 'com.google.jimfs:jimfs:1.3.0')
|
|
bundle('jimfs', ['guava', 'failureaccess'])
|
|
|
|
// ASM it's used for so many of our hacks
|
|
version('asm', '9.6')
|
|
library('asm', 'org.ow2.asm', 'asm' ).versionRef('asm')
|
|
library('asm-tree', 'org.ow2.asm', 'asm-tree' ).versionRef('asm')
|
|
library('asm-util', 'org.ow2.asm', 'asm-util' ).versionRef('asm')
|
|
library('asm-commons', 'org.ow2.asm', 'asm-commons' ).versionRef('asm')
|
|
library('asm-analysis', 'org.ow2.asm', 'asm-analysis').versionRef('asm')
|
|
bundle('asm', ['asm', 'asm-tree', 'asm-util', 'asm-commons', 'asm-analysis'])
|
|
|
|
// Terminal Console Appender.. essentually make pretty colors in the console, but it's been a PITA
|
|
library('terminalconsoleappender', 'net.minecrell:terminalconsoleappender:1.2.0')
|
|
version('jline', '3.12.1')
|
|
library('jline-reader', 'org.jline', 'jline-reader' ).versionRef('jline')
|
|
library('jline-terminal', 'org.jline', 'jline-terminal').versionRef('jline')
|
|
bundle('terminalconsoleappender', ['terminalconsoleappender', 'jline-reader', 'jline-terminal'])
|
|
|
|
// The core of our configuration system, it has many flaws, but it works for the most part
|
|
version('night-config', '3.6.4')
|
|
library('night-config-toml', 'com.electronwill.night-config', 'toml').versionRef('night-config')
|
|
library('night-config-core', 'com.electronwill.night-config', 'core').versionRef('night-config')
|
|
bundle('night-config', ['night-config-toml', 'night-config-core'])
|
|
|
|
// Jar in Jar FileSystem
|
|
version('jarjar', '0.3.19')
|
|
library('jarjar-fs', 'net.minecraftforge', 'JarJarFileSystems').versionRef('jarjar')
|
|
library('jarjar-meta', 'net.minecraftforge', 'JarJarMetadata' ).versionRef('jarjar')
|
|
library('jarjar-selector', 'net.minecraftforge', 'JarJarSelector' ).versionRef('jarjar')
|
|
bundle('jarjar', ['jarjar-fs', 'jarjar-selector', 'jarjar-meta'])
|
|
|
|
// These are libraries shipped by the MC launcher, try and keep them in sync with the manifest
|
|
// but honestly if we don't it just means we ship them as normal libraries by adding them to the installer config in the forge project
|
|
library('gson', 'com.google.code.gson:gson:2.10.1')
|
|
library('guava', 'com.google.guava:guava:32.1.2-jre')
|
|
library('failureaccess', 'com.google.guava:failureaccess:1.0.1')
|
|
version('log4j', '2.19.0')
|
|
library('log4j-api', 'org.apache.logging.log4j', 'log4j-api' ).versionRef('log4j')
|
|
library('log4j-core', 'org.apache.logging.log4j', 'log4j-core').versionRef('log4j')
|
|
library('apache-commons', 'org.apache.commons:commons-lang3:3.12.0')
|
|
library('mojang-logging', 'com.mojang:logging:1.1.1')
|
|
library('jopt-simple', 'net.sf.jopt-simple:jopt-simple:5.0.4')
|
|
library('commons-io', 'commons-io:commons-io:2.13.0')
|
|
|
|
version('lwjgl', '3.3.1')
|
|
library('lwjgl', 'org.lwjgl', 'lwjgl' ).versionRef('lwjgl')
|
|
library('lwjgl-glfw', 'org.lwjgl', 'lwjgl-glfw' ).versionRef('lwjgl')
|
|
library('lwjgl-opengl', 'org.lwjgl', 'lwjgl-opengl').versionRef('lwjgl')
|
|
library('lwjgl-stb', 'org.lwjgl', 'lwjgl-stb' ).versionRef('lwjgl')
|
|
library('lwjgl-tinyfd', 'org.lwjgl', 'lwjgl-tinyfd').versionRef('lwjgl')
|
|
bundle('lwjgl', ['lwjgl', 'lwjgl-glfw', 'lwjgl-opengl', 'lwjgl-stb', 'lwjgl-tinyfd'])
|
|
}
|
|
}
|
|
}
|
|
|
|
rootProject.name = 'ForgeRoot'
|
|
|
|
include 'fmlloader'
|
|
include 'fmlcore'
|
|
include 'mclanguage'
|
|
include 'javafmllanguage'
|
|
include 'lowcodelanguage'
|
|
include 'fmlearlydisplay'
|
|
|
|
include ':mcp'
|
|
include ':forge'
|
|
|
|
project(":mcp").projectDir = file("projects/mcp")
|
|
project(":forge").projectDir = file("projects/forge")
|
|
|
|
if (!System.env.TEAMCITY_VERSION) {
|
|
include ':clean'
|
|
project(':clean').projectDir = file('projects/clean')
|
|
project(':clean').buildFileName = '../../build_clean.gradle'
|
|
}
|