Wat is een neutrale build?
In computerprogrammering en computertechniek is een neutrale build een toepassing die is samengesteld uit de componentbroncode onder een systeem dat geen van de tools, bibliotheken of andere ontwikkelingssoftware bevat die zijn gebruikt om het programma te maken. Het doel van een neutrale build is om ervoor te zorgen dat het programma kan functioneren zoals het is geschreven zonder fouten als gevolg van problemen met de broncode die ongezien in een ontwikkelomgeving kunnen optreden. De term kan ook verwijzen naar software die op een bepaalde manier is gecompileerd, zodat deze niet afhankelijk is van specifieke hardware of eigen bibliotheken en dus vanuit het perspectief van ontwikkeling als neutraal wordt beschouwd. Veel programmeerprojecten maken op regelmatige basis neutrale builds - soms ook nachtelijke builds genoemd - om ervoor te zorgen dat er op elk willekeurig moment geen grote defecten zijn - zoals ontbrekende bestanden of conflicterende configuraties - in het huidige buildproces van het programma .
Een van de redenen voor een neutrale build heeft te maken met hoe sommige software is ontwikkeld. Over het algemeen hebben computers die worden gebruikt om de toepassing te schrijven, grote hoeveelheden ontwikkelingssoftware geïnstalleerd, zoals geïntegreerde ontwikkelingsomgevingen (IDE's), programmeerbibliotheken en speciale hardware of andere software-interfaces. Deze ontwikkelingstools zijn soms geïntegreerd op een manier die hun gebruik transparant maakt tijdens softwareontwikkeling. Wanneer de software gereed is om te worden gecompileerd voor gebruik op een niet-ontwikkelingssysteem, moeten de afhankelijkheden die de toepassing heeft met betrekking tot de ontwikkelingstools expliciet worden gedefinieerd, zodat het programma correct kan worden gecompileerd en op een neutraal systeem kan worden uitgevoerd. Dit staat bekend als een neutrale build.
Een neutrale build vindt vaak plaats op een neutrale computer of server of in een neutrale toepassingsruimte. Dit betekent dat er geen van de ontwikkeltools aanwezig is en er geen impliciete integratie is van iets speciaals, zoals een programmeerbibliotheek, die tijdens de ontwikkeling wordt gebruikt. Door het programma op een schoon systeem te bouwen, kan het programma consistent worden gecompileerd in de huidige status en kan het voltooide uitvoerbare programma worden gedistribueerd en uitgevoerd op niet-ontwikkelingssystemen.
Naast ervoor te zorgen dat er geen afhankelijkheden op ontwikkelingsniveau zijn, zorgt een neutrale build er ook voor dat alle verschillende broncodebestanden aanwezig zijn en worden bijgewerkt. Dit kan een probleem zijn wanneer een team werkt aan een project waarin sommige bestanden worden bijgewerkt, sommige worden weggelaten en sommige nooit worden geregistreerd als zijnde aangepast binnen het kader voor ontwikkelingstracering. Een neutrale build verwijdert ook de mogelijkheid dat vooraf gecompileerde bronbestanden worden hergebruikt in plaats van dat nieuw gecompileerde bestanden worden gebruikt, zoals kan gebeuren op een ontwikkelingssysteem. Bij het maken van neutrale builds gaat het er uiteindelijk meer om ervoor te zorgen dat een programma het buildproces met succes kan voltooien dan om logische of functionele fouten te isoleren.