diff options
| author | Fabian Mastenbroek <fabianishere@outlook.com> | 2018-07-11 23:38:40 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-07-11 23:38:40 +0200 |
| commit | 5fb2d1cb376d94540b6dff9ff769bbd56bcab153 (patch) | |
| tree | a16c87718b83c3ba12e46496a266878848f29bb8 /gradle | |
| parent | bc814ab5b5a4becf3dbc5f796a165955c0305d70 (diff) | |
| parent | 8c7e208233c86614ac29157efba24e3a57d7f21c (diff) | |
chore: Update build toolchain (#23)
This pull requests updates the project as follows:
1. **Update Gradle version to 4.8**
This allows us to make use of new features such as native JUnit 5 integration and the build cache.
2. **Update Gradle build configuration according to new changes**
This change allows us to share configuration across modules and easily change the versions for shared dependencies. In addition, we now make use of the `java-library` plugin which allows for various optimizations. See https://docs.gradle.org/current/userguide/java_library_plugin.html
3. **Add support for Jacoco**
We add support code coverage tracking via the latest version of Jacoco which has increasing support for Kotlin.
Closes #22
Diffstat (limited to 'gradle')
| -rw-r--r-- | gradle/kotlin.gradle | 85 | ||||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.jar | bin | 54788 -> 54413 bytes | |||
| -rw-r--r-- | gradle/wrapper/gradle-wrapper.properties | 11 |
3 files changed, 90 insertions, 6 deletions
diff --git a/gradle/kotlin.gradle b/gradle/kotlin.gradle new file mode 100644 index 00000000..04f67ae8 --- /dev/null +++ b/gradle/kotlin.gradle @@ -0,0 +1,85 @@ +/* + * MIT License + * + * Copyright (c) 2017 atlarge-research + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + */ + +/* Default configuration for Kotlin projects */ +apply plugin: 'kotlin' +apply plugin: 'org.jetbrains.dokka' +apply plugin: 'jacoco' + +sourceCompatibility = 1.8 + +compileKotlin { + kotlinOptions { + jvmTarget = "1.8" + } +} + +compileTestKotlin { + kotlinOptions { + jvmTarget = "1.8" + } +} + +kotlin { + experimental { + coroutines "enable" + } +} + +/* Configure test setup */ +test { + useJUnitPlatform {} + + testLogging { + events 'passed', 'skipped', 'failed' + } + + reports { + html.enabled = true + } + + finalizedBy jacocoTestReport +} + +/* Coverage */ +repositories { + // This repository is needed to get the latest snapshot of Jacoco + maven { url = "https://oss.sonatype.org/content/repositories/snapshots" } +} + +jacoco { + // We use the latest snapshot of Jacoco in order to get it to ignore Kotlin-generated code + toolVersion = jacoco_version +} + +jacocoTestReport { + reports { + html.enabled = true + xml.enabled = true + } +} + +/* Documentation generation */ +dokka {} + diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar Binary files differindex 24dcc970..1948b907 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 5c2e2870..d2c45a4b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,5 @@ -#Tue Aug 29 14:12:50 CEST 2017
-distributionBase=GRADLE_USER_HOME
-distributionPath=wrapper/dists
-zipStoreBase=GRADLE_USER_HOME
-zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-rc-2-all.zip
+distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists |
