BloodMagic/build.gradle

156 lines
3.7 KiB
Groovy
Raw Normal View History

2014-10-31 22:07:43 +00:00
buildscript {
repositories {
mavenCentral()
maven { url "http://files.minecraftforge.net/maven" }
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
2014-10-31 22:07:43 +00:00
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:2.1-SNAPSHOT'
classpath 'org.ajoberstar:gradle-git:0.10.1'
2014-10-31 22:07:43 +00:00
}
}
plugins {
id "net.minecraftforge.gradle.forge" version "2.0.2"
id 'com.matthewprenger.cursegradle' version '1.0.4'
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}-ss"
2014-10-31 22:07:43 +00:00
import org.ajoberstar.grgit.*
2014-11-02 01:04:00 +00:00
ext.repo = Grgit.open(project.file('.'))
2014-11-02 01:04:00 +00:00
def gitHash = 'unknown'
if (new File(projectDir, '.git').exists())
2014-11-02 01:04:00 +00:00
gitHash = repo.log().find().abbreviatedId
2014-10-31 22:07:43 +00:00
repositories {
maven { url "http://dvs1.progwml6.com/files/maven" }
2014-10-31 22:07:43 +00:00
}
dependencies {
deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}"
}
2014-10-31 22:07:43 +00:00
minecraft {
version = "${mc_version}-${forge_version}"
runDir = "run"
makeObfSourceJar = false // Until #295 gets merged into FG2.1
replace "@VERSION@", project.version
replaceIn "Constants.java"
replaceIn "BloodMagicAPI.java"
if (project.hasProperty('mappings_version'))
mappings = project.mappings_version
}
2014-10-31 22:07:43 +00:00
processResources {
inputs.property "version", project.version
inputs.property "mcversion", project.minecraft.version
2014-10-31 22:07:43 +00:00
from(sourceSets.main.resources.srcDirs) {
include '**/*.info'
include '**/*.properties'
2014-10-31 22:07:43 +00:00
expand 'version': project.version, 'mcversion': project.minecraft.version
}
from(sourceSets.main.resources.srcDirs) {
exclude '**/*.info'
exclude '**/*.properties'
}
2014-10-31 22:07:43 +00:00
}
lombok {
version = "1.16.6"
sha256 = "e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d"
}
import net.franz_becker.gradle.lombok.task.DelombokTask
task delombok(type: DelombokTask) {
args("src/main/java", "-d", "build/sources/delomboked/java")
}
2014-10-31 22:07:43 +00:00
tasks.eclipse.dependsOn installLombok
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
)
}
// 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'
2014-10-31 22:07:43 +00:00
}
javadoc {
source = projectDir.path + "/build/sources/delomboked/java"
}
tasks.javadoc.dependsOn delombok
tasks.build.dependsOn javadoc, javadocJar, apiJar
2014-10-31 22:07:43 +00:00
tasks.withType(JavaCompile) { task ->
task.options.encoding = 'UTF-8'
}
2014-10-31 22:07:43 +00:00
publishing {
tasks.publish.dependsOn 'build'
publications {
mavenJava(MavenPublication) {
artifact jar
artifact javadocJar
artifact apiJar
}
}
repositories {
if (project.hasProperty('maven_repo')) {
maven { url maven_repo }
} else {
mavenLocal()
}
}
}
2014-10-31 22:07:43 +00:00
curseforge {
if (project.hasProperty('curse_key'))
apiKey = project.curse_key
project {
id = "${curse_id}"
changelog = project.hasProperty('changelog') ? project.changelog : ''
releaseType = 'alpha'
addArtifact javadocJar
addArtifact apiJar
}
}