xvik / gradle-quality-plugin Goto Github PK
View Code? Open in Web Editor NEWGradle quality plugin for Java and Groovy
Home Page: http://xvik.github.io/gradle-quality-plugin
License: MIT License
Gradle quality plugin for Java and Groovy
Home Page: http://xvik.github.io/gradle-quality-plugin
License: MIT License
Using this plugin with latest Gradle 4.2
gives the following error:
Caused by: java.lang.NoClassDefFoundError: org/gradle/reporting/DurationFormatter
at ru.vyarus.gradle.plugin.quality.QualityPlugin.<clinit>(QualityPlugin.groovy:58)
at org.gradle.api.internal.DependencyInjectingInstantiator.newInstance(DependencyInjectingInstantiator.java:81)
at org.gradle.api.internal.plugins.DefaultPluginManager.instantiatePlugin(DefaultPluginManager.java:72)
... 112 more
It seems org.gradle.reporting.DurationFormatter
has been moved to org.gradle.internal.logging.format.DurationFormatter
.
With plugin version 4.6.0 and Gradle 7.2 we are seeing a deprecation warning. It appears as though its related to when PMD is enabled. I didn't see any other issues related to this. Sorry if it's already been reported.
The Report.enabled property has been deprecated. This is scheduled to be removed in Gradle 8.0. Please use the required property instead. See https://docs.gradle.org/7.2/dsl/org.gradle.api.reporting.Report.html#org.gradle.api.reporting.Report:enabled for more details.
at org.gradle.api.reporting.internal.SimpleReport.setEnabled(SimpleReport.java:108)
at org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport_Decorated.setEnabled(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:323)
at org.gradle.api.reporting.internal.TaskGeneratedSingleFileReport_Decorated.setProperty(Unknown Source)
at ru.vyarus.gradle.plugin.quality.QualityPlugin$_applyPMD_closure5$_closure26$_closure29$_closure31.doCall(QualityPlugin.groovy:194)
My root project gradle file:
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'com.google.gms:google-services:3.0.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
classpath 'ru.vyarus:gradle-quality-plugin:3.0.0'
}
}
apply plugin: 'ru.vyarus.quality'
gives this error:
Could not find gradle.plugin.com.github.spotbugs:spotbugs-gradle-plugin:1.6.1.
Searched in the following locations:
https://jcenter.bintray.com/gradle/plugin/com/github/spotbugs/spotbugs-gradle-plugin/1.6.1/spotbugs-gradle-plugin-1.6.1.pom
https://jcenter.bintray.com/gradle/plugin/com/github/spotbugs/spotbugs-gradle-plugin/1.6.1/spotbugs-gradle-plugin-1.6.1.jar
https://dl.google.com/dl/android/maven2/gradle/plugin/com/github/spotbugs/spotbugs-gradle-plugin/1.6.1/spotbugs-gradle-plugin-1.6.1.pom
https://dl.google.com/dl/android/maven2/gradle/plugin/com/github/spotbugs/spotbugs-gradle-plugin/1.6.1/spotbugs-gradle-plugin-1.6.1.jar
Required by:
project : > ru.vyarus:gradle-quality-plugin:3.0.0
Can I use the plugin to specify the reportlevel at which the messages are displayed and what is the default reportlevel like?
thx
When using this quality plugin with Gradle 8.2.1, Gradle reports that API used in Spotbugs Gradle plugin (4.8.0) is deprecated.
Let's upgrade Spotbugs Gradle plugin to 5.1.4 for Gradle 8.x compatibility purposes.
The org.gradle.api.plugins.Convention type has been deprecated. This is scheduled to be removed in Gradle 9.0. Consult the upgrading guide for further information: https://docs.gradle.org/8.2.1/userguide/upgrading_version_8.html#deprecated_access_to_conventions
at org.gradle.internal.extensibility.DefaultConvention.logConventionDeprecation(DefaultConvention.java:398)
at org.gradle.internal.extensibility.DefaultConvention.findPlugin(DefaultConvention.java:100)
at org.gradle.internal.extensibility.DefaultConvention.getPlugin(DefaultConvention.java:89)
at com.github.spotbugs.snom.internal.SpotBugsTaskFactory.lambda$generateForJava$2(SpotBugsTaskFactory.java:48)
at org.gradle.configuration.internal.DefaultUserCodeApplicationContext$CurrentApplication$1.execute(DefaultUserCodeApplicationContext.java:123)
...
at org.gradle.api.internal.DefaultMutationGuard$1.execute(DefaultMutationGuard.java:45)
at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:59)
at org.gradle.api.internal.DefaultDomainObjectCollection.configureEach(DefaultDomainObjectCollection.java:185)
at com.github.spotbugs.snom.internal.SpotBugsTaskFactory.generateForJava(SpotBugsTaskFactory.java:45)
at com.github.spotbugs.snom.internal.SpotBugsTaskFactory.generate(SpotBugsTaskFactory.java:37)
at ru.vyarus.gradle.plugin.quality.spotbugs.CustomSpotBugsPlugin.apply(CustomSpotBugsPlugin.java:46)
at ru.vyarus.gradle.plugin.quality.spotbugs.CustomSpotBugsPlugin.apply(CustomSpotBugsPlugin.java:28)
at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
I'm getting the following error in our project:
Could not get unknown property 'groovy' for source set 'main' of type org.gradle.api.internal.tasks.DefaultSourceSet.
groovy.lang.MissingPropertyException: Could not get unknown property 'groovy' for source set 'main' of type org.gradle.api.internal.tasks.DefaultSourceSet.
at org.gradle.internal.metaobject.AbstractDynamicObject.getMissingProperty(AbstractDynamicObject.java:83)
at org.gradle.internal.metaobject.AbstractDynamicObject.getProperty(AbstractDynamicObject.java:61)
at org.gradle.api.internal.tasks.DefaultSourceSet_Decorated.getProperty(Unknown Source)
at ru.vyarus.gradle.plugin.quality.report.ReportUtils.extractJavaPackage(ReportUtils.groovy:33)
at ru.vyarus.gradle.plugin.quality.report.ReportUtils$extractJavaPackage$0.call(Unknown Source)
at ru.vyarus.gradle.plugin.quality.report.PmdReporter$_report_closure1$_closure2.doCall(PmdReporter.groovy:33)
at ru.vyarus.gradle.plugin.quality.report.PmdReporter$_report_closure1.doCall(PmdReporter.groovy:30)
at ru.vyarus.gradle.plugin.quality.report.PmdReporter.report(PmdReporter.groovy:19)
at ru.vyarus.gradle.plugin.quality.QualityPlugin$_applyReporter_closure10.doCall(QualityPlugin.groovy:321)
It seems to be related to this project. And it's correct that there is no groovy
source set.
I'm guessing with a simple check, if groovy
exists, on this line would fix the bug:
This is an awesome plugin -- thank you!
On a project with separate integration tests from unit tests, I use the testsets plugin to setup a separate source root for integration tests, separate from unit tests. (See https://github.com/unbroken-dome/gradle-testsets-plugin).
I'm adding in the quality plugin, and encounter this Gradle error:
Execution failed for task ':buildDashboard'.
> Could not create task ':a:spotbugsIntegrationTest'.
> Cannot change dependencies of dependency configuration ':a:spotbugs' after it has been resolved.
Is this something I can resolve myself?
Disabling the build dashboard plugin worked, but I lose the single HTML page to see all build reports.
The project is https://github.com/binkley/gradle-multiple-test-roots. I have not pushed commits to use the quality plugin (waiting to have a green build first).
Build files, not pushed:
build.gradle
:
plugins {
id "build-dashboard"
id "jacoco"
id "ru.vyarus.quality"
id "org.unbroken-dome.test-sets"
id "com.dorongold.task-tree"
id "com.github.ben-manes.versions"
id "se.patrikerdes.use-latest-versions"
}
apply plugin: BasePlugin
allprojects {
group = "x"
version = "0"
jacoco {
toolVersion = "${jacocoVersion}"
}
task jacoco {
group = "Verification"
description = "Checks Java test coverage."
dependsOn tasks.withType(JacocoReportBase)
}
repositories {
mavenCentral()
jcenter()
}
}
subprojects {
apply plugin: "java"
apply plugin: "jacoco"
apply plugin: "ru.vyarus.quality"
apply plugin: "org.unbroken-dome.test-sets"
sourceCompatibility = 11
targetCompatibility = 11
dependencies {
annotationProcessor "org.projectlombok:lombok:${lombokVersion}"
compileOnly "org.projectlombok:lombok:${lombokVersion}"
testAnnotationProcessor "org.projectlombok:lombok:${lombokVersion}"
testCompileOnly "org.projectlombok:lombok:${lombokVersion}"
testImplementation "org.junit.jupiter:junit-jupiter:${junitVersion}"
testImplementation "org.assertj:assertj-core:${assertJVersion}"
}
tasks.withType(Test) {
useJUnitPlatform()
finalizedBy jacocoTestReport
}
tasks.withType(JacocoReportBase) {
executionData(fileTree(buildDir).include("/jacoco/*.exec"))
}
jacocoTestCoverageVerification {
violationRules {
rule {
limit {
counter = "LINE"
value = "COVEREDRATIO"
minimum = 1.00
}
}
}
dependsOn jacocoTestReport
}
quality {
strict = false
}
check {
dependsOn jacocoTestCoverageVerification
}
}
task jacocoMerge(type: JacocoMerge) {
subprojects.each { subproject ->
executionData subproject.tasks.withType(Test)
}
}
task jacocoMergedTestReport(type: JacocoReport) {
dependsOn jacocoMerge
executionData fileTree(buildDir).include("/jacoco/*.exec")
sourceDirectories.setFrom(files(subprojects.sourceSets.main.allSource.srcDirs))
classDirectories.setFrom(files(subprojects.sourceSets.main.output))
reports {
html.enabled = true
}
}
check {
dependsOn jacocoMergedTestReport
finalizedBy buildDashboard
}
wrapper {
distributionType = Wrapper.DistributionType.ALL
gradleVersion = "${gradleWrapperVersion}"
}
settings.gradle
:
pluginManagement {
plugins {
id "ru.vyarus.quality" version "${qualityPluginVersion}"
id "org.unbroken-dome.test-sets" version "${testsetsPluginVersion}"
id "com.dorongold.task-tree" version "${taskTreePluginVersion}"
id "com.github.ben-manes.versions" version "${versionsPluginVersion}"
id "se.patrikerdes.use-latest-versions" version "${useLatestVersionsPluginVersion}"
}
}
rootProject.name = "gradle-multiple-test-roots"
include "a"
include "b"
gradle.properties
:
org.gradle.caching=true
org.gradle.jvmargs=-Dfile.encoding=UTF-8
org.gradle.parallel=true
# Gradle versions
gradleWrapperVersion=6.3
# Plugin versions
qualityPluginVersion=4.2.1
taskTreePluginVersion=1.5
testsetsPluginVersion=3.0.1
useLatestVersionsPluginVersion=0.2.13
versionsPluginVersion=0.28.0
# Dependency versions
assertJVersion=3.15.0
jacocoVersion=0.8.5
junitVersion=5.6.2
lombokVersion=1.18.12
Gradle stacktrace says:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':buildDashboard'.
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:38)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreationException: Could not create task ':a:spotbugsIntegrationTest'.
at org.gradle.api.internal.tasks.DefaultTaskContainer.taskCreationException(DefaultTaskContainer.java:720)
at org.gradle.api.internal.tasks.DefaultTaskContainer.access$600(DefaultTaskContainer.java:77)
at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.domainObjectCreationException(DefaultTaskContainer.java:712)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:946)
at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.access$1401(DefaultTaskContainer.java:658)
at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider$1.run(DefaultTaskContainer.java:685)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.DefaultTaskContainer$TaskCreatingProvider.tryCreate(DefaultTaskContainer.java:681)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.calculateOwnValue(DefaultNamedDomainObjectCollection.java:927)
at org.gradle.api.internal.provider.AbstractMinimalProvider.calculateValue(AbstractMinimalProvider.java:109)
at org.gradle.api.internal.provider.Collectors$ElementFromProvider.collectEntries(Collectors.java:110)
at org.gradle.api.internal.provider.Collectors$TypedCollector.collectEntries(Collectors.java:372)
at org.gradle.api.internal.provider.Collectors$TypedCollector.collectInto(Collectors.java:367)
at org.gradle.api.internal.collections.DefaultPendingSource.realize(DefaultPendingSource.java:61)
at org.gradle.api.internal.collections.DefaultPendingSource.realizePending(DefaultPendingSource.java:52)
at org.gradle.api.internal.collections.SortedSetElementSource.realizePending(SortedSetElementSource.java:111)
at org.gradle.api.internal.DefaultDomainObjectCollection.addEagerAction(DefaultDomainObjectCollection.java:226)
at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:144)
at org.gradle.api.reporting.GenerateBuildDashboard$2.execute(GenerateBuildDashboard.java:100)
at org.gradle.api.reporting.GenerateBuildDashboard$2.execute(GenerateBuildDashboard.java:97)
at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:42)
at org.gradle.internal.Actions.with(Actions.java:251)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$2$1.run(BuildOperationCrossProjectConfigurator.java:79)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$2.run(BuildOperationCrossProjectConfigurator.java:76)
at org.gradle.internal.Factories$1.create(Factories.java:26)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:271)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.access$500(DefaultProjectStateRegistry.java:145)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl$1.create(DefaultProjectStateRegistry.java:260)
at org.gradle.internal.work.DefaultWorkerLeaseService.withoutLocks(DefaultWorkerLeaseService.java:260)
at org.gradle.internal.work.StopShieldingWorkerLeaseService.withoutLocks(StopShieldingWorkerLeaseService.java:50)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:256)
at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:226)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runProjectConfigureAction(BuildOperationCrossProjectConfigurator.java:73)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.access$400(BuildOperationCrossProjectConfigurator.java:32)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$1.doRunProjectConfigure(BuildOperationCrossProjectConfigurator.java:67)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator$BlockConfigureBuildOperation.run(BuildOperationCrossProjectConfigurator.java:121)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.runBlockConfigureAction(BuildOperationCrossProjectConfigurator.java:64)
at org.gradle.api.internal.project.BuildOperationCrossProjectConfigurator.allprojects(BuildOperationCrossProjectConfigurator.java:54)
at org.gradle.api.internal.project.DefaultProject.allprojects(DefaultProject.java:673)
at org.gradle.api.reporting.GenerateBuildDashboard.getAggregatedTasks(GenerateBuildDashboard.java:97)
at org.gradle.api.reporting.GenerateBuildDashboard.getEnabledInputReports(GenerateBuildDashboard.java:83)
at org.gradle.api.reporting.GenerateBuildDashboard.getInputReports(GenerateBuildDashboard.java:71)
at org.gradle.api.reporting.GenerateBuildDashboard_Decorated.getInputReports(Unknown Source)
at jdk.internal.reflect.GeneratedMethodAccessor790.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$BeanPropertyValue$1$1.create(AbstractNestedRuntimeBeanNode.java:79)
at org.gradle.internal.deprecation.DeprecationLogger.whileDisabled(DeprecationLogger.java:225)
at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$BeanPropertyValue$1.get(AbstractNestedRuntimeBeanNode.java:75)
at com.google.common.base.Suppliers$NonSerializableMemoizingSupplier.get(Suppliers.java:167)
at org.gradle.api.internal.tasks.properties.bean.AbstractNestedRuntimeBeanNode$BeanPropertyValue.call(AbstractNestedRuntimeBeanNode.java:145)
at org.gradle.api.internal.tasks.properties.AbstractValidatingProperty.validate(AbstractValidatingProperty.java:39)
at org.gradle.api.internal.tasks.properties.DefaultTaskProperties.validate(DefaultTaskProperties.java:193)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.validate(ExecuteActionsTaskExecuter.java:505)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:50)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
... 23 more
Caused by: org.gradle.api.InvalidUserDataException: Cannot change dependencies of dependency configuration ':a:spotbugs' after it has been resolved.
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.preventIllegalMutation(DefaultConfiguration.java:1124)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.validateMutation(DefaultConfiguration.java:1095)
at org.gradle.api.internal.artifacts.configurations.DefaultConfiguration.defaultDependencies(DefaultConfiguration.java:437)
at com.github.spotbugs.SpotBugsPlugin.configureDefaultDependencies(SpotBugsPlugin.java:155)
at com.github.spotbugs.SpotBugsPlugin.configureTaskDefaults(SpotBugsPlugin.java:118)
at com.github.spotbugs.SpotBugsPlugin.configureTaskDefaults(SpotBugsPlugin.java:37)
at org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin$3.execute(AbstractCodeQualityPlugin.java:151)
at org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin$3.execute(AbstractCodeQualityPlugin.java:143)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1$1.run(DefaultCollectionCallbackActionDecorator.java:100)
at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:60)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:97)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:94)
at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:42)
at org.gradle.api.internal.DefaultMutationGuard$2.execute(DefaultMutationGuard.java:42)
at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:59)
at org.gradle.internal.ImmutableActionSet$SetWithManyActions.execute(ImmutableActionSet.java:329)
at org.gradle.api.internal.DefaultDomainObjectCollection.doAdd(DefaultDomainObjectCollection.java:264)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection.doAdd(DefaultNamedDomainObjectCollection.java:112)
at org.gradle.api.internal.DefaultDomainObjectCollection.add(DefaultDomainObjectCollection.java:258)
at org.gradle.api.internal.DefaultNamedDomainObjectCollection$AbstractDomainObjectCreatingProvider.tryCreate(DefaultNamedDomainObjectCollection.java:942)
... 110 more
I am not sure if the plugin is supposed to work with gradle kotlin DSL.
After I converted my build.gradle to Kotlin, I get the following error.
But maybe I am just holding it wrong somehow.
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] FAILURE: Build failed with an exception.
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * What went wrong:
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] A problem occurred configuring root project 'xlcalc'.
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] > java.lang.UnsupportedOperationException (no error message)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Try:
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Run with --scan to get full insights.
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] * Exception is:
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] org.gradle.api.ProjectConfigurationException: A problem occurred configuring root project 'xlcalc'.
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.wrapException(LifecycleProjectEvaluator.java:80)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:73)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.access$600(LifecycleProjectEvaluator.java:53)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:199)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject$1.run(LifecycleProjectEvaluator.java:112)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.Factories$1.create(Factories.java:26)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withProjectLock(DefaultProjectStateRegistry.java:227)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:221)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProjectStateRegistry$ProjectStateImpl.withMutableState(DefaultProjectStateRegistry.java:187)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$EvaluateProject.run(LifecycleProjectEvaluator.java:96)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
11:24:22.193 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:68)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:693)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:141)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:36)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.DefaultProjectsPreparer.prepareProjects(DefaultProjectsPreparer.java:55)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.BuildOperatingFiringProjectsPreparer$ConfigureBuild.run(BuildOperatingFiringProjectsPreparer.java:52)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.BuildOperatingFiringProjectsPreparer.prepareProjects(BuildOperatingFiringProjectsPreparer.java:40)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.prepareProjects(DefaultGradleLauncher.java:198)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doClassicBuildStages(DefaultGradleLauncher.java:138)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:126)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:106)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:60)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:57)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:85)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:78)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:189)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:78)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:57)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.runner.BuildModelActionRunner.run(BuildModelActionRunner.java:54)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:63)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:51)
11:24:22.194 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:45)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:45)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:47)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:47)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
11:24:22.195 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:68)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:39)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:27)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:35)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:78)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.create(ForwardClientInput.java:75)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.Swapper.swap(Swapper.java:38)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:75)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:63)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:37)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:104)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:52)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] Caused by: java.lang.UnsupportedOperationException
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at ru.vyarus.gradle.plugin.quality.QualityPlugin$_configureJavac_closure3.doCall(QualityPlugin.groovy:116)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:71)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.ConfigureUtil.configureTarget(ConfigureUtil.java:154)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.ConfigureUtil.configureSelf(ConfigureUtil.java:130)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:587)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.AbstractTask.configure(AbstractTask.java:91)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:103)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.util.ConfigureUtil$WrappedConfigureAction.execute(ConfigureUtil.java:166)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1$1.run(DefaultCollectionCallbackActionDecorator.java:100)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:60)
11:24:22.196 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction$1.run(DefaultCollectionCallbackActionDecorator.java:97)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultCollectionCallbackActionDecorator$BuildOperationEmittingAction.execute(DefaultCollectionCallbackActionDecorator.java:94)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.collections.CollectionFilter$1.execute(CollectionFilter.java:59)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultDomainObjectCollection.all(DefaultDomainObjectCollection.java:163)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.tasks.DefaultRealizableTaskCollection.all(DefaultRealizableTaskCollection.java:224)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultDomainObjectCollection.withType(DefaultDomainObjectCollection.java:205)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.DefaultDomainObjectCollection.withType(DefaultDomainObjectCollection.java:211)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at ru.vyarus.gradle.plugin.quality.QualityPlugin.configureJavac(QualityPlugin.groovy:115)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at ru.vyarus.gradle.plugin.quality.QualityPlugin.access$2(QualityPlugin.groovy)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at ru.vyarus.gradle.plugin.quality.QualityPlugin$_apply_closure1$_closure16.doCall(QualityPlugin.groovy:79)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingClosure$1$1.run(DefaultListenerBuildOperationDecorator.java:185)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.internal.DefaultUserCodeApplicationContext.reapply(DefaultUserCodeApplicationContext.java:60)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingClosure$1.run(DefaultListenerBuildOperationDecorator.java:180)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.internal.DefaultListenerBuildOperationDecorator$BuildOperationEmittingClosure.doCall(DefaultListenerBuildOperationDecorator.java:177)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:41)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:231)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:150)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:325)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:235)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:141)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:94)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at com.sun.proxy.$Proxy30.afterEvaluate(Unknown Source)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:191)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate$1.execute(LifecycleProjectEvaluator.java:188)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.api.internal.project.DefaultProject.stepEvaluationListener(DefaultProject.java:1420)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] at org.gradle.configuration.project.LifecycleProjectEvaluator$NotifyAfterEvaluate.run(LifecycleProjectEvaluator.java:197)
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter] ... 115 more
11:24:22.197 [ERROR] [org.gradle.internal.buildevents.BuildExceptionReporter]
After updating to gradle 6, I get this error
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'xlcalc'.
> Failed to notify project evaluation listener.
> org/gradle/api/plugins/quality/FindBugsPlugin
We have disabled FindBugs in the configuration anyway.
gradle 6 removed the plugin completey, see https://docs.gradle.org/current/userguide/upgrading_version_5.html#the_findbugs_plugin_has_been_removed
Could you release a version of the quality plugin that does not rely on FindBugs being present?
Upgrading to version 3.1.0 gives me this error (works fine in version 3.0.0).
Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener.
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:86)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324)
at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140)
at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37)
at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93)
at com.sun.proxy.$Proxy26.afterEvaluate(Unknown Source)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:76)
... 85 more
Caused by: java.lang.NoClassDefFoundError: com/github/spotbugs/SpotBugsPlugin
at ru.vyarus.gradle.plugin.quality.QualityPlugin.applySpotbugs(QualityPlugin.groovy:183)
at ru.vyarus.gradle.plugin.quality.QualityPlugin.access$7(QualityPlugin.groovy)
at ru.vyarus.gradle.plugin.quality.QualityPlugin$_apply_closure1$_closure16.doCall(QualityPlugin.groovy:84)
at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40)
at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230)
at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149)
at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58)
... 92 more
Caused by: java.lang.ClassNotFoundException: com.github.spotbugs.SpotBugsPlugin
... 101 more
Can I specify that I want to check the JUnit tests with other rules, like the source? For example, in PMD there are rules that you can use to check JUnit tests. But for the "normal" code you can't use them. For example, all methodes that do not have a test as annotation are marked as faulty.
Can I do this with the plugin or are there other possibilities?
After upgrading to Gradle 6.4 we get this error:
Caused by: java.lang.NoSuchMethodError: org.gradle.process.internal.worker.WorkerProcessFactory.singleRequestWorker(Ljava/lang/Class;Ljava/lang/Class;)Lorg/gradle/process/internal/worker/SingleRequestWorkerProcessBuilder;
at com.github.spotbugs.internal.spotbugs.SpotBugsWorkerManager.createWorkerProcess(SpotBugsWorkerManager.java:19)
at com.github.spotbugs.internal.spotbugs.SpotBugsWorkerManager.runWorker(SpotBugsWorkerManager.java:14)
at com.github.spotbugs.SpotBugsTask.run(SpotBugsTask.java:287)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:722)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:689)
...
From what I can tell this API is no longer used in recent versions of the SpotBugs Plugin. But the quality plugin pulls in an old version.
Reading the docs it looks as though I should be able to use a newer version of the plugin by setting
classpath "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.0.8"
but that doesn't seem to work and I still see the error. I'm wondering if it's because the group changed for the plugin?
Would it be possible to run all quality plugins and display the results at the end, so that all failures can be addressed in one attempt, rather than as each individual plugin fails?
Hi,
if I apply the plugin to my gradle project (environment: gradle wrapper 2.7, Windows 7, Jdk7) without overriding the default configuration directory, when I run gradlew clean build
I get an
exception: java.io.FileNotFoundException: [...] \build\quality-configs\codenarc\codenarc.xml
.
I think that happens because the ConfigLoader, which creates the default configuration in the build directory, is called at configuration time, before the execution of the clean task, which deletes the whole build directory.
My current workaround is to add the following to my build.gradle:
import ru.vyarus.gradle.plugin.quality.ConfigLoader
clean.doLast {
(new ru.vyarus.gradle.plugin.quality.ConfigLoader(project)).getCodenarcConfig()
}
... but in this way the default configuration file is created twice: during gradle configuration and during gradle execution. Would it be possible to execute it only during the execution phase, instead?
Thank you
Hi we use this plugin in a project with a lot of gradle modules. Sometime we get build errors with this error:
Fatal error during transformation using /home/jenkins/workdir/workspace/amodule/build/quality-configs/spotbugs/html-report-style.xsl: The processing instruction target matching "[xX][mM][lL]" is not allowed.
If we look in the html-report-style.xsl we see the same content two times like:
?xml` version="1.0" encoding="UTF-8"?>
...
xsl:stylesheet version="1.0"
...
</xsl:stylesheet>
<?xml version="1.0" encoding="UTF-8"?> <--- again!
...
I did some digging in the source code and i think it could be a concurrency problem:
:spotbugsMain and :spotbugsTest are executed at the same time for one module
so
ru.vyarus.gradle.plugin.quality.ConfigLoader#copyConfig
is executed by two threads
private File copyConfig(File parent, String path, boolean override) {
File target = new File(parent, path)
if (target.exists() && !override) {
return target
}
if (!target.parentFile.exists() && !target.parentFile.mkdirs()) {
throw new IllegalStateException("Failed to create directories: $target.parentFile.absolutePath")
}
InputStream stream = getClass().getResourceAsStream("/ru/vyarus/quality/config/$path")
if (stream == null) {
throw new IllegalStateException("Default config file not found in classpath: $path")
}
target << stream.text
return target
}
This could explain the observed behavior.
What do you think?
Even with lots of gradle modules and a lot of builds this does not happen often so it's hard to come up with a testcase for this.
Thx
I am really appreciating the Quality plugin!
Have you considered including security vulnerability checks, ala https://github.com/jeremylong/dependency-check-gradle?
I use this plugin on most of my Gradle projects.
We have a project which uses Groovy and the CodeNarc scanning that the quality plugin provides. Writing reports seems to be broken after the upgrade from 4.1.0 to 4.2.1. It fails with > java.lang.NoClassDefFoundError: Lgroovy/text/TemplateEngine;
. Any ideas?
โ spring-initialzr git:(master) โ ./gradlew clean build checkQualMain -s
> Task :spring-initializr:compileGroovy
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.codehaus.groovy.reflection.CachedClass (file:/Users/joe.athman/.gradle/caches/modules-2/files-2.1/org.codehaus.groovy/groovy/2.5.10/e02047a2de591492cb19e82c9a72bd9d24b25235/groovy-2.5.10.jar) to method java.util.AbstractCollection.hugeCapacity(int)
WARNING: Please consider reporting this to the maintainers of org.codehaus.groovy.reflection.CachedClass
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
> Task :spring-initializr:codenarcMain FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':spring-initializr:codenarcMain'.
> java.lang.NoClassDefFoundError: Lgroovy/text/TemplateEngine;
* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':spring-initializr:codenarcMain'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:205)
at org.gradle.internal.Try$Failure.ifSuccessfulOrElse(Try.java:263)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:203)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:184)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:114)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:372)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:359)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:352)
at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:338)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182)
at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
Caused by: : java.lang.NoClassDefFoundError: Lgroovy/text/TemplateEngine;
at org.apache.tools.ant.IntrospectionHelper.extractBuildException(IntrospectionHelper.java:800)
at org.apache.tools.ant.IntrospectionHelper.access$400(IntrospectionHelper.java:62)
at org.apache.tools.ant.IntrospectionHelper$Creator.store(IntrospectionHelper.java:1367)
at org.apache.tools.ant.UnknownElement.handleChild(UnknownElement.java:590)
at org.apache.tools.ant.UnknownElement.handleChildren(UnknownElement.java:357)
at org.apache.tools.ant.UnknownElement.configure(UnknownElement.java:206)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:165)
at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:80)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.metaobject.BeanDynamicObject$MetaClassAdapter.invokeMethod(BeanDynamicObject.java:483)
at org.gradle.internal.metaobject.BeanDynamicObject.tryInvokeMethod(BeanDynamicObject.java:195)
at org.gradle.internal.metaobject.AbstractDynamicObject.invokeMethod(AbstractDynamicObject.java:163)
at org.gradle.api.internal.project.antbuilder.AntBuilderDelegate.nodeCompleted(AntBuilderDelegate.java:124)
at org.gradle.api.plugins.quality.internal.CodeNarcInvoker$_invoke_closure1.doCall(CodeNarcInvoker.groovy:50)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:71)
at org.gradle.util.ClosureBackedAction.execute(ClosureBackedAction.java:52)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:154)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder$2.execute(DefaultIsolatedAntBuilder.java:136)
at org.gradle.api.internal.project.antbuilder.ClassPathToClassLoaderCache.withCachedClassLoader(ClassPathToClassLoaderCache.java:135)
at org.gradle.api.internal.project.antbuilder.DefaultIsolatedAntBuilder.execute(DefaultIsolatedAntBuilder.java:130)
at org.gradle.api.internal.project.IsolatedAntBuilder$execute$0.call(Unknown Source)
at org.gradle.api.plugins.quality.internal.CodeNarcInvoker.invoke(CodeNarcInvoker.groovy:47)
at org.gradle.api.plugins.quality.CodeNarc.run(CodeNarc.java:107)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:104)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:49)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:727)
at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:694)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$3.run(ExecuteActionsTaskExecuter.java:568)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:553)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:536)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$300(ExecuteActionsTaskExecuter.java:109)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.executeWithPreviousOutputFiles(ExecuteActionsTaskExecuter.java:276)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:265)
at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$1(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:33)
at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:67)
at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:36)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:49)
at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:34)
at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:43)
at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:34)
at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:44)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:54)
at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:38)
at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:159)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:72)
at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:43)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:92)
at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:85)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:55)
at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:39)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:94)
at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:49)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:79)
at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:53)
at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:74)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:78)
at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34)
at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:39)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:40)
at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:28)
at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:192)
... 30 more
Caused by: java.lang.NoClassDefFoundError: Lgroovy/text/TemplateEngine;
at org.codenarc.report.ReportWriterFactory.getReportWriter(ReportWriterFactory.groovy:34)
at org.codenarc.report.ReportWriterFactory.getReportWriter(ReportWriterFactory.groovy:49)
at org.codenarc.report.ReportWriterFactory$getReportWriter.call(Unknown Source)
at org.codenarc.ant.CodeNarcTask.addConfiguredReport(CodeNarcTask.groovy:142)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.apache.tools.ant.IntrospectionHelper$AddNestedCreator.istore(IntrospectionHelper.java:1459)
at org.apache.tools.ant.IntrospectionHelper$AddNestedCreator.store(IntrospectionHelper.java:1453)
at org.apache.tools.ant.IntrospectionHelper$Creator.store(IntrospectionHelper.java:1358)
... 120 more
Caused by: java.lang.ClassNotFoundException: groovy.text.TemplateEngine
... 130 more
The main reason for updating to this version is that it updates to a version of Groovy that works better with "standard" Spring Boot applications that use the Spring dependency management plugin.
The current version in of CodeNarc being used by the quality plugin pulls in a version of CodeNarc that uses an old version of Groovy which used to bundle everything as a single Jar. After Groovy 2.4, the Groovy modules were broken up in to smaller pieces.
Additionally, it would be nice to use the latest CodeNarc features including Groovy 3.x support.
Is it possible for the plugin to support CPD (copy-paste-detector)?
https://pmd.github.io/pmd-6.2.0/#cpd
When you run Checkstyle, PMD, and Spotbugs, the messages are output to the console. Is it possible to suppress the messages? The logfiles become very big. That's why I would like to activate it.
Console output:
checkstyle
[Coding | MultipleStringLiterals] de.alpha.util.(ExportToolsTest.java:32)
Der String "c:/temp/test.zip" wird in dieser Datei 3-mal verwendet.
http://checkstyle.sourceforge.net/config_coding.html#MultipleStringLiterals
pmd
[Best Practices | AvoidReassigningParameters] de.alpha.kit.web.fe.servlets.(CSSStyleServlet.java:654)
Avoid reassigning parameters such as 'col2'
https://pmd.github.io/pmd-6.7.0/pmd_rules_java_bestpractices.html#avoidreassigningparameters
spotbugs
[Dodgy code | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD] de.alpha.webservice.webserver.(JavaWebservice.java:112) [priority 1]
>> Write to static field de.alpha.webservice.webserver.JavaWebservice.serverConfig from instance method de.alpha.webservice.webserver.JavaWebservice.configure(String, String, String, String)
This instance method writes to a static field. This is tricky to get
correct if multiple instances are being manipulated,
and generally bad practice.
Dom4J has a security vulnerability CVE-2018-1000632
.
Dependency tree current -> new
:
All dependencies have newer versions that do not contain the vulnerability.
Please update spotbugs-gradle-plugin to 1.6.11
.
OWASP Dependency Check output:
dom4j-2.1.0.jar (pkg:maven/org.dom4j/[email protected], cpe:2.3:a:dom4j_project:dom4j:2.1.0:*:*:*:*:*:*:*) : CVE-2018-1000632
New vulnerability in apache commons text versions 1.5 - 1.9 (CVE-2022-42889). Fix in apache commons text version 1.10.
Spotbugs 4.7.3 updates apache commons text dependency to 1.10. Spotbugs Gradle Plugin 5.0.13 updates its Spotbugs depdency to use 4.7.3.
Obviously, this does not affect run time of applications using this quality plugin. However, some pipelines with vulnerability scanning have started blocking artifacts with this plugin due to the version of Spotbugs being used.
Thanks for keeping this updated ๐
The plugin does not work with Gradle 6.0. An example is here (which works well without upgrading Gradle to 6.0):
git clone https://github.com/tueda/test-gradle-quality-plugin.git
cd test-gradle-quality-plugin
./gradlew wrapper --gradle-version=6.0
./gradlew
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring root project 'test-gradle-quality-plugin'.
> Failed to notify project evaluation listener.
> org/gradle/api/plugins/quality/FindBugsPlugin
Probably, this is because of the old version of the SpotBugs plugin, which is incompatible with Gradle 6, e.g., spotbugs/spotbugs-gradle-plugin#95.
Currently the results are output in xml and html format. A central switch that controls whether the output is in HTML or XML. I have large output files and process them on the Jenkins builds
The execution of spotbugs will fail if gradle <5.0 is used.
Worker memory was reduced to 5.0 gradle. In the Spotbugs plugin you can increase the heap with the help of the parameter jvmargs. Is this also about this plugin?
https://discuss.gradle.org/t/spotbugsplugin-with-gradle-5-0-fails-gc-overhead-limit-exceeded/30461/4
spotbugs/spotbugs-gradle-plugin#85
This property is required in order to have config_loc
variable set, for example to use it with SuppressionFilter module:
<module name="SuppressionFilter">
<property name="file" value="${config_loc}/suppressions.xml"/>
</module>
FYI: as workaround I use afterEvaluate to pass configDirectory to Checkstyle and it works just fine
When I try to sync/reimport my gradle project in latest Idea Early Access version, the Sync fails with:
java.util.NoSuchElementException: Cannot access last() element from an empty List
at ru.vyarus.gradle.plugin.quality.QualityPlugin$_applyEnabledState_closure14.doCall(QualityPlugin.groovy:458)
It seems IDEA now invokes gradle without passing any tasks and that makes the quality plugin fail.
The same can be observed if you run the initialization and configuration phase only from the command line.
I don't know if there's a dedicated way to not execute any tasks, but for example this command gives the same exception:
./gradlew build - x build
The following exception is thrown during project configuration phase when running with gradle version 4.8:
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':sample-application:sample-application-core'. at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:109) at org.gradle.configuration.project.LifecycleProjectEvaluator.onAfterEvaluateFailure(LifecycleProjectEvaluator.java:105) at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:87) at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:72) at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:37) at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:125) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:52) at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:677) at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:138) at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35) at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62) at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:41) at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:262) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:175) at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:132) at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:110) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:86) at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:83) at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152) at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:38) at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:96) at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:83) at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:70) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35) at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.run(RunAsBuildOperationBuildActionRunner.java:47) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:43) at org.gradle.tooling.internal.provider.SubscribableBuildActionRunner.run(SubscribableBuildActionRunner.java:51) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:50) at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46) at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:65) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46) at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:32) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:39) at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:80) at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:53) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:62) at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:34) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:36) at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:25) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43) at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:59) at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:31) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:59) at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:44) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:46) at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:30) at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:37) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74) at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72) at org.gradle.util.Swapper.swap(Swapper.java:38) at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:62) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:82) at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36) at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:122) at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50) at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:295) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55) at java.base/java.lang.Thread.run(Thread.java:844) Caused by: org.gradle.internal.event.ListenerNotificationException: Failed to notify project evaluation listener. at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:86) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:324) at org.gradle.internal.event.BroadcastDispatch$CompositeDispatch.dispatch(BroadcastDispatch.java:234) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:140) at org.gradle.internal.event.ListenerBroadcast.dispatch(ListenerBroadcast.java:37) at org.gradle.internal.dispatch.ProxyDispatchAdapter$DispatchingInvocationHandler.invoke(ProxyDispatchAdapter.java:93) at com.sun.proxy.$Proxy37.afterEvaluate(Unknown Source) at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:83) at org.gradle.configuration.project.LifecycleProjectEvaluator$1.execute(LifecycleProjectEvaluator.java:80) at org.gradle.api.internal.project.DefaultProject.stepEvaluationListener(DefaultProject.java:1393) at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:80) ... 92 more Caused by: java.lang.AbstractMethodError at org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin.createConfigurations(AbstractCodeQualityPlugin.java:106) at org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin.apply(AbstractCodeQualityPlugin.java:57) at org.gradle.api.plugins.quality.internal.AbstractCodeQualityPlugin.apply(AbstractCodeQualityPlugin.java:42) at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:42) at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:50) at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:163) at org.gradle.api.internal.plugins.DefaultPluginManager.access$200(DefaultPluginManager.java:46) at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:251) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:317) at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:309) at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:185) at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:97) at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31) at org.gradle.api.internal.plugins.DefaultPluginManager.doApply(DefaultPluginManager.java:143) at org.gradle.api.internal.plugins.DefaultPluginManager.addImperativePlugin(DefaultPluginManager.java:79) at org.gradle.api.internal.plugins.DefaultPluginManager.addImperativePlugin(DefaultPluginManager.java:85) at org.gradle.api.internal.plugins.DefaultPluginContainer.apply(DefaultPluginContainer.java:91) at ru.vyarus.gradle.plugin.quality.QualityPlugin.configurePlugin(QualityPlugin.groovy:360) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:59) at ru.vyarus.gradle.plugin.quality.QualityPlugin.applySpotbugs(QualityPlugin.groovy:175) at ru.vyarus.gradle.plugin.quality.QualityPlugin.access$7(QualityPlugin.groovy) at ru.vyarus.gradle.plugin.quality.QualityPlugin$_apply_closure1$_closure16.doCall(QualityPlugin.groovy:84) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:93) at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325) at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:294) at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1022) at groovy.lang.Closure.call(Closure.java:414) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:40) at org.gradle.listener.ClosureBackedMethodInvocationDispatch.dispatch(ClosureBackedMethodInvocationDispatch.java:25) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:42) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:230) at org.gradle.internal.event.BroadcastDispatch$SingletonDispatch.dispatch(BroadcastDispatch.java:149) at org.gradle.internal.event.AbstractBroadcastDispatch.dispatch(AbstractBroadcastDispatch.java:58) ... 102 more
Looks like it may have something to do with the getOutputLocation return type being changed from Provider to Property.
https://docs.gradle.org/current/userguide/upgrading_version_7.html#report_getoutputlocation_return_type_changed_from_provider_to_property
Here is my stack trace:
Caused by: java.lang.NoSuchMethodError: 'org.gradle.api.provider.Provider org.gradle.api.reporting.Report.getOutputLocation()'
at ru.vyarus.gradle.plugin.quality.report.ReportUtils.getReportFile(ReportUtils.groovy:115)
at ru.vyarus.gradle.plugin.quality.report.ReportUtils$getReportFile.call(Unknown Source)
at ru.vyarus.gradle.plugin.quality.report.CheckstyleReporter.report(CheckstyleReporter.groovy:27)
at ru.vyarus.gradle.plugin.quality.report.CheckstyleReporter.report(CheckstyleReporter.groovy)
at ru.vyarus.gradle.plugin.quality.QualityPlugin$_applyReporter_closure10.doCall(QualityPlugin.groovy:417)
I have been fighting this for a couple of hours:
We use the mapstruct annotation processor and SpotBugs complains about code generated by that annotation processor.
I tried using "exclude", but that has no effect.
I would like to move the apt generated sources to another source set, but I don't even know if that is possible.
The docs mention that I have misconfigured my build: "If non of the above works for you, then you did sources configuration not according to best practices."
I tried using "excludeSources", but that, too, just has no effect.
Finally I tried to configure an exclusion file for SpotBugs, but probably I made a mistake, because it seems to be completely ignored.
BTW: The page in the docs at "User guide -> Configuration" has a bug, it says to use "afterEvaluation {". That should be "afterEvaluate {".
See here for an example project: https://github.com/eekboom/qualitymapstruct
This analysis could be faster, please consider using Incremental Analysis: https://pmd.github.io/pmd-6.6.0/pmd_userdocs_incremental_analysis.html
Pmd has an option -no-cache
that disables build cache, but as far as I know there is no way to specify it via gradle-pmd-plugin
as well as no way to configure cache dir.
Related issues:
gradle/gradle#2862
gradle/gradle#3125
PS don't know why but I'm getting hundreds of lines with such warning per module
Hello! I ran into an issue while trying to configure the quality plugin with spring-boot-plugin in multi-module build:
class ru.vyarus.gradle.plugin.quality.service.TasksListenerService$Inject cannot be cast to class ru.vyarus.gradle.plugin.quality.service.TasksListenerService (ru.vyarus.gradle.plugin.quality.service.TasksListenerService$Inject is in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader @1eeea369; ru.vyarus.gradle.plugin.quality.service.TasksListenerService is in unnamed module of loader org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader @1a7e32df)
The build consists of 3 files:
settings.gradle.kts
:
include("app", "lib")
app/build.gradle.kts
:
plugins {
java
id("org.springframework.boot").version("3.2.6").apply(false)
id("ru.vyarus.quality") version "5.0.0"
}
lib/build.gradle.kts
:
plugins {
`java-library`
id("ru.vyarus.quality") version "5.0.0"
}
url to repo: https://github.com/hdghg/gradle-quality-plugin-bugreport
Setting an exclusion like:
quality {
strict = false;
checkstyle = false;
exclude '/generated/'
}
Will breake the caching and incremental build functionality of gradle.
Task ':projectName:spotbugsMain' is not up-to-date because:
Input property 'excludeFilter' file /tmp/projectName-spotbugsMain-excludes1927228757384835287.xml has been removed.
Input property 'excludeFilter' file /tmp/projectName-spotbugsMain-excludes7764054299947599288.xml has been added.
This results in longer than necessary build times because the file has a different name on every build.
When upgrading from 3.4.0 to 4.0.0 I keep getting this error message:
> Failed to run Gradle SpotBugs Worker
> Process 'Gradle SpotBugs Worker 48' finished with non-zero exit value 1
I'm running gradle 5.6, but also upgrading to 6.0.1 does not help with this...
When running with --debug, I see this exception in the logs:
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] java.util.ServiceConfigurationError: org.slf4j.spi.SLF4JServiceProvider: org.slf4j.simple.SimpleServiceProvider not a subtype
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:588)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1236)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1264)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1299)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1384)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.findServiceProviders(LoggerFactory.java:106)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.bind(LoggerFactory.java:149)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:141)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.getProvider(LoggerFactory.java:413)
2019-12-10T16:26:16.417+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:405)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:354)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:380)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.concurrent.CompositeStoppable.<clinit>(CompositeStoppable.java:37)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.service.DefaultServiceRegistry$OwnServices.<init>(DefaultServiceRegistry.java:371)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.service.DefaultServiceRegistry.<init>(DefaultServiceRegistry.java:99)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.service.DefaultServiceRegistry.<init>(DefaultServiceRegistry.java:86)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.logging.services.LoggingServiceRegistry.<init>(LoggingServiceRegistry.java:50)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.logging.services.LoggingServiceRegistry$CommandLineLogging.<init>(LoggingServiceRegistry.java:164)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.logging.services.LoggingServiceRegistry$CommandLineLogging.<init>(LoggingServiceRegistry.java:164)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.internal.logging.services.LoggingServiceRegistry.newEmbeddableLogging(LoggingServiceRegistry.java:104)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:88)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at org.gradle.process.internal.worker.child.SystemApplicationClassLoaderWorker.call(SystemApplicationClassLoaderWorker.java:69)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:68)
2019-12-10T16:26:16.418+0100 [DEBUG] [system.err] at worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:73)
I did some googling but nothing helpful popped up. You can have a look at our build.gradle here: https://github.com/bdeployteam/bdeploy/blob/master/build.gradle
I am aware that this might not be an issue with the quality plugin itself, but since this is what I updated, I'm reporting here :)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.