feat: add `cyclonedx.model.dependency.Dependency.provides`
@uzairchhapra ya está trabajando en esto.
Desde el 5/11/2024.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 35/100
Línea de trabajo
Comienza en cyclonedx.model.dependency.Dependency y en el punto de entrada Bom.from_json(data=data); inspecciona cómo se deserializan los campos de dependencia. Añade compatibilidad con el campo provides mostrado en el ejemplo de CycloneDX 1.6, ejecuta después el script de reproducción y confirma que Bom.from_json ya no lanza el ValueError indicado.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Library Version: 7.6.1
Description:
Steps to Reproduce:
- Use the example JSON provided in the CycloneDX bom-examples repository.
- Run the following script:
import json
from cyclonedx.model.bom import Bom
# source: https://github.com/CycloneDX/bom-examples/blob/c0436d86cd60693f01d19fe1aacfd01e70e17036/CBOM/Example-With-Dependencies/bom.json
sample = '''{
"bomFormat": "CycloneDX",
"specVersion": "1.6",
"serialNumber": "urn:uuid:3e671687-395b-41f5-a30f-a58921a69b79",
"version": 1,
"metadata": {
"component": {
"type": "application",
"bom-ref": "acme-application",
"name": "Acme Application",
"version": "1.0"
}
},
"components": [
{
"type": "cryptographic-asset",
"bom-ref": "aes128gcm",
"name": "AES",
"cryptoProperties": {
"assetType": "algorithm",
"algorithmProperties": {
"primitive": "ae",
"parameterSetIdentifier": "128",
"executionEnvironment": "software-plain-ram",
"implementationPlatform": "x86_64",
"certificationLevel": [ "none" ],
"mode": "gcm",
"cryptoFunctions": ["keygen", "encrypt", "decrypt", "tag"],
"classicalSecurityLevel": 128,
"nistQuantumSecurityLevel": 1
},
"oid": "2.16.840.1.101.3.4.1.6"
}
},
{
"type": "library",
"bom-ref": "crypto-library",
"name": "Crypto library",
"version": "1.0.0"
},
{
"type": "library",
"bom-ref": "some-library",
"name": "Some library",
"version": "1.0.0"
}
],
"dependencies": [
{
"ref": "acme-application",
"dependsOn": ["crypto-library"]
},
{
"ref": "crypto-library",
"provides": ["aes128gcm"],
"dependsOn": ["some-library"]
}
]
}'''
data = json.loads(sample)
Bom.from_json(data=data)
Observed Behavior:
The code fails with the following exception:
Traceback (most recent call last):
...
ValueError: Unexpected key provides/provides in data being serialized to cyclonedx.model.dependency.Dependency
Environment:
- Python version:
3.10 - Operating System:
macOS - Library version:
7.6.1
Let me know if this works!
- Lenguaje dominante
- Python
- Estrellas
- 117
- Forks
- 67
- Merge medio
- 21 h 9 min
- PR fusionados (30 d)
- 3
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de CycloneDX/cyclonedx-python-lib
-
[PERF] Quadratic (O(N^2)) serialization time for large BOMs — `Bom.validate()` → `register_dependency()` linear scanPosiblemente ocupada @inspired-geek la tomó hace 110 días. Abiertoperformance
Dificultad 3/5 1-2 días Aptitud para principiantes 36/100
CycloneDX/cyclonedx-python-lib#1006 · 2 comentarios ·
-
tests: test all model enumsQuizá libre de nuevo @jkowalleck la tomó hace 126 días y no hay ningún pull request abierto. AbiertoQA
CycloneDX/cyclonedx-python-lib#991 · 1 asignado ·
-
feat(deps)!: make all de/serialization libraries optionalQuizá libre de nuevo @Simoh23999 la tomó hace 73 días y no hay ningún pull request abierto. Abiertobreaking change dependencies
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
CycloneDX/cyclonedx-python-lib#979 · 2 comentarios ·
-
feat: Add support for Component signaturePosiblemente ocupada @wiebe-vandendriessche la tomó hace 124 días. Abiertoenhancement help wanted schema 1.4
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
CycloneDX/cyclonedx-python-lib#978 · 4 comentarios ·
-
chore: have coverage uploaded consitentlyQuizá libre de nuevo @jkowalleck la tomó hace 172 días y no hay ningún pull request abierto. Abiertochore
CycloneDX/cyclonedx-python-lib#966 · 1 asignado ·
Todos los issues de CycloneDX/cyclonedx-python-lib
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
KalicoCrew/kalico#1012 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
esphome/esphome.io#7657 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
VNG-Realisatie/gemma-zaken#2658 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
comp/gateway comp/plugins duplicate P3 type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
NousResearch/hermes-agent#137019 ·
Los mantenedores suelen responder en 1 día