mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2024-11-25 13:57:59 +01:00
193 lines
4.5 KiB
Groovy
193 lines
4.5 KiB
Groovy
buildscript {
|
|
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'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'org.ajoberstar.grgit' version '1.7.2'
|
|
}
|
|
|
|
apply plugin: 'net.minecraftforge.gradle.liteloader'
|
|
apply plugin: 'org.spongepowered.mixin'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
|
|
ext {
|
|
revision = grgit.log().size()
|
|
hash = grgit.head().abbreviatedId
|
|
if (file('.git/shallow').exists()) {
|
|
// don't clone with --depth
|
|
revision = -1
|
|
hash += " shallow"
|
|
}
|
|
}
|
|
|
|
if (project.release != 'RELEASE') {
|
|
version += "-${project.release}"
|
|
}
|
|
if (project.release == 'SNAPSHOT') {
|
|
version += "-${project.revision}-${project.hash}"
|
|
}
|
|
|
|
group = project.group
|
|
description = project.displayname
|
|
|
|
minecraft {
|
|
version = project.minecraft_version
|
|
mappings = project.mappings_version
|
|
runDir = 'run'
|
|
replace '@VERSION@', project.version
|
|
}
|
|
|
|
mixin {
|
|
defaultObfuscationEnv notch
|
|
}
|
|
|
|
targetCompatibility = 1.8
|
|
sourceCompatibility = 1.8
|
|
sourceSets {
|
|
hdskins {
|
|
compileClasspath += main.compileClasspath
|
|
ext.refMap = 'hdskins.mixin.refmap.json'
|
|
}
|
|
main {
|
|
compileClasspath += hdskins.output
|
|
ext.refMap = 'minelp.mixin.refmap.json'
|
|
}
|
|
}
|
|
|
|
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
|
|
}
|
|
}
|
|
|
|
manifest {
|
|
attributes 'Implementation-Version': "${project.version} (git-${project.hash})"
|
|
}
|
|
|
|
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'
|
|
]
|
|
}
|
|
|
|
afterEvaluate {
|
|
file('build.number').delete()
|
|
}
|
|
|
|
jar {
|
|
from sourceSets.hdskins.output
|
|
from litemod
|
|
classifier 'base'
|
|
extension 'jar'
|
|
}
|
|
|
|
archivesBaseName = "mod-${project.name.toLowerCase()}"
|
|
|
|
task copyBGPones(type: Copy) {
|
|
delete "${buildDir}/skins/assets/minelittlepony/textures/entity/pony"
|
|
|
|
// use the same rejex for both filenames and the bgponies.json
|
|
// Otherwise there could be errors because of the names in the json not matching the ones on disk
|
|
def permittedChars = /[^0-9a-z_-\",\t\{\}\[\]\(\):\'\.\/ ]/
|
|
|
|
from("skins/Background Ponies") {
|
|
exclude "bgponies.json"
|
|
|
|
rename { filename ->
|
|
filename.toLowerCase()
|
|
.replaceAll(permittedChars, '')
|
|
}
|
|
}
|
|
|
|
from("skins/Background Ponies") {
|
|
include "bgponies.json"
|
|
|
|
filter { line ->
|
|
line.toLowerCase()
|
|
.replaceAll(permittedCharsJSON, '')
|
|
}
|
|
}
|
|
|
|
into "${buildDir}/skins/assets/minelittlepony/textures/entity/pony"
|
|
}
|
|
|
|
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"
|
|
}
|
|
|
|
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'
|
|
}
|
|
|
|
sourceJar {
|
|
// add hdskins sources
|
|
from sourceSets.hdskins.allSource
|
|
}
|
|
|
|
task srgJar(type: Jar) {
|
|
from sourceSets.main.output
|
|
from sourceSets.hdskins.output
|
|
from litemod
|
|
|
|
classifier "mc$minecraft.version-srg"
|
|
}
|
|
|
|
task zipCommunityPack(type: Zip) {
|
|
baseName = "Pony Skin Pack"
|
|
destinationDir = new File(buildDir, "libs")
|
|
from("skins") {
|
|
// TODO: Later packs will have their folders excluded.
|
|
// For now we just zip everything.
|
|
exclude "README.md"
|
|
}
|
|
}
|
|
|
|
reobf {
|
|
srgJar {
|
|
mappingType = 'SEARGE'
|
|
}
|
|
|
|
shadowJar{}
|
|
}
|