mirror of
https://github.com/TeamMidnightDust/MidnightControls.git
synced 2025-12-13 23:25:10 +01:00
169 lines
6.1 KiB
Groovy
169 lines
6.1 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version '1.6-SNAPSHOT'
|
|
id 'java-library'
|
|
id 'maven-publish'
|
|
id 'com.github.johnrengelman.shadow' version '7.0.0'
|
|
id "me.shedaniel.unified-publishing" version "0.1.+"
|
|
}
|
|
|
|
group = project.maven_group
|
|
version = "${project.mod_version}+${project.minecraft_version}"
|
|
|
|
// This field defines the Java version your mod target.
|
|
def targetJavaVersion = 21
|
|
|
|
boolean isMCVersionNonRelease() {
|
|
return project.minecraft_version.matches('^\\d\\dw\\d\\d[a-z]$')
|
|
|| project.minecraft_version.matches('\\d+\\.\\d+-(pre|rc)(\\d+)')
|
|
}
|
|
|
|
repositories {
|
|
mavenLocal()
|
|
mavenCentral()
|
|
maven { url 'https://aperlambda.github.io/maven' }
|
|
maven {
|
|
name 'Gegy'
|
|
url 'https://maven.gegy.dev'
|
|
}
|
|
maven {
|
|
name = "CottonMC"
|
|
url = "https://server.bbkr.space/artifactory/libs-release"
|
|
}
|
|
maven { url "https://maven.terraformersmc.com/releases/" }
|
|
maven { url 'https://maven.kosmx.dev' }
|
|
maven { url 'https://maven.isxander.dev/releases' }
|
|
maven { url 'https://maven.shedaniel.me/' }
|
|
maven { url 'https://jitpack.io' }
|
|
maven { url "https://api.modrinth.com/maven" }
|
|
maven { url 'https://maven.quiltmc.org/repository/release'}
|
|
}
|
|
|
|
configurations {
|
|
shadow
|
|
api.extendsFrom shadow
|
|
}
|
|
|
|
dependencies {
|
|
//to change the versions see the gradle.properties file
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}"
|
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2"
|
|
modImplementation "net.fabricmc:fabric-loader:${project.loader_version}"
|
|
|
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
|
|
|
include modImplementation ("maven.modrinth:obsidianui:${project.obsidianui_version}") {}
|
|
api('org.aperlambda:lambdajcommon:1.8.1') {
|
|
exclude group: 'com.google.code.gson'
|
|
exclude group: 'com.google.guava'
|
|
}
|
|
include 'org.aperlambda:lambdajcommon:1.8.1'
|
|
|
|
modCompileOnlyApi ("com.terraformersmc:modmenu:${project.modmenu_version}") {
|
|
exclude(group: "net.fabricmc.fabric-api")
|
|
}
|
|
|
|
// Compatibility mods
|
|
|
|
// Ok Zoomer and LibZoomer are temporarily disabled for the time being, as we are currently using Reflection at runtime instead in OkZoomerCompat due to there being two major, completely incompatible API versions.
|
|
// modImplementation("maven.modrinth:ok-zoomer:${project.ok_zoomer_version}")
|
|
// modImplementation "io.github.ennuil:LibZoomer:${project.libzoomer_version}"
|
|
|
|
modCompileOnlyApi "io.github.cottonmc:LibGui:${project.libgui_version}"
|
|
modCompileOnlyApi "org.quiltmc:quilt-json5:1.0.0"
|
|
modCompileOnly "maven.modrinth:sodium:${project.sodium_version}"
|
|
modCompileOnlyApi "maven.modrinth:emi:${project.emi_version}"
|
|
modCompileOnlyApi "maven.modrinth:emotecraft:${project.emotecraft_version}"
|
|
modCompileOnlyApi "io.github.kosmx:bendy-lib:${project.bendylib_version}"
|
|
modCompileOnlyApi "dev.isxander:yet-another-config-lib:${project.yacl_version}"
|
|
modCompileOnlyApi "maven.modrinth:inventory-tabs-updated:${project.inventorytabs_version}"
|
|
modCompileOnlyApi "maven.modrinth:bedrockify:${project.bedrockify_version}"
|
|
// Required for Inventory Tabs
|
|
modCompileOnlyApi("me.shedaniel.cloth:cloth-config-fabric:${project.clothconfig_version}") {
|
|
exclude(group: "net.fabricmc.fabric-api")
|
|
}
|
|
|
|
modImplementation "maven.modrinth:midnightlib:${project.midnightlib_version}"
|
|
include "maven.modrinth:midnightlib:${project.midnightlib_version}"
|
|
|
|
shadow 'com.electronwill.night-config:core:3.6.3'
|
|
shadow 'com.electronwill.night-config:toml:3.6.3'
|
|
apply plugin: 'java-library'
|
|
}
|
|
loom {
|
|
accessWidenerPath = file("src/main/resources/midnightcontrols.accesswidener")
|
|
}
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.toVersion(targetJavaVersion)
|
|
targetCompatibility = JavaVersion.toVersion(targetJavaVersion)
|
|
|
|
withSourcesJar()
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
it.options.encoding = 'UTF-8'
|
|
|
|
it.options.release.set(targetJavaVersion)
|
|
}
|
|
|
|
processResources {
|
|
inputs.property 'version', project.version
|
|
|
|
filesMatching('fabric.mod.json') {
|
|
expand 'version': project.version
|
|
}
|
|
}
|
|
|
|
ext {
|
|
releaseChangelog = {
|
|
def changes = new StringBuilder()
|
|
changes << "## MidnightControls v$project.version for $project.minecraft_version\n[View the changelog](https://www.github.com/TeamMidnightDust/MidnightControls/commits/)"
|
|
def proc = "git log --max-count=1 --pretty=format:%s".execute()
|
|
proc.in.eachLine { line ->
|
|
def processedLine = line.toString()
|
|
if (!processedLine.contains("New translations") && !processedLine.contains("Merge") && !processedLine.contains("branch")) {
|
|
changes << "\n- ${processedLine.capitalize()}"
|
|
}
|
|
}
|
|
proc.waitFor()
|
|
return changes.toString()
|
|
}
|
|
}
|
|
|
|
unifiedPublishing {
|
|
project {
|
|
displayName = "MidnightControls v$project.version - Fabric $project.minecraft_version"
|
|
releaseType = "$project.release_type"
|
|
changelog = releaseChangelog()
|
|
gameVersions = []
|
|
gameLoaders = ["fabric","quilt"]
|
|
mainPublication remapJar
|
|
relations {
|
|
includes {
|
|
curseforge = "midnightlib"
|
|
modrinth = "midnightlib"
|
|
}
|
|
}
|
|
|
|
var CURSEFORGE_TOKEN = project.findProperty("CURSEFORGE_TOKEN") ?: System.getenv("CURSEFORGE_TOKEN")
|
|
if (CURSEFORGE_TOKEN != null) {
|
|
curseforge {
|
|
token = CURSEFORGE_TOKEN
|
|
id = rootProject.curseforge_id
|
|
gameVersions.addAll "Java 21", project.minecraft_version
|
|
}
|
|
}
|
|
|
|
var MODRINTH_TOKEN = project.findProperty("MODRINTH_TOKEN") ?: System.getenv("MODRINTH_TOKEN")
|
|
if (MODRINTH_TOKEN != null) {
|
|
modrinth {
|
|
token = MODRINTH_TOKEN
|
|
id = rootProject.modrinth_id
|
|
version = "$project.version"
|
|
gameVersions.addAll project.minecraft_version
|
|
}
|
|
}
|
|
}
|
|
}
|