mirror of
https://github.com/MinecraftForge/MinecraftForge
synced 2026-08-22 04:26:10 -04:00
131 lines
6.7 KiB
Groovy
131 lines
6.7 KiB
Groovy
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 {
|
|
plugin('apt', 'com.diffplug.eclipse.apt').version('4.2.0')
|
|
|
|
library('forgespi', 'net.minecraftforge:forgespi:7.1.5') // Needs modlauncher
|
|
library('modlauncher', 'net.minecraftforge:modlauncher:10.2.4') // Needs securemodules
|
|
library('securemodules', 'net.minecraftforge:securemodules:2.2.21') // Needs unsafe
|
|
library('unsafe', 'net.minecraftforge:unsafe:0.9.2')
|
|
library('accesstransformers', 'net.minecraftforge:accesstransformers:8.2.2')
|
|
library('coremods', 'net.minecraftforge:coremods:5.2.6')
|
|
library('nashorn', 'org.openjdk.nashorn:nashorn-core:15.4') // Needed by coremods, because the JRE no longer ships JS
|
|
library('eventbus', 'net.minecraftforge:eventbus:6.2.27')
|
|
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.7')
|
|
library('nulls', 'org.jetbrains:annotations:24.1.0') // Got to have our null annotations!
|
|
library('slf4j-api', 'org.slf4j:slf4j-api:2.0.7')
|
|
library('maven-artifact', 'org.apache.maven:maven-artifact:3.8.8')
|
|
|
|
// 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'])
|
|
|
|
version('bootstrap', '2.1.8')
|
|
library('bootstrap', 'net.minecraftforge', 'bootstrap' ).versionRef('bootstrap') // Needs modlauncher
|
|
library('bootstrap-api', 'net.minecraftforge', 'bootstrap-api' ).versionRef('bootstrap')
|
|
library('bootstrap-dev', 'net.minecraftforge', 'bootstrap-dev' ).versionRef('bootstrap')
|
|
library('bootstrap-shim', 'net.minecraftforge', 'bootstrap-shim').versionRef('bootstrap')
|
|
|
|
// ASM it's used for so many of our hacks
|
|
version('asm', '9.7.1')
|
|
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.25.1')
|
|
library('jline-reader', 'org.jline', 'jline-reader' ).versionRef('jline')
|
|
library('jline-terminal', 'org.jline', 'jline-terminal' ).versionRef('jline')
|
|
library('jline-terminal-jna', 'org.jline', 'jline-terminal-jna').versionRef('jline') // Colors and tab completeion
|
|
bundle('terminalconsoleappender', ['terminalconsoleappender', 'jline-reader', 'jline-terminal', 'jline-terminal-jna'])
|
|
|
|
// The core of our configuration system, it has many flaws, but it works for the most part
|
|
version('night-config', '3.7.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.26')
|
|
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.22.1')
|
|
library('log4j-api', 'org.apache.logging.log4j', 'log4j-api' ).versionRef('log4j')
|
|
library('log4j-core', 'org.apache.logging.log4j', 'log4j-core').versionRef('log4j')
|
|
bundle('log4j', ['log4j-api', 'log4j-core'])
|
|
|
|
library('apache-commons', 'org.apache.commons:commons-lang3:3.14.0')
|
|
library('mojang-logging', 'com.mojang:logging:1.2.7')
|
|
library('jopt-simple', 'net.sf.jopt-simple:jopt-simple:5.0.4')
|
|
library('commons-io', 'commons-io:commons-io:2.15.1')
|
|
|
|
version('lwjgl', '3.3.3')
|
|
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'
|
|
project(":mcp").projectDir = file("projects/mcp")
|
|
|
|
include ':forge'
|
|
project(":forge").projectDir = file("projects/forge")
|
|
project(':forge').buildFileName = '../../build_forge.gradle'
|
|
|
|
if (!System.env.TEAMCITY_VERSION) {
|
|
include ':clean'
|
|
project(':clean').projectDir = file('projects/clean')
|
|
project(':clean').buildFileName = '../../build_clean.gradle'
|
|
}
|