SteamCraft2/build.gradle

188 lines
5.5 KiB
Groovy

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'
}