Per l'automazione di build, utilizzo Apache Ant, ovvero a software tool for automating software build processes. Lo uso per tutti i miei progetti, da Delphi 6 a Delphi 2009 e Free Pascal.
Le cose che possono fare "out of the box" includono la generazione di checksum MD5, la creazione di file ZIP, la ricerca/sostituzione di testo (utile per la generazione di intestazioni di copyright), l'esecuzione di istruzioni SQL, l'elaborazione XSLT.
Ad esempio, per compilare tutti i progetti con Delphi 6, questa è (una parte di) dello script:
<target name="compile_d6">
<!-- Compile with Delphi 6 -->
<apply executable="${d6}\Bin\dcc32" failonerror="true" output="build-d6.log" >
<!-- rebuild quiet -->
<arg value="-B"/>
<arg value="-Q"/>
<!-- file paths -->
<arg value="-I${source};${indy10}/Lib/System"/>
<arg value="-O${source};${indy10}/D6;${jcl}/d6"/>
<arg value="-U${source};${indy10}/D6;${jcl}/d6"/>
<!-- all *.dpr files in current directory -->
<fileset dir=".">
<patternset><include name="*.dpr"/></patternset>
</fileset>
</apply>
</target>
libero open source CI (Continuous Integration) server come Hudson/Jenkins supportano Apache Ant costruire script fuori dalla scatola, il che significa che puoi farli compilare automaticamente il progetto ogni volta che hai fatto il check in di una modifica nel repository sorgente.
Parlando il wiki di Delphi: c'è anche una pagina su esattamente questo argomento: http://delphi.wikia.com/wiki/Compile_from_Commandline che ho appena esteso. – dummzeuch