2016-06-02 12 views
11

Potrebbe non esserci una buona risposta per questa domanda, ma ho il codice che vorrei condividere tra due diversi progetti Rust SENZA pubblicare la cassa in casse.io.Come posso condividere codice comune tra i progetti Rust senza pubblicare su crates.io?

Il codice è proprietario e non voglio metterlo in circolazione.

+1

FYI, sembra che questo sia un bel caso del [Problema X-Y] (http://meta.stackexchange.com/q/66377/281829). Sembra che tu * davvero * voglia sapere "come posso condividere il codice senza pubblicare pubblicamente il codice comune", ma la domanda riguarda una soluzione; quello che preclude tecnicamente alla mia risposta di essere accettabile. Ho scommesso sul fatto che in realtà risolve il problema alla radice.^_^ – Shepmaster

+0

Posso avere un senso rivedere la domanda, per farlo corrispondere più strettamente al suo intento. –

+0

Non completamente sicuro di cosa intendi @MatthieuM. Questo è sicuramente un modo per farlo. Suppongo che non funzionerà su ** qualsiasi ** box poiché dipende dalla presenza della cassa locale, ma funziona nel senso locale. – mattforni

risposta

12

ma è un codice proprietario e non voglio metterlo in circolazione.

Non è necessario pubblicare una cassa. Specificamente, basta creare la cassa (cargo new shared_stuff) specificare il percorso della cassa comune (s) nel progetto dipendente Cargo.toml:

[dependency.shared_stuff] 
path = "path/to/shared/crate" 

Il Cargo documentation ha un'intera sezione sui tipi di dipendenze:

Credo che Cargo ti consenta di recuperare da un repository Git privato privato (come su Github o un altro servizio ospitato privatamente, come GitLab), ma non l'ho provato personalmente. In base alla mia ricerca, è necessario disporre di git precedentemente autenticato o configurato in altro modo per non richiedere l'immissione di una password interattiva.


E 'teoricamente possibile creare il proprio registro cassa. Non ho nemmeno tentato di farlo, ma il meccanismo è presente in Cargo per gestirlo.

+1

Grazie mille Shepmaster! – mattforni

Problemi correlati