Enable PMD incrementally across remaining core modules
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Refactoring
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Ambito
- build-system, testing, tooling
Direzione di ricerca
Esegui ./gradlew aggregateAnalysisViolations --continue con PMD abilitato e ispeziona i report in build/reports/code-analysis/pmd/. Lavora su un sottoprogetto indipendentemente compilabile e contenente codice sorgente alla volta, quindi aggiungi ogni progetto che produce un report senza violazioni a grails.code-analysis.enabled.pmd.projects. Il lavoro è completato quando ogni progetto rimanente contenente codice sorgente ha zero violazioni e i test dei moduli e aggregateAnalysisViolations hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
A full root PMD baseline with PMD 7.25.0 produced 5,551 findings across 53 source-bearing subprojects after generated files below build/ were excluded. Four subprojects produce clean PMD XML today and can be protected immediately; the remaining modules need incremental cleanup before joining the blocking allowlist.
Reproduction
./gradlew aggregateAnalysisViolations --continue \
-Pgrails.code-analysis.enabled.pmd=true \
-Pgrails.code-analysis.ignoreFailures=true
Reports are written under build/reports/code-analysis/pmd/.
Baseline
Largest current groups:
| Project | Findings |
|---|---|
grails-core |
699 |
grails-datastore-core |
698 |
grails-web-common |
585 |
grails-data-hibernate5-core |
549 |
grails-gsp-core |
289 |
grails-data-mongodb-core |
288 |
grails-encoder |
269 |
grails-datamapping-core |
254 |
grails-converters |
213 |
grails-web-url-mappings |
211 |
| Remaining 43 projects | 1,496 |
| Total | 5,551 |
The current clean, report-producing baseline is:
:grails-data-graphql-core:grails-data-mongodb-spring-data:grails-datasource:grails-testing-support-core
:grails-scaffolding, :grails-spring-security, and :grails-spring-security-acl have no PMD-analyzable Java source. Their PMD tasks legitimately produce no XML, so they are not counted as clean or added to blocking enforcement.
Suggested approach
Clean one independently buildable subproject at a time. After a subproject reaches zero findings and produces its expected PMD XML report, add its full project path to grails.code-analysis.enabled.pmd.projects so regressions become blocking immediately.
Do not disable PMD rules globally to clear this backlog. If a rule is invalid for Grails/Groovy-generated Java, document and scope that exception to the affected source set or file pattern.
Acceptance criteria
- Each remaining source-bearing root subproject has zero PMD findings.
- Each cleaned, report-producing subproject is added to the PMD project allowlist in the same change.
- Module tests and
aggregateAnalysisViolationspass after every staged addition.
- Lingua principale
- Groovy
- Stelle
- 2.9k
- Fork
- 978
- Merge medio
- 1g 2h
- PR unite (30g)
- 183
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apache/grails-core
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
apache/grails-core#16635 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
apache/grails-core#16289 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
apache/grails-core#15764 ·
I maintainer di solito rispondono entro 1 giorno
-
Update documentation for Java 25Forse già presa @ruthst00 l’ha presa 10 giorni fa. Apertarelates-to: documentation weekly-action-item
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/grails-core#15725 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 40/100
apache/grails-core#16660 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di apache/grails-core
Issue simili
-
build: Update rust versionForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertadependencies
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
ibm-granite-community/granite-cli#229 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 77/100
I maintainer di solito rispondono entro 2 giorni
-
`loment build DIR` reports success on a source that does not compile, on every run after the firstApertabug cli sev-5
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
InfiniTimeOrg/InfiniTime#2492 ·
-
package-update
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 70/100
I maintainer di solito rispondono entro 1 giorno