The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Компания Apple открыла код сборочной системы Swift Build

02.02.2025 10:51

Компания Apple объявила об открытии исходного кода сборочной системы Swift Build, применявшейся в проприетарных интегрированных средах разработки Xcode и Swift Playground. Система оптимизирована для сборки проектов на языках Swift, C и Objective-C, но может применяться и с другими языками. Для пакетного менеджера Swift Package Manager подготовлен экспериментальный модуль ("--build-system swiftbuild"), позволяющий использовать Swift Build в качестве альтернативного движка для сборки пакетов. Код Swift Build написан на языке Swift и открыт под лицензией Apache 2.0. Поддерживается сборка проектов для Linux, macOS, iOS, Android, QNX и Windows.

На основе предоставленных сборочных правил Swift Build формирует план сборки и запускает компоненты сборочного процесса. Проект развивается с оглядкой на обеспечение кросс-платформенной сборки для различных операционных систем и типов устройств. Основное назначение сборочной системы описывается, как преобразование предоставленных пользователем входных данных, таких как описание проекта и исходный код, в результирующие артефакты, такие как библиотеки и приложения.

Система реализована в виде надстройки над набором библиотек llbuild (low-level build), реализующих низкоуровневые примитивы для работы с графом зависимостей, определения формата правил сборки, отслеживания пересобираемых объектов и создания манифестов для инструментария Ninja. Из расширенных возможностей Swift Build отмечается: поддержка интеграции с компилятором Swift для эффективной координации сборка проектов на языке Swift; поддержка сборки различных типов продуктов, включая утилиты командной строки, GUI-приложения и библиотеки; оптимизации сборочного графа для повшения эффективности распараллеливания процессов сборки кода на языках Swift и C.

Основу Swift Build составляет процесс SWBBuildService, который запускается после инициирования сборки клиентом, которым может выступать утилита swbuild, среда разработки Xcode или пакетный менеджер Swift Package Manager. Взаимодействие между сборочным сервисом SWBBuildService и клиентским процессом осуществляется через отправку сериализированных сообщений поверх неименованного потока (pipe). На стороне клиента взаимодействие со сборочной системой осуществляется через API SwiftBuild или через утилиту командной строки swbuild.

Функциональность Swift Build определяет набор фреймворков, таких как:

  • SWBLLBuild - надстройка для доступа к функциональности llbuild;
  • SWBUtil - вспомогательные функции, такие как реализация упорядоченных списков;
  • SWBCSupport - поддержка кода на C и Objective-C;
  • SWBCore - движки для обработки макросов, настроек, модели проекта, спецификаций, платформ;
  • SWBTaskConstruction - логика формирования задач;
  • SWBTaskExecution - организация выполнения сборочных задач;
  • SWBBuildSystem - построение и планирования сборочных операций, управление созданием и выполнением задач.


  1. Главная ссылка к новости (https://www.swift.org/blog/the...)
  2. OpenNews: Компания Apple представила язык программирования Swift 6.0
  3. OpenNews: Facebook опубликовал систему сборки Buck2
  4. OpenNews: Проект Сicada развивает систему автоматизации сборок, похожую на GitHub Actions
  5. OpenNews: Apple опубликовал Pkl, язык программирования для определения конфигурации
  6. OpenNews: Apple опубликовал открытую библиотеку гомоморфного шифрования
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62661-apple
Ключевые слова: apple, swift, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (22) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 11:41, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –14 +/
    Вот кто настоящий друг опенсорса так это эпл. Они не орут на каждом шагу какие они друзья, а просто делают.
     
  • 1.4, Аноним (4), 12:03, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Забавный язычёк. Жаль что прибит к яблочкной инфраструктуре на порядке крепче чем C# к Windows
     
     
  • 2.6, Anonim (??), 12:14, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.swift.org/platform-support/
     
     
  • 3.8, Аноним (8), 13:19, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Бесполезно. В каждой новости про Свифт приходят ламеры с загоном про яблочную инфраструктуру. Они необучаемы.
     
     
  • 4.11, Аноним (11), 13:40, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Но сколько-нибудь более-менее известных приложений на свифте за пределами мака ты не назовешь. И да, свифт медленнее даже JS, это очень странный и плохой ЯП.
     
     
  • 5.15, Аноним (15), 14:26, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Из этого не следует, что Swift прибит гвоздями к Маку сильнее, чем C# к Windows. Последнее, кстати, еще более бредовое заявление, чем первое.
     
  • 4.24, Анон28679234 (?), 15:03, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    я разрабатывал на нем несколько лет назад и тогда весь код создания Ui был привязан к ObjC бекенду и маковской инфраструктуре. Ситуация с тех пор изменилась?
     
  • 2.23, Аноним (23), 14:59, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Если нужна кроссплатформенность, можно делать приложения на С++ для GCC, которые реализованы на всех платформах, в том числе на macOS.
     

  • 1.5, быдло (?), 12:08, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    теперь нужно, чтобы кто-нибудь сделал бесплатный IDE под винду для разработки софта для айфона...
     
  • 1.7, KKK (?), 12:27, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Зачем, если для разработки под ифраструктуру Apple всё равно требуется mac?
     
     
  • 2.9, Аноним (8), 13:20, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Ну давай в сотый раз поиграем в эту игру, ага. Свифт это опенсорсный язык с поддержкой мультиплатформ. Давай, начинай про кровавую руку Эпла и заточки про платформу, пруфов которым у тебя нет.
     
     
  • 3.12, Аноним (12), 14:12, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Но у тебя противоположных пруфов тоже нет.
     
     
  • 4.13, Аноним (-), 14:19, 02/02/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 5.17, Аноним (17), 14:32, 02/02/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.10, быдло (?), 13:26, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ещё где-то с 2012 года начиная c Delphi XE2 можно собирать приложения под айфоны из под Windus
     
     
  • 3.14, kravich (ok), 14:22, 02/02/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.16, Аноним (16), 14:30, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    github shepherdjerred/macos-cross-compiler
    Это то, что вам нужно? Я уже проверял и компилировал для x86-64 и AARCH64 на хост машине под управлением Debian
     
     
  • 3.19, Хру (?), 14:45, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Спачибо за наводку, добрый человек! :)
     
  • 2.22, Аноним (23), 14:58, 02/02/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Можно macOS в виртуалке запустить.
     

  • 1.18, Аноним (18), 14:32, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Язык быстро развивается, так же как rust. В дистрибутивах он мало где опакечен. Непопулярен в Linux. Технический долг в общем.
     
  • 1.20, Аноним (-), 14:52, 02/02/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.21, ryoken (ok), 14:54, 02/02/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>для повшения
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру