plugins { id("fabric-loom") version "0.2.7-SNAPSHOT" id("jni") id("typescript") `maven-publish` } minecraft { } base.archivesBaseName = project.property("archives_base_name") as String version = project.property("minecraft_version")!! group = project.property("maven_group")!! dependencies { minecraft("com.mojang:minecraft:${project.property("minecraft_version")}") mappings("net.fabricmc:yarn:${project.property("minecraft_version")}+build.${project.property("yarn_build")}:v2") modImplementation("net.fabricmc:fabric-loader:${project.property("fabric_loader_version")}") modImplementation("net.fabricmc.fabric-api:fabric-api:${project.property("fabric_api_version")}") } jni { addPlatform("linux-x86_64", ".so") addPlatform("linux-x86", ".so") addPlatform("linux-armhf", ".so") addPlatform("linux-arm64", ".so") addPlatform("windows-x86_64", ".dll") addPlatform("windows-x86", ".dll") } tasks.register("eslint") { group = "verification" taskName = "eslint" } tasks.register("typedoc") { group = "documentation" taskName = "typedoc" outputDir = "build/typedoc" } tasks.named("processResources") { inputs.property("name", rootProject.name) from(sourceSets["main"].resources.srcDirs) { include("fabric.mod.json") expand("name" to rootProject.name) } from(sourceSets["main"].resources.srcDirs) { exclude("fabric.mod.json") } } // 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 { options.encoding = "UTF-8" } java { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } // Loom will automatically attach sourcesJar to a RemapSourcesJar task and to the "build" task // if it is present. // If you remove this task, sources will not be generated. tasks.register("sourcesJar") { archiveClassifier.set("sources") from(sourceSets["main"].allSource) } artifacts { add("archives", tasks["sourcesJar"]) } tasks.named("jar") { from("LICENSE") } publishing { publications { create("mavenJava") { artifactId = project.property("archives_base_name") as String artifact(tasks["remapJar"]) artifact(tasks["apiJar"]) } } repositories { maven { url = uri("/data/maven") } } }