X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=build.gradle;h=c2247d357a119db5d29cb041831b6dcd1750978e;hp=e314c3bfb3da3fc354df65330403dd5bbd71f5e8;hb=69a95e89c8a306713bbe719ce23f49e7536774be;hpb=5fcaf872e0daa6cca0efc31430295cabe25d8793 diff --git a/build.gradle b/build.gradle index e314c3b..c2247d3 100644 --- a/build.gradle +++ b/build.gradle @@ -1,29 +1,34 @@ -group = 'net.pterodactylus' -version = '0.9.5' +import org.jetbrains.kotlin.gradle.tasks.KotlinCompile -buildscript { - repositories { - mavenCentral() - } - dependencies { - classpath group: 'info.solidsoft.gradle.pitest', name: 'gradle-pitest-plugin', version: '1.1.10' - } +plugins { + id 'org.jetbrains.kotlin.jvm' version '1.3.70' + id 'org.jetbrains.kotlin.plugin.noarg' version '1.3.70' + id 'info.solidsoft.pitest' version '1.4.5' } +group = 'net.pterodactylus' +version = '81' + repositories { - maven { url "http://maven.pterodactylus.net/" } mavenCentral() + maven { url "https://maven.pterodactylus.net/" } } apply plugin: 'java' -sourceCompatibility = 1.7 -targetCompatibility = 1.7 +sourceCompatibility = 1.8 +targetCompatibility = 1.8 tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } +tasks.withType(KotlinCompile) { + kotlinOptions { + jvmTarget = "1.8" + } +} + configurations { provided { dependencies.all { dep -> @@ -32,27 +37,55 @@ configurations { } compile.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' + 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' + + compile group: 'net.pterodactylus', name: 'utils', version: '0.13.1' + compile group: 'com.google.inject', name: 'guice', version: '4.2.2' + compile group: 'com.google.guava', name: 'guava', version: '27.0.1-jre' + 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' + + 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' +} - compile group: 'net.pterodactylus', name: 'utils', version:'0.12.4' - compile group: 'com.google.inject', name: 'guice', version:'3.0' - compile group: 'com.google.guava', name: 'guava', version:'14.0.1' - compile group: 'commons-lang', name: 'commons-lang', version:'2.6' - compile group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version:'2.1.2' - compile group: 'com.google.code.findbugs', name: 'jsr305', version:'2.0.1' +apply from: 'version.gradle' - testCompile group: 'junit', name: 'junit', version:'4.11' - testCompile group: 'org.mockito', name: 'mockito-core', version:'2.1.0' - testCompile group: 'org.jsoup', name: 'jsoup', version:'1.7.1' - testCompile group: 'org.hamcrest', name: 'hamcrest-all', version:'1.3' +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 + '-jar-with-dependencies.jar' + archiveFileName = project.name.toLowerCase() + '-jar-with-dependencies.jar' from { (configurations.runtime - configurations.provided).collect { it.isDirectory() ? it : zipTree(it) } } manifest { attributes('Plugin-Main-Class': 'net.pterodactylus.sone.main.SonePlugin') @@ -73,14 +106,13 @@ javadoc { apply plugin: 'jacoco' jacoco { - toolVersion = '0.7.7.201606060606' + toolVersion = '0.8.4' } jacocoTestReport.dependsOn test -apply plugin: 'info.solidsoft.pitest' - pitest { + pitestVersion = '1.4.10' outputFormats = ['HTML', 'XML'] timestampedReports = false timeoutFactor = 3.0 @@ -93,3 +125,25 @@ findbugs { } apply plugin: 'idea' + +task countLinesMain(type: Exec) { + executable = 'cloc' + args = ['--by-file', '--xml', '--report-file=build/reports/cloc/main.xml', 'src/main'] + standardOutput = new ByteArrayOutputStream() +} + +task countLinesTest(type: Exec) { + executable = 'cloc' + args = ['--by-file', '--xml', '--report-file=build/reports/cloc/test.xml', 'src/test'] + standardOutput = new ByteArrayOutputStream() +} + +task countLines { + new File(buildDir, "reports/cloc").mkdirs() + dependsOn tasks.countLinesMain + dependsOn tasks.countLinesTest +} + +noArg { + annotation('net.pterodactylus.sone.main.NoArg') +}