Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Enable PMD incrementally across remaining core modules

Aperta
#16,017 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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
Stack tecnologico
groovy, java, shell

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 aggregateAnalysisViolations pass after every staged addition.
Lingua principale
Groovy
Stelle
2.9k
Fork
978
Merge medio
1g 2h
PR unite (30g)
183

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di apache/grails-core

Tutte le issue di apache/grails-core

Issue simili

Altre issue su Build System

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.