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' } } apply plugin: 'forge' //apply plugin: 'idea' //idea.module.inheritOutputDirs = true file "build.properties" withReader { def prop = new Properties() prop.load(it) ext.config = new ConfigSlurper().parse prop } version = "${config.detravscanner.version}" group= "com.detrav.detravscannermod" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "GT Scanner Mod" minecraft { version = "${config.minecraft.version}-${config.forge.version}" runDir = "eclipse" } configurations { provided embedded compile.extendsFrom provided, embedded } repositories { maven { name 'Forge' url 'http://files.minecraftforge.net/maven' } maven { name = "chickenbones" url = "http://chickenbones.net/maven/" } maven { name = "ic2, forestry" url = "http://maven.ic2.player.to/" } maven { // EnderIO & EnderCore name 'tterrag Repo' url "http://maven.tterrag.com" } maven { // AppleCore url "http://www.ryanliptak.com/maven/" } ivy { name "BuildCraft" artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]" } ivy { name 'CoFHLib' artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhlib.cf}/[module]-[revision].[ext]" } ivy { name 'CoFHCore' artifactPattern "http://addons-origin.cursecdn.com/files/${config.cofhcore.cf}/[module]-[revision].[ext]" } ivy { name 'Railcraft' artifactPattern "http://addons-origin.cursecdn.com/files/${config.railcraft.cf}/[module]_[revision].[ext]" } ivy { name 'IC2NuclearControl' artifactPattern "http://addons-origin.cursecdn.com/files/${config.nc.cf}/[module]-[revision].[ext]" } } dependencies { provided ("appeng:appliedenergistics2:${config.ae2.version}:dev") { exclude module: '*' } provided "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev" provided "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev" provided "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" provided "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" provided "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev" provided "applecore:AppleCore:${config.applecore.version}:api" provided "com.enderio.core:EnderCore:${config.enderiocore.version}:dev" provided ("com.enderio:EnderIO:${config.enderio.version}:dev") { transitive = false } provided name: 'buildcraft', version: config.buildcraft.version, classifier: "dev", ext: 'jar' provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' provided name: 'Railcraft', version: config.railcraft.version, ext: 'jar' provided name: 'IC2NuclearControl', version: config.nc.version, ext: 'jar' } processResources { // this will ensure that this task is redone when the versions change. inputs.property "version", project.version inputs.property "mcversion", project.minecraft.version ext.srcFiles = "$projectDir/src/main/resources" ext.destDir = "$projectDir/build/classes/main" // registering inputs & outputs allow gradle to skip if UP-TO-DATE inputs.files srcFiles outputs.dir destDir println 'starting processResources' println 'srcFiles: ' + srcFiles println 'destDir: ' + destDir copy { // replace stuff in mcmod.info, nothing else from(srcFiles) into(destDir) include 'mcmod.info' // replace version and mcversion expand 'version': project.version, 'mcversion': project.minecraft.version } copy { // copy everything else, thats not the mcmod.info from(srcFiles) into(destDir) exclude 'mcmod.info' } }