plugins { id "com.github.johnrengelman.shadow" version "5.0.0" id "com.matthewprenger.cursegradle" } loom { accessWidener = file("src/main/resources/cloth-config.accessWidener") } configurations { shadow } architectury { platformSetupLoomIde() } repositories { maven { url "https://maven.terraformersmc.com/releases/" content { includeGroup "com.terraformersmc" } } } dependencies { minecraft "com.mojang:minecraft:${rootProject.architectury.minecraft}" mappings loom.officialMojangMappings() modApi "net.fabricmc:fabric-loader:${rootProject.fabric_loader_version}" modApi "net.fabricmc.fabric-api:fabric-api:${rootProject.fabric_api_version}" modApi("me.shedaniel.cloth:basic-math:0.5.1") include("me.shedaniel.cloth:basic-math:0.5.1") implementation("blue.endless:jankson:${rootProject.jankson_version}") implementation("com.moandjiezana.toml:toml4j:${rootProject.toml4j_version}") implementation("org.yaml:snakeyaml:${rootProject.snakeyaml_version}") shadow("blue.endless:jankson:${rootProject.jankson_version}") shadow("com.moandjiezana.toml:toml4j:${rootProject.toml4j_version}") { exclude(module: "gson") } shadow("org.yaml:snakeyaml:${rootProject.snakeyaml_version}") modCompileOnly("com.terraformersmc:modmenu:${mod_menu_version}") { transitive(false) } modRuntime("com.terraformersmc:modmenu:${mod_menu_version}") { transitive(false) } compileOnly(project(path: ":common")) { transitive = false } runtimeOnly(project(path: ":common", configuration: "transformDevelopmentFabric")) { transitive = false } shadow(project(path: ":common", configuration: "transformProductionFabric")) { transitive = false } } processResources { filesMatching("fabric.mod.json") { expand "version": project.version } inputs.property "version", project.version } shadowJar { relocate "blue.endless.jankson", "${rootProject.maven_group}.clothconfig.shadowed.blue.endless.jankson" relocate "com.moandjiezana.toml", "${rootProject.maven_group}.clothconfig.shadowed.com.moandjiezana.toml" relocate "org.yaml.snakeyaml", "${rootProject.maven_group}.clothconfig.shadowed.org.yaml.snakeyaml" configurations = [project.configurations.shadow] classifier "shadow" } remapJar { dependsOn(shadowJar) input.set(shadowJar.archiveFile) archiveClassifier = "fabric" from rootProject.file("LICENSE.md") } publishing { publications { mavenFabric(MavenPublication) { artifact(remapJar.archivePath) { builtBy build classifier "fabric" } } } repositories { if (System.getenv("MAVEN_PASS") != null) { maven { url = "https://deploy.shedaniel.me/" credentials { username = "shedaniel" password = System.getenv("MAVEN_PASS") } } } } } curseforge { if (project.hasProperty("curse_api_key") || System.getenv("curse_api_key") != null) { apiKey = project.hasProperty("curse_api_key") ? project.property("curse_api_key") : System.getenv("curse_api_key") project { id = project.curseforge_id_fabric releaseType = "release" addGameVersion "1.16.4" addGameVersion "1.16.5" addGameVersion "Java 8" addGameVersion "Fabric" // may be needed in the future, but not right now /*relations { requiredDependency "fabric-api" }*/ mainArtifact(remapJar.archivePath) { displayName = "[Fabric $rootProject.supported_version] v$project.version" } afterEvaluate { uploadTask.dependsOn("build") } } } options { forgeGradleIntegration = false javaVersionAutoDetect = false } } rootProject.tasks.getByName("curseforgePublish").dependsOn tasks.getByName("curseforge")