seppuku/build.gradle

140 lines
3.7 KiB
Groovy

buildscript {
repositories {
jcenter()
maven {
url = "https://files.minecraftforge.net/maven"
}
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
classpath "com.github.jengelman.gradle.plugins:shadow:1.2.3"
}
}
apply plugin: 'net.minecraftforge.gradle.forge'
//Only edit below this line, the above code adds and enables the necessary things for Forge to be setup.
apply plugin: "com.github.johnrengelman.shadow"
version = "3.1.7"
group = "me.rigamortis"
archivesBaseName = "seppuku"
def buildmode = "IDE"
sourceCompatibility = targetCompatibility = '1.8' // Need this here so eclipse task generates correctly.
compileJava {
sourceCompatibility = targetCompatibility = '1.8'
}
idea {
module {
inheritOutputDirs = false
outputDir = compileJava.destinationDir
testOutputDir = compileTestJava.destinationDir
}
}
minecraft {
version = "1.12.2-14.23.5.2768"
runDir = "run"
// the mappings can be changed at any time, and must be in the following format.
// snapshot_YYYYMMDD snapshot are built nightly.
// stable_# stables are built at the discretion of the MCP team.
// Use non-default mappings at your own risk. they may not always work.
// simply re-run your setup task after changing the mappings to update your workspace.
mappings = "stable_39"
// makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable.
}
dependencies {
compile group: "com.googlecode.json-simple", name: "json-simple", version: "1.1.1"
}
jar {
manifest {
attributes 'FMLCorePlugin': 'me.rigamortis.seppuku.impl.fml.core.SeppukuLoadingPlugin'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'seppuku_at.cfg'
}
}
reobf {
jar {
mappingType = 'SEARGE'
}
shadowJar {
//mappingType = 'NOTCH'
mappingType = 'SEARGE'
classpath = sourceSets.main.compileClasspath
}
}
shadowJar {
dependencies {
include(dependency('com.googlecode.json-simple:json-simple:1.1.1'))
include(dependency('net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'))
}
manifest {
attributes 'FMLCorePlugin': 'me.rigamortis.seppuku.impl.fml.core.SeppukuLoadingPlugin'
attributes 'FMLCorePluginContainsFMLMod': 'true'
attributes 'FMLAT': 'seppuku_at.cfg'
}
exclude 'dummyThing'
exclude 'LICENSE.txt'
classifier = 'full'
}
task signJar(type: SignJar, dependsOn: reobfJar) {
onlyIf {
project.hasProperty('keyStore')
}
keyStore = project.findProperty('keyStore')
alias = project.findProperty('keyStoreAlias')
storePass = project.findProperty('keyStorePass')
keyPass = project.findProperty('keyStoreKeyPass')
inputFile = jar.archivePath
outputFile = jar.archivePath
}
build.dependsOn {
[
'shadowJar',
'reobfShadowJar',
'signJar'
]
}
processResources {
// this will ensure that this task is redone when the versions change.
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
// replace stuff in mcmod.info, nothing else
from(sourceSets.main.resources.srcDirs) {
include 'mcmod.info'
// replace version and mcversion
expand 'version': project.version, 'mcversion': project.minecraft.version
}
// copy everything else except the mcmod.info
from(sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
if (buildmode.equals("IDE")) {
sourceSets {
main(({
output.resourcesDir = output.classesDir
}))
}
}