buildscript { repositories { mavenCentral() maven { name = "forge" url = "http://files.minecraftforge.net/maven" } maven { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } maven { name = "jitpack.io" url = "https://jitpack.io" } } dependencies { classpath 'com.github.GTNH2:ForgeGradle:FG_1.2-SNAPSHOT' } } apply plugin: 'forge' apply plugin: 'idea' apply plugin: 'java' apply plugin: 'signing' apply plugin: 'java-library' 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 = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 compileJava.options.encoding("UTF-8") minecraft { version = "${config.minecraft.version}-${config.forge.version}" runDir = "run" } idea.module.inheritOutputDirs = true 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 { // TConstruct name = 'DVS1 Maven FS' url = 'http://dvs1.progwml6.com/files/maven' } maven { // AppleCore url = "http://www.ryanliptak.com/maven/" } maven { // GalacticGreg, YAMCore,.. name = 'UsrvDE' url = "http://jenkins.usrv.eu:8081/nexus/content/repositories/releases/" } ivy { name = 'gtnh_download_source_stupid_underscore_typo' artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]_[revision].[ext]") } ivy { name = 'gtnh_download_source' artifactPattern("http://downloads.gtnewhorizons.com/Mods_for_Jenkins/[module]-[revision].[ext]") } } dependencies { //Hard dep to start (Without this, it wont compile nor start) compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" //Hard dep to compile (Without this, it wont compile, not even as library) api "appeng:appliedenergistics2:${config.ae2.version}:dev" api "applecore:AppleCore:${config.applecore.version}:api" api "codechicken:CodeChickenLib:${config.minecraft.version}-${config.codechickenlib.version}:dev" api "codechicken:CodeChickenCore:${config.minecraft.version}-${config.codechickencore.version}:dev" api "codechicken:NotEnoughItems:${config.minecraft.version}-${config.nei.version}:dev" api "com.enderio.core:EnderCore:${config.enderiocore.version}:dev" api ("com.enderio:EnderIO:${config.enderio.version}:dev"){ transitive = false } //Soft Depths (Without this, it wont compile, not needed as library) compileOnly "eu.usrv:YAMCore:${config.minecraft.version}-${config.yamcore.version}:deobf" compileOnly "tconstruct:TConstruct:${config.minecraft.version}-${config.tconstruct.version}:deobf" compileOnly "codechicken:Translocator:${config.minecraft.version}-${config.translocators.version}:dev" compileOnly "net.sengir.forestry:forestry_${config.minecraft.version}:${config.forestry.version}:dev" compileOnly files("libs/Galacticraft-API-1.7-${config.gc.version}.jar") compileOnly files("libs/GalacticraftCore-Dev-${config.gc.version}.jar") compileOnly name: "Galacticraft-API", version: config.gc.version, ext: 'jar' compileOnly name: "GalacticraftCore-Dev", version: config.gc.version, ext: 'jar' compileOnly name: 'CoFHLib', version: config.cofhlib.version, ext: 'jar' compileOnly name: 'Railcraft', version: config.railcraft.version, ext: 'jar' compileOnly 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 // 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' } task apiJar(type: Jar) { from sourceSets.main.allSource include("gregtech/api/**") classifier = 'api' } artifacts { archives(devJar) archives(sourceJar) archives(apiJar) } 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 ) } }