feat: add `cyclonedx.model.dependency.Dependency.provides`
@uzairchhapra y travaille déjà.
Depuis le 5/11/2024.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
Commencez par cyclonedx.model.dependency.Dependency et le point d’entrée Bom.from_json(data=data) ; examinez la façon dont les champs de dépendance sont désérialisés. Ajoutez la prise en charge du champ provides présenté dans l’exemple CycloneDX 1.6, puis exécutez le script de reproduction et confirmez que Bom.from_json ne lève plus le ValueError signalé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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!
- Langage dominant
- Python
- Étoiles
- 117
- Forks
- 67
- Merge moyen
- 21 h 9 min
- PR mergées (30 j)
- 3
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de CycloneDX/cyclonedx-python-lib
-
[PERF] Quadratic (O(N^2)) serialization time for large BOMs — `Bom.validate()` → `register_dependency()` linear scanPeut-être pris @inspired-geek l’a pris il y a 114 jours. Ouverteperformance
Difficulté 3/5 1-2 jours Accessibilité débutants 36/100
CycloneDX/cyclonedx-python-lib#1006 · 2 commentaires ·
-
tests: test all model enumsPeut-être à nouveau libre @jkowalleck l’a pris il y a 129 jours, et aucune pull request n’est ouverte. OuverteQA
CycloneDX/cyclonedx-python-lib#991 · 1 personne assignée ·
-
feat(deps)!: make all de/serialization libraries optionalPeut-être à nouveau libre @Simoh23999 l’a pris il y a 77 jours, et aucune pull request n’est ouverte. Ouvertebreaking change dependencies
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 35/100
CycloneDX/cyclonedx-python-lib#979 · 2 commentaires ·
-
feat: Add support for Component signaturePeut-être pris @wiebe-vandendriessche l’a pris il y a 128 jours. Ouverteenhancement help wanted schema 1.4
Difficulté 3/5 1-2 jours Accessibilité débutants 58/100
CycloneDX/cyclonedx-python-lib#978 · 4 commentaires ·
-
chore: have coverage uploaded consitentlyPeut-être à nouveau libre @jkowalleck l’a pris il y a 176 jours, et aucune pull request n’est ouverte. Ouvertechore
CycloneDX/cyclonedx-python-lib#966 · 1 personne assignée ·
Toutes les issues de CycloneDX/cyclonedx-python-lib
Issues similaires
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
jbacalso24/mimry#291 ·
Les mainteneurs répondent en général sous 1 jour
-
good first issue
Difficulté 2/5 Moins d'une heure Accessibilité débutants 82/100
eli-alvarado/us-watchlist-alerts#14 ·
Les mainteneurs répondent en général sous 1 jour
-
from-review-extraction python severity:nit
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
LearningCircuit/local-deep-research#7462 ·
Les mainteneurs répondent en général sous 2 jours
-
mermaid_extract.py silently discards single-line state-diagram notes; sequence notes are keptOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
cathrynlavery/diagram-design#441 ·
Les mainteneurs répondent en général sous 2 jours
-
[Cleanup] Include the public header in work_split.cppPeut-être pris @blozano-tt l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
tenstorrent/tt-metal#60850 ·
Les mainteneurs répondent en général sous 1 jour