From decb8fb5297c7772f5319a47c784d44bf8bdbe9c Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Sun, 28 Oct 2018 12:50:27 +0100 Subject: refactor: Introduce initial API design for 2.x This change introduces the new API design that will be introduced in the 2.x versions of the OpenDC Simulator. This changes focuses on simplifying simulation primitives provided by the simulator and introduces a new concept of actors based on the model designed by the Akka Typed project. For now, the old simulation models have been removed from the branch, but will be ported back as this branch is being finalized. --- gradle/jacoco.gradle | 55 +++++++++++++++++++++++++++++++ gradle/kotlin.gradle | 21 ++---------- gradle/wrapper/gradle-wrapper.jar | Bin 54413 -> 56177 bytes gradle/wrapper/gradle-wrapper.properties | 2 +- 4 files changed, 58 insertions(+), 20 deletions(-) create mode 100644 gradle/jacoco.gradle (limited to 'gradle') diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle new file mode 100644 index 00000000..687ad093 --- /dev/null +++ b/gradle/jacoco.gradle @@ -0,0 +1,55 @@ +/* + * MIT License + * + * Copyright (c) 2018 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. + */ + +/* Jacoco task for root project to generate merged report */ +apply plugin: 'jacoco' + +repositories { + mavenLocal() + mavenCentral() +} + +task jacocoMerge(type: JacocoMerge, dependsOn: subprojects.test) { + executionData = files(subprojects.jacocoTestReport.executionData) + + doFirst { + executionData = files(executionData.findAll { it.exists() }) + } +} + +task jacocoTestReport(type: JacocoReport, dependsOn: jacocoMerge) { + group = 'Coverage reports' + description = 'Generate an aggregate report from all subprojects' + + executionData tasks.jacocoMerge.destinationFile + subprojects.each { + sourceSets it.sourceSets.main + } + + reports { + html.enabled = true + xml.enabled = true + xml.destination file("${buildDir}/reports/jacoco/report.xml") + } +} diff --git a/gradle/kotlin.gradle b/gradle/kotlin.gradle index 04f67ae8..7c4495f8 100644 --- a/gradle/kotlin.gradle +++ b/gradle/kotlin.gradle @@ -31,19 +31,13 @@ sourceCompatibility = 1.8 compileKotlin { kotlinOptions { - jvmTarget = "1.8" + jvmTarget = '1.8' } } compileTestKotlin { kotlinOptions { - jvmTarget = "1.8" - } -} - -kotlin { - experimental { - coroutines "enable" + jvmTarget = '1.8' } } @@ -63,20 +57,9 @@ test { } /* 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 } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 1948b907..29953ea1 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index d2c45a4b..115e6ac0 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.8-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-4.10-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -- cgit v1.2.3