WorldEdit/build.gradle

118 lines
3.2 KiB
Groovy

/*
* Build script for the Forge version of WorldEdit
*/
// Add ForgeGradle as a dependency for the build script
buildscript {
repositories {
mavenCentral()
maven { url = "http://files.minecraftforge.net/maven" }
jcenter()
}
dependencies {
classpath 'net.minecraftforge.gradle:ForgeGradle:1.0-SNAPSHOT'
classpath 'com.github.jengelman.gradle.plugins:shadow:0.8'
}
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'forge'
apply plugin: 'shadow'
group = 'com.sk89q'
version = System.getProperty("worldedit.build.version", '6.0.0-SNAPSHOT')
archivesBaseName = "worldedit-forge"
description = "An in-game voxel map editor for Minecraft."
sourceCompatibility = 1.6
targetCompatibility = 1.6
repositories {
mavenCentral()
maven { url "http://repo.bukkit.org/content/groups/public" }
maven { url "http://maven.sk89q.com/repo/" }
maven { url "http://repo.maven.apache.org/maven2" }
}
dependencies {
compile group: 'de.schlichtherle', name: 'truezip', version:'6.8.3'
compile group: 'rhino', name: 'js', version:'1.7R2'
compile group: 'org.yaml', name: 'snakeyaml', version:'1.9'
compile group: 'com.google.guava', name: 'guava', version:'10.0.1'
compile group: 'com.sk89q', name: 'jchronic', version:'0.2.4a'
compile group: 'com.google.code.findbugs', name: 'jsr305', version: '1.3.9'
compile group: 'com.thoughtworks.paranamer', name: 'paranamer', version: '2.6'
compile group: 'com.google.code.gson', name: 'gson', version: '2.2.4'
compile group: 'net.sf.trove4j', name: 'trove4j', version: '3.0.3'
testCompile group: 'org.mockito', name: 'mockito-core', version:'1.9.0-rc1'
}
sourceSets {
main {
java {
srcDir 'src/main/java'
srcDir 'src/legacy/java'
srcDir 'src/forge/java'
}
resources {
srcDir 'src/main/resources'
srcDir 'src/forge/resources'
}
}
}
minecraft {
version = "1.6.4-9.11.1.964"
forgeVersion = "9.11.1.964"
replaceIn "com/sk89q/worldedit/forge/ForgeWorldEdit.java"
replace "%VERSION%", project.version
}
processResources {
from (sourceSets.main.resources.srcDirs) {
expand 'version': project.version, 'mcVersion': project.minecraft.version,
'forgeVersion': project.minecraft.forgeVersion
include 'mcmod.info'
}
from (sourceSets.main.resources.srcDirs) {
exclude 'mcmod.info'
}
}
// shade needed runtime dependencies
shadow {
//artifactAttached false
destinationDir "${buildDir}/libs/"
artifactSet {
include '*:jchronic:jar:'
include '*:paranamer:jar:'
}
}
task deleteOrig(type: Delete) {
delete "${project.tasks.jar.getArchivePath().getPath()}"
}
task renameShaded(type: Copy) {
from file("${buildDir}/libs")
into file("${buildDir}/libs")
rename { String fileName ->
fileName.replace('-shadow', '')
}
}
task deleteShaded(type: Delete) {
delete "${project.tasks.jar.getArchivePath().getPath().replace('.jar', '-shadow.jar')}"
}
// follow all the steps
build.dependsOn(deleteShaded)
deleteShaded.dependsOn(renameShaded)
renameShaded.dependsOn(deleteOrig)
deleteOrig.dependsOn(shadowJar)