buildscript { repositories { jcenter() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT' classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.1.0' } } apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: "com.matthewprenger.cursegradle" repositories { mavenLocal() mavenCentral() maven { name = "chickenbones" url = "http://chickenbones.net/maven/" } maven { name 'DVS1 Maven FS' url 'http://dvs1.progwml6.com/files/maven' } } group = "com.sosnitzka" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "taiga" sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 task buildInfo { if (System.getenv().TAIGA_TAG != null) { ext.revision = System.getenv().TAIGA_TAG } else { ext.revision = "snapshot" } if (System.getenv().BUILD_NUMBER != null) { ext.buildNum = System.getenv().BUILD_NUMBER } def cmd = "git log \$(git tag --sort=-refname | sed -n '2p')..\$(git tag --sort=-refname | sed -n '1p') --oneline" def proc = cmd.execute() proc.waitFor() if (proc.exitValue() == 0) { ext.changes = proc.text.trim() } else { ext.changes = "N/A" } } version = project.buildInfo.revision minecraft { version = "1.12.2-14.23.5.2768" runDir = "run" mappings = "snapshot_20170801" replace '@VERSION@', project.version } //noinspection GroovyAssignabilityCheck ext.mc_version = project.minecraft.version.split('-')[0] version = "${mc_version}-${project.buildInfo.revision}" dependencies { deobfCompile "slimeknights.mantle:Mantle:1.12-1.3.+:deobf" deobfCompile "mezz.jei:jei_1.12.2:4.+" deobfCompile "slimeknights:TConstruct:1.12.2-2.10.+:deobf" } sourceSets { main { resources { srcDir 'resources' } } } //noinspection GroovyAssignabilityCheck 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, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } task deobfJar(type: Jar) { //noinspection GroovyAssignabilityCheck from sourceSets.main.output classifier = 'deobf' } artifacts { archives deobfJar } curseforge { apiKey = System.getenv().CURSE_API_KEY ? System.getenv().CURSE_API_KEY : "devBuild" //noinspection GroovyAssignabilityCheck project { id = '247661' changelog = project.buildInfo.changes // A file can also be set using: changelog = file('changelog.txt') releaseType = 'release' //addGameVersion '1.10.2' //addGameVersion '1.10.1' addArtifact deobfJar mainArtifact(jar) { displayName = "taiga-${project.buildInfo.revision}" } relations { requiredDependency 'tinkers-construct' } } }