154 lines
3.7 KiB
Groovy
154 lines
3.7 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.1-SNAPSHOT'
|
|
classpath 'org.ajoberstar:gradle-git:0.10.1'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'com.matthewprenger.cursegradle' version '1.0.1'
|
|
id "net.minecraftforge.gradle.forge" version "2.0.2"
|
|
id 'net.franz-becker.gradle-lombok' version '1.5'
|
|
}
|
|
|
|
apply plugin: 'maven-publish'
|
|
|
|
def build_number = 'CUSTOM'
|
|
|
|
if (System.getenv('BUILD_NUMBER') != null)
|
|
build_number = System.getenv('BUILD_NUMBER')
|
|
|
|
group = package_group
|
|
archivesBaseName = mod_name
|
|
version = "${mc_version}-${mod_version}-${build_number}"
|
|
|
|
// Ignore this error. It'll work just fine when building.
|
|
import org.ajoberstar.grgit.*
|
|
|
|
ext.repo = Grgit.open(project.file('.'))
|
|
def gitHash = 'unknown'
|
|
|
|
if (new File(projectDir, '.git').exists())
|
|
gitHash = repo.log().find().abbreviatedId
|
|
|
|
repositories {
|
|
maven { url "http://dvs1.progwml6.com/files/maven" }
|
|
}
|
|
|
|
dependencies {
|
|
deobfCompile "mezz.jei:jei_1.8.8:2.0.5.6"
|
|
}
|
|
|
|
minecraft {
|
|
version = "${mc_version}-${forge_version}"
|
|
runDir = "run"
|
|
|
|
replace "@VERSION@", project.version
|
|
replaceIn "BloodMagic.java"
|
|
replaceIn "BloodMagicAPI.java"
|
|
|
|
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'
|
|
}
|
|
}
|
|
|
|
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,
|
|
"Git-Hash": gitHash
|
|
)
|
|
}
|
|
|
|
lombok {
|
|
version = "1.16.6"
|
|
sha256 = "e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d"
|
|
}
|
|
|
|
// Ignore this one, too
|
|
import net.franz_becker.gradle.lombok.task.DelombokTask
|
|
|
|
task delombok(type: DelombokTask) {
|
|
args("src/main/java", "-d", "build/sources/delomboked/java")
|
|
}
|
|
|
|
tasks.eclipse.dependsOn installLombok
|
|
|
|
// Javadoc jar
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
from javadoc.destinationDir
|
|
classifier = 'javadoc'
|
|
}
|
|
|
|
// Deobfuscated jar
|
|
task deobfJar(type: Jar) {
|
|
from sourceSets.main.output
|
|
classifier = 'deobf'
|
|
}
|
|
|
|
javadoc {
|
|
source = projectDir.path + "/build/sources/delomboked/java"
|
|
}
|
|
|
|
tasks.javadoc.dependsOn delombok
|
|
tasks.build.dependsOn sourceJar, javadocJar
|
|
|
|
tasks.withType(JavaCompile) { task ->
|
|
task.options.encoding = 'UTF-8'
|
|
}
|
|
|
|
publishing {
|
|
tasks.publish.dependsOn 'build'
|
|
publications {
|
|
mavenJava(MavenPublication) {
|
|
artifact jar
|
|
artifact sourceJar
|
|
artifact javadocJar
|
|
}
|
|
}
|
|
repositories {
|
|
if (project.hasProperty('maven_repo')) {
|
|
maven { url maven_repo }
|
|
} else {
|
|
mavenLocal()
|
|
}
|
|
}
|
|
}
|
|
|
|
curseforge {
|
|
if (project.hasProperty('curse_key'))
|
|
apiKey = project.curse_key
|
|
|
|
project {
|
|
id = "${curse_id}"
|
|
changelog = project.hasProperty('changelog') ? project.changelog : ''
|
|
releaseType = 'alpha'
|
|
|
|
addArtifact sourceJar
|
|
addArtifact javadocJar
|
|
}
|
|
} |