MineLittlePony/build.gradle
2019-07-02 21:41:45 -04:00

158 lines
4.4 KiB
Groovy

// 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'
}
}
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"
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+"
modApi "com.minelittlepony:Kirin:${project.kirin_version}"
// include "com.minelittlepony:Kirin:${project.kirin_version}"
// TODO: HD Skins can be made optional later
modImplementation "com.minelittlepony:HDSkins:${project.hd_skins_version}"
include "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
}
}
}
}