feat: add `cyclonedx.model.dependency.Dependency.provides`
@uzairchhapra já está trabalhando nisso.
Desde 5/11/2024.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 35/100
Direção de pesquisa
Comece em cyclonedx.model.dependency.Dependency e no ponto de entrada Bom.from_json(data=data); inspecione como os campos de dependência são desserializados. Adicione suporte ao campo provides mostrado no exemplo do CycloneDX 1.6, depois execute o script de reprodução e confirme que Bom.from_json não gera mais o ValueError relatado.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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!
- Linguagem predominante
- Python
- Estrelas
- 117
- Forks
- 67
- Merge médio
- 3d 9h
- PRs com merge (30d)
- 4
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de CycloneDX/cyclonedx-python-lib
-
Support Python 3.15Talvez já em andamento @jkowalleck assumiu há 3 dias. Abertaenhancement
CycloneDX/cyclonedx-python-lib#1056 · 1 responsável ·
-
[PERF] Quadratic (O(N^2)) serialization time for large BOMs — `Bom.validate()` → `register_dependency()` linear scanTalvez já em andamento @inspired-geek assumiu há 123 dias. Abertaperformance
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 36/100
CycloneDX/cyclonedx-python-lib#1006 · 2 comentários ·
-
tests: test all model enumsTalvez livre de novo @jkowalleck assumiu há 139 dias e não há nenhum pull request aberto. AbertaQA
CycloneDX/cyclonedx-python-lib#991 · 1 responsável ·
-
feat(deps)!: make all de/serialization libraries optionalTalvez livre de novo @Simoh23999 assumiu há 87 dias e não há nenhum pull request aberto. Abertabreaking change dependencies
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
CycloneDX/cyclonedx-python-lib#979 · 2 comentários ·
-
feat: Add support for Component signatureTalvez já em andamento @wiebe-vandendriessche assumiu há 138 dias. Abertaenhancement help wanted schema 1.4
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 58/100
CycloneDX/cyclonedx-python-lib#978 · 4 comentários ·
Todas as issues de CycloneDX/cyclonedx-python-lib
Issues semelhantes
-
intake mcp-intake needs-ac needs-human-review priority:medium
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 67/100
Ikalus1988/MisakaNet#3848 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
521xueweihan/HelloGitHub#4105 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
igormcsouza/bookloud#54 ·
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
aws-samples/sample-per-model-bedrock#526 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
ok-oldking/ok-wuthering-waves#1802 ·
Mantenedores costumam responder em até 2 dias