Files
thaumicenergistics-neo/build.gradle
T
2026-08-22 16:59:38 +08:00

96 lines
2.9 KiB
Groovy
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
plugins {
id 'net.neoforged.moddev' version '2.0.78'
id 'maven-publish'
}
repositories {
mavenCentral()
def localRepository = mavenLocal()
remove(localRepository)
add(0, localRepository)
// CurseMaven for Jade and other mods
maven {
url "https://cursemaven.com"
content {
includeGroup "curse.maven"
}
}
// Modrinth for Jade
maven {
url "https://api.modrinth.com/maven"
}
}
version = mod_version
group = mod_group
var modName = mod_name
var mcVersion = minecraft_version
base { archivesName = "${modName}-${mcVersion}-neoforge" }
java {
toolchain.languageVersion = JavaLanguageVersion.of(21)
withSourcesJar()
}
neoForge {
version = neoforge_version
runs {
client { client() }
server { server() }
}
mods { "${mod_id}" { sourceSet sourceSets.main } }
}
dependencies {
compileOnly "org.appliedenergistics:appliedenergistics2:19.2.17:api"
compileOnly "org.appliedenergistics:appliedenergistics2:19.2.17" // 加这行保留!!让AE2内部类可编译
compileOnly files('library/thaumcraft-0.2.2.34-port.1.jar')
compileOnly files('library/jei-1.21.1-neoforge-19.39.0.368.jar')
compileOnly files('library/ae2jeiintegration-1.2.1.jar')
compileOnly "maven.modrinth:jade:${jade_version}"
}
tasks.withType(JavaCompile).configureEach {
it.options.encoding = 'UTF-8'
it.options.release = 21
}
var modVersion = mod_version
def loaderRange = project.findProperty('loader_version_range') ?: '[4,)'
def neoforgeRange = project.findProperty('neoforge_version_range') ?: '[21,)'
def mcRange = project.findProperty('minecraft_version_range') ?: '[1.21.1,1.22)'
processResources {
filesMatching('META-INF/neoforge.mods.toml') {
expand([
'version': modVersion, 'loader_version_range': loaderRange,
'neoforge_version_range': neoforgeRange, 'minecraft_version_range': mcRange
])
}
}
jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE }
def gitVersion() {
def describe = providers.exec {
commandLine 'git', 'describe', '--tags', '--always'
}.standardOutput.asText.map { it.trim() }.get()
// 支持 "2.2" / "v2.2.0" / "2.2-3-gabc1234" / "abc1234"(无tag时)
// 版本 = tag 的 X.Y + 提交数:tag 2.2 + 2 提交 → 2.2.2
// find() 只匹配开头,忽略尾部 commit hash(-gabc1234)
def m = describe =~ /^v?(\d+\.\d+)(?:\.\d+)?(?:-(\d+))?/
if (m.find()) {
def xy = m.group(1) // 2.2
def count = m.group(2) ? m.group(2) : '0' // tag 后提交数
return "${xy}.${count}-alpha" // 2.2.2-alpha
}
// 兜底(从未打 tag):mod_version + 总提交数
def count = providers.exec {
commandLine 'git', 'rev-list', '--count', 'HEAD'
}.standardOutput.asText.map { it.trim() }.get()
return "${mod_version}.${count}-alpha"
}
version = gitVersion()