The OpenNET Project / Index page

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

Выпуск сборочного инструментария qbs 1.4.0, развиваемого проектом Qt

28.04.2015 19:15

Увидел свет релиз развиваемого проектом Qt сборочного инструментария qbs 1.4.0 (Qt Build Suite). Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки. В отличие от qmake, qbs не привязан к Qt и изначально рассчитан на организацию сборки любых проектов.

Используемый в qbs язык сценариев адаптирован для автоматизации генерации и разбора сценариев сборки интегрированными средами разработки. Кроме того, qbs не генерирует make-файлы, а сам, без посредников, таких как утилита make, контролирует запуск компиляторов и компоновщиков, оптимизируя процесс сборки на основе детального графа всех зависимостей. Наличие изначальных данных о структуре и зависимостях в проекте позволяет эффективно распараллеливать выполнение операций в несколько потоков. Для крупных проектов, состоящих из большого числа файлов и поддиректорий, производительность повторной пересборки с использованием qbs может опережать make в разы - пересборка выполняется почти мгновенно и не заставляет разработчика тратить время на ожидание.

В новой версии:

  • Добавлена экспериментальная поддержка платформы Android, в том числе для сборки проектов, содержащих нативный код. Специальная поддержка Qt и интеграция с Qt Creator пока отсутствует;
  • Добавлен модуль archiver для создания сжатых архивов. Данный модуль используется для организации работы компонента InstallPackage;
  • Добавлено новое свойство builtByDefault, позволяющее определить продукты подлежащие сборке по умолчанию и продукты собираемые только при явном запросе. В качестве примера подготовлено приложение AutotestRunner, предоставляющее функции похожие на "make check";
  • Файлы теперь устанавливаются в рамках процесса сборки, что позволяет создавать продукты, работающие с содержимым установочной директории.


  1. Главная ссылка к новости (http://blog.qt.io/blog/2015/04...)
  2. OpenNews: Выпуск сборочного инструментария qbs 1.3.0, развиваемого проектом Qt
  3. OpenNews: Выпуск сборочного инструментария qbs 1.2.0, развиваемого проектом Qt
  4. OpenNews: Выпуск сборочного инструментария qbs 1.1.0, развиваемого проектом Qt
  5. OpenNews: Проект Qt представил сборочный инструментарий qbs 1.0.0
  6. OpenNews: Разработчики Qt представили инструментарий для сборки проектов qbs
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42122-qbs
Ключевые слова: qbs, build
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, rob pike (?), 19:44, 28/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Тут кстати хорошая (правда хорошая!) про make вышла - http://www.nostarch.com/gnumake
     
     
  • 2.2, Аноним (-), 20:19, 28/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Да, полезная книга. Автору вполне можно доверять - он с make уже долгое время работает.
     

  • 1.3, anon2 (?), 20:22, 28/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >> производительность повторной пересборки с использованием qbs может опережать make в разы

    make быстр, если используется нерекурсивная система сборки - когда есть одно глобальное дерево зависимостей. Тогда время повторной пересборки крупного проекта, если ничего не менялось - менее секунды.

     
  • 1.4, anonymous (??), 20:34, 28/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >В отличие от qmake, qbs не привязан к Qt

    Враньё. Для сборки нужен qmake. Пока qtbase не вытянешь, хрен соберёшь.

     
     
  • 2.5, RazrFalcon (ok), 20:38, 28/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Не нужно путать привязку и зависимости.
     
     
  • 3.7, Аноним (-), 21:47, 28/04/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не нужно путать привязку и зависимости.

    А в чём в данном случае разница?

     
     
  • 4.17, BSA (?), 22:44, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Отличия в том, что проект не обязан использовать Qt. Например, я успешно перевожу на qbs свои embedded проекты под ARM. А там не только Qt,  но и операционки даже нет.
     

  • 1.6, dismine (?), 21:10, 28/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Им кто то вообще пользуется? В интернете информации ноль. Уже 1.4, а по ощущениях 0.4 только.
     
     
  • 2.8, АнонимЪ (?), 22:20, 28/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Мы в продакшене используем. Впечатления положительные.
     
  • 2.9, анонн (?), 22:52, 28/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Мы юзали его, до того как перешли на Gradle :) После CMake впечатления были очень положительные но до Gradle ему ооочень далеко, а учитывая темпы развития Gradle не догонит он его никогда...
     
     
  • 3.10, Аноним (-), 01:09, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Подождите подождите. Gradle? на каком языке программирования написан ваш проект?
     
     
  • 4.15, D (?), 13:10, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Gradle по барабану какой язык проекта. Хоть асм съест. Сам gradle конечно = jvm + groovy
     
  • 3.11, Аноним (-), 01:10, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Учитывая темпы развития груви, гредл скоро сдохнет за ненадобностью.
     
  • 2.12, Аноним (-), 01:29, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Им кто то вообще пользуется? В интернете информации ноль. Уже 1.4, а
    > по ощущениях 0.4 только.

    Полностью согласен. Документация такая что лучше бы ее не было. Описаны абсолютно базовые вещи. При нокии такого не было, как понабежали хипстеры в Qt and Co. лютый пистец.

     

  • 1.13, Аноним (-), 07:38, 29/04/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Больше сборочных инструментов для сборки сборочных инструментов!
     
     
  • 2.14, user (??), 12:38, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Кстати, какие сборочные инструменты нормально понимают генерацию сразу нескольких файлов?

    Все реализации make в этом месте сделаны через задницу, хотя стандарт не запрещает сделать правильно.

     
     
  • 3.16, anon2 (?), 19:50, 29/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    реализация генерации сразу нескольких файлов на gnu make empty define newlin... большой текст свёрнут, показать
     
  • 2.18, zxc (??), 18:12, 30/04/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Больше сборочных инструментов для сборки сборочных инструментов!

    И книжек, книжек хороших побольше по 300 страниц про то как ими просто и быстро все собирать.

     

  • 1.19, Аноним (-), 19:13, 03/05/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Увы, мeртворожденное пoделие. Лучше cmake пока ничего нет.
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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