160 lines
3.9 KiB
Groovy
160 lines
3.9 KiB
Groovy
plugins {
|
|
id 'fabric-loom' version '1.3-SNAPSHOT'
|
|
id 'idea'
|
|
id "me.hypherionmc.modutils.modpublisher" version "1.0.+"
|
|
id 'com.github.johnrengelman.shadow' version '7.0.0'
|
|
}
|
|
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
apply plugin: 'maven-publish'
|
|
|
|
archivesBaseName = "${mod_name}-fabric-${minecraft_version}"
|
|
|
|
configurations {
|
|
shade
|
|
}
|
|
|
|
dependencies {
|
|
minecraft "com.mojang:minecraft:${minecraft_version}"
|
|
mappings loom.officialMojangMappings()
|
|
modImplementation "net.fabricmc:fabric-loader:${fabric_loader_version}"
|
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${fabric_version}"
|
|
implementation project(":Common")
|
|
|
|
shade "me.hypherionmc.moon-config:core:${moon_config}"
|
|
shade "me.hypherionmc.moon-config:toml:${moon_config}"
|
|
shade "com.hypherionmc:rpcsdk:1.0"
|
|
|
|
modCompileOnlyApi("com.terraformersmc:modmenu:${mod_menu_version}") {
|
|
exclude(group: "net.fabricmc.fabric-api")
|
|
}
|
|
}
|
|
|
|
loom {
|
|
accessWidenerPath = project(":Common").file("src/main/resources/craterlib.aw")
|
|
runs {
|
|
client {
|
|
client()
|
|
setConfigName("Fabric Client")
|
|
ideConfigGenerated(true)
|
|
runDir("run")
|
|
}
|
|
server {
|
|
server()
|
|
setConfigName("Fabric Server")
|
|
ideConfigGenerated(true)
|
|
runDir("run")
|
|
}
|
|
}
|
|
}
|
|
|
|
processResources {
|
|
from project(":Common").sourceSets.main.resources
|
|
inputs.property "version", project.version
|
|
|
|
filesMatching("fabric.mod.json") {
|
|
expand "version": project.version
|
|
}
|
|
|
|
filesMatching('*.mixins.json') {
|
|
expand "refmap_target": "${archivesBaseName}-"
|
|
}
|
|
}
|
|
|
|
tasks.withType(JavaCompile) {
|
|
source(project(":Common").sourceSets.main.allSource)
|
|
}
|
|
|
|
jar {
|
|
from("LICENSE") {
|
|
rename { "${it}_${mod_name}" }
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Shadowjar Config
|
|
*/
|
|
shadowJar {
|
|
configurations = [project.configurations.shade]
|
|
dependencies {
|
|
relocate 'me.hypherionmc.moonconfig', 'shadow.hypherionmc.moonconfig'
|
|
}
|
|
setArchiveClassifier("dev-shadow")
|
|
}
|
|
|
|
remapJar {
|
|
input.set shadowJar.archiveFile
|
|
dependsOn shadowJar
|
|
setArchiveClassifier(null)
|
|
}
|
|
|
|
//reg.configureJarTask(shadowJar)
|
|
|
|
/**
|
|
* Publishing Config
|
|
*/
|
|
publishing {
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
groupId project.group
|
|
artifactId project.archivesBaseName
|
|
version project.version
|
|
from components.java
|
|
|
|
artifact(jar) {
|
|
builtBy jar
|
|
}
|
|
|
|
pom.withXml {
|
|
Node pomNode = asNode()
|
|
pomNode.dependencies.'*'.findAll() {
|
|
it.artifactId.text() == 'regutils-joined-fabric' ||
|
|
it.artifactId.text() == 'core' ||
|
|
it.artifactId.text() == 'toml' || it.artifactId.text() == "modmenu"
|
|
}.each() {
|
|
it.parent().remove(it)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
repositories {
|
|
maven {
|
|
url "https://maven.firstdark.dev/" + (project.release ? "releases" : "snapshots")
|
|
credentials {
|
|
username System.getenv("MAVEN_USER")
|
|
password System.getenv("MAVEN_PASS")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
publisher {
|
|
apiKeys {
|
|
modrinth = System.getenv("MODRINTH_TOKEN")
|
|
curseforge = System.getenv("CURSE_TOKEN")
|
|
}
|
|
|
|
curseID = curse_id
|
|
modrinthID = modrinth_id
|
|
versionType = "release"
|
|
changelog = rootProject.file("changelog-fabric.md")
|
|
version = "${minecraft_version}-${project.version}"
|
|
displayName = "[FABRIC/QUILT 1.20.2] CraterLib - ${project.version}"
|
|
gameVersions = ["1.20.2"]
|
|
loaders = ["fabric", "quilt"]
|
|
artifact = remapJar
|
|
|
|
modrinthDepends {
|
|
required = ["P7dR8mSH"]
|
|
}
|
|
|
|
curseDepends {
|
|
required = ["fabric-api"]
|
|
}
|
|
}
|
|
|
|
publishCurseforge.dependsOn(remapJar)
|
|
publishModrinth.dependsOn(remapJar)
|
|
|