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' } } repositories { maven { name "K4Repo" url "http://maven.k-4u.nl" } maven { name = "ic2" url = "http://maven.ic2.player.to/" } ivy { name = 'ThaumCraft 4 API' artifactPattern 'https://dl.dropboxusercontent.com/u/47135879/[module](-[classifier])-1.7.10-[revision](.[ext])' } maven { name "RX14" url "http://mvn.rx14.co.uk/repo/" } maven { name "Tterrag" url "http://maven.tterrag.com" } } apply plugin: 'forge' project.ext { buildNum = System.getenv("BUILD_NUMBER") mcVersion = "1.7.10" } version = project.ext.mcVersion + "-B5.0.2" + project.ext.buildNum group= "brassgoggledcoders" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "steamcraft2" minecraft { version = "${project.ext.mcVersion}-10.13.4.1490-${project.ext.mcVersion}" runDir = "eclipse" } dependencies { compile "brassgoggledcoders:boilerplate:1.7.10-6.3.0.81:deobf" compile 'com.mod-buildcraft:buildcraft:6.4.16:dev' compile 'net.industrial-craft:industrialcraft-2:2.2.727-experimental:api' compile 'Azanor:Thaumcraft:4.2.3.5:deobf@jar' compile 'team.chisel:Chisel:2.9.0.3:deobf' compile 'team.chisel.ctmlib:CTMLib:MC1.7.10-1.3.0.2:deobf' compile name: "Botania", group: "vazkii.botania", version: "r1.6-190.6", classifier: "deobf" compile files("libs/Railcraft_1.7.10-9.7.0.0-dev.jar") runtime 'Azanor:Baubles:1.0.1.10:deobf@jar' } task getLibraries { def libsFolder = new File('libs') if (!libsFolder.isDirectory()) { libsFolder.mkdirs() } def railcraftSource = 'https://dl.dropboxusercontent.com/u/38558957/Minecraft/Railcraft/Railcraft_1.7.10-9.7.0.0-dev.jar' def railcraftDest = new File('libs', 'Railcraft_1.7.10-9.7.0.0-dev.jar') if(!railcraftDest.exists()){ railcraftDest.withOutputStream { out -> new URL(railcraftSource).withInputStream { from -> out << from; } } } } 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 { classifier = "universal" } task deobfJar(type: Jar) { from(sourceSets.main.output) { classifier = "deobf" } } // Create API library zip task apiZip(type: Zip) { from(sourceSets.main.java) { include 'steamcraft/api/**' destinationDir = file 'output' classifier = "api" } } apiZip.mustRunAfter deobfJar artifacts { archives deobfJar } task("uploadJars", dependsOn: "reobf") { description = "uploads JARs" if (System.getenv("local_maven") != null) { apply plugin: 'maven' uploadArchives { repositories { mavenDeployer { repository(url: "file://" + System.getenv("local_maven")) pom { groupId = project.group version = project.version artifactId = project.archivesBaseName project { name project.archivesBaseName packaging 'jar' description 'SteamCraft2' url '' scm { url 'https://github.com/BrassGoggledCoders/SteamCraft2' connection 'scm:git:git@github.com:BrassGoggledCoders/SteamCraft2.git' developerConnection 'scm:git:git@github.com:BrassGoggledCoders/SteamCraft2.git' } issueManagement { system 'github' url 'https://github.com/BrassGoggledCoders/SteamCraft2/issues' } licenses { license { name 'MMPL' url 'https://github.com/BrassGoggledCoders/SteamCraft2/blob/master/LICENSE' distribution 'repo' } } developers { developer { id 'warlordjones' name 'warlordjones' roles { role 'developer' } //TODO } } } } } } } } } configurations.all { // check for updates every build resolutionStrategy.cacheDynamicVersionsFor 0, 'seconds' }