Skip to content

Commit c637d55

Browse files
committed
scoverage#163 Fix remaining deprecation warnings from Gradle 7.1.1
1 parent 73bd170 commit c637d55

File tree

2 files changed

+21
-9
lines changed

2 files changed

+21
-9
lines changed

src/functionalTest/resources/projects/scala-java-annotation-processor/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ description = 'a multi-module Scala and Java project using a Java annotation pro
66

77
allprojects {
88
repositories {
9-
jcenter()
9+
mavenCentral()
1010
}
1111
}
1212

src/main/groovy/org/scoverage/ScoveragePlugin.groovy

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ class ScoveragePlugin implements Plugin<PluginAware> {
2929

3030
static final String DEFAULT_REPORT_DIR = 'reports' + File.separatorChar + 'scoverage'
3131

32-
private final ConcurrentHashMap<Task, Set<? extends Task>> taskDependencies = new ConcurrentHashMap<>()
32+
private final ConcurrentHashMap<Task, Set<? extends Task>> crossProjectTaskDependencies = new ConcurrentHashMap<>()
33+
private final ConcurrentHashMap<Task, Set<? extends Task>> sameProjectTaskDependencies = new ConcurrentHashMap<>()
3334

3435
@Override
3536
void apply(PluginAware pluginAware) {
@@ -195,11 +196,16 @@ class ScoveragePlugin implements Plugin<PluginAware> {
195196

196197
originalCompileTask.enabled = false;
197198
compileTask.destinationDirectory = originalCompileTask.destinationDirectory
198-
originalJarTask.mustRunAfter(compileTask)
199+
200+
project.getTasks().each {
201+
if (recursiveDependenciesOf(it, true).contains(originalCompileTask)) {
202+
it.dependsOn(compileTask)
203+
}
204+
}
199205

200206
// make this project's scoverage compilation depend on scoverage compilation of any other project
201207
// which this project depends on its normal compilation
202-
def originalCompilationDependencies = recursiveDependenciesOf(compileTask).findAll {
208+
def originalCompilationDependencies = recursiveDependenciesOf(compileTask, false).findAll {
203209
it instanceof ScalaCompile
204210
}
205211
originalCompilationDependencies.each {
@@ -382,16 +388,22 @@ class ScoveragePlugin implements Plugin<PluginAware> {
382388
}
383389
}
384390

385-
private Set<? extends Task> recursiveDependenciesOf(Task task) {
386-
if (!taskDependencies.containsKey(task)) {
391+
private Set<? extends Task> recursiveDependenciesOf(Task task, boolean sameProjectOnly) {
392+
def cache = sameProjectOnly ? sameProjectTaskDependencies : crossProjectTaskDependencies
393+
if (!cache.containsKey(task)) {
387394
def directDependencies = task.getTaskDependencies().getDependencies(task)
388-
def nestedDependencies = directDependencies.collect { recursiveDependenciesOf(it) }.flatten()
395+
if (sameProjectOnly) {
396+
directDependencies = directDependencies.findAll {
397+
it.project == task.project
398+
}
399+
}
400+
def nestedDependencies = directDependencies.collect { recursiveDependenciesOf(it, sameProjectOnly) }.flatten()
389401
def dependencies = directDependencies + nestedDependencies
390402

391-
taskDependencies.put(task, dependencies)
403+
cache.put(task, dependencies)
392404
return dependencies
393405
} else {
394-
return taskDependencies.get(task)
406+
return cache.get(task)
395407
}
396408
}
397409
}

0 commit comments

Comments
 (0)