buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } } dependencies { classpath 'net.minecraftforge.gradle:ForgeGradle:1.2-SNAPSHOT' } } // define the properties file ext.configFile = file "build.prop" configFile.withReader { // read config. it shall from now on be referenced as simply config or as project.config def prop = new Properties() prop.load(it) project.ext.config = new ConfigSlurper().parse prop } allprojects { apply plugin: 'java' apply plugin: 'forge' apply plugin: 'maven' group = config.group_name version = config.mod_version archivesBaseName = config.mod_id + "-" + config.minecraft_version minecraft { version = config.minecraft_version + "-" + config.forge_version replaceIn "References.java" replace "@MOD_VERSION@", config.mod_version if(file('../run').exists()) { runDir = "../run" } else { runDir = "" } } } repositories { maven { // The repo from which to get waila name "Mobius Repo" url "http://mobiusstrip.eu/maven" } maven { // the repo from which to get NEI and stuff name 'CB Repo' url "http://chickenbones.net/maven/" } } dependencies { compile "codechicken:CodeChickenCore:1.7.10-1.0.4.35:dev" compile "codechicken:CodeChickenLib:1.7.10-1.1.3.127:dev" compile "codechicken:NotEnoughItems:1.7.10-1.0.4.95:dev" compile "mcp.mobius.waila:Waila:1.5.11-RC2-NONEI_1.7.10" } //Creates a compiled de-obfuscated jar task deobfJar(type: Jar){ from sourceSets.main.output appendix = 'deobf' } //creates a jar containing only the src task sourceJar(type: Jar){ from sourceSets.main.allSource appendix = 'src' } tasks.build.dependsOn('sourceJar', 'deobfJar') processResources { inputs.property "mod_version", project.config.mod_version inputs.property "tfc_version", project.config.tfc_version inputs.property "minecraft_version", project.config.minecraft_version from(sourceSets.main.resources.srcDirs) { include '**/*.info' include '**/*.prop' // replaces expand ([ 'mod_version': project.config.mod_version, 'tfc_version': project.config.tfc_version, 'minecraft_version': project.config.minecraft_version, ]) } // copy everything else, that we didn't copy before from(sourceSets.main.resources.srcDirs) { exclude '**/*.info' exclude '**/*.prop' } } task wrapper(type: Wrapper){ gradleVersion = '2.2.1' }