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:2.1-SNAPSHOT' } } apply plugin: 'net.minecraftforge.gradle.forge' apply plugin: 'maven' apply plugin: 'maven-publish' sourceCompatibility = 1.8 targetCompatibility = 1.8 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://maven.modmuss50.me/" } maven { name = "Qmunity" url = "http://maven.bluepowermod.com/" } maven { name "TiC" url "http://dvs1.progwml6.com/files/maven" } ivy { name = 'ThaumCraft 4 API' artifactPattern 'https://dl.dropboxusercontent.com/u/47135879/[module]-1.8.9-[revision]-[classifier].[ext]' } ivy { name "MineTweaker3" // artifactPattern "http://minetweaker3.powerofbytes.com/download/[module]-[classifier]-[revision].[ext]" //This is the offical MT download url artifactPattern "http://www.blamejared.com/content/[module]-[classifier]-Full-[revision].[ext]" //This is a forked version of it to allow 1.8.8 support. } ivy { name "BuildCraft" artifactPattern "https://github.com/AlexIIL/BuildCraft/releases/download/[revision]/[module]-[classifier].[ext]" } maven { name = "Amadornes" url "http://maven.amadornes.com/" } } configurations { shade compile.extendsFrom shade } version = "0.7.11" def ENV = System.getenv() if (ENV.BUILD_NUMBER) { version = version + "." + "${System.getenv().BUILD_NUMBER}" } minecraft { version = "1.8.9-11.15.1.1722" mappings = 'snapshot_20151230' replace "@MODVERSION@", project.version makeObfSourceJar = false useDepAts = true runDir = "run" } group = 'TechReborn' 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.delete() } f.mkdirs() if(!f.exists()){ f.mkdir() } // compile 'net.industrial-craft:industrialcraft-2:2.2.796-experimental:dev' // shade 'net.industrial-craft:industrialcraft-2:2.2.796-experimental:api' // compile "codechicken:CodeChickenLib:1.7.10-1.1.3.140:dev" // compile "codechicken:CodeChickenCore:1.7.10-1.0.7.+:dev" // compile "codechicken:NotEnoughItems:1.7.10-1.0.5.+:dev" // compile "codechicken:ForgeMultipart:1.7.10-1.2.0.345:dev" compile ("mcp.mobius.waila:Waila:1.6.0-B3_1.8.8:dev") { exclude group: 'mcp.mobius.waila' } // compile "qmunity:QmunityLib:0.2.+:deobf" // compile "com.pahimar.ee3:EquivalentExchange3:1.7.10-0.3.507:dev" // compile "net.sengir.forestry:forestry_1.7.10:4.2.0.47:dev" // shade "net.sengir.forestry:forestry_1.7.10:4.2.0.47:api" compile "slimeknights:TConstruct:1.8.8-2.0.1.jenkins11:deobf" // compile "mods.natura:natura:1.7.10-107.779621d:deobf" compile "slimeknights.mantle:Mantle:1.8.8-0.6.jenkins60:deobf" compile "com.github.glitchfiend.biomesoplenty:BiomesOPlenty:1.8.9-3.0.0.1923:deobf" compile 'Azanor:Thaumcraft:5.1.6:deobf@jar' compile "com.github.azanor:baubles:1.1.3.0:deobf@jar" compile name: "CraftTweaker", version: "1.8.8-3.0.0", classifier: "Dev" // shade 'IC2-Classic-API-STANDALONE:IC2-Classic-API-STANDALONE:1.1.0.19-5:api' deobfCompile 'RebornCore:RebornCore-1.8.9:1.4.4.+:universal' deobfCompile "mezz.jei:jei_1.8.9:2.27.+" deobfCompile 'MCMultiPart:MCMultiPart:1.0.6:universal' println("Downloading dependencies that have no maven :/") //This is done becuase grabDep('buildcraft-7.2.0-pre12', 'http://modmuss50.me/files/buildcraft-7.2.0-pre12-deobf.jar') compile files("dep/buildcraft-7.2.0-pre12.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' } } task deobfJar(type: Jar) { from sourceSets.main.output exclude "**/*.psd" classifier = 'dev' } jar { exclude "**/*.psd" classifier = 'universal' // configurations.shade.each { dep -> // from(project.zipTree(dep)){ // include 'ic2/api/' // include 'forestry/api/fuels/' // exclude 'META-INF', 'META-INF/**', '**/*.java' // } // } } task apiJar(type: Jar) { from sourceSets.main.allSource from sourceSets.main.output include 'techreborn/api/**/*' classifier = "api" } apiJar.mustRunAfter deobfJar artifacts { archives deobfJar archives apiJar } build.dependsOn deobfJar, apiJar uploadArchives { repositories { mavenDeployer { //This is used when the build is done on a slave node if (project.hasProperty('mavenPass')) { println 'Uploading to remote Maven Repo' repository(url: "http://mavenupload.modmuss50.me/") { authentication(userName: "buildslave", password: project.getProperty('mavenPass')) } } else { //this is when the build is executed on the master node println 'Uploading to local Maven Repo' 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 'developer' } } } } } } } } task wrapper(type: Wrapper) { //To update the wrapper change the version bellow then run: gradle wrapper gradleVersion = '2.11' }