import org.ajoberstar.grgit.Grgit 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 "org.ajoberstar.grgit" version "3.1.1" id "com.github.johnrengelman.shadow" version "5.1.0" id 'com.gradle.build-scan' version '2.1' } buildScan { termsOfServiceUrl = 'https://gradle.com/terms-of-service' termsOfServiceAgree = 'yes' } println """ ******************************************* You are building FastAsyncWorldEdit! 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 Discord! https://discord.gg/ngZCzbU Output files will be in /target ******************************************* """ allprojects { group = "com.boydti.fawe" def rootVersion = "1.13" def revision = "" def buildNumber = "" def date = "" ext { git = Grgit.open(dir: new File(rootDir.toString()+"/.git")) date = git.head().getDate().format("yy.MM.dd") revision = "-${git.head().abbreviatedId}" parents = git.head().parentIds; if (project.hasProperty("buildnumber")) { buildNumber = "$buildnumber" } else { index = -2109; // Offset to match CI for (; parents != null && !parents.isEmpty(); index++) { parents = git.getResolve().toCommit(parents.get(0)).getParentIds() } buildNumber = "${index}" } } version = String.format("%s.%s", rootVersion, buildNumber) } description = rootProject.name subprojects { repositories { mavenCentral() maven { url "http://maven.sk89q.com/repo/" } maven { url "https://oss.sonatype.org/content/repositories/snapshots/" } maven { url "http://repo.maven.apache.org/maven2" } // Fawe maven { url "https://mvnrepository.com/artifact/" } maven { url "http://repo.dmulloy2.net/content/groups/public/" } maven { url "https://repo.destroystokyo.com/repository/maven-public//" } maven { url "http://ci.athion.net/job/PlotSquared-Breaking/ws/mvn/" } maven { url "https://libraries.minecraft.net" } mavenLocal() maven { url "http://empcraft.com/maven2" } maven { url "https://hub.spigotmc.org/nexus/content/groups/public/" } maven { url "http://ci.frostcast.net/plugin/repository/everything" } maven { url "http://maven.sk89q.com/artifactory/repo" } maven { url "http://repo.spongepowered.org/maven" } maven { url "http://dl.bintray.com/tastybento/maven-repo" } maven { url "http://ci.emc.gs/nexus/content/groups/aikar/" } ivy { url "https://ci.athion.net/job" layout "pattern", { artifact "/[organisation]/[module]/artifact/[revision].[ext]" } } } configurations.all { resolutionStrategy { cacheChangingModulesFor 5, "minutes" } } } configure(["worldedit-core", "worldedit-bukkit"].collect { project("$it") }) { apply plugin: "java" apply plugin: "maven" // apply plugin: "checkstyle" apply plugin: "com.github.johnrengelman.shadow" 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" clean.doFirst { delete "../target" } if (JavaVersion.current().isJava8Compatible()) { // Java 8 turns on doclint which we fail tasks.withType(Javadoc) { options.addStringOption("Xdoclint:none", "-quiet") } } if (name == "worldedit-core" || name == "worldedit-bukkit") { 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) dependencies { compileOnly "org.jetbrains:annotations:17.0.0" } } configure(["bukkit"].collect { project(":worldedit-$it") }) { shadowJar { getArchiveClassifier().set("dist") dependencies { include(project(":worldedit-libs:core")) include(project(":worldedit-libs:${project.name.replace("worldedit-", "")}")) include(project(":worldedit-core")) include(dependency("com.github.luben:zstd-jni:1.1.1")) include(dependency("co.aikar:fastutil-lite:1.0")) } exclude "GradleStart**" exclude ".cache" exclude "LICENSE*" } } task aggregatedJavadocs(type: Javadoc, description: "Generate javadocs from all child projects as if it was a single project", group: "Documentation") { destinationDir = file("./docs/javadoc") title = "$project.name $version API" options.author true options.links "http://docs.spring.io/spring/docs/4.3.x/javadoc-api/", "http://docs.oracle.com/javase/8/docs/api/", "http://docs.spring.io/spring-ws/docs/2.3.0.RELEASE/api/", "http://docs.spring.io/spring-security/site/docs/4.0.4.RELEASE/apidocs/" options.addStringOption("Xdoclint:none", "-quiet") delete "./docs" subprojects.each { proj -> proj.tasks.withType(Javadoc).each { javadocTask -> source += javadocTask.source classpath += javadocTask.classpath excludes += javadocTask.excludes includes += javadocTask.includes } } }