plugins { kotlin("jvm") id("maven-publish") id("fabric-loom") version "1.9-SNAPSHOT" id("org.jetbrains.compose") id("org.jetbrains.kotlin.plugin.compose") id("com.github.johnrengelman.shadow") version "8+" } version = project.property("mod_version") as String group = project.property("maven_group") as String base { archivesName = project.property("archives_base_name") as String } java { sourceCompatibility = JavaVersion.VERSION_21 targetCompatibility = JavaVersion.VERSION_21 withSourcesJar() } kotlin { jvmToolchain(21) } loom { splitEnvironmentSourceSets() mods { register("compose-ui-mod") { sourceSet("main") sourceSet("client") } } } repositories { mavenCentral() maven("https://maven.pkg.jetbrains.space/public/p/compose/dev") google() } dependencies { // To change the versions see the gradle.properties file minecraft("com.mojang:minecraft:${project.property("minecraft_version")}") mappings("net.fabricmc:yarn:${project.property("yarn_mappings")}:v2") modImplementation("net.fabricmc:fabric-loader:${project.property("loader_version")}") modImplementation("net.fabricmc:fabric-language-kotlin:${project.property("kotlin_loader_version")}") modImplementation("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_version")}") implementation(compose.desktop.currentOs) includeInternal(compose.desktop.currentOs) { exclude(module = "kotlin-stdlib") exclude(module = "kotlin-stdlib-jdk7") exclude(module = "kotlin-stdlib-jdk8") exclude(module = "annotations") } } tasks { processResources { filesMatching("fabric.mod.json") { expand(project.properties) } } runClient { args("--username", "MiniDay", "--width", "1280", "--height", "720") } } publishing { publications { create("mavenJava") { artifactId = project.property("archives_base_name") as String from(components["java"]) } } repositories { } }