Apple opent Swift Build-bron

Apple heeft de open-source release aangekondigd van het Swift Build-buildsysteem, dat wordt gebruikt in de eigen IDE's Xcode en Swift Playground. Het systeem is geoptimaliseerd voor het bouwen van projecten in Swift, C en Objective-C, maar kan ook met andere talen worden gebruikt. Er is een experimentele module ("--build-system swiftbuild") ontwikkeld voor de Swift Package Manager, waardoor Swift Build als alternatieve pakketbouwengine kan worden gebruikt. Swift Build is geschreven in Swift en is open source onder de Apache 2.0-licentie. Projecten voor Linux, macOS, IOS, Android, QNX en Windows.

Op basis van de opgegeven buildregels genereert Swift Build een buildplan en voert de onderdelen van het buildproces uit. Het project wordt ontwikkeld met het oog op platformonafhankelijke assemblage voor verschillende besturingssystemen en apparaattypen. Het hoofddoel van een bouwsysteem is het omzetten van door de gebruiker verstrekte invoergegevens, zoals een projectbeschrijving en broncode, in uitvoerartefacten, zoals bibliotheken en toepassingen.

Het systeem is geïmplementeerd als een add-on voor de llbuild (low-level build) bibliotheken, die low-level primitieven implementeren voor het werken met de afhankelijkheidsgrafiek, het definiëren van de opmaak van build-regels, het bijhouden van herbouwde objecten en het maken van manifesten voor de Ninja-toolkit. Tot de geavanceerde functies van Swift Build behoren: ondersteuning voor integratie met de Swift-compiler voor efficiënte coördinatie van bouwprojecten in de Swift-taal; ondersteuning voor het bouwen van verschillende soorten producten, waaronder opdrachtregelhulpprogramma's, GUI-toepassingen en bibliotheken; Optimalisaties van de buildgrafiek om de efficiëntie van parallellisatie van codebouwprocessen in de talen Swift en C te verbeteren.

Swift Build is gebaseerd op het SWBBuildService-proces, dat wordt gestart nadat de build is gestart door een client. Dit kan het hulpprogramma swbuild, de Xcode-ontwikkelomgeving of de Swift Package Manager zijn. De interactie tussen de SWBBuildService-buildservice en het clientproces wordt uitgevoerd door het verzenden van geserialiseerde berichten via een naamloze stream (pipe). Aan de clientzijde vindt de interactie met het bouwsysteem plaats via de SwiftBuild API of via het opdrachtregelhulpprogramma swbuild.

De functionaliteit van Swift Build definieert een reeks frameworks zoals:

  • SWBLLBuild is een add-on voor toegang tot llbuild-functionaliteit;
  • SWBUtil - hulpfuncties zoals implementatie van geordende lijsten;
  • SWBCSupport - ondersteuning voor C- en Objective-C-code;
  • SWBCore - engines voor het verwerken van macro's, instellingen, projectmodellen, specificaties en platforms;
  • SWBTaskConstruction — logica voor taakformatie;
  • SWBTaskExecution — organisatie van de uitvoering van assemblagetaken;
  • SWBBuildSystem — bouw en planning van assemblage-activiteiten, beheer van het aanmaken en uitvoeren van taken.

Bron: opennet.ru

Koop betrouwbare hosting voor sites met DDoS-bescherming, VPS VDS-servers 🔥 Koop betrouwbare websitehosting met DDoS-bescherming, VPS- en VDS-servers | ProHoster