diff --git a/game/build.gradle b/game/build.gradle index 378fa03f..a357a982 100644 --- a/game/build.gradle +++ b/game/build.gradle @@ -18,6 +18,12 @@ dependencies { implementation group: 'io.github.classgraph', name: 'classgraph', version: classGraphVersion implementation group: 'com.lambdaworks', name: 'scrypt', version: scryptVersion + test.useJUnitPlatform() + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: junitJupiterVersion + testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: junitJupiterVersion + testImplementation group: 'org.junit.vintage', name: 'junit-vintage-engine', version: junitVintageVersion + testImplementation group: 'org.junit.platform', name: 'junit-platform-launcher', version: junitPlatformVersion + testImplementation group: 'junit', name: 'junit', version: junitVersion testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: powermockVersion testImplementation group: 'org.powermock', name: 'powermock-api-mockito', version: powermockVersion diff --git a/game/plugin/build.gradle b/game/plugin/build.gradle index fe8e0f37..90c96c9a 100644 --- a/game/plugin/build.gradle +++ b/game/plugin/build.gradle @@ -2,6 +2,10 @@ subprojects { subproj -> if (subproj.buildFile.exists()) { apply plugin: 'apollo-plugin' + test { + useJUnitPlatform() + } + dependencies { test.useJUnitPlatform() implementation group: 'com.google.guava', name: 'guava', version: guavaVersion diff --git a/gradle/jacoco.gradle b/gradle/jacoco.gradle index 31ff7aec..1e87c9a5 100644 --- a/gradle/jacoco.gradle +++ b/gradle/jacoco.gradle @@ -1,59 +1,53 @@ -apply plugin: "jacoco" +apply plugin: 'jacoco' + +def testedProjects() { + subprojects.findAll { subproject -> subproject.plugins.hasPlugin('java') || subproject.plugins.hasPlugin('kotlin') } +} + +gradle.projectsEvaluated { + + configure(testedProjects()) { + apply plugin: 'jacoco' -allprojects { - tasks.withType(Test) { jacoco { toolVersion = '0.8.1' } - afterEvaluate { - jacocoTestReport { - dependsOn tasks.test + jacocoTestReport { + sourceDirectories = files(sourceSets.main.allSource.srcDirs) + classDirectories = files(sourceSets.main.output) + } - sourceSets sourceSets.main - reports { - html.enabled = true - xml.enabled = true - csv.enabled = false - } + test { + jacoco { + append = false + destinationFile = file("$buildDir/jacoco/jacocoTest.exec") + classDumpDir = file("$buildDir/jacoco/classpathdumps") } } } -} -task jacocoTestReport(type: JacocoReport) { - sourceDirectories = files() - classDirectories = files() - executionData = files() + task jacocoTestReport(type: JacocoReport) { + def tests = [] + def sourceDirs = files() + def classDirs = files() + def execData = files() - reports { - html.enabled = true - xml.enabled = true - csv.enabled = false - } + testedProjects().each { subproject -> + sourceDirs += files(subproject.sourceSets.main.allSource.srcDirs) + classDirs += files(subproject.sourceSets.main.output) + execData += files(subproject.tasks.jacocoTestReport.executionData.findAll { + it.exists() + }) - // Work-around to allow us to build list of executionData files in doFirst - onlyIf = { - true - } - - /* - * Builds list of source dirs, class dirs, and executionData files - * when task is run, not at script evaluation time - */ - doFirst { - subprojects.findAll { subproject -> - subproject.pluginManager.hasPlugin('java') || subproject.pluginManager.hasPlugin('kotlin') - }.each { subproject -> - additionalSourceDirs files((Set) subproject.sourceSets.main.allJava.srcDirs) - additionalClassDirs((FileCollection) subproject.sourceSets.main.output) - if (subproject.pluginManager.hasPlugin('jacoco')) { - executionData subproject.tasks.jacocoTestReport.executionData - } + tests += subproject.tasks.test } - executionData = files(executionData.findAll { - it.exists() - }) + dependsOn tests + sourceDirectories = sourceDirs + classDirectories = classDirs + executionData = execData } + + } \ No newline at end of file diff --git a/settings.gradle b/settings.gradle index 6f0626f1..6cd4ff99 100644 --- a/settings.gradle +++ b/settings.gradle @@ -35,5 +35,4 @@ def processPluginDir(Path pluginDir) { } pluginDirs.each { processPluginDir(it) } -include 'test-plugin'