cargo: Generate a Cargo.lock if one wasn't found
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Ambito
- build-system
Direzione di ricerca
Inizia leggendo il plugin cargo esistente e la specifica collegata per issue 42. Segui i flussi track, fetch e stage, quindi verifica le modalità generate_lock, il comportamento predefinito e il caso di errore descritti qui; il lavoro è completato quando la generazione di Cargo.lock e la ricostruzione delle dipendenze seguono le regole indicate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Spec from https://gitlab.com/BuildStream/bst-plugins-experimental/-/issues/42
Will behave like this:
track: Cargo.lock will be generated by the host'scargoIF(generate_lock is true)OR(generate_lock is 'if-missing' and Cargo.lock doesn't exist). If generate_lock is false and Cargo.lock doesn't exist, raise an error. Then the existing logic for tracking cargo sources will happen. The ref will now encode everything necessary to reconstruct the vendored libraries, so the generated Cargo.lock is discardedfetch: The sources are fetched according to the ref, as they are nowstage: The sources are staged according to the ref, as they are now- Buildstream will default to
generate_lock: false, and projects can (if they wish) globally override that default togenerate_lock: if-missingto make thecargoplugin work in all scenarios. Thengenerate_lock: truecan be used if Cargo.lock needs to be overwritten/ignored for whatever reason (i.e. a hypothetical repo that hasn't been updated in a while and Cargo.lock specifies dependencies w/ known security issues, so you want to force it to use newer libraries) - If a project doesn't want to grow a dependency on
cargofrom the host totrack, it can keepgenerate_lock: falseas the default, and then maintain its own Cargo.lock files & stage them before thecargosource:
sources:
- kind: git_tag
url: whatever:foobar.git
- kind: local
path: files/cargo/foobar/Cargo.lock
- kind: cargo
generate_lock: false # <-- from project defaults
- Lingua principale
- Python
- Stelle
- 8
- Fork
- 16
- Merge medio
- 3h 24m
- PR unite (30g)
- 3
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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.
Altre issue di apache/buildstream-plugins
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
apache/buildstream-plugins#110 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
apache/buildstream-plugins#115 ·
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apache/buildstream-plugins#108 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 35/100
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 38/100
Tutte le issue di apache/buildstream-plugins
Issue simili
-
needs triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 2 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
openvinotoolkit/openvino_notebooks#3665 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
docs
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
benchmark-gap
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno