From 9e61619c8a18e3bb7f0076208b2197630ed6718b Mon Sep 17 00:00:00 2001 From: Louis Jacomet Date: Thu, 2 Feb 2023 09:20:34 +0100 Subject: [PATCH] Update setting additional Scala compiler parameters This makes the plugin compatible with upcoming Gradle 8 Fixes #86 --- .../gradle/wartremover/WartremoverPlugin.groovy | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/main/groovy/cz/augi/gradle/wartremover/WartremoverPlugin.groovy b/src/main/groovy/cz/augi/gradle/wartremover/WartremoverPlugin.groovy index 1ddea86..3dfc433 100644 --- a/src/main/groovy/cz/augi/gradle/wartremover/WartremoverPlugin.groovy +++ b/src/main/groovy/cz/augi/gradle/wartremover/WartremoverPlugin.groovy @@ -11,15 +11,18 @@ class WartremoverPlugin implements Plugin { project.afterEvaluate { project.dependencies { scalaCompilerPlugins "org.wartremover:wartremover_${getWartremoverArtifactSuffix(project)}" } project.tasks.withType(ScalaCompile).configureEach { scalaTask -> - if (scalaTask.scalaCompileOptions.additionalParameters == null) { - scalaTask.scalaCompileOptions.additionalParameters = new ArrayList() + List updatedParameters = new ArrayList<>() + if (scalaTask.scalaCompileOptions.additionalParameters != null) { + updatedParameters.addAll(scalaTask.scalaCompileOptions.additionalParameters) } WartremoverSettings settings = scalaTask.name.toLowerCase().contains('test') ? extension.getTest() : extension - scalaTask.scalaCompileOptions.additionalParameters.addAll(settings.errorWarts.collect { getErrorWartDirective(it) }) - scalaTask.scalaCompileOptions.additionalParameters.addAll(settings.warningWarts.collect { getWarningWartDirective(it) }) - scalaTask.scalaCompileOptions.additionalParameters.addAll(settings.excludedFiles.collect { getExludedFileDirective(project.file(it).canonicalPath) }) + updatedParameters.addAll(settings.errorWarts.collect { getErrorWartDirective(it) }) + updatedParameters.addAll(settings.warningWarts.collect { getWarningWartDirective(it) }) + updatedParameters.addAll(settings.excludedFiles.collect { getExludedFileDirective(project.file(it).canonicalPath) }) - scalaTask.scalaCompileOptions.additionalParameters.addAll(settings.classPaths.collect { getClasspathDirective(it) }) + updatedParameters.addAll(settings.classPaths.collect { getClasspathDirective(it) }) + + scalaTask.scalaCompileOptions.additionalParameters = updatedParameters } } }