Files
TinkersConstruct/build.gradle
T

209 lines
5.3 KiB
Groovy

/*
* Tinkers Construct
* Master build file
*
* Authors: Sunstrike, ProgWML6
* Help from AbrarSyed
*/
buildscript {
repositories {
mavenCentral()
mavenLocal()
maven {
name = 'ForgeFS'
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 'CB Maven FS'
url "http://chickenbones.net/maven/"
}
/*maven {
name "ProfMobius Maven FS"
url "http://mobiusstrip.eu/maven"
}*/
maven {
name 'DVS1 Maven FS'
url 'http://dvs1.progwml6.com/files/maven'
}
maven {
name 'ForgeFS'
url 'http://files.minecraftforge.net/maven'
}
}
// Load ForgeGradle
apply plugin: 'forge'
group = 'tconstruct'
// Define properties file
ext.configFile = file "build.properties"
configFile.withReader {
// Load config. It shall from now be referenced as simply config or project.config
def prop = new Properties()
prop.load(it)
project.ext.config = new ConfigSlurper().parse prop
}
configurations {
deployerJars
}
dependencies {
compile "mantle:Mantle:${config.minecraft_version}-${config.mantle_version}:deobf"
compile "codechicken:CodeChickenLib:${config.minecraft_version}-${config.CCLIB_version}:dev"
compile "codechicken:CodeChickenCore:${config.minecraft_version}-${config.ccc_version}:dev"
compile "codechicken:NotEnoughItems:${config.minecraft_version}-${config.NEI_version}:dev"
//compile "mcp.mobius.waila:Waila:${config.waila_version}:dev"
deployerJars 'org.apache.maven.wagon:wagon-ssh:2.2'
}
// Finds and sets version data
task buildInfo {
def cmd = "git rev-parse --short HEAD"
def proc = cmd.execute()
proc.waitFor()
if (proc.exitValue() == 0) {
ext.revision = proc.text.trim()
} else {
ext.revision = "GITBORK"
}
if (System.getenv().BUILD_NUMBER != null) {
ext.buildNum = "build${System.getenv().BUILD_NUMBER}"
} else {
ext.buildNum = "DEV.${project.buildInfo.revision}"
}
}
ext.artifact_version = 'NFG'
if (System.getenv().ARTIFACT_VERSION == null) {
artifact_version = "${config.mod_version}.${project.buildInfo.buildNum}"
}
if (System.getenv().ARTIFACT_VERSION != null) {
artifact_version = "${system.getenv().ARTIFACT_VERSION}"
}
version = "${config.minecraft_version}-${artifact_version}"
minecraft {
version = config.minecraft_version + "-" + config.forge_version
runDir = 'run'
replace '${version}', project.version
}
sourceSets {
main {
resources {
srcDir 'resources'
}
}
}
processResources
{
// Replace stuff in text files, not binaries.
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
// Replace version and MCversion
expand 'version':artifact_version,'MCversion':config.minecraft_version
}
// Copy everything else that's not text
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
}
}
// Add Coremod Manifest
jar {
manifest {
attributes 'FMLCorePlugin': 'tconstruct.preloader.TConstructLoaderContainer'
attributes 'FMLCorePluginContainsFMLMod': 'true'
}
}
// Create deobf dev jars
task deobfJar(type: Jar) {
from sourceSets.main.output
classifier = 'deobf'
manifest {
attributes 'FMLCorePlugin': 'tconstruct.preloader.TConstructLoaderContainer'
attributes 'FMLCorePluginContainsFMLMod': 'true'
}
}
// Create API library jar
task libJar(type: Jar) {
from(sourceSets.main.java) {
include "tconstruct/library/*"
}
classifier = 'lib'
}
// Create Maven source jar
task sourceJar(type: Jar, dependsOn:classes) {
classifier = 'sources'
from sourceSets.main.allJava
}
artifacts {
archives deobfJar
archives libJar
archives sourceJar
}
// verify the properties exist.. or initialize.
if (!project.hasProperty("keystore_location")) // keystore location
ext.keystore_location = ".";
if (!project.hasProperty("keystore_user_alias")) // keystore user alias
ext.keystore_user_alias = "";
if (!project.hasProperty("sftp_username"))
ext.sftp_username = "";
if (!project.hasProperty("sftp_key"))
ext.sftp_key = "";
if (!project.hasProperty("keystore_user_password")) // keystore user pass
ext.keystore_user_password = "";
if (System.getenv().KSK_PW != null)
ext.keystore_user_password =System.getenv().KSK_PW;
task("uploadJars", dependsOn:"build") {
description = "uploads JARs"
if (project.hasProperty("local_maven") || project.hasProperty("sftp_maven")) {
apply plugin: 'maven'
uploadArchives {
repositories {
if(project.hasProperty("local_maven"))
{
mavenDeployer {
repository(url: "file://${local_maven}")
}
}
if(project.hasProperty("sftp_maven")) {
repositories.mavenDeployer {
configuration = configurations.deployerJars
repository(url: "sftp://${sftp_maven}"){
authentication(userName: "${sftp_username}",privateKey: "${sftp_key}")}
}
}
}
}
}
}