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.1-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 } } } 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*' } }