mirror of
https://github.com/EngineHub/WorldEdit.git
synced 2024-12-21 04:49:51 +08:00
169 lines
4.6 KiB
Groovy
169 lines
4.6 KiB
Groovy
buildscript {
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url = "https://oss.sonatype.org/content/repositories/snapshots/" }
|
|
jcenter()
|
|
}
|
|
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
force 'commons-io:commons-io:2.4'
|
|
}
|
|
}
|
|
|
|
dependencies {
|
|
classpath 'com.github.jengelman.gradle.plugins:shadow:2.0.4'
|
|
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:4.8.1'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'net.minecrell.licenser' version '0.4.1' apply false
|
|
id "org.ajoberstar.grgit" version "2.3.0"
|
|
}
|
|
|
|
println """
|
|
*******************************************
|
|
You are building WorldEdit!
|
|
|
|
If you encounter trouble:
|
|
1) Read COMPILING.md if you haven't yet
|
|
2) Try running 'build' in a separate Gradle run
|
|
3) Use gradlew and not gradle
|
|
4) If you still need help, ask on IRC! irc.esper.net #sk89q
|
|
|
|
Output files will be in [subproject]/build/libs
|
|
*******************************************
|
|
"""
|
|
|
|
allprojects {
|
|
group = 'com.sk89q.worldedit'
|
|
version = '7.0.0-SNAPSHOT'
|
|
}
|
|
|
|
if (!project.hasProperty("artifactory_contextUrl")) ext.artifactory_contextUrl = "http://localhost"
|
|
if (!project.hasProperty("artifactory_user")) ext.artifactory_user = "guest"
|
|
if (!project.hasProperty("artifactory_password")) ext.artifactory_password = ""
|
|
|
|
if (!project.hasProperty("gitCommitHash") && !JavaVersion.current().isJava6()) {
|
|
try {
|
|
def repo = grgit.open()
|
|
ext.gitCommitHash = repo.head().abbreviatedId
|
|
} catch (Exception e) {
|
|
println "Error getting commit hash: " + e.getMessage()
|
|
}
|
|
}
|
|
if (!project.hasProperty("gitCommitHash")) {
|
|
ext.gitCommitHash = "no_git_id"
|
|
}
|
|
|
|
apply plugin: 'com.jfrog.artifactory'
|
|
artifactory {
|
|
contextUrl = "${artifactory_contextUrl}"
|
|
publish {
|
|
repository {
|
|
repoKey = project.version.contains("SNAPSHOT") ? 'libs-snapshot-local' : 'libs-release-local'
|
|
username = "${artifactory_user}"
|
|
password = "${artifactory_password}"
|
|
maven = true
|
|
ivy = false
|
|
}
|
|
}
|
|
|
|
resolve {
|
|
repository {
|
|
repoKey = 'repo'
|
|
username = "${artifactory_user}"
|
|
password = "${artifactory_password}"
|
|
maven = true
|
|
}
|
|
}
|
|
}
|
|
artifactoryPublish.skip = true
|
|
|
|
subprojects {
|
|
repositories {
|
|
mavenCentral()
|
|
maven { url "http://maven.sk89q.com/repo/" }
|
|
maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
|
|
}
|
|
configurations.all {
|
|
resolutionStrategy {
|
|
cacheChangingModulesFor 5, 'minutes'
|
|
}
|
|
}
|
|
}
|
|
|
|
configure(['core', 'bukkit', 'forge', 'sponge'].collect { project(":worldedit-$it") }) {
|
|
apply plugin: 'java'
|
|
apply plugin: 'maven'
|
|
apply plugin: 'checkstyle'
|
|
apply plugin: 'com.github.johnrengelman.shadow'
|
|
apply plugin: 'com.jfrog.artifactory'
|
|
apply plugin: 'net.minecrell.licenser'
|
|
|
|
ext.internalVersion = version + ";" + gitCommitHash
|
|
|
|
sourceCompatibility = JavaVersion.VERSION_1_8
|
|
targetCompatibility = JavaVersion.VERSION_1_8
|
|
|
|
checkstyle.configFile = new File(rootProject.projectDir, "config/checkstyle/checkstyle.xml")
|
|
checkstyle.toolVersion = '7.6.1'
|
|
|
|
if (JavaVersion.current().isJava8Compatible()) {
|
|
// Java 8 turns on doclint which we fail
|
|
tasks.withType(Javadoc) {
|
|
options.addStringOption('Xdoclint:none', '-quiet')
|
|
}
|
|
}
|
|
|
|
task javadocJar(type: Jar, dependsOn: javadoc) {
|
|
classifier = 'javadoc'
|
|
from javadoc.destinationDir
|
|
}
|
|
|
|
artifacts {
|
|
archives jar
|
|
archives javadocJar
|
|
}
|
|
|
|
if (!(name.equals('worldedit-forge') || name.equals('worldedit-sponge'))) {
|
|
task sourcesJar(type: Jar, dependsOn: classes) {
|
|
classifier = 'sources'
|
|
from sourceSets.main.allSource
|
|
}
|
|
|
|
artifacts {
|
|
archives sourcesJar
|
|
}
|
|
build.dependsOn(sourcesJar)
|
|
}
|
|
|
|
build.dependsOn(checkstyleMain)
|
|
build.dependsOn(checkstyleTest)
|
|
build.dependsOn(javadocJar)
|
|
|
|
artifactoryPublish {
|
|
publishConfigs('archives')
|
|
}
|
|
|
|
license {
|
|
header = rootProject.file("HEADER.txt")
|
|
include '**/*.java'
|
|
}
|
|
}
|
|
|
|
configure(['bukkit', 'forge', 'sponge'].collect { project(":worldedit-$it") }) {
|
|
shadowJar {
|
|
classifier 'dist'
|
|
dependencies {
|
|
include(project(":worldedit-libs:core"))
|
|
include(project(":worldedit-libs:${project.name.replace("worldedit-", "")}"))
|
|
include(project(":worldedit-core"))
|
|
}
|
|
exclude 'GradleStart**'
|
|
exclude '.cache'
|
|
exclude 'LICENSE*'
|
|
}
|
|
}
|