plugins { id "fabric-loom" version "0.10-SNAPSHOT" id "maven-publish" id "org.jetbrains.kotlin.jvm" version "1.6.10" } archivesBaseName = project.archives_base_name version = project.mod_version group = project.maven_group allprojects { pluginManager.withPlugin("java") { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } } configure(allprojects.findAll { it.name != "kiwi-java" }) { pluginManager.withPlugin("fabric-loom") { dependencies { //to change the versions see the gradle.properties file minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}" modImplementation "net.fabricmc:fabric-loader:${project.loader_version}" // Fabric API. This is technically optional, but you probably want it anyway. modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}" modImplementation "net.fabricmc:fabric-language-kotlin:${project.fabric_kotlin_version}" } } pluginManager.withPlugin("java") { processResources { inputs.property "version", project.version filesMatching("fabric.mod.json") { expand "version": project.version } } // ensure that the encoding is set to UTF-8, no matter what the system default is // this fixes some edge cases with special characters not displaying correctly // see http://yodaconditions.net/blog/fix-for-java-file-encoding-problems-with-gradle.html tasks.withType(JavaCompile) { options.encoding = "UTF-8" // Minecraft 1.18 (1.18-pre2) upwards uses Java 17. options.release = 17 } java { // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task // if it is present. // If you remove this line, sources will not be generated. withSourcesJar() } } pluginManager.withPlugin("org.jetbrains.kotlin.jvm") { compileKotlin { kotlinOptions.jvmTarget = JavaVersion.VERSION_17 } } } loom { log4jConfigs.from "PhyConDebugLogging.xml" } repositories { maven { url "https://mod-buildcraft.com/maven" } // maven { url "https://server.bbkr.space:8081/artifactory/libs-release/" } maven { url "https://maven.terraformersmc.com/releases" } maven { url "https://maven.shedaniel.me/" } maven { url "https://maven.siphalor.de/" } maven { url "https://jitpack.io" } mavenCentral() } dependencies { // PSA: Some older mods, compiled on Loom 0.2.1, might have outdated Maven POMs. // You may need to force-disable transitiveness on them. modImplementation "alexiil.mc.lib:libblockattributes-all:${project.libblockattributes_version}" include "alexiil.mc.lib:libblockattributes-core:${project.libblockattributes_version}" include "alexiil.mc.lib:libblockattributes-items:${project.libblockattributes_version}" implementation project(":kiwi-java") include project(":kiwi-java") modRuntimeOnly "de.siphalor:mousewheelie-1.18:${project.mousewheelie_version}" runtimeOnly(project(":plugin:mousewheelie")) { transitive = false } include project(":plugin:mousewheelie") modRuntimeOnly "me.shedaniel:RoughlyEnoughItems-fabric:${project.rei_version}" runtimeOnly(project(":plugin:rei")) { transitive = false } include project(":plugin:rei") // runtimeOnly project(":plugin:techreborn") // include project(":plugin:techreborn") // modRuntime("io.github.cottonmc:cotton-resources:${project.cotton_resources_version}") { // exclude group: "net.fabricmc.fabric-api" // } modRuntimeOnly("com.terraformersmc:modmenu:${project.modmenu_version}") { exclude group: "net.fabricmc.fabric-api" } testImplementation "org.junit.jupiter:junit-jupiter:${project.junit_version}" } jar { from("LICENSE") { rename { "${it}_${project.archivesBaseName}" } } } // configure the maven publication // publishing { // publications { // mavenJava(MavenPublication) { // // add all the jars that should be included when publishing to maven // artifact(remapJar) { // builtBy remapJar // } // artifact(sourcesJar) { // builtBy remapSourcesJar // } // } // } // // select the repositories you want to publish to // repositories { // // uncomment to publish to the local maven // // mavenLocal() // } // }