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: 'maven'
apply plugin: 'maven-publish'


repositories {
    maven {
        name = "ic2"
        url = "http://maven.ic2.player.to/"
    }
    maven {
        name "Mobius Repo"
        url "http://mobiusstrip.eu/maven"
    }
    maven {
        name 'CB Repo'
        url "http://chickenbones.net/maven/"
    }
    maven {
        name = "Modmuss50"
        url = "http://modmuss50.me/maven/"
    }
    maven {
        name = "Qmunity"
        url = "http://maven.bluepowermod.com/"
    }
    ivy {
        name "BuildCraft"
        artifactPattern "http://www.mod-buildcraft.com/releases/BuildCraft/[revision]/[module]-[revision]-[classifier].[ext]"
    }
    maven {
        name "TiC"
        url "http://dvs1.progwml6.com/files/maven"
    }
    ivy {
        name = 'ThaumCraft 4 API'
        artifactPattern 'https://dl.dropboxusercontent.com/u/47135879/[module](-[classifier])-1.7.10-[revision](.[ext])'
    }
}

def ENV = System.getenv()
if (ENV.BUILD_NUMBER) {
    version = "0.1." + "${System.getenv().BUILD_NUMBER}"
} else {
    version = "0.1.BUILD"
}

minecraft {
    version = "1.7.10-10.13.3.1403-1.7.10"
    replace "@MODVERSION@", project.version
}

group = 'TechReborn'

task deleteOldArtifacts(type: Delete) {
    delete 'build/libs'
}

classes.dependsOn deleteOldArtifacts

def grabDep(name, url) {
    ant.get(src: url, dest: 'dep')
    file("dep/" + url.substring(url.lastIndexOf("/"))).renameTo(file("dep/" + name + ".jar"))
}

dependencies {
    def f = new File('dep/')
    if (!f.exists()) {
        f.mkdirs()
    }
    if (!f.exists()) {
        f.mkdir()
    }
    compile 'net.industrial-craft:industrialcraft-2:2.2.736-experimental:dev'
    compile "codechicken:CodeChickenLib:1.7.10-1.1.3.136:dev"
    compile "codechicken:CodeChickenCore:1.7.10-1.0.6.+:dev"
    compile "codechicken:NotEnoughItems:1.7.10-1.0.4.+:dev"
    compile "codechicken:ForgeMultipart:1.7.10-1.2.0.345:dev"
    compile "mcp.mobius.waila:Waila:1.5.10_1.7.10:dev"
    compile name: 'buildcraft', version: '7.0.9', classifier: "dev", ext: 'jar'
    compile "qmunity:QmunityLib:0.1.+:deobf"
    compile "com.pahimar.ee3:EquivalentExchange3:1.7.10-0.3.505:dev"
    compile "net.sengir.forestry:forestry_1.7.10:3.5.7.16:dev"
    compile "tconstruct:TConstruct:1.7.10-1.8.5.build958:deobf"
    compile "mods.natura:natura:1.7.10-98.6a6cca1:deobf"
    compile "mantle:Mantle:1.7.10-0.3.2.jenkins187:deobf"
    compile "com.github.glitchfiend.biomesoplenty:BiomesOPlenty:1.7.10-2.1.0.1283:deobf"
    compile 'Azanor:Thaumcraft:4.2.3.5:deobf@jar'
    compile "com.github.azanor:baubles:1.0.1.10:deobf@jar"
}


processResources
        {
            // replace stuff in mcmod.info, nothing else
            from(sourceSets.main.resources.srcDirs) {
                include 'mcmod.info'

                // replace version and mcversion
                // ${version}   are the exact strings being replaced
                expand '@MODVERSION@':project.version
            }

            // copy everything else, that's not the mcmod.info
            from(sourceSets.main.resources.srcDirs) {
                exclude 'mcmod.info'
            }
        }
task sourceJar(type: Jar) {
    from sourceSets.main.allSource
    appendix = 'src'
    classifier = 'src'
}

task deobfJar(type: Jar) {
    from sourceSets.main.output
    appendix = 'dev'
    exclude "**/*.psd"
    classifier = 'dev'
}

jar {
    exclude "**/*.psd"
    appendix = 'universal'
    classifier = 'universal'
}

task apiJar(type: Jar) {
    from sourceSets.main.allSource
    from sourceSets.main.output
        include 'techreborn/api/**/*'

    appendix = 'api'
    classifier = "api"

}

apiJar.mustRunAfter deobfJar

artifacts {
    archives sourceJar
    archives deobfJar
    archives apiJar
}

uploadArchives {
    repositories {
        mavenDeployer {
            repository(url: "file:///var/www/maven/")
            pom {
                groupId = "TechReborn"
                version = project.version
                artifactId = project.archivesBaseName
                project {
                    name project.archivesBaseName
                    packaging 'jar'
                    description 'TechReborn'
                    url 'https://github.com/TechReborn/TechReborn'
                    scm {
                        url 'https://github.com/TechReborn/TechReborn'
                        connection 'scm:git:git@github.com:TechReborn/TechReborn.git'
                        developerConnection 'scm:git:git@github.com:TechReborn/TechReborn.git'
                    }
                    issueManagement {
                        system 'github'
                        url 'https://github.com/TechReborn/TechReborn/issues'
                    }
                    licenses {
                        license {
                            name 'License'
                            url 'https://raw.githubusercontent.com/TechReborn/TechReborn/master/LICENSE.md'
                            distribution 'repo'
                        }
                    }
                    developers {
                        developer {
                            id 'modmuss50'
                            name 'modmuss50'
                            roles { role 'developer' }
                        }
                        developer {
                            id 'Gigabit101'
                            name 'Gigabit101'
                            roles { role 'Gigabit101' }
                        }
                    }
                }
            }
        }
    }
}

task wrapper(type: Wrapper) {
    //To update the wrapper change the version bellow then run: gradle wrapper
    gradleVersion = '2.4'
}