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' classpath "de.undercouch:gradle-download-task:3.1.2" } } plugins { id 'org.ajoberstar.grgit' version '3.1.1' } import de.undercouch.gradle.tasks.download.Download apply plugin: 'forge' apply plugin: 'signing' allprojects { apply plugin: 'java' sourceCompatibility = 1.8 targetCompatibility = 1.8 } sourceSets { main { java { srcDir 'src/main/java' srcDir 'AVRcore/src' } } } file "build.properties" withReader { def prop = new Properties() prop.load(it) ext.config = new ConfigSlurper().parse prop } version = "${config.minecraft.version}-${config.tectech.version}" group = "com.github.technus" archivesBaseName = "TecTech" minecraft { version = "${config.forge.version}" runDir = "eclipse" replaceIn "src/main/java/com/github/technus/tectech/auxiliary/Reference.java" replace "GRADLETOKEN_VERSION", "${config.tectech.version}" } configurations { provided embedded compile.extendsFrom provided, embedded } repositories { maven { name 'UsrvDE' url "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/" } maven { name = "ic2" url = "http://maven.ic2.player.to/" } ivy { name 'gtnh_download_source' artifactPattern "http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]" } maven { name = "chickenbones" url = "http://chickenbones.net/maven/" } } dependencies { compile "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf" compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" //provided name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' provided name: 'CoFHCore', version: config.cofhcore.version, ext: 'jar' compile "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev" compile "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev" compile "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" } task getGregTech(type: Download) { onlyIf { !file("libs/gregtech-${config.gregtech.version}-dev.jar").exists() } src "http://jenkins.usrv.eu:8080/job/Gregtech-5-Unofficial/${config.gregtech.jenkinsbuild}/artifact/build/libs/gregtech-${config.gregtech.version}-dev.jar" dest file("libs/gregtech-${config.gregtech.version}-dev.jar") mustRunAfter "deobfBinJar" mustRunAfter "repackMinecraft" delete fileTree("$projectDir/libs/") { include 'gregtech-*-dev.jar' exclude "gregtech-${config.gregtech.version}-dev.jar" } } task submodulesUpdate(type: Exec) { description 'Updates (and inits) git submodules' commandLine 'git', 'submodule', 'update', '--init', '--recursive','--remote' group 'Build Setup' } tasks.setupCIWorkspace.dependsOn submodulesUpdate tasks.setupDevWorkspace.dependsOn submodulesUpdate tasks.setupDecompWorkspace.dependsOn submodulesUpdate tasks.compileJava.dependsOn submodulesUpdate tasks.sourceMainJava.dependsOn submodulesUpdate tasks.setupCIWorkspace.dependsOn getGregTech tasks.setupDevWorkspace.dependsOn getGregTech tasks.setupDecompWorkspace.dependsOn getGregTech tasks.compileJava.dependsOn getGregTech processResources { def cleanVersion = project.version.split('-')[1] // this will ensure that this task is redone when the versions change. inputs.property "version", cleanVersion 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': cleanVersion, 'mcversion': project.minecraft.version } // copy everything else, thats not the mcmod.info from(sourceSets.main.resources.srcDirs) { exclude 'mcmod.info' } } task signJar(dependsOn: 'reobf') { doLast { ant.signjar( destDir: jar.destinationDir, jar: jar.getArchivePath(), alias: findProperty('keyStoreAlias') ?: '', keystore: findProperty('keyStore') ?: '', storepass: findProperty('keyStorePass') ?: '', digestalg: findProperty('signDigestAlg') ?: '', tsaurl: findProperty('signTSAurl') ?: '', verbose: true ) } }