Ho un progetto che utilizza 3-4 diverse librerie C / C ++ open source.
Ho creato queste librerie per diverse piattaforme e ho fatto il check-in includendo file e librerie statiche per diverse piattaforme nel mio progetto.
Tuttavia, faccio fatica con un paio di problemi. Tutti questi progetti riguardano la gestione delle dipendenze. E sto cercando consigli sulle migliori pratiche.
1) Come faccio a sapere cosa utilizzo esattamente?
Non ho modo di ottenere una versione di una libreria statica. Di conseguenza, devo in qualche modo tenere traccia della versione di lib statica che sto usando (potrebbe essere SHA di un commit da cui è stata creata)?
Questo è particolarmente importante quando devo capire quando aggiornare queste librerie.
2) Come posso riprodurre la build?
Avrei potuto lottare per costruire una libreria specifica per una piattaforma specifica. Mi ci è voluto un po 'per capirlo.
La prossima volta che avrò bisogno di costruire la stessa biblioteca potrebbe essere tra un anno e mezzo (quando avrò bisogno di aggiornare per qualsiasi motivo. Tuttavia, a quel punto, non ricorderò assolutamente nulla e un ambiente su cui è stata costruita sarà andato via da tempo.
3) Devo fork queste librerie per avere una copia del codice sorgente?
Questa è una preoccupazione minore. Tuttavia, è ancora una preoccupazione. È bello assicurarsi che le build siano riproducibili (e quel tipo di richiede codice sorgente).