diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-03-20 16:51:05 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-20 16:51:05 +0100 |
| commit | 0862f8489b1122671cefa5c5bd59f677b56a3712 (patch) | |
| tree | 9256a835306601fa522476d02be4c38e0bf001c9 /simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts | |
| parent | 592d60d6d2ef51923eebd844888930b07892da39 (diff) | |
| parent | fce499eaafa0afecee5c14346ff7d75e2fe999b6 (diff) | |
Add support for code coverage tracking via Codecov
This pull request enables aggregate code coverage reports via Jacoco and adds support for coverage tracking via Codecov.
Diffstat (limited to 'simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts')
| -rw-r--r-- | simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts b/simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts index e0bc2ce4..d0534d4f 100644 --- a/simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts +++ b/simulator/buildSrc/src/main/kotlin/jacoco-conventions.gradle.kts @@ -30,3 +30,36 @@ tasks.jacocoTestReport { html.isEnabled = true } } + +/* Share sources folder with other projects for aggregated JaCoCo reports */ +configurations.create("transitiveSourcesElements") { + isVisible = false + isCanBeResolved = false + isCanBeConsumed = true + extendsFrom(configurations.implementation.get()) + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION)) + attribute(DocsType.DOCS_TYPE_ATTRIBUTE, objects.named("source-folders")) + } + sourceSets.main.get().java.srcDirs.forEach { + outgoing.artifact(it) + } +} + +/* Share the coverage data to be aggregated for the whole product */ +configurations.create("coverageDataElements") { + isVisible = false + isCanBeResolved = false + isCanBeConsumed = true + extendsFrom(configurations.implementation.get()) + attributes { + attribute(Usage.USAGE_ATTRIBUTE, objects.named(Usage.JAVA_RUNTIME)) + attribute(Category.CATEGORY_ATTRIBUTE, objects.named(Category.DOCUMENTATION)) + attribute(DocsType.DOCS_TYPE_ATTRIBUTE, objects.named("jacoco-coverage-data")) + } + // This will cause the test task to run if the coverage data is requested by the aggregation task + outgoing.artifact(tasks.test.map { task -> + task.extensions.getByType<JacocoTaskExtension>().destinationFile!! + }) +} |
