138 lines
3.4 KiB
Groovy
138 lines
3.4 KiB
Groovy
plugins {
|
|
id 'java'
|
|
id 'architectury-plugin'
|
|
id 'maven-publish'
|
|
id 'com.diffplug.spotless'
|
|
}
|
|
|
|
spotless {
|
|
java {
|
|
removeUnusedImports()
|
|
}
|
|
}
|
|
|
|
architectury {
|
|
compileOnly()
|
|
}
|
|
|
|
group = 'org.embeddedt'
|
|
// extract base version from tag, generate other metadata ourselves
|
|
def details = versionDetails()
|
|
def plusIndex = details.lastTag.indexOf("+")
|
|
if(plusIndex == -1) {
|
|
plusIndex = details.lastTag.length()
|
|
}
|
|
def baseVersion = details.lastTag.substring(0, plusIndex)
|
|
def dirtyMarker = grgit.status().clean ? "" : ".dirty"
|
|
def commitHashMarker = details.commitDistance > 0 ? ("." + details.gitHash.substring(0, Math.min(4, details.gitHash.length()))) : ""
|
|
def preMarker = (details.commitDistance > 0 || !details.isCleanTag) ? ("-beta." + details.commitDistance) : ""
|
|
if(preMarker.length() > 0) {
|
|
// bump to next patch release
|
|
def versionParts = baseVersion.tokenize(".")
|
|
baseVersion = "${versionParts[0]}.${versionParts[1]}.${versionParts[2].toInteger() + 1}"
|
|
}
|
|
def versionString = "${baseVersion}${preMarker}+mc${minecraft_version}${commitHashMarker}${dirtyMarker}"
|
|
version = versionString
|
|
archivesBaseName = rootProject.archives_base_name + '-' + project.name
|
|
|
|
sourceCompatibility = targetCompatibility = JavaVersion.VERSION_21
|
|
|
|
repositories {
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url "https://modmaven.dev"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "appeng"
|
|
includeGroup "vazkii.patchouli"
|
|
includeGroup "mezz.jei"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url "https://cursemaven.com"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "curse.maven"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = 'ParchmentMC'
|
|
url = 'https://maven.parchmentmc.org'
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "org.parchmentmc.data"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url = 'https://maven.architectury.dev'
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "me.shedaniel"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url = 'https://maven.saps.dev/minecraft'
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "dev.latvian.mods"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = "Fuzs Mod Resources"
|
|
url = "https://raw.githubusercontent.com/Fuzss/modresources/main/maven/"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "fuzs"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = "Fabric maven"
|
|
url = "https://maven.fabricmc.net/"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "net.fabricmc"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
name = "Mod Menu"
|
|
url = "https://maven.terraformersmc.com/releases/"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "com.terraformersmc"
|
|
}
|
|
}
|
|
exclusiveContent {
|
|
forRepository {
|
|
maven {
|
|
url "https://maven.tterrag.com"
|
|
}
|
|
}
|
|
filter {
|
|
includeGroup "team.chisel.ctm"
|
|
}
|
|
}
|
|
}
|