Plan/Plan/build.gradle

180 lines
5.7 KiB
Groovy
Raw Normal View History

// Aggregate Javadocs
buildscript {
repositories { jcenter() }
dependencies {
classpath 'com.netflix.nebula:gradle-aggregate-javadocs-plugin:2.2.+'
}
}
plugins {
id "java"
2018-12-19 18:24:33 +01:00
id "jacoco"
id "checkstyle"
id "org.sonarqube" version "2.8"
id "net.ltgt.apt" version "0.21"
id "net.ltgt.apt-idea" version "0.21"
id "com.github.johnrengelman.shadow" version "5.2.0"
}
apply plugin: 'nebula-aggregate-javadocs'
2019-12-08 10:30:53 +01:00
def determineBuildVersion = {
def buildInfo = new ByteArrayOutputStream()
exec {
commandLine 'git', 'rev-list', '--count', 'HEAD'
standardOutput = buildInfo
}
// Magic number: git rev-list --count cdb13e3b663b18e3938ad5efc60d165fa9301f6e
return Integer.parseInt(buildInfo.toString().replaceAll("[^0-9]", "")) - 3529
}
def buildVersion = determineBuildVersion()
allprojects {
2019-08-08 20:01:48 +02:00
wrapper.gradleVersion = "5.5.1"
group "com.djrapitops"
version "5.0-SNAPSHOT"
ext.majorVersion = '5'
ext.minorVersion = '0'
2019-12-08 10:30:53 +01:00
ext.buildVersion = buildVersion
ext.fullVersion = project.ext.majorVersion + '.' + project.ext.minorVersion + ' build ' + project.ext.buildVersion
2018-12-26 20:44:59 +01:00
test {
2019-04-03 21:44:26 +02:00
useJUnitPlatform()
2018-12-26 20:44:59 +01:00
testLogging {
events "passed", "failed"
exceptionFormat "full"
}
}
2019-01-12 12:00:30 +01:00
// Fix for UTF-8 files showing with wrong encoding when compiled on Windows machines.
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
}
subprojects {
// Build plugins
apply plugin: "java"
2019-02-02 09:42:29 +01:00
apply plugin: "maven-publish"
apply plugin: "net.ltgt.apt" // Annotation processing plugin
apply plugin: "net.ltgt.apt-idea" // Annotation processing IntelliJ IDEA configuration plugin
apply plugin: "com.github.johnrengelman.shadow"
// Report plugins
apply plugin: "checkstyle"
2018-12-19 18:24:33 +01:00
apply plugin: "jacoco"
sourceCompatibility = 1.8
targetCompatibility = 1.8
ext.daggerVersion = "2.25.3"
ext.daggerCompilerVersion = "2.25.3"
ext.abstractPluginFrameworkVersion = "3.4.2"
ext.bukkitVersion = "1.13.2-R0.1-SNAPSHOT"
ext.spigotVersion = "1.13.2-R0.1-SNAPSHOT"
ext.paperVersion = "1.13.2-R0.1-SNAPSHOT"
ext.spongeVersion = "7.1.0"
ext.nukkitVersion = "1.0-SNAPSHOT"
ext.bungeeVersion = "1.13-SNAPSHOT"
ext.velocityVersion = "1.0-SNAPSHOT"
ext.redisBungeeVersion = "0.3.8-SNAPSHOT"
ext.httpClientVersion = "4.5.10"
ext.commonsTextVersion = "1.8"
ext.htmlCompressorVersion = "1.5.2"
ext.caffeineVersion = "2.8.0"
ext.h2Version = "1.4.199"
ext.mysqlVersion = "8.0.18"
ext.hikariVersion = "3.4.1"
ext.slf4jVersion = "1.7.30"
ext.geoIpVersion = "2.12.0"
ext.gsonVersion = "2.8.6"
ext.guavaVersion = "28.0-jre"
2019-04-30 18:12:41 +02:00
ext.bstatsVersion = "1.4"
ext.placeholderapiVersion = "2.9.2"
repositories {
mavenCentral()
maven { // Spigot Repository
url = "https://hub.spigotmc.org/nexus/content/repositories/snapshots/"
}
maven { // Paper Repository
url = "https://papermc.io/repo/repository/maven-public/"
}
maven { // Sponge Repository
url = "https://repo.spongepowered.org/maven"
}
maven { // BungeeCord Repository
url = "https://oss.sonatype.org/content/repositories/snapshots"
}
maven { // RedisBungee Repository
url = "http://repo.md-5.net/content/repositories/snapshots/"
}
maven { // Velocity Repository
url = "https://repo.velocitypowered.com/snapshots/"
}
2019-12-08 10:30:53 +01:00
maven { // Nukkit Repository
url = "http://repo.nukkitx.com/main"
}
maven { // bStats Repository
2019-04-30 18:12:41 +02:00
url = "https://repo.codemc.org/repository/maven-public"
}
maven { // Plan Repository
url = "https://dl.bintray.com/rsl1122/Plan-repository"
}
}
dependencies {
// Dependency Injection used across the project
compile "com.google.dagger:dagger:$daggerVersion"
annotationProcessor "com.google.dagger:dagger-compiler:$daggerCompilerVersion"
testAnnotationProcessor "com.google.dagger:dagger-compiler:$daggerCompilerVersion"
// Test Tooling Dependencies
testCompile "org.junit.jupiter:junit-jupiter-engine:5.5.2" // JUnit 5
testCompile "org.junit.platform:junit-platform-runner:1.5.2" // JUnit 4 runner for JUnit 5 tests
testCompile "org.junit.jupiter:junit-jupiter-params:5.5.2" // JUnit 5, parameterized tests
testCompile "org.mockito:mockito-core:3.2.4" // Mockito Core
testCompile "org.mockito:mockito-junit-jupiter:3.2.4" // Mockito JUnit 5 Extension
testCompile "org.seleniumhq.selenium:selenium-java:3.141.59" // Selenium (Browser tests)
testCompile "com.jayway.awaitility:awaitility:1.7.0" // Awaitility (Concurrent wait conditions)
// Testing dependencies required by Plan
testCompile "org.xerial:sqlite-jdbc:3.28.0" // SQLite
testCompile "mysql:mysql-connector-java:$mysqlVersion" // MySQL
}
2019-08-08 20:01:48 +02:00
configurations {
testArtifacts.extendsFrom testRuntime
}
// Test classes available to other modules
task testJar(type: Jar) {
classifier "test"
from sourceSets.test.output
}
artifacts {
testArtifacts testJar
}
checkstyle {
configFile rootProject.file('config/checkstyle/checkstyle.xml')
}
2019-08-08 20:01:48 +02:00
jacocoTestReport {
reports {
xml.enabled true
2019-08-09 17:30:43 +02:00
xml.destination file("${buildDir}/jacoco/report.xml")
2019-08-08 20:01:48 +02:00
}
}
2018-12-19 18:24:33 +01:00
}
sonarqube {
properties {
2018-12-19 18:29:43 +01:00
property "sonar.projectName", "Player Analytics"
property "sonar.projectKey", "com.djrapitops:Plan"
2018-12-19 18:24:33 +01:00
}
}