Files
CraterLib/Fabric/build.gradle

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)