- Build-System
-
Erstellungsprozess oder Build-Prozess (von englisch to build „etwas bauen“) bezeichnet in der Programmierung einen Vorgang, durch den ein fertiges Anwendungsprogramm automatisch erzeugt wird.
Ablauf
Der Erstellungsprozess besteht typischerweise aus der Code-Kompilierung und dem Linken des kompilierten Codes an Bibliotheken.
Da ein Erstellungsprozess automatisiert ausgeführt wird, benötigt das ausführende Erstellungsprogramm eine formale Beschreibung der durchzuführenden Programm- oder Funktionsaufrufe (Kompiler, Linker, etc.) sowie der Abhängigkeiten dieser Aufrufe untereinander. Die Abhängigkeitsbeschreibung orientiert sich an der Struktur eines Erstellungsprozesses. So lassen sich zum Beispiel Abhängigkeiten auf Basis der verwendeten Dateiendungen definieren. Beispielsweise kann man definieren, dass jede C-Datei (erkennbar an der Endung „.c“) in eine Objektdatei (erkennbar an der Endung „.o“) gleichen Namens, aber mit anderer Endung, umgewandelt werden soll.
Um den Vorgang zu beschleunigen, ist es sinnvoll, nur solche Operationen durchzuführen, deren Eingabedaten sich seit der letzten Durchführung verändert haben. Das heißt, eine Objektdatei muss nur dann neu erzeugt werden, wenn sich eine der korrespondierenden Quelldateien verändert hat.
Abhängigkeiten können auch zwischen Dateien gleichen Typs bestehen, wenn zum Beispiel eine Quelldatei andere Quelldateien „importiert“, sie also automatisch eingefügt werden. Ebenso ist es möglich, Quelldateien mit Hilfe von Code-Generatoren generieren zu lassen.
Erweiterter Prozess
Neben dem ausführbaren Anwendungsprogramm können auch andere Produkte, wie zum Beispiel ein Installationsprogramm oder technische Dokumentation erzeugt werden.
In komplexen Softwareentwicklungsumgebungen ist die Einrichtung, Beschreibung und Pflege von Erstellungsprozessen Teil des Build-Managements.
Siehe auch
Sehr verbreitete Programme zur Durchführung von Erstellungsprozessen sind
- die unter Unix verbreiteten Programme make, CMake und Automake
- das Java-Programm Apache Ant.
- das Java-Programm Apache Maven.
Wikimedia Foundation.