// Fabric build script // 03/06/2019 // https://github.com/FabricMC/fabric-example-mod/blob/master/build.gradle plugins { id 'fabric-loom' version '0.2.4-SNAPSHOT' id 'com.github.johnrengelman.plugin-shadow' version '2.0.3' id 'maven-publish' } targetCompatibility = JavaVersion.VERSION_1_8 sourceCompatibility = JavaVersion.VERSION_1_8 version = "${project.minecraft_version}-${project.version}" if (project.release != 'RELEASE') { version += "-${project.release}" } group = project.group description = project.displayname archivesBaseName = project.name minecraft { refmapName = 'minelp.mixin.refmap.json' } repositories { maven { name = 'minelp' url = 'http://repo.minelittlepony-mod.com/maven/snapshot' } } // check for updates every build when on CI if (System.env.CI) { configurations.all { resolutionStrategy.cacheChangingModulesFor 0, 'seconds' } } sourceSets { hdskins } dependencies { minecraft "com.mojang:minecraft:${project.minecraft_version}" mappings "net.fabricmc:yarn:${project.yarn_mappings}" modCompile "net.fabricmc:fabric-loader:${project.loader_version}" compileOnly "com.google.code.findbugs:jsr305:3.0.2" hdskinsCompileOnly "com.google.code.findbugs:jsr305:3.0.2" modApi "net.fabricmc.fabric-api:fabric-api-base:0.1.0+" modApi "net.fabricmc.fabric-api:fabric-events-lifecycle-v0:0.1.0+" modApi "net.fabricmc.fabric-api:fabric-resource-loader-v0:0.1.0+" compile "com.minelittlepony:Kirin:${project.kirin_version}" include "com.minelittlepony:Kirin:${project.kirin_version}" hdskinsCompile sourceSets.main.output hdskinsCompile "com.minelittlepony:HDSkins:${project.hd_skins_version}" } // // Imports the Background Ponies from the MLP Community Skin Pack // task copyBGPones(type: Copy) { def illegals = /[^a-z0-9_\/.-]/ from "skins/Background Ponies" into temporaryDir eachFile { if (it.name =~ illegals) { logger.warn("Sanitizing file with illegal characters: ${it.path}") it.name = it.name.replaceAll(/\s/, '_').replaceAll(illegals, '') } } } 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" } from 'LICENSE' exclude "/assets/minelittlepony/textures/entity/pony" from(copyBGPones) { into "/assets/minelittlepony/textures/entity/pony" } } tasks.withType(JavaCompile) { options.encoding = "UTF-8" } task sourcesJar(type: Jar, dependsOn: classes) { classifier = "sources" from sourceSets.main.allSource } publishing { publications { maven(MavenPublication) { afterEvaluate { artifact(remapJar.output) } artifact(sourcesJar) { builtBy remapSourcesJar } pom { name = "MineLittlePony" description = "HD Skins support for Minecraft" url = "http://minelittlepony-mod.com" licenses { license { name = "MIT Public License" url = "https://tlo.mit.edu/learn-about-intellectual-property/software-and-open-source-licensing" } } developers { developer { id = "killjoy1221" name = "Matthew Messinger" email = "mattmess1221@gmail.com" } developer { id = "sollace" } } scm { connection = 'scm:git:git://github.com/MineLittlePony/MineLittlePony.git' developerConnection = 'scm:git:ssh://github.com/MineLittlePony/MineLittlePony.git' url = 'https://github.com/MineLittlePony/MineLittlePony' } } } } repositories { maven { name = "MineLittlePony" def mvn = 's3://repo.minelittlepony-mod.com/maven' url = release == 'SNAPSHOT' ? "$mvn/snapshot" : "$mvn/release" credentials(AwsCredentials) { accessKey = System.env.ACCESS_KEY secretKey = System.env.SECRET_KEY } } } }