buildscript { repositories { maven { url = 'https://plugins.gradle.org/m2/' } } dependencies { classpath 'com.github.jengelman.gradle.plugins:shadow:5.1.0' } } plugins { id 'com.github.johnrengelman.shadow' version '5.1.0' id 'maven' id 'java' } compileJava.options.encoding = 'UTF-8' // Environment variables for the build set by the build server ext.buildNumber = System.env.BUILD_NUMBER ?: '0' defaultTasks 'clean', 'build' sourceCompatibility = '1.8' targetCompatibility = '1.8' archivesBaseName = 'griefdefender' project.ext.getGitHash = { def command = Runtime.getRuntime().exec("git rev-parse --short HEAD") def result = command.waitFor() return (result == 0) ? command.inputStream.text.trim() : "nogit" } repositories { mavenLocal() maven { name = 'aikar' url = 'https://repo.aikar.co/content/groups/aikar' } maven { name = 'bstats' url = 'https://repo.codemc.org/repository/maven-public' } maven { name = 'dynmap-repo' url = 'http://repo.mikeprimm.com' } maven { name = 'essentials' url = 'https://ci.ender.zone/plugin/repository/everything/' } maven { name = 'griefdefender' url = 'https://repo.glaremasters.me/repository/bloodshot' } maven { name = 'jitpack' url = 'https://jitpack.io' } maven { name = 'permissionsex' url = 'https://repo.glaremasters.me/repository/permissionsex' } maven { name = 'placeholderapi' url = 'http://repo.extendedclip.com/content/repositories/placeholderapi' } maven { name = 'sk89q' url = 'https://maven.sk89q.com/repo' } maven { name = 'sonatype_releases' url = 'https://oss.sonatype.org/content/repositories/releases' } maven { name = 'spigot' url = 'https://hub.spigotmc.org/nexus/content/repositories/snapshots' } maven { name = 'sponge' url = 'https://repo.spongepowered.org/maven/' } maven { name = 'sonatype_snapshots' url = 'https://oss.sonatype.org/content/repositories/snapshots' } maven { name = 'worldedit' url = 'http://maven.sk89q.com/artifactory/repo' } maven { name = 'vault' url = 'http://nexus.hc.to/content/repositories/pub_releases' } } sourceSets { api } dependencies { compileOnly(project(path: ":GriefDefenderAPI")) compile project (':common') compileOnly "com.griefdefender:adapter:$adapterVersion" compileOnly "com.griefdefender:reflect-helper:1.0" // Bukkit compileOnly "org.bukkit:bukkit:$spigotVersion" compileOnly "org.spigotmc:spigot:$spigotVersion" // Plugins compileOnly "ca.stellardrift.permissionsex:permissionsex-bukkit:2.0-SNAPSHOT" compileOnly "me.clip:placeholderapi:2.10.4" compileOnly "net.ess3:EssentialsX:2.17.1" compileOnly "net.milkbowl.vault:VaultAPI:1.7" compileOnly "us.dynmap:dynmap-api:3.0-SNAPSHOT" compileOnly "com.github.lucko:luckperms:master-SNAPSHOT" // Libs compileOnly "aopalliance:aopalliance:1.0" compileOnly "co.aikar:acf-core:0.5.0-SNAPSHOT" compileOnly "co.aikar:acf-bukkit:0.5.0-SNAPSHOT" compileOnly "co.aikar:acf-paper:0.5.0-SNAPSHOT" compileOnly "co.aikar:acf-jda:0.5.0-SNAPSHOT" compileOnly "co.aikar:locales:1.0-SNAPSHOT" compileOnly "co.aikar:minecraft-timings:1.0.4" compileOnly "co.aikar:Table:1.0.0-SNAPSHOT" compileOnly "com.github.ben-manes.caffeine:caffeine:2.7.0" compileOnly "com.flowpowered:flow-math:1.0.3" compileOnly "com.google.inject:guice:4.1.0" compileOnly "com.squareup.okhttp3:okhttp:4.7.2" compileOnly "com.squareup.okio:okio:2.6.0" compileOnly "com.typesafe:config:1.3.1" compileOnly "commons-io:commons-io:2.6" compileOnly "it.unimi.dsi:fastutil:8.2.3" compileOnly "me.lucko:jar-relocator:1.3" compileOnly "net.jodah:expiringmap:0.5.9" compileOnly "org.apache.commons:commons-lang3:3.9" compileOnly "org.checkerframework:checker:2.8.2" compileOnly "org.jetbrains:annotations:17.0.0" compileOnly "org.jetbrains.kotlin:kotlin-stdlib:1.3.72" compileOnly "org.ow2.asm:asm-debug-all:5.2" compileOnly "org.spongepowered:configurate-core:3.7-SNAPSHOT" compileOnly "org.spongepowered:configurate-gson:3.7-SNAPSHOT" compileOnly "org.spongepowered:configurate-hocon:3.7-SNAPSHOT" compileOnly "org.spongepowered:configurate-yaml:3.7-SNAPSHOT" compileOnly "net.kyori:event-api:3.0.0" compileOnly "net.kyori:event-method:3.0.0" compileOnly "net.kyori:event-method-asm:3.0.0" compileOnly "net.kyori:text-adapter-bukkit:3.0.3" compileOnly "net.kyori:text-adapter-bungeecord:3.0.3" compileOnly "net.kyori:text-adapter-spongeapi:3.0.3" compileOnly "net.kyori:text-api:3.0.2" compileOnly "net.kyori:text-serializer-gson:3.0.2" compileOnly "net.kyori:text-serializer-legacy:3.0.2" compileOnly "net.kyori:text-serializer-plain:3.0.2" } jar { manifest.attributes('Implementation-Title': 'GriefDefender') manifest.attributes('Implementation-Version': "$version") manifest.attributes('Git-Hash': project.ext.getGitHash()) classifier = 'SNAPSHOT' baseName = 'griefdefender' } if (JavaVersion.current().isJava8Compatible()) { tasks.withType(Javadoc) { options.addStringOption('Xdoclint:none', '-quiet') } } task javadocJar(type: Jar, dependsOn: javadoc) { classifier = 'javadoc' from javadoc.destinationDir } artifacts { archives shadowJar } shadowJar { classifier = "" relocate("aopalliance", "com.griefdefender.lib.aopalliance") relocate("com.github.benmanes.caffeine", "com.griefdefender.lib.caffeine") relocate("com.google.inject", "com.griefdefender.lib.googleinject") relocate("com.typesafe", "com.griefdefender.lib.typesafe") relocate("javax.inject", "com.griefdefender.lib.javaxinject") relocate("it.unimi.dsi", "com.griefdefender.lib.fastutil") relocate("net.jodah", "com.griefdefender.lib.jodah") relocate("ninja.leaping.configurate", "com.griefdefender.lib.configurate") relocate("okhttp3", "com.griefdefender.lib.okhttp3") relocate("okio", "com.griefdefender.lib.okio") relocate("org.apache.commons.io", "com.griefdefender.lib.commonsio") relocate("org.apache.commons.lang3", "com.griefdefender.lib.commonslang3") relocate("org.checkerframework", "com.griefdefender.lib.checkerframework") relocate("org.jetbrains", "com.griefdefender.lib.jetbrains") exclude "dummyThing" }