mirror of
https://github.com/xfl03/MCCustomSkinLoader.git
synced 2026-11-11 21:57:33 +00:00
99 lines
2.9 KiB
Groovy
99 lines
2.9 KiB
Groovy
import groovy.json.JsonSlurper
|
|
import org.apache.tools.ant.filters.ReplaceTokens
|
|
import org.gradle.api.attributes.java.TargetJvmVersion
|
|
|
|
def info = new JsonSlurper().parse(file("build.info.json"))
|
|
|
|
def releaseGroup = info['mod_group']
|
|
def releaseName = info['mod_name']
|
|
def releaseVersion = info['mod_version']
|
|
def releaseEdition = info['edition']
|
|
def releaseIsSnapshot = build_type != 'release'
|
|
def releaseBuildNumber = System.getenv('GITHUB_RUN_NUMBER')?.trim() ?: '0'
|
|
def releaseFullVersion = (releaseIsSnapshot ? "${releaseVersion}-SNAPSHOT-${releaseBuildNumber}" : releaseVersion).toString()
|
|
|
|
group = releaseGroup
|
|
version = releaseFullVersion
|
|
|
|
ext {
|
|
modName = releaseName
|
|
modVersion = releaseVersion
|
|
modBuildNumber = releaseBuildNumber
|
|
modFullVersion = releaseFullVersion
|
|
releaseArchiveBaseName = "${releaseName}_${releaseEdition}".toString()
|
|
}
|
|
|
|
def macroValues = {
|
|
[
|
|
modVersion : rootProject.ext.modVersion.toString(),
|
|
modFullVersion : rootProject.ext.modFullVersion.toString(),
|
|
modBuildNumber : rootProject.ext.modBuildNumber.toString()
|
|
]
|
|
}
|
|
|
|
def javaMacroTokens = {
|
|
def values = macroValues()
|
|
[
|
|
MOD_VERSION : values.modVersion,
|
|
MOD_FULL_VERSION : values.modFullVersion,
|
|
MOD_BUILD_NUMBER : values.modBuildNumber
|
|
]
|
|
}
|
|
|
|
def resourceMacroTokens = {
|
|
macroValues()
|
|
}
|
|
|
|
subprojects {
|
|
apply plugin: 'java'
|
|
apply plugin: 'customskinloader.manifest-libraries'
|
|
|
|
manifestLibraries {
|
|
// Share Bootstrap's dependency set with all packaged child modules.
|
|
add "https://raw.githubusercontent.com/PrismLauncher/meta-launcher/refs/heads/master/net.minecraft/${minecraft_version}.json"
|
|
}
|
|
|
|
repositories {
|
|
mavenCentral()
|
|
}
|
|
|
|
def generatedJavaDir = layout.buildDirectory.dir('generated/sources/java-macros/main/java').get().asFile
|
|
|
|
def generateJavaMacros = tasks.register('generateJavaMacros', Sync) {
|
|
inputs.properties(javaMacroTokens())
|
|
|
|
from('src/main/java') {
|
|
include '**/*.java'
|
|
filteringCharset = 'UTF-8'
|
|
filter(ReplaceTokens, tokens: javaMacroTokens())
|
|
}
|
|
|
|
into(generatedJavaDir)
|
|
}
|
|
|
|
configurations.configureEach { configuration ->
|
|
if (configuration.canBeResolved) {
|
|
configuration.attributes.attribute(TargetJvmVersion.TARGET_JVM_VERSION_ATTRIBUTE, 25)
|
|
}
|
|
}
|
|
|
|
java {
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
}
|
|
|
|
compileJava {
|
|
dependsOn(generateJavaMacros)
|
|
source = generatedJavaDir
|
|
}
|
|
|
|
processResources {
|
|
inputs.properties(resourceMacroTokens())
|
|
filteringCharset = 'UTF-8'
|
|
|
|
filesMatching(['**/*.json', '**/*.toml', '**/mcmod.info']) {
|
|
filter(ReplaceTokens, beginToken: '${', endToken: '}', tokens: resourceMacroTokens())
|
|
}
|
|
}
|
|
}
|