BloodMagic/build.gradle

183 lines
4.5 KiB
Groovy
Raw Permalink Normal View History

2014-10-31 15:07:43 -07:00
buildscript {
repositories {
mavenCentral()
maven { url "http://files.minecraftforge.net/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
2014-10-31 15:07:43 -07:00
}
dependencies {
2018-03-09 23:53:56 -08:00
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
2014-10-31 15:07:43 -07:00
}
}
plugins {
2018-03-09 23:53:56 -08:00
id "net.minecraftforge.gradle.forge" version "2.0.2"
id 'com.matthewprenger.cursegradle' version '1.1.0'
id 'maven-publish'
}
2016-01-02 17:14:48 -08:00
def build_number = 'CUSTOM'
if (System.getenv('BUILD_NUMBER') != null)
build_number = System.getenv('BUILD_NUMBER')
def username = "${mod_name}"
if (project.hasProperty('dev_username'))
username = "${dev_username}"
group = package_group
archivesBaseName = mod_name
version = "${mc_version}-${mod_version}-${build_number}"
2014-10-31 15:07:43 -07:00
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" }
2018-03-09 23:53:56 -08:00
maven { url "http://tehnut.info/maven" }
2014-10-31 15:07:43 -07:00
}
dependencies {
2016-03-18 04:07:49 -07:00
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}"
deobfCompile "mcp.mobius.waila:Hwyla:${waila_version}"
deobfCompile "info.amerifrance.guideapi:Guide-API:${guideapi_version}"
}
2014-10-31 15:07:43 -07:00
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
replace "@VERSION@", project.version
2018-02-11 00:09:04 -08:00
replaceIn "BloodMagic.java"
clientRunArgs += "--username=${username}"
if (project.hasProperty('mappings_version'))
mappings = project.mappings_version
}
2014-10-31 15:07:43 -07:00
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
2014-10-31 15:07:43 -07:00
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
include '**/*.properties'
2014-10-31 15:07:43 -07:00
expand 'version': project.version, 'mcversion': project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
exclude '**/*.properties'
}
2014-10-31 15:07:43 -07:00
}
2018-02-14 23:37:23 -08:00
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
jar {
classifier = ''
2018-02-14 23:37:23 -08:00
from sourceSets.main.output
from sourceSets.api.output
manifest.mainAttributes(
2018-03-09 23:53:56 -08:00
"Built-By": System.getProperty('user.name'),
"Created-By": "${System.getProperty('java.vm.version')} + (${System.getProperty('java.vm.vendor')})",
"Implementation-Title": project.name,
"Implementation-Version": project.version,
"Built-On": "${mc_version}-${forge_version}"
)
}
task apiJar(type: Jar) {
classifier = 'api'
2018-02-14 23:37:23 -08:00
from sourceSets.api.output
// TODO: when FG bug is fixed, remove allJava from the api jar.
// https://github.com/MinecraftForge/ForgeGradle/issues/369
// Gradle should be able to pull them from the -sources jar.
from sourceSets.api.allJava
}
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier = 'javadoc'
2014-10-31 15:07:43 -07:00
}
2018-02-14 23:37:23 -08:00
task sourcesJar(type: Jar) {
classifier = 'sources'
from sourceSets.main.allJava
from sourceSets.api.allJava
}
tasks.build.dependsOn javadoc, javadocJar, apiJar, sourcesJar
2014-10-31 15:07:43 -07:00
tasks.withType(JavaCompile) { task ->
task.options.encoding = 'UTF-8'
}
2014-10-31 15:07:43 -07:00
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifact jar
artifact javadocJar
2018-02-14 23:37:23 -08:00
artifact sourcesJar
artifact apiJar
}
}
repositories {
if (project.hasProperty('maven_repo')) {
maven { url maven_repo }
} else {
mavenLocal()
}
}
}
2014-10-31 15:07:43 -07:00
2016-01-03 16:53:26 -08:00
String getChangelogText() {
def changelogFile = new File('changelog.txt')
String str = ''
String separator = '---'
int lineCount = 0
boolean done = false
changelogFile.eachLine {
if (done || it == null) {
return
}
if (lineCount < 3) {
lineCount++
2018-03-09 23:53:56 -08:00
if (it.startsWith(separator)) {
return
}
2016-01-03 16:53:26 -08:00
}
if (!it.startsWith(separator)) {
str += "$it" + (lineCount < 3 ? ':\n\n' : '\n')
return
}
done = true // once we go past the first version block, parse no more
}
return str
}
2016-01-02 17:14:48 -08:00
def curseRelations = {
2017-08-19 20:45:11 -07:00
optionalLibrary 'jei'
optionalLibrary 'hwyla'
requiredLibrary 'guide-api'
2016-01-02 17:14:48 -08:00
}
curseforge {
if (project.hasProperty('curse_key_TehNut'))
2019-01-31 19:53:46 -08:00
apiKey = project.curse_key_TehNut
project {
id = "${curse_id}"
2016-01-03 16:53:26 -08:00
changelog = getChangelogText()
2018-08-26 14:05:41 -07:00
releaseType = 'beta'
2016-01-02 17:14:48 -08:00
relations curseRelations
addArtifact javadocJar
2018-02-14 23:37:23 -08:00
addArtifact sourcesJar
addArtifact apiJar
}
}