The OpenNET Project / Index page

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

09.12.2017 10:45  Доступен сборочный инструментарий Qbs 1.10, развиваемый проектом Qt

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

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

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

  • Возможность динамического определения профилей, что полезно когда проект имеет заранее известные требования к среде сборки или целевой платформе;
  • Более естественная организация работы с вложенными группами, учитывая префиксы. Если префикс не определён в группе, то его значение берётся из родительской группы;
  • В модулях и файловых метках (FileTagger) появилась возможность установки уровней приоритета, которые могут выступать в роли механизма разрешения конфликтов при необходимости выбора между несколькими разными реализациями одного модуля, соответствующими заданным условиям, или несколькими файловыми метками, указывающими на один и тот же файл. Например, установка приоритетов может оказаться полезной при наличии нескольких вариантов модуля cpp и необходимости активации разных реализаций для разных платформ;
  • Для установки файловых меток на генерируемые ресурсы добавлено новое свойство fileTags, которое можно применять в группах с фильтром fileTagsFilter. Новое свойство позволяет прикреплять дополнительные элементы к списку тегов, созданных правилом из неподконтрольного модуля;
  • Добавлена начальная поддержка платформы UWP (Universal Windows Platform);
  • Добавлена возможность использования команды run для запуска и развёртывания Android-приложений на внешних устройствах, а также запуска и развёртывания приложений iOS и tvOS в симуляторе;
  • Добавлена поддержка компилятора Qt Quick и утилиты qmlcachegen;
  • Добавлен модуль vcs, предоставляющий информацию о репозитории (пока поддерживаются только Git и Subversion);
  • Добавлен модуль cpufeatures для абстрагирования флагов компилятора, связанных с возможностями CPU (например, поддержка инструкций SSE);
  • В интерфейс командной строки добавлена команда list-products для вывода списка имён продуктов, доступных в проекте.


  1. Главная ссылка к новости (http://blog.qt.io/blog/2017/12...)
  2. OpenNews: Выпуск сборочного инструментария qbs 1.8, развиваемого проектом Qt
  3. OpenNews: Релиз системы сборки CMake 3.10
  4. OpenNews: Компания Yahoo открыла код сборочной платформы Screwdriver
  5. OpenNews: Разработчик языка XL опубликовал новую сборочную систему build
  6. OpenNews: Доступна система сборки Meson 0.42, на которую переходят systemd, GTK+ и GNOME
Лицензия: CC-BY
Тип: Программы
Ключевые слова: qbs, build
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 11:11, 09/12/2017 [ответить] [смотреть все]
  • +2 +/
    Ура! Скоро шестокеды!
     
     
  • 2.2, Леонид, 12:19, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]
  • +8 +/
    Ура! А то пятые уже почти работают.
     
     
  • 3.3, Аноним, 12:23, 09/12/2017 [^] [ответить] [смотреть все]
  • +3 +/
    2 года уже нормально работают. В kubuntu 16.04 LTS, по крайне мере.
     
  • 3.6, Аноним, 13:05, 09/12/2017 [^] [ответить] [смотреть все]
  • +1 +/
    Собранные из ebuild'ов полностью работают, как это для вас не странно.
     
     
  • 4.9, DiabloPC, 14:51, 09/12/2017 [^] [ответить] [смотреть все]
  • +1 +/
    ХЗ, у меня и из преобычнейших реп работают.... ЧЯДНТ?
     
     
  • 5.13, Аноним, 16:11, 09/12/2017 [^] [ответить] [смотреть все]  
  • +7 +/
    - доктор, у меня болит нога, что посоветуете?
    - ХЗ, у меня тоже есть нога, и она не болит... ЧЯДНТ?!
     
     
  • 6.25, Аноним, 22:32, 09/12/2017 [^] [ответить] [смотреть все]  
  • +/
    И вот поэтому я буду всем здоровым говорить, что у них тоже болит нога, а они гл... весь текст скрыт [показать]
     
  • 6.27, Онаним, 08:54, 10/12/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    - доктор, меня ест нога, ЧЯДНТ?!
    - ХЗ, я узбек... RTFM!
     
     
  • 7.36, Аноним, 15:10, 11/12/2017 [^] [ответить] [смотреть все]  
  • +3 +/
    Когда попытался пошутить, но "как-то не удалось".
     
  • 1.4, anonymous, 12:39, 09/12/2017 [ответить] [смотреть все]  
  • –2 +/
    >В отличие от qmake, Qbs не привязан к Qt и изначально рассчитан на организацию сборки любых проектов

    Вот зачем эту мантру повторять? 1. qbs зависит от Qt; 2. qmake может собрать любой проект.

     
     
  • 2.5, Аноним, 13:02, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Догадываюсь, что к моменту полной стабилизации кодовой базы, они добавят урезанн... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.7, anonymous, 13:09, 09/12/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Движок QML зависит от QtCore и QtGui Никто в здравом уме не будет их тащить с с... весь текст скрыт [показать]
     
     
  • 4.28, Аноним, 11:16, 10/12/2017 [^] [ответить] [смотреть все]  
  • +/
    статическую линковку запретили уже?
     
     
  • 5.29, anonymous, 13:48, 10/12/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Давно с венды слез?
     
  • 2.14, fff, 17:06, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    1 Одним qbs-ом можно собрать проект под разные версии Кути 2 Одним qmake-ом ты... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.30, anonymous, 13:49, 10/12/2017 [^] [ответить] [смотреть все]  
  • +/
    Про обратную совместимость не в курсе, конечно ... весь текст скрыт [показать]
     
  • 1.8, Дуплик, 14:05, 09/12/2017 [ответить] [смотреть все]  
  • –4 +/
    Зависит от JavaScript а, QtQuick а и Qt а Ну и зачем такое счастье Тогда уж пр... весь текст скрыт [показать]
     
     
  • 2.10, Аноним, 15:19, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Так к 6 же переведут QtScript выкинули в пользу QtQuick QtWebKit выкинули из-з... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.12, Anon999, 15:54, 09/12/2017 [^] [ответить] [смотреть все]  
  • –2 +/
    На очереди QtWidgets?
     
     
  • 4.20, Аноним, 20:47, 09/12/2017 [^] [ответить] [смотреть все]  
  • +/
    Нет Разработчики сказали что QtQuick предпочтителен в долгосрочной перспективе ... весь текст скрыт [показать]
     
  • 3.41, name, 14:02, 13/12/2017 [^] [ответить] [смотреть все]  
  • +/
    QtWebKit вполне себе развивается, а ядро WebKit - тем более Просто в Qt нет рес... весь текст скрыт [показать]
     
  • 2.40, dontletsmac, 10:46, 13/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    На Java легковеснее Видимо, Дуплик зависит от каких-то веществ ... весь текст скрыт [показать] [показать ветку]
     
  • 1.11, Аноним, 15:21, 09/12/2017 [ответить] [смотреть все]  
  • +/
    To build qbs simply do

    qmake -r qbs.pro
    make

     
  • 1.16, Alex, 18:34, 09/12/2017 [ответить] [смотреть все]  
  • –3 +/
    Зачем этот бардак они опять плодят неужели трудно взять и юзать cmake и не па... весь текст скрыт [показать]
     
     
  • 2.17, Аноним2, 19:14, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Так они все к своему фрэймворку привязывают, чтобы к конкурентам не бежали Неко... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.18, Аноним, 20:28, 09/12/2017 [^] [ответить] [смотреть все]  
  • +/
    Звучит примерно так производитель комбайнов выпустил новый набор гаечных ключей... весь текст скрыт [показать]
     
     
  • 4.22, Аноним, 21:44, 09/12/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    производитель комбанов решил перейти со старых вендорлочных гаечных ключей, к ко... весь текст скрыт [показать]
     
     
  • 5.24, Аноним, 22:13, 09/12/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Если ключей от газонокосилки не хватает чтобы починить комбайн, то виноват конеч... весь текст скрыт [показать]
     
  • 2.21, Хренонимус, 21:43, 09/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    Удобная система сборки - это хорошо CMake, сколь бы ни был популярным, удобным ... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.23, Аноним, 22:00, 09/12/2017 [^] [ответить] [смотреть все]  
  • –3 +/
    А зачем в системе сборки нужен язык общего назначения?
     
     
  • 4.26, Хренонимус, 00:59, 10/12/2017 [^] [ответить] [смотреть все]  
  • +/
    А зачем в системе сборки нужен эзотерический язык, который придётся осваивать, в... весь текст скрыт [показать]
     
     
  • 5.34, Аноним, 13:20, 11/12/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Да затем, что не всем привычна логика JS или python, или что там ещё сейчас мод... весь текст скрыт [показать]
     
     
  • 6.43, Аноним, 02:23, 20/12/2017 [^] [ответить] [смотреть все]  
  • +/
    это сначала так кажется а когда тебе придется перелопачивать тонны г-кода на эт... весь текст скрыт [показать]
     
  • 5.35, Аноним, 13:23, 11/12/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    И что из перечисленного является сборочной системой ... весь текст скрыт [показать]
     
  • 3.31, anonymous, 13:51, 10/12/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    >CMake, сколь бы ни был популярным, удобным не является.

    Ты просто его не осилил. Он прост, как топор.

     
     
  • 4.37, Дурень, 15:16, 11/12/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Оксюморон же
     
  • 1.32, nc, 15:15, 10/12/2017 [ответить] [смотреть все]  
  • +3 +/
    Хорошо что развивается, это в любом случае лучше чем makefile
    Но если в целом - то зачем вообще нужны сценарии и правила сборки? Описание проекта должно быть ДЕКЛАРАТИВНЫМ, а не представлять собой еще один язык императивного прорграммирования. То есть - список файлов исходников, параметры проекта (начиная от имени и заканчивая опциями оптимизации и кодогенерации), список внешних библиотек... все это по сути своей декларативная информация, то есть json или xml бы тут подошел лучше чем любой язык программирования. Исключения в виде запуска внешних программ для обработки чего-либо в процессе сборки должны оформляться как декларативные ноды специального типа, в которых прописывается внешняя программа и ее аргументы.


     
     
  • 2.38, Аноним, 15:27, 11/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –2 +/
    Так в Qbs так и есть же И декларативность, и даже json И исключения в виде зап... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.39, Владимир, 07:39, 12/12/2017 [^] [ответить] [смотреть все]  
  • +/
    ну я с вами не соглашусь, я еще в пору qbs 0.6-0.7 сборку на паскале прикручивал. Не могу сказать что это сделать сложнее чем в cmake.
     
  • 1.33, Анонимы, 17:26, 10/12/2017 [ответить] [смотреть все]  
  • –2 +/
    Так и не понял, чем им qmake не угодил. И кому этот qbs будет нужен в остальных проектах, при наличии и так не малого зоопарка.
     
     
  • 2.42, name, 14:04, 13/12/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • –1 +/
    +1. До сих пор им никто не пользуется. Если кто-то начинает новый проект, то это или cmake или qmake.
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor