
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
)
175 lines
4.3 KiB
Groovy
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
|
|
}
|
|
}
|