102 lines
2.2 KiB
Groovy
102 lines
2.2 KiB
Groovy
plugins {
|
|
id 'net.fabricmc.fabric-loom-remap' version "${loom_version}"
|
|
id 'dev.kikugie.stonecutter'
|
|
id 'maven-publish'
|
|
}
|
|
|
|
def modId = property('mod.id')
|
|
def modName = property('mod.name')
|
|
def modVersion = property('mod.version')
|
|
def modGroup = property('mod.group')
|
|
def modDescription = property('mod.description')
|
|
def modLicense = property('mod.license')
|
|
def modAuthor = property('mod.author')
|
|
def javaVersion = Integer.parseInt(property('java_version'))
|
|
def fabricLoaderVersion = property('deps.fabric_loader')
|
|
|
|
version = "${modVersion}+${stonecutter.current.version}"
|
|
group = modGroup
|
|
|
|
base {
|
|
archivesName = modId
|
|
}
|
|
|
|
repositories {
|
|
// Loom provides Minecraft, mappings, and Fabric repositories.
|
|
}
|
|
|
|
loom {
|
|
splitEnvironmentSourceSets()
|
|
|
|
mods {
|
|
"${modId}" {
|
|
sourceSet sourceSets.main
|
|
sourceSet sourceSets.client
|
|
}
|
|
}
|
|
|
|
if (stonecutter.current.isActive) {
|
|
runConfigs.all {
|
|
ideConfigGenerated = true
|
|
runDir "../../run"
|
|
}
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${stonecutter.current.version}"
|
|
mappings loom.officialMojangMappings()
|
|
modImplementation "net.fabricmc:fabric-loader:${property('deps.fabric_loader')}"
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${property('deps.fabric_api')}"
|
|
}
|
|
|
|
def resourceExpandProps = [
|
|
version: project.version,
|
|
mod_id: modId,
|
|
mod_name: modName,
|
|
mod_description: modDescription,
|
|
mod_license: modLicense,
|
|
mod_author: modAuthor,
|
|
minecraft_version: stonecutter.current.version,
|
|
fabric_loader_version: fabricLoaderVersion
|
|
]
|
|
|
|
processResources {
|
|
inputs.properties(resourceExpandProps)
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand(resourceExpandProps)
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile).configureEach {
|
|
options.release = javaVersion
|
|
}
|
|
|
|
java {
|
|
withSourcesJar()
|
|
sourceCompatibility = JavaVersion.toVersion(javaVersion)
|
|
targetCompatibility = JavaVersion.toVersion(javaVersion)
|
|
}
|
|
|
|
jar {
|
|
inputs.property "archivesName", project.base.archivesName
|
|
|
|
from("LICENSE") {
|
|
rename { "${it}_${inputs.properties.archivesName}" }
|
|
}
|
|
}
|
|
|
|
publishing {
|
|
publications {
|
|
create("mavenJava", MavenPublication) {
|
|
artifactId = project.base.archivesName.get()
|
|
from components.java
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
// Configure publishing repositories here if needed.
|
|
}
|
|
}
|