// For those who want the bleeding edge 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.2-SNAPSHOT' classpath 'gradle.plugin.com.matthewprenger:CurseGradle:1.0.7' } } 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" minecraft { version = "1.10.2-12.18.1.2011" 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 allways work. // simply re-run your setup task after changing the mappings to update your workspace. mappings = "snapshot_20160701" // makeObfSourceJar = false // an Srg named sources jar is made by default. uncomment this to disable. replace "${version}", project.version } dependencies { //deobfCompile "codechicken:CodeChickenLib:1.9.4-2.0.2.39:deobf" //deobfCompile "codechicken:CodeChickenCore:1.9.4-2.0.3.65:deobf" //deobfCompile "codechicken:NotEnoughItems:1.9-${nei_version}:dev" deobfCompile "slimeknights.mantle:Mantle:1.10.2-0.10.3.jenkins161:deobf" //Old: deobfCompile "slimeknights.mantle:Mantle:1.9-0.10.0.jenkins132:deobf" deobfCompile "mezz.jei:jei_1.10.2:3.7.6.231" deobfCompile "slimeknights:TConstruct:1.10-2.3.3a.jenkins271:deobf" //compile files('libs/TConstruct-1.9-2.3.1.DEV.1d4c1de-deobf.jar') } sourceSets { main { resources { srcDir 'resources' } } } task buildInfo { def cmd = "git name-rev --tags --name-only \$(git rev-parse HEAD)" def proc = cmd.execute() proc.waitFor() if (proc.exitValue() == 0) { project.ext.tag = proc.text.trim() } if (System.getenv().BUILD_NUMBER != null) { ext.buildNum = System.getenv().BUILD_NUMBER } project.ext.mc_version = project.minecraft.version.split('-')[0] def cmd_changes = "git log `git describe --tags \$(git rev-list --tags --max-count=2) | sed -n '2p'`..`git describe --tags --abbrev=0` --oneline" def proc_changes = cmd_changes.execute() proc_changes.waitFor() if (proc_changes.exitValue() == 0) { project.ext.changes = proc_changes.text.trim() } else { project.ext.changes = "" } } version = tag ? "${mc_version}-${tag}" : "${mc_version}-snapshot" //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) { from sourceSets.main.output classifier = 'deobf' } artifacts { archives deobfJar } curseforge { apiKey = System.getenv().CURSE_API_KEY ? System.getenv().CURSE_API_KEY : "devBuild" project { id = '247661' changelog = project.changes // A file can also be set using: changelog = file('changelog.txt') releaseType = 'release' mainArtifact(jar) { displayName = "taiga-$project.tag" } } }