The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от opennews (??) on 26-Авг-14, 16:07 
Увидел свет (http://blog.qt.digia.com/blog/2014/08/26/qbs-1-3-0-released/) релиз развиваемого проектом Qt сборочного инструментария qbs 1.3.0 (http://qt-project.org/wiki/qbs) (Qt Build Suite). Qbs использует упрощённый вариант языка QML для определения сценариев сборки проекта, что позволяет определять достаточно гибкие правила сборки, в которых могут подключаться внешние модули, использоваться функции на JavaScript и создаваться произвольные правила сборки. В отличие от qmake, qbs не привязан к Qt и изначально рассчитан на организацию сборки любых проектов.

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


В новой версии (http://qt-project.org/doc/qbs-1.3/index.html) существенно улучшена интеграция с интегрированной средой разработки Qt Creator. Обеспечена возможность добавления/удаления файлов с исходным кодом в продукты qbs через штатное дерево проекта, по аналогии с работой с проектами на базе qmake. Перезагрузка проекта теперь осуществляется заметно быстрее и выполняется только при наличии реальной необходимости. Например, ускорение заметно в случаях, когда файл был изменён без нарушения семантики (добавлены пробелы). Из изменений в языке сценариев отмечается возможность установки разных профилей для определённых продуктов, например, для генерации разных исполняемых файлов для разных платформ. Проведена работа по снижению потребления памяти во время работы сборочного инструментария.


URL: http://blog.qt.digia.com/blog/2014/08/26/qbs-1-3-0-released/
Новость: http://www.opennet.ru/opennews/art.shtml?num=40456

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Владимир email(??) on 26-Авг-14, 16:07 
Использую qbs в течение двух лет, но не радуют постоянно вылязящие мелкие регрессии...

например самая последняя версия у меня постоянно (!) собирает один и тот же файл при инкрементальной сборке. Все попытки сделать минимальный проект с глюком провалились. Откат на предыдущую версию конечно помог. Но нужно отдебажить все равно этот факт, чтобы в апстриме поправили...

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –3 +/
Сообщение от Аноним (??) on 26-Авг-14, 16:25 
щас соберу минусы, но всеравно не понимаю, чем не устраивает cmake. даже boost перетаскивают на cmake. лишняя сущность этот qbs.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +7 +/
Сообщение от RazrFalcon email(ok) on 26-Авг-14, 16:29 
У cmake отвратный синтаксис.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

13. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от Аноним (??) on 26-Авг-14, 21:13 
Замечательный там синтаксис. С одной стороны, он совершенно обычный (функция(аргументы), ${переменная}) вместо скобок он заставляет повторять условие в endif из-за чего читабельность повышается в разы.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

4. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +4 +/
Сообщение от Владимир email(??) on 26-Авг-14, 16:29 
JUST ADOPT CMAKE писали в комментариях к релизу qbs 0.3.0.

Cmake - НЕ система сборки, а генератор makefile-ов. А некоторые вещи средствами make делать довольно геморно (например когда количество порождаемых продуктов динамично). cmake это обычно делает на этапе конфигурирования.

qbs не содержит в себе этапа генерации файлов. Он сам вызывает все инструменты.

А еще на этапе исследования систем сборки их синтаксис cmake тоже не устроил)

Я вообще тоже против "картинка xkcd про 15 стандартов", но qbs подкупил меня именно внятным и легким синтаксисом, который легко поддерживать.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

7. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +1 +/
Сообщение от dhamp on 26-Авг-14, 17:19 
>JavaScript
>внятным и легким синтаксисом

не для всех js - это внятный синтаксис, хотя базовый правила описанные в документации просты и действительно понятны, в случае если их будет недостаточно придётся городить велосипед на js.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

18. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Аноним (??) on 27-Авг-14, 06:35 
Cmake умеет генерировать не только Makefile. Есть к примеру выходной формат ninja, которая позволяет собирать проекты гораздо быстрее, хоть и не предназначена для чтения человеком.
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

23. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от vle email(ok) on 28-Авг-14, 20:50 
> А некоторые вещи средствами make делать довольно геморно
> (например когда количество порождаемых продуктов динамично).

Чуть конкретнее можно?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

24. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от dhamp on 29-Авг-14, 15:25 
>Cmake - НЕ система сборки, а генератор makefile-ов.

хм, вот почему все зацикливаются только на makefiles? cmake умеет генерировать не только их.
>например когда количество порождаемых продуктов динамично

ниже уже просили привести пример, может стоит всё же продемонстрировать что скрывается за этой фразой.  

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

5. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от Аноним (??) on 26-Авг-14, 16:47 
cmake - жуткий монстр. Тонны исходников, собирается адски долго. Зато умеет разноцветно печатать. Наверное, autotools проще понять, хоть они и написаны на адской смеси Perl/m4.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Владимир email(??) on 26-Авг-14, 16:54 
Да бросьте. Qbs тоже не маленький. По сравнению с qmake например (он вообще собирается пока делаешь глоток чая).
На 4 ядрах у меня чуть ли не минуту собирается (фигня конечно, но легковесным бы не назвал).
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

14. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –2 +/
Сообщение от Аноним (??) on 26-Авг-14, 21:25 
Опять безграмотные высосанные из пальца придирки.
Какая вам разница сколько там исходников? Не вам в них разбираться. На самом-то деле всего в 4 раза больше чем в qbs, что полностью объяснимо в разы более богатой функциональностью.
Какая вам разница сколько он собирается? Не для каждого же проекта его собирать. На самом-то деле собирается он жалкие 3 минуты. Только QtCore от которого зависит qbs собирается уже столько же.
А вот по тому какие простые и понятные скрипты на нём пишутся, он уделывает и qbs и тем более autotools (перла в которых нет, позорище).
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

19. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Аноним (??) on 27-Авг-14, 06:43 
Да, действительно, Perl в autotools нет. За исключением того, что automake и autoconf - скрипты на Perl. </sarcasm>

Насчёт сборки - да, действительно быстро собирается, проверил. Был неправ.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

21. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +1 +/
Сообщение от yet another anonymous on 27-Авг-14, 20:08 
> ... За исключением того, что automake и autoconf - скрипты на Perl.

$ file `which autoconf`
/usr/bin/autoconf: POSIX shell script, ASCII text executable

Поздравляю, гражданин соврамши.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

22. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Кевин on 27-Авг-14, 21:38 
а как научить дизайнера писать в cmake? в qml он научился писать..
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

8. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +1 +/
Сообщение от dhamp on 26-Авг-14, 17:38 
+ ещё 1 возможный камень в огород qbs я думаю сей товарищ просветит раз 2 года использует http://www.opennet.ru/~%F7%CC%C1%C4%...

для того чтобы что-то собрать нужно настоить toolchain в qbs
при условии что у нас 1 компилятор в системе - ничего плохого нет, просто 1 шаг перед использованием - предварительная настройка, но если нужно использовать более одного компилятора, изволь все их занести в настройки qbs и далее нужно указать что нам нужен именно этот toolchain, прекрасно если qbs запомнит этот выбор для каждой директории с проектом, если нет - это печально.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Владимир email(??) on 26-Авг-14, 17:49 
Не знаю, у меня как у разработчика, много тулчейнов на машине стоит, и я пока не жалуюсь на работу "qbs detect-toolchains" ...
Один раз настроив окружение, можно собирать много проектов из скриптов сразу же, не нужны предварительные ./configure.

И да, если его использовать из Qt Creator то естественно все запомнится. Если запускаете с командной строки то да... здесь может быть дискомфорт))

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от dhamp on 26-Авг-14, 18:06 
>И да, если его использовать из Qt Creator то естественно все запомнится. Если запускаете >с командной строки то да... здесь может быть дискомфорт))

для меня это -

>Не знаю, у меня как у разработчика, много тулчейнов на машине стоит, и я пока не жалуюсь >на работу "qbs detect-toolchains"

и он найдёт распакованный в хомяке или в /opt компилятор? что-то крайне сомнительно, думается всё равно руками надо будет добавлять.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

16. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Владимир email(??) on 27-Авг-14, 05:06 
очевидно, как и любой конфигурятор - если в PATH прописан, то найдет ;)
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

25. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от dhamp on 29-Авг-14, 15:27 
> очевидно, как и любой конфигурятор - если в PATH прописан, то найдет
> ;)

это просто бессмысленно добавлять всё в PATH

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

10. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от Владимир email(??) on 26-Авг-14, 17:51 
а вообще как система сборки qbs иделано смотрится только вместе с IDE. под QtC все понятно, а под студию (оффтопик, да), можно использовать генератор проектов который qbs же и запускает.
https://bugreports.qt-project.org/browse/QBS-31
вот здесь я в комментах ссылку на патч добавил. можно пользоваться.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

12. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Аноним (??) on 26-Авг-14, 18:23 
Да, до Gradle ему как раком до шанхая...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

17. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от Владимир email(??) on 27-Авг-14, 05:10 
Посмотрел =) соглашусь с Вами! Возможности автоматического тестирования и сборки пакетов вряд ли когда еще появятся =(((
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

20. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от Анан on 27-Авг-14, 11:28 
Вообще перейдя когда стал писать на Java постоянно подмечаю что практически все инструменты и Java технологи впереди планеты всей. Взять тот же Gradle, я ни то что бы аналога не видел для других языков я даже что то отдаленно напоменающее его по функционалу и возможностям не видел.
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

26. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  +/
Сообщение от integer (ok) on 31-Авг-14, 00:28 
Всему виной энетрпрайзы с их требованиями и эвалюциями. Взять теже логгеры...
Так а вообще сравнение какое-нибудь gradle(+some plugin) vs qbs есть?
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

15. "Выпуск сборочного инструментария qbs 1.3.0, развиваемого про..."  –1 +/
Сообщение от Аноним (??) on 26-Авг-14, 21:29 
Ради интереса пробовал собрать им свой проект. Пришёл к выводу что с cmake он даже близко не стоял - попахивает scons'ятиной которая не сборочная система, а фреймворк для написания оных, в результате через скрипты представляют собой мешанину условий и вспомогательных функций для простейших вещей. Тут то же самое, но по возможностям она, похоже, ещё сильнее ограничена. В то же время CMake всё делает сам и скрипт представляет собой именно то что должен - перечисление опций, исходников, зависомостей и целей.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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