# SPDX-FileCopyrightText: 2022 The CC: Tweaked Developers # # SPDX-License-Identifier: MPL-2.0 [versions] # Minecraft # MC version is specified in gradle.properties, as we need that in settings.gradle. # Remember to update corresponding versions in fabric.mod.json/neoforge.mods.toml fabric-api = "0.97.6+1.20.5" fabric-loader = "0.15.10" neoForge = "20.5.0-beta" neoForgeSpi = "8.0.1" mixin = "0.8.5" parchment = "2024.04.14" parchmentMc = "1.20.4" yarn = "1.20.5+build.1" # Core dependencies (these versions are tied to the version Minecraft uses) fastutil = "8.5.12" guava = "32.1.2-jre" netty = "4.1.97.Final" slf4j = "2.0.9" # Core dependencies (independent of Minecraft) asm = "9.6" autoService = "1.1.1" checkerFramework = "3.42.0" cobalt = { strictly = "0.9.3" } commonsCli = "1.6.0" jetbrainsAnnotations = "24.1.0" jsr305 = "3.0.2" jzlib = "1.1.3" kotlin = "1.9.21" kotlin-coroutines = "1.7.3" nightConfig = "3.6.7" # Minecraft mods emi = "1.0.30+1.20.4" fabricPermissions = "0.3.20230723" iris = "1.6.14+1.20.4" jei = "17.3.0.48" modmenu = "9.0.0" moreRed = "4.0.0.4" oculus = "1.2.5" rei = "14.0.688" rubidium = "0.6.1" sodium = "mc1.20-0.4.10" mixinExtra = "0.3.5" # Testing hamcrest = "2.2" jqwik = "1.8.2" junit = "5.10.1" jmh = "1.37" # Build tools cctJavadoc = "1.8.2" checkstyle = "10.14.1" curseForgeGradle = "1.1.18" errorProne-core = "2.23.0" errorProne-plugin = "3.1.0" fabric-loom = "1.6.7" githubRelease = "2.5.2" gradleVersions = "0.50.0" ideaExt = "1.1.7" illuaminate = "0.1.0-71-g378d86e" lwjgl = "3.3.3" minotaur = "2.8.7" neoGradle = "7.0.107" nullAway = "0.10.25" spotless = "6.23.3" taskTree = "2.1.1" teavm = "0.10.0-SQUID.4" vanillaExtract = "0.1.3" versionCatalogUpdate = "0.8.1" [libraries] # Normal dependencies asm = { module = "org.ow2.asm:asm", version.ref = "asm" } asm-commons = { module = "org.ow2.asm:asm-commons", version.ref = "asm" } autoService = { module = "com.google.auto.service:auto-service", version.ref = "autoService" } checkerFramework = { module = "org.checkerframework:checker-qual", version.ref = "checkerFramework" } cobalt = { module = "cc.tweaked:cobalt", version.ref = "cobalt" } commonsCli = { module = "commons-cli:commons-cli", version.ref = "commonsCli" } fastutil = { module = "it.unimi.dsi:fastutil", version.ref = "fastutil" } neoForgeSpi = { module = "net.neoforged:neoforgespi", version.ref = "neoForgeSpi" } guava = { module = "com.google.guava:guava", version.ref = "guava" } jetbrainsAnnotations = { module = "org.jetbrains:annotations", version.ref = "jetbrainsAnnotations" } jsr305 = { module = "com.google.code.findbugs:jsr305", version.ref = "jsr305" } jzlib = { module = "com.jcraft:jzlib", version.ref = "jzlib" } kotlin-coroutines = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlin-coroutines" } kotlin-platform = { module = "org.jetbrains.kotlin:kotlin-bom", version.ref = "kotlin" } kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib", version.ref = "kotlin" } netty-http = { module = "io.netty:netty-codec-http", version.ref = "netty" } netty-socks = { module = "io.netty:netty-codec-socks", version.ref = "netty" } netty-proxy = { module = "io.netty:netty-handler-proxy", version.ref = "netty" } nightConfig-core = { module = "com.electronwill.night-config:core", version.ref = "nightConfig" } nightConfig-toml = { module = "com.electronwill.night-config:toml", version.ref = "nightConfig" } slf4j = { module = "org.slf4j:slf4j-api", version.ref = "slf4j" } # Minecraft mods fabric-api = { module = "net.fabricmc.fabric-api:fabric-api", version.ref = "fabric-api" } fabric-loader = { module = "net.fabricmc:fabric-loader", version.ref = "fabric-loader" } fabric-junit = { module = "net.fabricmc:fabric-loader-junit", version.ref = "fabric-loader" } fabricPermissions = { module = "me.lucko:fabric-permissions-api", version.ref = "fabricPermissions" } emi = { module = "dev.emi:emi-xplat-mojmap", version.ref = "emi" } iris = { module = "maven.modrinth:iris", version.ref = "iris" } jei-api = { module = "mezz.jei:jei-1.20.4-common-api", version.ref = "jei" } jei-fabric = { module = "mezz.jei:jei-1.20.4-fabric", version.ref = "jei" } jei-forge = { module = "mezz.jei:jei-1.20.4-forge", version.ref = "jei" } mixin = { module = "org.spongepowered:mixin", version.ref = "mixin" } mixinExtra = { module = "io.github.llamalad7:mixinextras-common", version.ref = "mixinExtra" } modmenu = { module = "com.terraformersmc:modmenu", version.ref = "modmenu" } moreRed = { module = "commoble.morered:morered-1.20.1", version.ref = "moreRed" } oculus = { module = "maven.modrinth:oculus", version.ref = "oculus" } rei-api = { module = "me.shedaniel:RoughlyEnoughItems-api", version.ref = "rei" } rei-builtin = { module = "me.shedaniel:RoughlyEnoughItems-default-plugin", version.ref = "rei" } rei-fabric = { module = "me.shedaniel:RoughlyEnoughItems-fabric", version.ref = "rei" } rubidium = { module = "maven.modrinth:rubidium", version.ref = "rubidium" } sodium = { module = "maven.modrinth:sodium", version.ref = "sodium" } # Testing hamcrest = { module = "org.hamcrest:hamcrest", version.ref = "hamcrest" } jqwik-api = { module = "net.jqwik:jqwik-api", version.ref = "jqwik" } jqwik-engine = { module = "net.jqwik:jqwik-engine", version.ref = "jqwik" } junit-jupiter-api = { module = "org.junit.jupiter:junit-jupiter-api", version.ref = "junit" } junit-jupiter-engine = { module = "org.junit.jupiter:junit-jupiter-engine", version.ref = "junit" } junit-jupiter-params = { module = "org.junit.jupiter:junit-jupiter-params", version.ref = "junit" } slf4j-simple = { module = "org.slf4j:slf4j-simple", version.ref = "slf4j" } jmh = { module = "org.openjdk.jmh:jmh-core", version.ref = "jmh" } jmh-processor = { module = "org.openjdk.jmh:jmh-generator-annprocess", version.ref = "jmh" } # LWJGL lwjgl-bom = { module = "org.lwjgl:lwjgl-bom", version.ref = "lwjgl" } lwjgl-core = { module = "org.lwjgl:lwjgl" } lwjgl-opengl = { module = "org.lwjgl:lwjgl-opengl" } lwjgl-glfw = { module = "org.lwjgl:lwjgl-glfw" } # Build tools cctJavadoc = { module = "cc.tweaked:cct-javadoc", version.ref = "cctJavadoc" } checkstyle = { module = "com.puppycrawl.tools:checkstyle", version.ref = "checkstyle" } curseForgeGradle = { module = "net.darkhax.curseforgegradle:CurseForgeGradle", version.ref = "curseForgeGradle" } errorProne-annotations = { module = "com.google.errorprone:error_prone_annotations", version.ref = "errorProne-core" } errorProne-api = { module = "com.google.errorprone:error_prone_check_api", version.ref = "errorProne-core" } errorProne-core = { module = "com.google.errorprone:error_prone_core", version.ref = "errorProne-core" } errorProne-plugin = { module = "net.ltgt.gradle:gradle-errorprone-plugin", version.ref = "errorProne-plugin" } errorProne-testHelpers = { module = "com.google.errorprone:error_prone_test_helpers", version.ref = "errorProne-core" } fabric-loom = { module = "net.fabricmc:fabric-loom", version.ref = "fabric-loom" } ideaExt = { module = "gradle.plugin.org.jetbrains.gradle.plugin.idea-ext:gradle-idea-ext", version.ref = "ideaExt" } kotlin-plugin = { module = "org.jetbrains.kotlin:kotlin-gradle-plugin", version.ref = "kotlin" } minotaur = { module = "com.modrinth.minotaur:Minotaur", version.ref = "minotaur" } neoGradle-userdev = { module = "net.neoforged.gradle:userdev", version.ref = "neoGradle" } nullAway = { module = "com.uber.nullaway:nullaway", version.ref = "nullAway" } spotless = { module = "com.diffplug.spotless:spotless-plugin-gradle", version.ref = "spotless" } teavm-classlib = { module = "org.teavm:teavm-classlib", version.ref = "teavm" } teavm-core = { module = "org.teavm:teavm-core", version.ref = "teavm" } teavm-jso = { module = "org.teavm:teavm-jso", version.ref = "teavm" } teavm-jso-apis = { module = "org.teavm:teavm-jso-apis", version.ref = "teavm" } teavm-jso-impl = { module = "org.teavm:teavm-jso-impl", version.ref = "teavm" } teavm-metaprogramming-api = { module = "org.teavm:teavm-metaprogramming-api", version.ref = "teavm" } teavm-metaprogramming-impl = { module = "org.teavm:teavm-metaprogramming-impl", version.ref = "teavm" } teavm-platform = { module = "org.teavm:teavm-platform", version.ref = "teavm" } teavm-tooling = { module = "org.teavm:teavm-tooling", version.ref = "teavm" } vanillaExtract = { module = "cc.tweaked.vanilla-extract:plugin", version.ref = "vanillaExtract" } yarn = { module = "net.fabricmc:yarn", version.ref = "yarn" } [plugins] githubRelease = { id = "com.github.breadmoirai.github-release", version.ref = "githubRelease" } gradleVersions = { id = "com.github.ben-manes.versions", version.ref = "gradleVersions" } kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } taskTree = { id = "com.dorongold.task-tree", version.ref = "taskTree" } versionCatalogUpdate = { id = "nl.littlerobots.version-catalog-update", version.ref = "versionCatalogUpdate" } [bundles] annotations = ["jsr305", "checkerFramework", "jetbrainsAnnotations"] kotlin = ["kotlin-stdlib", "kotlin-coroutines"] # Minecraft externalMods-common = ["jei-api", "nightConfig-core", "nightConfig-toml"] externalMods-forge-compile = ["moreRed", "oculus", "jei-api"] externalMods-forge-runtime = [] externalMods-fabric-compile = ["fabricPermissions", "iris", "jei-api", "rei-api", "rei-builtin"] externalMods-fabric-runtime = [] # ["jei-fabric", "modmenu"] # Testing test = ["junit-jupiter-api", "junit-jupiter-params", "hamcrest", "jqwik-api"] testRuntime = ["junit-jupiter-engine", "jqwik-engine"] # Build tools teavm-api = ["teavm-jso", "teavm-jso-apis", "teavm-platform", "teavm-classlib", "teavm-metaprogramming-api"] teavm-tooling = ["teavm-tooling", "teavm-metaprogramming-impl", "teavm-jso-impl"]