CycloneDX / CycloneDX/cyclonedx-core-java
TaskType enum fails to deserialize lowercase "lint" value defined by CycloneDX 1.6 schema
Nessuno ha ancora preso questa issue.
- Lingua principale
- Java
- Stelle
- 120
- Fork
- 90
- Merge medio
- 12h 43m
- PR unite (30g)
- 18
Descrizione
When parsing a CycloneDX 1.6 JSON BOM that contains a formulation[].workflows[].taskTypes array with the value "lint" (as defined by the official spec), JsonParser.parse(...) throws an InvalidFormatException. The library expects "LINT" (uppercase) — a case mismatch that violates the official CycloneDX 1.6 JSON schema.
Library version :- org.cyclonedx:cyclonedx-core-java:12.1.0
As per the official CycloneDX 1.6 JSON schema (https://github.com/CycloneDX/cyclonedx-core-java/blob/cyclonedx-core-java-12.1.0/src/main/resources/bom-1.6.schema.json), the taskType definition declares lowercase enum values:
Expected behavior
- --------------------
"taskType": {
"type": "string",
"enum": [
"copy", "clone", "lint", "scan", "merge", "build",
"test", "deliver", "deploy", "release", "clean", "other"
]
}
Therefore, a BOM containing "taskTypes": ["lint", "scan", "deploy", "test"] should parse successfully.
Actual behavior
------------------
JsonParser.parse(...) throws:
com.fasterxml.jackson.databind.exc.InvalidFormatException:
Cannot deserialize value of type `org.cyclonedx.model.formulation.FormulationCommon$TaskType`
from String "lint": not one of the values accepted for Enum class:
[other, test, LINT, deliver, release, merge, clean, clone, build, copy, deploy, scan]
Guida per i contributori
Apri 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.
Direzione di ricerca
Inizia con org.cyclonedx.model.formulation.FormulationCommon$TaskType e il punto di ingresso JsonParser.parse(...), quindi confronta i valori dell’enum con src/main/resources/bom-1.6.schema.json. Verifica che una BOM CycloneDX 1.6 contenente valori di taskTypes come "lint", "scan", "deploy" e "test" venga analizzata correttamente senza InvalidFormatException.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend
- Tipo di issue
- Bug
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 78/100