The OpenNET Project / Index page

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

31.05.2013 20:33  Проект Qt представил сборочный инструментарий qbs 1.0.0

Развиваемый проектом Qt сборочный инструментарий qbs (Qt Build Suite) достиг того состояния, при котором возможна удобная сборка проектов сложности уровня Qt Creator. Таким образом, проект заслуживает той версии, которая бы отражала его полезность. Для стимулирования использования qbs в других проектах, разработчики решили присвоит новому выпуску qbs знаковый номер версии 1.0.0.

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

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

Особенности qbs:

  • Позволяет собирать проекты для разных платформ в той же командной оболочке (shell);
  • Позволяет параллельно собирать множество конфигураций одного проекта;
  • Предоставляет быстрые инкрементальные сборки (оценки производительности);
  • Использует QML-подобный язык;
  • Поддерживается в Qt Creator 2.8;
  • Не привязан к версии Qt, т.е. смена используемой версии Qt не заставляет менять версию инструментария сборки.

В анонсе отмечено, что не смотря на то, что замена основанной на qmake системы сборки Qt в принципе возможна, сборка Qt всё ещё будет требовать скрипт configure и небезызвестный syncqt. Разработчики смотрят дальше и ставят целью замену configure и syncqt на qbs, а это то место, где qbs всё ещё отстаёт.

  1. Главная ссылка к новости (http://blog.qt.digia.com/blog/...)
  2. OpenNews: Разработчики Qt представили инструментарий для сборки проектов qbs
  3. OpenNews: Разработчики из компании Google открыли код системы сборки Ninja
Автор новости: Аноним
Тип: Программы
Ключевые слова: qbs, qt, build
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, iZEN (ok), 21:30, 31/05/2013 [ответить] [показать ветку] [···]    [к модератору]
  • –14 +/
    Чем это лучше Apache Maven?
     
     
  • 2.2, Аноним (-), 21:32, 31/05/2013 [^] [ответить]    [к модератору]
  • –2 +/
    Ждём похороникс или они таким не занимаются?
     
  • 2.4, Аноним (-), 21:32, 31/05/2013 [^] [ответить]    [к модератору]
  • +4 +/
    Хотя бы тем что не на жаве. Но вместе они не нужны, потому что есть cmake.
     
     
  • 3.19, Аноним (-), 01:47, 01/06/2013 [^] [ответить]    [к модератору]
  • +/
    cmake то еще дерьмецо! CMakeList выглядит ужасно
     
     
  • 4.22, Аноним (-), 04:58, 01/06/2013 [^] [ответить]    [к модератору]
  • +1 +/
    Да это еще куда ни шло. А вот определение либ на платформе, свойств платформы и прочая - глюкастое донельзя. В этом плане его спокойно зарулят даже древние автотулсы.
     
     
  • 5.56, Лентяй (??), 18:41, 05/06/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Зарулят Ну-ну В CMake изначально решены проблемы ну или сильно затрднены пути... весь текст скрыт [показать]
     
     
  • 6.58, arisu (ok), 04:38, 06/06/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    их авторов надо бить молотками по головам фиче 171 сначала ищем несисемный ин... весь текст скрыт [показать]
     
     
  • 7.59, Лентяй (??), 04:53, 06/06/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Хотите - верьте, хотите - нет, но вот лично я недавно получил ответ в духе сам ... весь текст скрыт [показать]
     
     
  • 8.63, arisu (ok), 05:16, 06/06/2013 [^] [ответить]     [к модератору]  
  • +2 +/
    да я так, 171 в общем негодую 187 я тоже подобное встречал, и вроде бы у лю... весь текст скрыт [показать]
     
     
  • 9.64, Лентяй (??), 01:26, 07/06/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Дык что самое-то обидное - предлагаешь патч, который решает эту проблему, а его даже смотреть не хотят. :(
     
     
  • 10.65, arisu (ok), 03:19, 07/06/2013 [^] [ответить]    [к модератору]  
  • +/
    > Дык что самое-то обидное - предлагаешь патч, который решает эту проблему, а
    > его даже смотреть не хотят. :(

    а вот это уже странно.

     
  • 2.14, kurokaze (ok), 23:11, 31/05/2013 [^] [ответить]    [к модератору]  
  • +3 +/
    Изень, не позорь программистов на джаве
     
     
  • 3.15, Карбофос (ok), 00:08, 01/06/2013 [^] [ответить]    [к модератору]  
  • +/
    да какой он на хрен программист?
     
     
  • 4.23, Аноним (-), 04:59, 01/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    > да какой он на хрен программист?

    Ну как какой? Быдлокодер обыкновенный, одна штука.

     
     
  • 5.28, Fyjybv (?), 10:23, 01/06/2013 [^] [ответить]    [к модератору]  
  • +8 +/
    Кто тебе сказал, что он вообще кодер?
     
  • 3.30, Dmitry77 (ok), 12:16, 01/06/2013 [^] [ответить]    [к модератору]  
  • +/
    http://accelconf.web.cern.ch/accelconf/icalepcs2011/papers/wepks026.pdf
     
     
  • 4.32, BayaN (ok), 15:23, 01/06/2013 [^] [ответить]    [к модератору]  
  • –2 +/
    О..еть, по этому бреду даже статьи пишут. CERN научились бюджеты пилить, молодцы.
     
     
  • 5.33, Dmitry77 (ok), 15:38, 01/06/2013 [^] [ответить]     [к модератору]  
  • +/
    Что мне нравится в maven - перед компиляцией он может сам скачивать всё дерево ... весь текст скрыт [показать]
     
     
  • 6.34, Карбофос (ok), 19:34, 01/06/2013 [^] [ответить]     [к модератору]  
  • +/
    не всё так печально, все дебиан-базированные Ubuntu и т п на dpkg, Fedora, Op... весь текст скрыт [показать]
     
  • 6.57, Лентяй (??), 18:45, 05/06/2013 [^] [ответить]     [к модератору]  
  • +/
    Оборотная сторона - Maven усложняет сторонний контроль процесса сборки и поэтому... весь текст скрыт [показать]
     
  • 5.40, Аноним (-), 13:04, 02/06/2013 [^] [ответить]     [к модератору]  
  • –2 +/
    авторы статьи - скорее всего просто студенты, проходившие практику в ЦЕРНе и нап... весь текст скрыт [показать]
     
  • 2.26, arisu (ok), 08:53, 01/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    > Чем это лучше Apache Maven?

    любая система сборки, которая не требует ставить говножабу, уже лучше. даже sh.

     
  • 2.29, Dmitry (??), 10:41, 01/06/2013 [^] [ответить]    [к модератору]  
  • +/
    iZEN, а ты с плюсами используешь мавен?
     
  • 1.3, попо (?), 21:32, 31/05/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Чем это лучше cmake?
     
     
  • 2.5, Аноним (-), 21:33, 31/05/2013 [^] [ответить]    [к модератору]  
  • –3 +/
    > Чем это лучше cmake?

    Ничем, разумеется. Но наверняка лучше кривого qmake.

     
     
  • 3.6, попо (?), 21:34, 31/05/2013 [^] [ответить]    [к модератору]  
  • –3 +/
    Хотя я прочитал статью, cmake делает makefile, а это чудо нет. Стоит его попробывать
     
     
  • 4.11, Аноним (-), 22:15, 31/05/2013 [^] [ответить]    [к модератору]  
  • +12 +/
    И почитать учебник русского языка тоже не забудь.
     
  • 2.13, неанонимус (?), 23:10, 31/05/2013 [^] [ответить]     [к модератору]  
  • +3 +/
    Как ниже заметили, нет вызовов промежуточных тулзов будь то make или что ещё , ... весь текст скрыт [показать]
     
     
  • 3.21, ffirefox (?), 04:55, 01/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    >все помним, что рекурсивные мейкфайлы - зло?

    Не помню. Почему?

     
     
  • 4.31, anon2 (?), 14:52, 01/06/2013 [^] [ответить]     [к модератору]  
  • +/
    Потому что не позволяют построить полное и единственное дерево зависимостей на в... весь текст скрыт [показать]
     
     
  • 5.35, arisu (ok), 19:46, 01/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    и ты посмотри в сторону jam. может понравится.
     
     
  • 6.36, Ytch (ok), 23:58, 01/06/2013 [^] [ответить]     [к модератору]  
  • +/
    jam штука хорошая Кстати, спасибо что в свое время навёл на него Когда дерев... весь текст скрыт [показать]
     
     
  • 7.37, arisu (ok), 00:42, 02/06/2013 [^] [ответить]    [к модератору]  
  • +/
    > Кстати, спасибо что в свое время «навёл» на него.

    рад, что кому-то помогло.

     
  • 6.38, anon2 (?), 07:51, 02/06/2013 [^] [ответить]     [к модератору]  
  • +/
    да, интересный проект, только вызывает сомнение автоматическое построение зависи... весь текст скрыт [показать]
     
     
  • 7.41, arisu (ok), 20:12, 02/06/2013 [^] [ответить]     [к модератору]  
  • +/
    пока что, за кучу лет использования в проектах разных размеров, проблем не было ... весь текст скрыт [показать]
     
     
  • 8.60, Лентяй (??), 04:57, 06/06/2013 [^] [ответить]     [к модератору]  
  • +/
    Это, например, страшно при пакетной сборке, когда пакет, являющийся псевдо-завис... весь текст скрыт [показать]
     
     
  • 9.61, Лентяй (??), 04:58, 06/06/2013 [^] [ответить]     [к модератору]  
  • –1 +/
    Кстати, как раз из-за нечестного сканера зависимостей очень хочется как раз по... весь текст скрыт [показать]
     
  • 9.62, arisu (ok), 05:12, 06/06/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    при чём тут 171 пакеты 187 и откуда это вообще взялось в обсуждении хинт у... весь текст скрыт [показать]
     
     
  • 10.66, Лентяй (??), 00:05, 08/06/2013 [^] [ответить]     [к модератору]  
  • +/
    Очень даже причём Подразумевалась массовая сборка пакетов, которые используют в... весь текст скрыт [показать]
     
     
  • 11.67, Лентяй (??), 00:06, 08/06/2013 [^] [ответить]     [к модератору]  
  • +/
    которая использует , конечно же Прошу прощения за эту и другие возможные описк... весь текст скрыт [показать]
     
  • 11.68, arisu (ok), 09:33, 08/06/2013 [^] [ответить]     [к модератору]  
  • +/
    возможно, это подразумевалось тобой остальные в этой ветке говорили совсем о ... весь текст скрыт [показать]
     
  • 7.42, arisu (ok), 20:14, 02/06/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    p s главное 8212 boost-jam не бери это ужас, летящий на крыльях ночи у бус... весь текст скрыт [показать]
     
  • 1.7, попо (?), 21:40, 31/05/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • +2 +/
    Пример qbs файла для простого проекта http://qt-project.org/wiki/Qbs-Example

    Краткое введение в qbs https://blog.qt.digia.com/blog/2012/02/15/introducing-qbs/

    Справка http://qt-project.org/wiki/Qbs-Quick-Reference

    Инструкция по сборке http://qt-project.org/wiki/qbs

     
     
  • 2.8, Аноним (-), 21:47, 31/05/2013 [^] [ответить]    [к модератору]  
  • +/
    >> Пример qbs файла для простого проекта http://qt-project.org/wiki/Qbs-Example

    YAML уже не в моде ?

     
     
  • 3.9, попо (?), 21:50, 31/05/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    Ну видать решили не парится и взяли основу языка от QML. Зачем там другие языки? Да и в qbs называют, что отдельный язык для qmake был его фатальным недостатком.
     
  • 3.12, Аноним (-), 22:17, 31/05/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    YAML плохой. JSON лучше, поэтому он используется в qbs.
     
  • 2.10, попо (?), 22:03, 31/05/2013 [^] [ответить]    [к модератору]  
  • +/
    Введение устарело....
     
  • 1.16, хрюкотающий зелюк (?), 00:24, 01/06/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Вопрос: про Qt что оно "требовать скрипт configure и небезызвестный syncqt", это относится к сборки самого Qt как такового?

    А свои программы собирай-конпеляй при помощи QBS? И ничего более?

     
     
  • 2.17, Аноним (-), 00:26, 01/06/2013 [^] [ответить]    [к модератору]  
  • +/
    Ага. Именно так.
     
  • 2.18, попо (?), 00:30, 01/06/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    Там писали, что если сейчас использовать qbs для сборки Qt, то без configure & syncqt не обойтись. А авторы qbs этого не хотят, и они планируют расширить функционал qbs, чтобы можно было обойтись без других инструментов.
     
  • 1.20, Аноним (-), 04:25, 01/06/2013 [ответить] [показать ветку] [···]     [к модератору]  
  • +/
    Очень удобная система, конфигурационные скрипты писать и поддерживать одно удово... весь текст скрыт [показать]
     
     
  • 2.24, Аноним (-), 05:00, 01/06/2013 [^] [ответить]    [к модератору]  
  • +/
    > старых дельфевых проектов.

    Necromancy is a forbidden art.

     
     
  • 3.25, Аноним (-), 07:44, 01/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    я уже боюсь представить что вы скажете, узнав про проекты на фортране =)
    наследие примерно четверть века тянется, не все вот так сразу можно переписать на плюсах и qt.
     
     
  • 4.45, Аноним (-), 11:45, 03/06/2013 [^] [ответить]     [к модератору]  
  • –2 +/
    Вы неплохо сохранились Наследие некроманов - куда ни шло, а вот разучивать ... весь текст скрыт [показать]
     
     
  • 5.46, arisu (ok), 11:53, 03/06/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    > а вот разучивать дельфей в 2013 году — вот это странное начинание, да.

    с чего бы? язык весьма неплохой.

     
  • 3.39, maximnik0 (?), 13:03, 02/06/2013 [^] [ответить]     [к модератору]  
  • –3 +/
    Какая некромантия -2012 год это некромантия Видел на диске к хакеру за 12 год ... весь текст скрыт [показать]
     
     
  • 4.44, Аноним (-), 11:44, 03/06/2013 [^] [ответить]     [к модератору]  
  • +1 +/
    Какая, какая дельфи нынче пользуются только убежденные некроманы Остальные ... весь текст скрыт [показать]
     
     
  • 5.47, maximnik0 (?), 12:26, 03/06/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    > А он там был когда-то? А так что куть, что дотнет -

    Да когдато QT был в делфи 7 -работал через кросc платформенный библиотеку CLX , был даже делфи портирован под линукс (Kulix 3 ),1 и 2 версия работала через wine .
    //Насколько я знаю библиотеку CLX перенесли на Лазариус ,и этой библиотеке пофиг что там за графические либы (win32 ,QT (2-3-4) ,GTK ,FTL ) ,приложение скомпилируется с любой из библиотек ,жаль что CLX забросили .

     
     
  • 6.48, arisu (ok), 12:29, 03/06/2013 [^] [ответить]    [к модератору]  
  • +2 +/
    это ж надо уметь и так неграмотно писать, и так задорно смешивать факты с фантазией… даже немного завидую.
     
     
  • 7.49, хрюкотающий зелюк (?), 15:29, 03/06/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    А он и не наврал - раньше "дельфи для линукс" именно что базировался поверх Qt, просто совместимость между ОС. Сейчас, в свете LGPLного Qt это никому не нужно, и CLX в том числе.
     
     
  • 8.50, arisu (ok), 15:40, 03/06/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    > А он и не наврал

    ещё как наврал. QuickTime там вообще не при чём. это раз. никто никуда CLX не «портировал», потому что оно проприетарное и заточено на конкретную сборку Qt. это два. не работал Kylix «через wine», только ide кое-как пыталась вайнлиб использовать (хреново, да). это три. я не знаю, что такое «FTL», но всё равно фрипаскалевсий аналог VCL *это* не поддерживал. четыре.

    всё, хватит.

     
     
  • 9.54, maximnik0 (?), 22:59, 03/06/2013 [^] [ответить]    [к модератору]  
  • –1 +/
    >никто никуда CLX не «портировал»

    Проект лазариус портировал библиотеку еще в 2005-2006 годах ,но в стандартную комплитацию не входил из-за лецензионных проблем (вроде фирма борланд не возрожала на перенос но из-за чего то передумала ) ,не потдерживается сейчас в актуальном состояние .Вдобавок сама фирма разработчик портировала CLX под макось .FTL  извеняюсь не допечатал правильно FPTL или  FPGUI (что с названиями не знаю в доках разночтение )-  графический  движок ,на стадии сырой альфы ,типа будет родной.

     
     
  • 10.55, arisu (ok), 00:27, 04/06/2013 [^] [ответить]    [к модератору]  
  • +1 +/
    ты извини за наезд, просто очень пост провоцирующий. я-то понял, что ты сказать хотел.
     
  • 1.27, arisu (ok), 08:56, 01/06/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –3 +/
    чем это лучше jam и зачем было изобретать очередной велосипед?
     
  • 1.43, Loooooker (ok), 20:35, 02/06/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –2 +/
    Если я захочу перевести свои наработки на это, мне все cmake-скрипты на qml переписывать что ли?
     
     
  • 2.51, Аноним (-), 16:36, 03/06/2013 [^] [ответить]    [к модератору]  
  • +/
    если ты захочешь перенести на любую другую систему сборки, тебе переписывать придется. если эти велосипеды понадобятся, конечно.
     
  • 1.52, Аноним (-), 19:45, 03/06/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    для cmake есть ninja
     
  • 1.53, Аноним (53), 20:10, 03/06/2013 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Переходите на .Net framework и Windows 8.
     

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


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