mirror of
https://github.com/GTNewHorizons/TinkersConstruct.git
synced 2026-10-26 14:33:50 +00:00
207 lines
5.2 KiB
Groovy
207 lines
5.2 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 'FMLAT': 'TConstruct_at.cfg'
|
|
}
|
|
}
|
|
|
|
// Create deobf dev jars
|
|
task deobfJar(type: Jar) {
|
|
from sourceSets.main.output
|
|
classifier = 'deobf'
|
|
manifest {
|
|
attributes 'FMLAT': 'TConstruct_at.cfg'
|
|
}
|
|
}
|
|
|
|
// 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}")}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|