Inserisci il codice sorgente per le dipendenze all'interno del progetto stesso

3

Ho un progetto che dipende da librerie esterne che possono essere installate tramite un gestore di pacchetti ( pip in questo caso). Ma non mi aspetto che i miei utenti siano a conoscenza dell'installazione di queste dipendenze o che il gestore di pacchetti sia installato sul loro sistema. Utilizzerò una modalità di distribuzione diversa per questo software (magari attraverso gestori di pacchetti specifici della distro come rpm o apt ).

Quindi, sarebbe una soluzione molto ingenua includere i file esterni rilevanti all'interno dell'albero dei sorgenti del mio progetto? È qualcosa che è disapprovato per includere qualcosa di più di uno o due file sorgente? FWIW Voglio includere meno di 10 file esterni.

Alcune ricerche sul web hanno portato a soluzioni come git subtree o git submodules . Anche se non ho mai affrontato submodules/subtree , mi sento un eccesso per il mio piccolo progetto. Ma di nuovo, preferirei l'esperienza di uno sviluppatore effettivo rispetto a quella di un debuttante (io:)

Qualsiasi soluzione alternativa sarebbe anche utile.

Non ho intenzione di modificare queste librerie esterne e sarà abbastanza responsabile da tenerle aggiornate dal progetto originale con ogni versione o cambiamento principale all'interno del progetto. Inoltre, si può presumere che non vi siano problemi di licenza (nel mio caso).

    
posta Saiful B Khan 28.08.2017 - 18:50
fonte

1 risposta

7

Sì, questo è chiamato raggruppamento . Ha noti punti deboli (ad esempio, non si ottengono aggiornamenti di sicurezza o correzioni di errori per la libreria di terze parti a meno che non si reimportino le loro fonti, ed è probabilmente più probabile che i propri utenti comprendano i gestori di pacchetti che capiscano la compilazione dall'origine ), ma a volte può essere la cosa giusta da fare. Che questo avvenga o meno dipende da quali sarebbero i costi e i benefici nel tuo particolare contesto di progetto.

    
risposta data 28.08.2017 - 18:53
fonte

Leggi altre domande sui tag