The OpenNET Project / Index page

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

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

"Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от opennews (??) on 16-Фев-12, 17:55 
Разработчики из компании Nokia представили (http://labs.qt.nokia.com/2012/02/15/introducing-qbs/) новый экспериментальный сборочный инструментарий qbs (http://chaos.troll.no/~dmolkent/qbs-0.1/) (Qt Build Suite), предназначенный для сборки приложений, основываясь на данных файла-проекта, все команды которого записаны на упрощенном диалекте языка QML (http://en.wikipedia.org/wiki/QML). Файл с правилами сборки описывает только один проект, который в тоже время может содержать несколько разных программных продуктов, каждый из которых может иметь свой тип (приложение, библиотека и так далее) и отдельную схему сборки.  Код qbs открыт (http://qt.gitorious.org/qt-labs/qbs) под лицензией LGPL.

Использование упрощённой версии QML для оформления файлов с правилами сборки с одной стороны упрощает интеграцию с интегрированными средами разработки, а с другой позволяет реализовать нестандартные шаги, интегрируя в файл сборки функции, реализованные на языке JavaScript, а также подключая внешние ...

URL: http://labs.qt.nokia.com/2012/02/15/introducing-qbs/
Новость: http://www.opennet.dev/opennews/art.shtml?num=33102

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

Оглавление

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


4. "Разработчики Qt представили инструментарий для сборки проект..."  +3 +/
Сообщение от yurkis (ok) on 16-Фев-12, 18:00 
Мне не очевидно чем (кроме модного ныне JS) эта штука лучше CMake/SCons
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Разработчики Qt представили инструментарий для сборки проект..."  +1 +/
Сообщение от Аноним (??) on 16-Фев-12, 18:42 
второй абзац новости
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

13. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от yurkis (ok) on 16-Фев-12, 20:14 
Отработка дерева зависимостей быстрее на 4с? Проект должен быть ну ОООЧЕНЬ большим чтобы почуствовать разницу. Для инкрементально сборки "в стиле Eclipse" только... Но кто этим пользуется? Многопоточность (кто сказал make -j3)?

Может тогда расширяемость за счет скриптов? Так тут до SCons еще пилить и пилить.

Я конечно люблу Qt, но тут мне не очевидно.

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

23. "Разработчики Qt представили инструментарий для сборки проект..."  +1 +/
Сообщение от Sauron (??) on 16-Фев-12, 23:19 
qml вообще-то by design жутко удобен для подобных задач. Опять же это только кажется, что на нем только гуй удобно делать, он вполне пригоден и для выполнения других задач.
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

28. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 11:20 
> Опять же это только кажется, что на нем только гуй удобно делать

…а на самом деле неудобно даже это.

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

7. "Разработчики Qt представили инструментарий для сборки проект..."  +3 +/
Сообщение от lucentcode (ok) on 16-Фев-12, 19:01 
Хорошее начинание. Когда разовьют немного, будет очень удобно пользоваться. А пока Make - наше всё, ну и Ant иногда.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от Аноним (??) on 16-Фев-12, 19:08 
Не внимательно читаем? Скорость сборки выше, гибкость для каких-то магических действий сборки
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

21. "Разработчики Qt представили инструментарий для сборки проект..."  +1 +/
Сообщение от Sauron (??) on 16-Фев-12, 23:14 
Это вообще разные уровни для начала.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

20. "Разработчики Qt представили инструментарий для сборки проект..."  +2 +/
Сообщение от добрый дядя on 16-Фев-12, 23:13 
очень люблю QMake, а теперь уже что-то более языко-независимое выплывает - я только рад
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Разработчики Qt представили инструментарий для сборки проект..."  +2 +/
Сообщение от Sauron (??) on 16-Фев-12, 23:18 
Такс, а что мешало qmake и раньше использовать для сборки обычных C++/C приложений? Я так частенько делал и все прекрасно работало и собиралось :)
Просто нигде не афишируется, что qmake можно и не для Qtшных прог использовать, да и собрать qmake отдельно от Qt тот ещё процесс, хотя он тоже в принципе способен без установленных Qt работать, нужны только mkspecs'ы.
Впрочем у qbs синтаксис всё равно круче и было бы клево его видеть в виде отдельного проекта.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от добрый дядя on 16-Фев-12, 23:44 
> Такс, а что мешало qmake и раньше использовать для сборки обычных C++/C приложений?

ничего не мешало, я давно уже qmake юзаю для любых C++ прог как нормальную беспроблемную систему сборки на разных ОСях

а qbs судя по всему позволит еще и Java и прочие проекты собирать чтоб может стать весьма приятным и универсальным средством... cmake не предлагать, юзайте его сами если считаете нужным, а простые мелкие прожки в конторках - qbs

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

30. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от green (??) on 17-Фев-12, 12:22 
qmake - очень слабенькая система сборки посравнению с аналогами. Если проект подвязан только к Qt + ещё простые библиотеки то недостатки неощутимы, кроме одного - это out-of-source-tree builds.
Но вот когда юзать qmake с другими фреймворками - boost, ACE и тд - то начинаюися проблемы.
Вобщем в этом случаие CMake выше на голову - но недостаток в том что он сложнее + дополнительная зависимость
Ответить | Правка | ^ к родителю #24 | Наверх | Cообщить модератору

32. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от annulen email on 17-Фев-12, 13:26 
>кроме одного - это out-of-source-tree builds

qmake давно это умеет, только реализовано немного кривовато (каталог сборки не может находиться внутри каталоги с исходниками)

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

33. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от green (??) on 17-Фев-12, 13:35 
Да знаю о таком функционале. Но снова таки слабенько. Сборка происходет в папке с исходными файлами и надо задавать флаги qmake или явно прописывать в pro файле - это менее удобто чем то как это реализовано в CMake
Ответить | Правка | ^ к родителю #32 | Наверх | Cообщить модератору

36. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 14:32 
> out-of-source-tree builds.

кстати, а зачем? вот у меня jam, например, складывает объектники в спецкаталог, равно как и бинари, и библиотеки; в рабочих каталогах с исходниками не гадит вообще, если сильно не попросить. вот я ним уж сколько лет пользуюсь и не могу понять восторгов по поводу oostb. только и радости, что скрипты усложняют.

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

27. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 11:18 
из долгих обсуждений в их бложеге я в своё время так и не понял, чем им не понравился jam (в любой из его инкарнаций). ну, кроме обычного Фатального Недостатка.

зато не требует никаких кусков Qt, собирается любым си-компилятором, имеет вполне себе turing-complete язык, умеет рассматривать проект в куче каталогов как одно целое, умеет сканировать исходники на предмет include и кэшировать это… вдобавок лицензия почти что public domain, с включением в любой проект проблем нет.

в общем, моя не понимать. моя использовать модифицированый jam для проектов как в пару строк, так и для больших комплексов с кучей независимых библиотек, опций сборки и так далее. параллелится, работает реактивно, генерит документацию и разные данные. дёшево, удобно, сердито.

p.s. прошу не путать с boost.jam: это мутант, больной овердизайном, как и сам буст.

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

55. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от Аноним (??) on 22-Фев-12, 01:14 
представь что у нас есть человек который освоил js и qml и написал программу, а тут бац за пять минут он понял как её собрать с помощью qbs.. и когда ему понадобится добавлять сложную логику он просто напишет её на явоскрипте а не на языке системы сборки.
Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

56. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 22-Фев-12, 01:15 
> освоил js и qml
> написал программу

неа. не получается.

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

31. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от annulen email on 17-Фев-12, 13:25 
Используйте Premake. Декларативный синтаксис еще более лаконичен, плюс поддержка существующих IDE и независимость инструмента от Qt

http://industriousone.com/premake
http://industriousone.com/topic/full-stack-qt-based-developm...-
download
http://wiki.qt-project.org/Qt_Creator/Plugins/PremakeProject...

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

37. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 14:39 
> Используйте Premake

а ты бы почитал причины, по которым «генераторы makefile-сов» были забракованы, что ли. сам по себе premake хорош, но вот формой не подходит.

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

38. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulen email on 17-Фев-12, 16:24 
Если ты про пункт "Build directly from tool", то он полон взаимоисключающих параграфов. Во-первых, идет речь про вызовы CMake изнутри мейкфалов, чем Premake не грешит, да и вообще генерация мейкфайлов сама по себе не предполагает этой антифичи. (Для каких-то кастомных шагов это может быть допустимо, но CMake делает из этого систему) Во-вторых, далее следует фраза "Waf is better in this respect, but both lack a proper set of backends for project generations (Vcproj, XCode, Makefiles etc).".

Вобщем, на мой взгляд, реальные причины - "не JavaScript" и "не наши имена в копирайтах".

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

39. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 17:40 
> Если ты про пункт "Build directly from tool"

нет, я про то, что make не видит проект, раскиданый по каталогам, как одно целое. уж кто только не ругался на рекурсивные вызовы make в подкаталогах. это пытаются полечить костылями разной степени уродливости, но нафэйхоа? намного проще не использовать make.

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

40. "Разработчики Qt представили инструментарий для сборки..."  +1 +/
Сообщение от annulen email(ok) on 17-Фев-12, 17:51 
Совершенно бессмысленный аргумент. В той статье написано, что рекурсивный мейк не нужен. Так генерите нерекурсивные мейкфалы, и будет вам Щастье. Нет, блин, все пытаются свой мейк для этого написать.

Из всех проектов по замене мейка внимания заслуживает только ninja.

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

41. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 17:55 
> Совершенно бессмысленный аргумент.

это туда, в нокию.

> В той статье написано, что рекурсивный мейк не нужен.

им осталось сделать ещё жажок и убрать слово «рекурсивный».

> Нет, блин, все пытаются свой мейк для этого написать.

далеко не только для этого, сия фича — просто вкусный бонус.

> Из всех проектов по замене мейка внимания заслуживает только ninja.

у make обнаружился Фатальный Недостаток, ага. это я намекаю, что «замена make» не нужна, равно как и сам make. а нинзя — это не пришей системе шлейф какой-то.

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

42. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulen email(ok) on 17-Фев-12, 18:11 
Интересная логическая цепочка: "рекурсиный мейк не нужен" - "так не используй его через ж^W^W рекурсивно" - "да наплевать, все равно мейк не нужен".
Ответить | Правка | ^ к родителю #41 | Наверх | Cообщить модератору

44. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 19:09 
> Интересная логическая цепочка: «рекурсиный мейк не нужен» — "так не используй его
> через ж^W^W рекурсивно" — «да наплевать, все равно мейк не нужен».

вообще-то «make не нужен» — это моя аксиома. понятно, что отсда следует, что не нужен никакой.

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

43. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulen email(ok) on 17-Фев-12, 18:18 
У ninja цель совершенно четкая - отделить построение DAG целей сборки и их выполнение от любых "конфигурационных" действий, чем страдает мейк. Конфигуратор делает свою работу, а нинзя - свою.


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

45. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 19:12 
> У ninja цель совершенно четкая — отделить построение DAG целей сборки и
> их выполнение от любых «конфигурационных» действий, чем страдает мейк. Конфигуратор делает
> свою работу, а нинзя — свою.

это мы уже проходили, autocrap называется. для больших проектов конфигуратор может генерить что угодно вообще, а для средних и мелких лучше иметь возможность обойтись одним инструментом. впрочем, если кто-то не может жить без конфигураторов (которые иногда больше, чем исходники всего проекта), то кто я такой, чтобы запрещать?

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

47. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от Michael Shigorin email(ok) on 17-Фев-12, 19:31 
> нет, я про то, что make не видит проект, раскиданый по каталогам,
> как одно целое. уж кто только не ругался на рекурсивные вызовы
> make в подкаталогах.

Виденная критика была местами крива сама по себе.  Впрочем, обстоятельно сейчас не расскажу.

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

48. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 19:43 
> Виденная критика была местами крива сама по себе.  Впрочем, обстоятельно сейчас
> не расскажу.

ну, кое-как, с матами и воплями оно костылится.

так же, как костылится просчёт зависимостей (уж простейшие-то include система может и сама просканировать, я что, дятел — долбить ей это или костыли дёргать?).

а уж про «проект — это все *.c в каталоге исходников» (опять же, с просчётом зависимостей и ты пы)… не, не будем о грустном.

тот же Jam делает подобное несколькими строками. и вообще мал, реактивен (в плане скорости), удобен. для проектов среднего уровня можно его использовать и как конфигуратор заодно. да-да, я фанат jam'а, если кто ещё не заметил. и ниасилятор всего остального.

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

50. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от annulen email(ok) on 17-Фев-12, 20:08 
Просчет зависимостей делает компилятор и генерерует .d файлы, достаточно его об это попросить. Костылить ничего не надо, достаточно использовать в мейкфайлах инклуды вместо рекурсивных вызовов.
Ответить | Правка | ^ к родителю #48 | Наверх | Cообщить модератору

52. "Разработчики Qt представили инструментарий для сборки..."  +/
Сообщение от arisu (ok) on 17-Фев-12, 20:20 
> Просчет зависимостей делает компилятор и генерерует .d файлы

это неудобно, хотя и точнее, чем можно сделать в билд-системе. и медленней, кстати.

помимо прочего, на свете есть не только два языка и один компилятор.

> Костылить ничего не надо, достаточно использовать в мейкфайлах инклуды вместо
> рекурсивных вызовов.

недостаточно, если я хочу, например, разные значения переменных для разных каталогов (или вообще для разных целей в одном). не то, чтобы этого совсем нельзя было сделать, но… нененене, только за большие деньги.

ну право, это бессмысленный спор: не предназначен make для ручного написания, если более-менее сложный проект собираешь. да, мэйкфайлы можно генерировать — но не проще ли тогда сделать ещё один логичный шаг и обучить генератор оставшимся функциям? ещё раз ткну пальцем в сторону jam, как весьма неплохой реализации билд-системы.

да, кстати: за табуляторы отдельный плевок. я понимаю, что «нечаянно получилось», но от этого оно приятней не становится.

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

57. "Разработчики Qt представили инструментарий для сборки проект..."  +/
Сообщение от Аноним (??) on 22-Фев-12, 01:16 
> Используйте Premake. Декларативный синтаксис еще более лаконичен, плюс поддержка существующих
> IDE и независимость инструмента от Qt
> http://industriousone.com/premake
> http://industriousone.com/topic/full-stack-qt-based-developm...-
> download
> http://wiki.qt-project.org/Qt_Creator/Plugins/PremakeProject...

замержить бы их идеи с вашими..

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

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

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




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

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