import net.fabricmc.loom.task.RemapJarTask plugins { id 'fabric-loom' version '0.4-SNAPSHOT' } configurations { compile.extendsFrom shadowInclude } dependencies { minecraft "com.mojang:minecraft:1.16.3" mappings "net.fabricmc:yarn:1.16.3+build.1:v2" modImplementation "net.fabricmc:fabric-loader:0.9.3+build.207" modImplementation "net.fabricmc.fabric-api:fabric-api:0.20.2+build.402-1.16" shadowInclude (project(':BlueMapCommon')) { //exclude dependencies provided by fabric exclude group: 'com.google.guava', module: 'guava' exclude group: 'com.google.code.gson', module: 'gson' exclude group: 'org.apache.commons', module: 'commons-lang3' exclude group: 'commons-io', module: 'commons-io' exclude group: 'com.mojang', module: 'brigadier' } } processResources { inputs.property "version", project.version from(sourceSets.main.resources.srcDirs) { include "fabric.mod.json" expand "version": project.version } from(sourceSets.main.resources.srcDirs) { exclude "fabric.mod.json" } } shadowJar { configurations = [project.configurations.shadowInclude] //relocate 'com.flowpowered.math', 'de.bluecolored.shadow.flowpowered.math' //DON'T relocate this, because the API depends on it relocate 'com.typesafe.config', 'de.bluecolored.shadow.typesafe.config' relocate 'net.querz.nbt', 'de.bluecolored.shadow.querz.nbt' relocate 'ninja.leaping.configurate', 'de.bluecolored.shadow.ninja.leaping.configurate' relocate 'com.github.benmanes.caffeine', 'de.bluecolored.shadow.benmanes.caffeine' relocate 'com.google.errorprone', 'de.bluecolored.shadow.google.errorprone' relocate 'org.aopalliance', 'de.bluecolored.shadow.aopalliance' relocate 'javax.inject', 'de.bluecolored.shadow.javax.inject' relocate 'com.google.inject', 'de.bluecolored.shadow.google.inject' relocate 'org.checkerframework', 'de.bluecolored.shadow.checkerframework' relocate 'org.codehaus', 'de.bluecolored.shadow.codehaus' } task ramappedShadowJar(type: RemapJarTask) { destinationDir = file '../../build/release' dependsOn tasks.shadowJar input = tasks.shadowJar.archivePath addNestedDependencies = true archiveName = "BlueMap-${version}-fabric-1.16.4.jar" } build.dependsOn ramappedShadowJar task sourcesJar(type: Jar, dependsOn: classes) { classifier = "sources" from sourceSets.main.allSource }