MineLittlePony/build.gradle

228 lines
5.7 KiB
Groovy
Raw Normal View History

2016-01-15 08:49:17 +01:00
buildscript {
2018-07-09 00:58:20 +02:00
repositories {
jcenter()
maven {
name 'forge'
url 'http://files.minecraftforge.net/maven'
}
maven {
name = 'sponge'
url = 'https://repo.spongepowered.org/maven'
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
2018-07-09 00:58:20 +02:00
}
2016-01-15 08:49:17 +01:00
}
plugins {
id 'org.ajoberstar.grgit' version '1.7.2'
2020-05-24 00:13:31 +02:00
id 'maven-publish'
}
2016-03-09 22:12:28 +01:00
apply plugin: 'net.minecraftforge.gradle.liteloader'
2016-01-15 08:59:50 +01:00
apply plugin: 'org.spongepowered.mixin'
2018-07-09 00:00:58 +02:00
apply plugin: 'com.github.johnrengelman.shadow'
2016-01-15 08:49:17 +01:00
ext {
revision = grgit.log().size()
hash = grgit.head().abbreviatedId
if (file('.git/shallow').exists()) {
// don't clone with --depth
revision = -1
hash += " shallow"
}
}
2019-02-05 14:48:35 +01:00
version = "${project.minecraft_version}.${project.version}"
if (project.release != 'RELEASE') {
version += "-${project.release}"
}
if (project.release == 'SNAPSHOT') {
version += "-${project.revision}-${project.hash}"
}
group = project.group
description = project.displayname
2015-08-02 00:36:33 +02:00
minecraft {
version = project.minecraft_version
mappings = project.mappings_version
2018-07-09 00:58:20 +02:00
runDir = 'run'
replace '@VERSION@', project.version
2015-08-02 00:36:33 +02:00
}
2018-08-22 03:02:05 +02:00
mixin {
defaultObfuscationEnv notch
}
targetCompatibility = 1.8
sourceCompatibility = 1.8
2015-12-09 22:05:21 +01:00
sourceSets {
2018-07-09 00:58:20 +02:00
hdskins {
compileClasspath += main.compileClasspath
ext.refMap = 'hdskins.mixin.refmap.json'
}
main {
compileClasspath += hdskins.output
ext.refMap = 'minelp.mixin.refmap.json'
}
}
2018-07-08 09:35:11 +02:00
dependencies {
// use the same version as httpclient
compile('org.apache.httpcomponents:httpmime:4.3.2') {
transitive = false
}
compile('org.spongepowered:mixin:0.7.11-SNAPSHOT') {
transitive = false
}
2018-07-08 09:35:11 +02:00
}
manifest {
attributes 'Implementation-Version': "${project.version} (git-${project.hash})"
}
2018-07-08 09:35:11 +02:00
litemod.json {
mcversion = project.minecraft_version
displayName = project.displayname
author = project.authors
revision = project.revision
description = project.description
description.minelittlepony = project.description_mlp
description.hdskinsmod = project.description_hd
mixinConfigs += [
'minelp.mixin.json',
'hdskins.mixin.json'
]
}
2018-11-14 23:51:44 +01:00
archivesBaseName = "mod-${project.name.toLowerCase()}"
afterEvaluate {
file('build.number').delete()
2015-11-17 06:09:04 +01:00
}
2015-08-02 00:36:33 +02:00
jar {
2018-07-09 00:58:20 +02:00
from sourceSets.hdskins.output
from litemod
classifier 'base'
extension 'jar'
2018-07-09 00:00:58 +02:00
}
task copyBGPones(type: Copy) {
def illegals = /[^a-z0-9_\/.-]/
2018-11-14 22:21:40 +01:00
from "skins/Background Ponies"
2018-11-14 23:51:44 +01:00
// TODO: What is tempDir????
into temporaryDir
eachFile {
if (it.name =~ illegals){
logger.warn("Sanitizing file with illegal characters: ${it.path}")
it.name = it.name.replaceAll(/\s/, '_').replaceAll(illegals, '')
}
}
}
2018-07-09 00:00:58 +02:00
shadowJar {
extension 'litemod'
classifier "mc$minecraft.version"
from sourceSets.hdskins.output
from litemod
exclude "/assets/minelittlepony/textures/entity/pony"
from(copyBGPones) {
into "/assets/minelittlepony/textures/entity/pony"
}
2019-02-05 14:48:35 +01:00
dependencies {
exclude dependency('deobf.com.mumfrey:liteloader:')
exclude dependency('deobf.org.ow2.asm:')
exclude dependency('org.spongepowered:mixin:')
exclude 'META-INF/**'
}
relocate 'org.apache.http.entity.mime', 'com.voxelmodpack.repack.org.apache.http.entity.mime'
exclude 'dummyThing'
2018-11-14 23:51:44 +01:00
doLast {
file('build/libs/' + archivesBaseName + '-' + version + '-base.jar').delete();
}
}
task srgJar(type: Jar) {
2018-07-09 00:58:20 +02:00
from sourceSets.main.output
from sourceSets.hdskins.output
from litemod
2018-07-09 00:58:20 +02:00
classifier "mc$minecraft.version-srg"
}
2018-11-14 23:51:44 +01:00
sourceJar.enabled = false
reobf {
2018-07-09 00:58:20 +02:00
srgJar {
mappingType = 'SEARGE'
}
shadowJar{}
}
2020-05-24 00:08:44 +02:00
publishing {
publications {
maven(MavenPublication) {
afterEvaluate {
artifact(remapJar)
}
artifact(sourcesJar) {
builtBy remapSourcesJar
}
pom {
name = "MineLittlePony"
description = "HD Skins support for Minecraft"
url = "https://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
}
}
}
}