Resolve existing PMD findings in grails-gradle-model
- Dominant language
- Groovy
- Stars
- 2.9k
- Forks
- 975
- Avg merge
- 1d 22h
- Merged PRs (30d)
- 92
Description
## Summary
The independent `grails-gradle` build currently has 113 PMD findings, all in `grails-gradle-model`, after generated files below `build/` are excluded. The other analyzed Gradle-plugin subprojects currently have no PMD source task rather than a verified clean Java baseline.
## Reproduction
From `grails-gradle/`:
```shell
./gradlew aggregateAnalysisViolations --continue \
-Pgrails.code-analysis.enabled.pmd=true \
-Pgrails.code-analysis.ignoreFailures=true
```
The detailed XML report is written under `build/reports/code-analysis/pmd/`.
## Baseline
| Project | Findings |
|---------|---------:|
| `grails-gradle-model` | 113 |
## Suggested approach
Resolve the model findings in reviewable rule/category batches while preserving public Gradle model behavior. Once the report is clean, remove `ignoreFailures` from the `grails-gradle` code-analysis workflow and make PMD blocking for `:grails-gradle-model`.
## Acceptance criteria
- The `grails-gradle-model` PMD XML contains zero findings.
- The complete `grails-gradle` test suite passes.
- PMD runs without `grails.code-analysis.ignoreFailures=true` in `grails-gradle` CI.
Contributor guide
Research direction
From grails-gradle/, run aggregateAnalysisViolations with PMD enabled and inspect the XML under build/reports/code-analysis/pmd/. Work through the 113 grails-gradle-model findings in reviewable batches while preserving public Gradle model behavior. Done means the PMD XML has zero findings, the complete grails-gradle test suite passes, and CI runs PMD without ignoreFailures.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- groovy
- Domain
- build-system, ci-cd
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100