140 lines
3.7 KiB
Groovy
140 lines
3.7 KiB
Groovy
buildscript {
|
|
repositories {
|
|
jcenter()
|
|
|
|
maven {
|
|
url = "http://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"
|
|
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
|
|
}
|
|
}
|
|
}
|