X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=build.gradle;h=d0b159cfe38f852502034191934736fbbabfa8c3;hp=4d05c3df19004b02a828c5adef6570e94eb889ea;hb=refs%2Fheads%2Fnext;hpb=aaec1569ff167133bb2d5d665be5b5fe15bedcd5 diff --git a/build.gradle b/build.gradle index 4d05c3d..b23af3d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,20 +1,14 @@ -buildscript { - ext.kotlinVersion = '1.3.50' - repositories { - mavenCentral() - } - dependencies { - classpath group: 'org.jetbrains.kotlin', name: 'kotlin-gradle-plugin', version: kotlinVersion - classpath group: 'org.jetbrains.kotlin', name: 'kotlin-noarg', version: kotlinVersion - } -} +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { - id 'info.solidsoft.pitest' version '1.4.5' + id 'org.jetbrains.kotlin.jvm' version '1.7.10' + id 'org.jetbrains.kotlin.plugin.noarg' version '1.7.10' + id 'info.solidsoft.pitest' version '1.7.4' + id 'jacoco' } group = 'net.pterodactylus' -version = '80' +version = '82' repositories { mavenCentral() @@ -30,7 +24,12 @@ tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } -apply plugin: 'kotlin' +tasks.withType(KotlinCompile) { + kotlinOptions { + jvmTarget = "1.8" + freeCompilerArgs += '-Xjvm-default=enable' + } +} configurations { provided { @@ -38,42 +37,59 @@ configurations { configurations.default.exclude group: dep.group, module: dep.name } } - compile.extendsFrom provided + implementation.extendsFrom provided } - + dependencies { provided group: 'org.freenetproject', name: 'fred', version: '0.7.5.1475' provided group: 'org.freenetproject', name: 'freenet-ext', version: '29' provided group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.54' - compile group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8' - compile group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: '1.3.0-RC' + implementation group: 'org.jetbrains.kotlin', name: 'kotlin-stdlib-jdk8' + implementation group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: '1.3.0-RC' - compile group: 'net.pterodactylus', name: 'utils', version: '0.12.4' - compile group: 'com.google.inject', name: 'guice', version: '4.2.2' - compile group: 'com.google.guava', name: 'guava', version: '27.0.1-android' - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.1' - compile group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.9.1' - compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' - compile group: 'org.jsoup', name: 'jsoup', version: '1.10.2' - compile group: 'io.dropwizard.metrics', name: 'metrics-core', version: '4.1.0' - compile group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0' + implementation group: 'net.pterodactylus', name: 'utils', version: '0.13.1' + implementation group: 'com.google.inject', name: 'guice', version: '4.2.2' + implementation group: 'com.google.guava', name: 'guava', version: '27.0.1-jre' + implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.1' + implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.9.1' + implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2' + implementation group: 'org.jsoup', name: 'jsoup', version: '1.10.2' + implementation group: 'io.dropwizard.metrics', name: 'metrics-core', version: '4.1.0' + implementation group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0' - testCompile group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit' - testCompile group: 'junit', name: 'junit', version: '4.11' - testCompile group: 'org.mockito', name: 'mockito-core', version: '2.28.2' - testCompile group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3' + testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit' + testImplementation group: 'junit', name: 'junit', version: '4.11' + testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.12.4' + testImplementation group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3' } apply from: 'version.gradle' -test { +task parallelTest(type: Test) { maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1 + useJUnit { + excludeCategories 'net.pterodactylus.sone.test.NotParallel' + } +} + +task notParallelTest(type: Test) { + maxParallelForks = 1 + useJUnit { + includeCategories 'net.pterodactylus.sone.test.NotParallel' + } + dependsOn parallelTest +} + +test { + exclude '**' + dependsOn parallelTest, notParallelTest } task fatJar(type: Jar) { - archiveName = project.name.toLowerCase() + '-jar-with-dependencies.jar' - from { (configurations.runtime - configurations.provided).collect { it.isDirectory() ? it : zipTree(it) } } + archiveFileName = project.name.toLowerCase() + '-jar-with-dependencies.jar' + from { (configurations.runtimeClasspath - configurations.provided).collect { it.isDirectory() ? it : zipTree(it) } } + setDuplicatesStrategy(DuplicatesStrategy.INCLUDE) manifest { attributes('Plugin-Main-Class': 'net.pterodactylus.sone.main.SonePlugin') } @@ -90,27 +106,24 @@ javadoc { failOnError = false } -apply plugin: 'jacoco' - jacoco { - toolVersion = '0.8.4' + toolVersion = '0.8.8' } -jacocoTestReport.dependsOn test +jacocoTestReport { + executionData(layout.buildDirectory.getAsFileTree().matching { + include "jacoco/*.exec" + }) + dependsOn test +} pitest { - pitestVersion = '1.4.10' + pitestVersion = '1.7.4' outputFormats = ['HTML', 'XML'] timestampedReports = false timeoutFactor = 3.0 } -apply plugin: 'findbugs' - -findbugs { - ignoreFailures = true -} - apply plugin: 'idea' task countLinesMain(type: Exec) { @@ -131,8 +144,6 @@ task countLines { dependsOn tasks.countLinesTest } -apply plugin: 'kotlin-noarg' - noArg { annotation('net.pterodactylus.sone.main.NoArg') }