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.sonarqube" version "2.2" } apply plugin: 'forge' apply plugin: 'signing' apply plugin: 'idea' idea{ module { downloadJavadoc = true downloadSources = true } } import de.undercouch.gradle.tasks.download.Download sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 sourceCompatibility = 1.8 targetCompatibility = 1.8 compileJava.options.encoding = 'UTF-8' ext.configFile = file "build.properties" configFile.withReader { def prop = new Properties() prop.load(it) project.ext.config = new ConfigSlurper().parse prop } version = config.majorUpdate+"."+config.minorUpdate+"."+config.buildNumber group= "com.github.bartimaeusnek.bartworks" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "bartworks"+ "[" + config.mc_version + "]" minecraft { version = "1.7.10-10.13.4.1614-1.7.10" replaceIn "MainMod.java" replaceIn "API_REFERENCE.java" replace "@version@", project.version replace "@apiversion@", config.APIVersion runDir = "run" } repositories { mavenLocal() maven { name = "ic2" url = "http://maven.ic2.player.to/" } 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]" } maven { name = "gt" url = "https://gregtech.overminddl1.com/" } maven { url = "http://maven.cil.li/" } } dependencies { compile "net.industrial-craft:industrialcraft-2:${config.ic2.version}:dev" compile "micdoodle8.mods:MicdoodleCore:${config.galacticraft.version}:Dev" compile "micdoodle8.mods:GalacticraftCore:${config.galacticraft.version}:Dev" compile "micdoodle8.mods:Galacticraft-Planets:${config.galacticraft.version}:Dev" compile "li.cil.oc:OpenComputers:MC1.7.10-1.5.+:api" compileOnly "applecore:AppleCore:${config.applecore.version}:api" compileOnly "com.enderio.core:EnderCore:${config.enderiocore.version}:dev" compileOnly "com.enderio:EnderIO:${config.enderio.version}:dev" compileOnly "com.enderio:EnderIO:${config.enderio.version}:dev" } task getRailCraft(type: Download) { onlyIf { !file("libs/Railcraft_1.7.10-9.12.2.0-dev.jar").exists() } src 'http://downloads.gtnewhorizons.com/Mods_for_Jenkins/Railcraft_1.7.10-9.12.2.0-dev.jar' dest file("libs/Railcraft_1.7.10-9.12.2.0-dev.jar") mustRunAfter "deobfBinJar" mustRunAfter "repackMinecraft" } //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" //} tasks.setupCIWorkspace.dependsOn getRailCraft tasks.setupDevWorkspace.dependsOn getRailCraft tasks.setupDecompWorkspace.dependsOn getRailCraft tasks.compileJava.dependsOn getRailCraft 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' } } jar { exclude ("assets/gregtech/textures/items/materialicons/copy.bat") manifest { attributes 'FMLCorePlugin': 'com.github.bartimaeusnek.ASM.BWCorePlugin','FMLCorePluginContainsFMLMod': 'true' } } task apiJar(type: Jar){ from(sourceSets.main.output) { include 'com/github/bartimaeusnek/bartworks/API/**' } classifier = 'API' } task sourceJar(type: Jar) { from sourceSets.main.allSource classifier = 'sources' } task devJar(type: Jar) { from sourceSets.main.output classifier = 'dev' } artifacts { archives devJar archives sourceJar archives apiJar } sonarqube { properties { property "sonar.projectName", "bartworks" property "sonar.projectKey", "bartimaeusnek_bartworks" } } 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 ) } }