JVM: Spring Java Format (spring-javaformat plugin, validate/checkFormat) is a formatter gate; the test JDK chosen by a Gradle toolchain property (-Pmockito.test.java) is the matrix axis

Aperta
#277 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à
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
50/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
github-actions, java
Ambito
ci-cd, tooling

Direzione di ricerca

The payload names no files in this repository. Start by finding where the validator checks code formatting and CI platform matrices, then the corpus expectations in corpus/projects.toml and the pinned checkouts it cites. Done when the spring-petclinic code-formatting check passes for Spring Java Format and the mockito matrix check counts 3 JDK versions (11, 17, 21) from the ci.yml matrix and the -Pjava property.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

spring-petclinic validates Spring Java Format on every build (Maven validate phase, Gradle checkFormat) → code-formatting FAIL "CI never runs Spotless, fmt-maven-plugin or google-java-format". mockito runs its tests on the JDK named by -Pmockito.test.java=${{ matrix.java }} through Gradle toolchains (11, 17, 21), reported as "2 JDK versions".

Evidence from the corpus audit

spring-projects/spring-petclinic / code-formatting
  • kind: UNSUPPORTED
  • actual: FAIL: JVM: CI never runs Spotless, fmt-maven-plugin or google-java-format; its formatting is not enforced
  • expected: PASS: Spring Java Format is validated on every build (Maven validate phase, Gradle checkFormat on check)
  • evidence: pom.xml:206-214: <groupId>io.spring.javaformat</groupId> / <artifactId>spring-javaformat-maven-plugin</artifactId> ... <goal>validate</goal> ... <phase>validate</phase>; build.gradle:8: id 'io.spring.javaformat' version '0.0.47'; .github/workflows/maven-build.yml:29: run: ./mvnw -B verify; gradle-build.yml:31: run: ./gradlew build
  • repro: the pom.xml plugin block above + run: mvn verify
  • confidence: high (spring-javaformat is the standard formatter of every Spring project)
mockito/mockito / platform-matrix (test JDK chosen by a Gradle toolchain property)
  • kind: UNSUPPORTED
  • actual: FAIL: CI covers 1 OS(es) (linux), 2 JDK version(s) (17, 21), 2 combination(s); expected ... at least 3 OS/JDK version combinations (found 2); every java (11|17|21, ...) job listed as linux / 17
  • expected: 3 JDK versions (11, 17, 21): the tests run on the JDK named by -Pmockito.test.java=${{ matrix.java }} through Gradle toolchains; the FAIL itself stays (one OS), but the version count and the per-job lines are wrong
  • evidence: .github/workflows/ci.yml:31: java: [11, 17, 21]; ci.yml:49-52: uses: actions/setup-java@v6 ... java-version: 17; ci.yml:75-78: ./gradlew / -Pmockito.test.java=${{ matrix.java }} / build. Same idiom: okhttp build.yml:115 -Ptest.java.version=${{ matrix.java-version }}, guava ci.yml:56 -Dsurefire.toolchain.version=${{ matrix.java }}
  • repro: the three lines above in one job
  • confidence: medium (needs project-specific build logic; worth at least recognising -Dsurefire.toolchain.version and -P*java*=<n> as a JDK version source)

Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.

🤖 Generated with Claude Code

https://claude.ai/code/session_01ByTXNqDWdM7HzezrFtEvQt

Lingua principale
Python
Stelle
4
Fork
1
Merge medio
10h 41m
PR unite (30g)
79

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

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 cpp-best-practices/project_validator

Tutte le issue di cpp-best-practices/project_validator

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.