aboutsummaryrefslogtreecommitdiff
path: root/build.gradle
diff options
context:
space:
mode:
Diffstat (limited to 'build.gradle')
-rw-r--r--build.gradle87
1 files changed, 87 insertions, 0 deletions
diff --git a/build.gradle b/build.gradle
new file mode 100644
index 0000000..0d0e82f
--- /dev/null
+++ b/build.gradle
@@ -0,0 +1,87 @@
+buildscript {
+ repositories {
+ maven { url = 'https://files.minecraftforge.net/maven' }
+ maven { url = "https://repo.spongepowered.org/maven" }
+ jcenter()
+ mavenCentral()
+ }
+ dependencies {
+ classpath group: 'net.minecraftforge.gradle', name: 'ForgeGradle', version: '3.+', changing: true
+ classpath group: 'org.spongepowered', name: 'mixingradle', version: '0.7-SNAPSHOT'
+ }
+}
+apply plugin: 'net.minecraftforge.gradle'
+apply plugin: 'org.spongepowered.mixin'
+apply plugin: 'eclipse'
+
+archivesBaseName = name + '-' + mcVersion
+
+sourceCompatibility = targetCompatibility = compileJava.sourceCompatibility = compileJava.targetCompatibility = '1.8'
+
+mixin {
+ add sourceSets.main, "${project.name.toLowerCase()}.refmap.json"
+}
+
+minecraft {
+ mappings channel: 'official', version: project.mcVersion
+
+ runs {
+ client = {
+ properties 'forge.logging.markers': ''
+ properties 'forge.logging.console.level': 'debug'
+ properties 'terminal.ansi': 'true'
+ workingDirectory project.file('run').canonicalPath
+ source sourceSets.main
+
+ arg "-mixin.debug=true"
+ arg "-mixin.checks.interfaces=true"
+ arg "-mixin.config=${project.name}.mixins.json".toLowerCase()
+ }
+ }
+}
+
+// Process resources on build
+processResources {
+ // This will ensure that this task is redone when the versions change.
+ inputs.property 'version', project.version
+
+ // Replace stuff in mods.toml, nothing else
+ from(sourceSets.main.resources.srcDirs) {
+ include 'META-INF/mods.toml'
+
+ // Replace version
+ expand 'version':project.version
+ }
+
+ // Copy everything else except the mods.toml
+ from(sourceSets.main.resources.srcDirs) {
+ exclude 'META-INF/mods.toml'
+ }
+}
+
+
+sourceSets {
+ main {
+ resources {
+ srcDir 'src/generated/resources'
+ }
+ }
+}
+
+dependencies {
+ minecraft 'net.minecraftforge:forge:' + project.properties.mcVersion + '-' + forgeVersion
+ annotationProcessor 'org.spongepowered:mixin:0.8:processor'
+}
+
+jar {
+ manifest {
+ attributes(["Specification-Title": project.name,
+ "Specification-Vendor": project.author,
+ "Specification-Version": "24.0",
+ "Implementation-Title": project.name,
+ "Implementation-Version": project.version,
+ "Implementation-Vendor" : project.author,
+ "Implementation-Timestamp": new Date().format("yyyy-MM-dd'T'HH:mm:ssZ"),
+ "MixinConfigs": "${project.name.toLowerCase()}.mixins.json"],)
+ }
+}