BloodMagic/build.gradle
Nicholas Ignoffo d99cf77288 Move config to annotation system
All old configs must be deleted for this to work properly. Since the rest
of the update is filled with world breaking changes, this should be fine.

Also some mapping updates

(cherry picked from commit d587a8c)
2018-02-04 19:01:27 -08:00

175 lines
4.3 KiB
Groovy

buildscript {
repositories {
mavenCentral()
maven { url "http://files.minecraftforge.net/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
}
}
plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
id 'com.matthewprenger.cursegradle' version '1.0.9'
id 'io.franzbecker.gradle-lombok' version '1.6'
id 'maven-publish'
}
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}"
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" }
maven { url "http://tehnut.info/maven" }
}
dependencies {
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}"
deobfCompile "mcp.mobius.waila:Hwyla:${waila_version}"
deobfCompile "info.amerifrance.guideapi:Guide-API:${guideapi_version}"
}
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
replace "@VERSION@", project.version
replaceIn "Constants.java"
clientRunArgs += "--username=${username}"
if (project.hasProperty('mappings_version'))
mappings = project.mappings_version
}
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
include '**/*.properties'
expand 'version': project.version, 'mcversion': project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
exclude '**/*.properties'
}
}
if (JavaVersion.current().isJava8Compatible()) {
allprojects {
tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
}
}
}
jar {
classifier = ''
manifest.mainAttributes(
"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}"
)
}
// API jar
task apiJar(type: Jar) {
from sourceSets.main.allSource
from sourceSets.main.output
include 'WayofTime/bloodmagic/api/**/*'
classifier = 'api'
}
// Javadoc jar
task javadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
classifier = 'javadoc'
}
tasks.build.dependsOn javadoc, javadocJar, apiJar
tasks.withType(JavaCompile) { task ->
task.options.encoding = 'UTF-8'
}
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifact jar
artifact javadocJar
artifact sourceJar
artifact apiJar
}
}
repositories {
if (project.hasProperty('maven_repo')) {
maven { url maven_repo }
} else {
mavenLocal()
}
}
}
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++
if (it.startsWith(separator)) {return}
}
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
}
def curseRelations = {
optionalLibrary 'just-enough-items-jei'
optionalLibrary 'hwyla'
requiredLibrary 'guide-api'
}
curseforge {
if (project.hasProperty('curse_key_WayofTime'))
apiKey = project.curse_key_WayofTime
project {
id = "${curse_id}"
changelog = getChangelogText()
releaseType = 'beta'
relations curseRelations
addArtifact javadocJar
addArtifact sourceJar
addArtifact apiJar
}
}