aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle102
1 files changed, 102 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..e6d4434
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,102 @@
+buildscript {
+ repositories {
+ //new forge repository
+ maven { url "https://maven.minecraftforge.net" }
+ maven { url 'https://repo.spongepowered.org/maven'}
+ mavenCentral()
+ }
+ dependencies {
+ classpath "net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT"
+ classpath 'org.spongepowered:mixingradle:0.6-SNAPSHOT'
+ }
+}
+
+plugins {
+ id "java"
+ id "com.github.johnrengelman.shadow" version "2.0.4"
+}
+
+apply plugin: 'net.minecraftforge.gradle.tweaker-client'
+apply plugin: 'org.spongepowered.mixin'
+
+version = "1.0.0"
+group = "gq.malwarefight.nosession"
+archivesBaseName = "nosession"
+
+compileJava.sourceCompatibility = compileJava.targetCompatibility = 1.8
+compileJava.options.encoding = "UTF-8"
+
+minecraft {
+ version = "1.8.9"
+ runDir = "run"
+ mappings = "stable_22" //mappings for 1.8.9
+ makeObfSourceJar = false //disable creation of sources jar
+ tweakClass = 'gq.malwarefight.nosession.mixin.InitialTweaker'
+}
+
+configurations {
+ shade
+ compile.extendsFrom(shade)
+}
+
+repositories {
+ maven { url 'https://repo.spongepowered.org/maven/' }
+ maven { url 'https://maven.minecraftforge.net/' }
+ mavenCentral()
+}
+
+dependencies {
+ shade('org.spongepowered:mixin:0.7.10-SNAPSHOT') {
+ exclude module: 'launchwrapper'
+ exclude module: 'guava'
+ exclude module: 'gson'
+ exclude module: 'commons-io'
+ exclude module: 'log4j-core'
+ }
+}
+
+processResources {
+ //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, that"s not the mcmod.info
+ from(sourceSets.main.resources.srcDirs) {
+ exclude "mcmod.info"
+ }
+
+ rename '(.+_at.cfg)', 'META-INF/$1'
+}
+
+shadowJar {
+ dependencies {}
+ configurations = [project.configurations.shade]
+ duplicatesStrategy DuplicatesStrategy.EXCLUDE //prevent duplicates
+ classifier "" //prevent creation of unshadowed jar
+}
+
+reobf {
+ //reobfuscate the shadowed jar
+ shadowJar {}
+}
+
+jar {
+ manifest {
+ attributes "ForceLoadAsMod": true,
+ "TweakOrder": 0,
+ "ModSide": "CLIENT",
+ 'FMLCorePluginContainsFMLMod': true,
+ 'TweakClass': 'gq.malwarefight.nosession.mixin.InitialTweaker',
+ 'MixinConfigs': 'mixins.nosession.json'
+ }
+}
+
+sourceSets {
+ main {
+ ext.refMap = "mixins.nosession.refmap.json"
+ }
+}