145 lines
3.9 KiB
Groovy
145 lines
3.9 KiB
Groovy
apply plugin: 'maven-publish'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
apply plugin: 'fabric-loom'
|
|
apply plugin: 'com.replaymod.preprocess'
|
|
|
|
int mcVersion = project.mcVersion
|
|
|
|
repositories {
|
|
maven {
|
|
url 'https://maven.fabricmc.net/'
|
|
}
|
|
maven {
|
|
url 'https://masa.dy.fi/maven'
|
|
}
|
|
maven {
|
|
url 'https://maven.fallenbreath.me/releases'
|
|
}
|
|
maven {
|
|
url 'https://jitpack.io'
|
|
}
|
|
maven {
|
|
url 'https://www.cursemaven.com'
|
|
}
|
|
maven { url "https://maven.shedaniel.me/" }
|
|
maven {url "https://maven.terraformersmc.com/"}
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${project.minecraft_version}" // 从子项目
|
|
mappings "net.fabricmc:yarn:${project.yarn_mappings}:v2" // 从子项目
|
|
modImplementation "net.fabricmc:fabric-loader:${rootProject.loader_version}" // 从根项目
|
|
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_api_version}"
|
|
|
|
implementation 'com.google.code.gson:gson:2.8.9'
|
|
}
|
|
|
|
|
|
JavaVersion JAVA_COMPATIBILITY
|
|
if (mcVersion >= 12100) {
|
|
JAVA_COMPATIBILITY = JavaVersion.VERSION_21
|
|
} else if (mcVersion >= 11800) {
|
|
JAVA_COMPATIBILITY = JavaVersion.VERSION_17
|
|
} else if (mcVersion >= 11700) {
|
|
JAVA_COMPATIBILITY = JavaVersion.VERSION_16
|
|
} else {
|
|
JAVA_COMPATIBILITY = JavaVersion.VERSION_1_8
|
|
}
|
|
JavaVersion MIXIN_COMPATIBILITY_LEVEL = JAVA_COMPATIBILITY
|
|
|
|
loom {
|
|
def commonVmArgs = ['-Dmixin.debug.export=true']
|
|
runConfigs.configureEach {
|
|
runDir '../../run'
|
|
vmArgs commonVmArgs
|
|
ideConfigGenerated true
|
|
}
|
|
}
|
|
|
|
shadowJar {
|
|
configurations = [project.configurations.shadow]
|
|
exclude("META-INF")
|
|
archiveClassifier.set('shadow')
|
|
}
|
|
|
|
import com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar
|
|
|
|
tasks.withType(ShadowJar).configureEach {
|
|
enableRelocation true
|
|
relocationPrefix 'branulf.playertime.libs'
|
|
}
|
|
|
|
remapJar {
|
|
dependsOn(shadowJar)
|
|
mustRunAfter(shadowJar)
|
|
inputFile = shadowJar.archiveFile
|
|
}
|
|
|
|
String modVersionSuffix = ''
|
|
if (System.getenv("BUILD_RELEASE") != "true") {
|
|
String buildNumber = System.getenv("BUILD_ID")
|
|
modVersionSuffix += buildNumber != null ? ('+build.' + buildNumber) : ''
|
|
}
|
|
String fullModVersion = rootProject.mod_version + modVersionSuffix
|
|
|
|
String fullProjectVersion
|
|
|
|
group = rootProject.maven_group
|
|
if (System.getenv("JITPACK") == "true") {
|
|
base.archivesName = rootProject.archives_base_name + '-mc' + project.minecraft_version
|
|
fullProjectVersion = 'v' + rootProject.mod_version + modVersionSuffix
|
|
} else {
|
|
base.archivesName = rootProject.archives_base_name
|
|
fullProjectVersion = 'v' + rootProject.mod_version + '-mc' + project.minecraft_version + modVersionSuffix
|
|
}
|
|
version = fullProjectVersion
|
|
|
|
processResources {
|
|
inputs.property "id", rootProject.mod_id
|
|
inputs.property "name", rootProject.mod_name
|
|
inputs.property "version", fullModVersion
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
def valueMap = [
|
|
"id" : rootProject.mod_id,
|
|
"name" : rootProject.mod_name,
|
|
"version" : fullModVersion,
|
|
"minecraft_version": project.minecraft_dependency,
|
|
"loader_version" : rootProject.loader_version
|
|
]
|
|
expand valueMap
|
|
}
|
|
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.encoding = "UTF-8"
|
|
options.compilerArgs << "-Xlint:deprecation" << "-Xlint:unchecked"
|
|
if (JAVA_COMPATIBILITY <= JavaVersion.VERSION_1_8) {
|
|
options.compilerArgs << '-Xlint:-options'
|
|
}
|
|
}
|
|
|
|
java {
|
|
sourceCompatibility = JAVA_COMPATIBILITY
|
|
targetCompatibility = JAVA_COMPATIBILITY
|
|
withSourcesJar()
|
|
}
|
|
|
|
jar {
|
|
from(rootProject.file('LICENSE')) {
|
|
rename { "${it}_${rootProject.archives_base_name}" }
|
|
}
|
|
}
|
|
|
|
//publishing {
|
|
// publications {
|
|
// mavenJava(MavenPublication) {
|
|
// from components.java
|
|
// }
|
|
// }
|
|
// repositories {
|
|
// }
|
|
//}
|