Potrei violare alcuni termini di StackOverflow ponendo una domanda che ha maggiori probabilità di generare discussioni piuttosto che una risposta pulita. Qui va, tuttavia.
Ho sviluppato alcuni software per una piccola azienda che non è una software house (quindi non abbiamo ancora un sacco di processi in atto). È in Turbo Pascal (Delphi 2009) e la mia fonte è controllata dalla versione (CVS).
Uso diversi componenti di terze parti (grafici, comunicazioni TCP, ecc.) In Delphi, il comportamento predefinito è per la fonte che questi vengano memorizzati in una cartella di inclusione nella cartella dei file di programma IDE Delphi.
È ora di passare questo progetto a un altro sviluppatore. Ora dovrà installare i componenti IDE + affinché possano apparire correttamente durante la modifica dei moduli in questa applicazione. Ma mi piacerebbe che il nostro processo di produzione fosse automatizzato e vorrei che un server di compilazione fosse in grado di eseguire un checkout del codice e compilare.
Questo significa che penso di aver davvero bisogno di mettere tutto il codice sorgente (o almeno le DCU in cui non ho i file sorgente) per questi componenti aggiuntivi di terze parti nel controllo del codice sorgente. Penso che dovrebbero far parte del modulo CVS per il progetto software in fase di sviluppo (cioè non il loro modulo di controllo sorgente).
Penso che dobbiamo essere in grado (come una piccola azienda) di indicare un futuro sviluppatore al repository e dire "Dai un'occhiata a questo modulo" e avrà tutto ciò di cui ha bisogno per essere in grado di compilare dalla riga di comando senza fare altro. (vale a dire la portabilità verso nuovi ambienti di sviluppo è importante)
È sensato, o sarebbe più scalabile per noi mantenere ciascuna libreria nel suo stato di versione controllata e poi nello script di build, tirare il codice sorgente per questo progetto e la versione corretta del codice sorgente per ogni biblioteca?
Grazie in anticipo, e le mie scuse per la natura sconclusionata della domanda.
Duncan