Files
Chisel/build.gradle
T

168 lines
4.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'
classpath 'org.ajoberstar:gradle-git:0.10.1'
}
}
apply plugin: 'forge'
apply plugin: 'maven-publish'
apply plugin: 'curseforge'
import org.ajoberstar.grgit.Grgit
def repo = Grgit.open(project.file('.'))
project.ext.gitHash = repo.log().find().abbreviatedId
boolean dev = project.hasProperty('chisel_dev') && project.chisel_dev.equalsIgnoreCase('true')
ext.buildnumber = 0
project.buildnumber = System.getenv('BUILD_NUMBER') != null ? System.getenv('BUILD_NUMBER') : project.ext.gitHash
version = "${mod_version}.${buildnumber}"
group = "com.cricketcraft.chisel" // http://maven.apache.org/guides/mini/guide-naming-conventions.html
archivesBaseName = dev ? "Chisel2_DEV" : "Chisel2"
minecraft {
version = "${minecraft_version}-${forge_version}"
runDir = "run"
replaceIn "Chisel.java"
replace "@VERSION@", project.version
}
repositories {
maven {
name 'Chicken Bones Repo'
url "http://chickenbones.net/maven/"
}
maven {
name 'Prof Mobius Repo'
url "http://mobiusstrip.eu/maven"
}
}
dependencies {
compile "mcp.mobius.waila:Waila:${waila_version}_${minecraft_version}:dev"
compile "codechicken:CodeChickenLib:${minecraft_version}-${ccl_version}:dev"
compile "codechicken:CodeChickenCore:${minecraft_version}-${ccc_version}:dev"
compile "codechicken:NotEnoughItems:${minecraft_version}-${nei_version}:dev"
compile "codechicken:ForgeMultipart:${minecraft_version}-${fmp_version}:dev"
}
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'
}
}
// Create deobf dev jars
task deobfJar(type: Jar) {
from sourceSets.main.output
classifier = 'deobf'
}
// Create API jar with sources and compiled files
task apiJar(type: Jar) {
from sourceSets.main.allSource
from sourceSets.main.output
include 'com/cricketcraft/chisel/api/**/*'
classifier = 'api'
}
// Create source attachment for dev jar
task sourcesJar(type: Jar) {
from sourceSets.main.allJava
classifier = 'sources'
}
artifacts {
archives deobfJar
archives sourcesJar
archives apiJar
}
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifact jar
artifact deobfJar
artifact sourcesJar
artifact apiJar
}
}
repositories {
String prop = dev ? "chisel_dev_mavendir" : "chisel_mavendir"
if (project.hasProperty(prop)) {
maven { url project.getProperty(prop) }
}
}
}
println('Changelog:\n' + getChangelogText())
String getChangelogText() {
def changelogFile = new File('changelog')
String str = ''
int lineCount = 0
boolean done = false
changelogFile.eachLine {
if (done || it == null) {
return
}
if (it.size() > 1) {
def temp = "$it" + (lineCount == 0 ? '\n\n' : '\n')
str += (it.startsWith('-') ? '' : '\n') + "$temp"
lineCount++
return
} else {
done = true
}
}
return str
}
curse {
dependsOn 'reobf'
onlyIf {
return project.hasProperty('chisel_curseforge_key') && System.getenv("CURSE") != null && System.getenv("CURSE").equalsIgnoreCase("true")
}
if (project.hasProperty('chisel_curseforge_key')) apiKey = project.chisel_curseforge_key
projectId = project.projectId
changelog = System.getenv("CHANGELOG").equals("none") ? getChangelogText() : System.getenv("CHANGELOG")
releaseType = 'release'
displayName = "Chisel 2 - ${mod_version}"
additionalArtifact deobfJar, sourcesJar, apiJar
}