@groovy.transform.CompileStatic class GrailsViolationAggregationPlugin extends java.lang.Object implements Plugin<Project>
Root-only convention plugin that aggregates code-style violation XML reports and JaCoCo coverage CSV reports into human-readable Markdown files under build/reports/violations/. Apply this plugin to the root project only. Subprojects should apply grails-code-style and grails-jacoco individually. Tasks registered: aggregateStyleViolations — CodeNarc + Checkstyle only aggregateAnalysisViolations — PMD + SpotBugs only (requires opt-in properties) aggregateViolations — depends on both of the above aggregateJacocoCoverage — JaCoCo CSV → Markdown
| Type | Name and description |
|---|---|
static java.lang.String |
DEFAULT_JACOCO_EXCLUDED_CLASS_PREFIXES |
static java.lang.String |
JACOCO_EXCLUDED_CLASS_PREFIXES_PROPERTYComma-separated list of fully-qualified class-name prefixes to exclude from the aggregated JaCoCo coverage report. |
| Constructor and description |
|---|
GrailsViolationAggregationPlugin() |
| Methods inherited from class | Name |
|---|---|
class java.lang.Object |
java.lang.Object#equals(java.lang.Object), java.lang.Object#getClass(), java.lang.Object#hashCode(), java.lang.Object#notify(), java.lang.Object#notifyAll(), java.lang.Object#toString(), java.lang.Object#wait(), java.lang.Object#wait(long), java.lang.Object#wait(long, int) |
Comma-separated list of fully-qualified class-name prefixes to exclude from the aggregated
JaCoCo coverage report. Configure via -Pgrails.jacoco.aggregation.excludedClassPrefixes=...
or in gradle.properties.
Defaults to DEFAULT_JACOCO_EXCLUDED_CLASS_PREFIXES: the Hibernate 7 support classes share fully-qualified names with their Hibernate 5 counterparts, and JaCoCo cannot aggregate coverage for two different classes with the same name (it fails with "Can't add different class with same name"). Excluding one variant keeps the aggregate valid.