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'

file "build.properties" withReader {
    def prop = new Properties()
    prop.load(it)
    ext.config = new ConfigSlurper().parse prop
}

version = "${config.gt.version}"
group= "gregtech"
archivesBaseName = "gregtech"


sourceCompatibility = 1.7
targetCompatibility = 1.7

minecraft {
    version = "${config.minecraft.version}-${config.forge.version}"
    runDir = "eclipse"

}

idea { module { inheritOutputDirs = true } }

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/"
    }
    maven { // GalacticGreg, YAMCore,..
        name 'UsrvDE'
        url "http://jenkins.usrv.de:8082/nexus/content/repositories/releases/"
    }
    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]"

    }
		ivy {
        name 'ImmersiveEngineering'
        artifactPattern "http://addons-origin.cursecdn.com/files/${config.immeng.cf}/[module]-[revision].[ext]"
    }
		ivy {
        name 'magneticraft'
        artifactPattern "http://addons-origin.cursecdn.com/files/${config.magneticraft.cf}/[module]-[revision].[ext]"
    }
}

dependencies {
	compile "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf"
	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'
    provided name: 'ImmersiveEngineering', version: config.immeng.version, ext: 'jar'
    provided name: 'magneticraft', version: config.magneticraft.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

    // 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'
    }
	exclude '**/Thumbs.db'
}

task sourceJar(type: Jar) {
    from sourceSets.main.allSource
    classifier = 'sources'
}

task devJar(type: Jar) {
    from sourceSets.main.output
    classifier = 'dev'
    manifest {
        //attributes 'FMLCorePlugin': 'WhateverLoaderClass'
        //attributes 'FMLCorePluginContainsFMLMod': 'true'
    }
}

artifacts {
    archives devJar
}