LINUX.ORG.RU
 
lester_dev

Новый формат описания проектов - BuilDj


0

0

Alberto Ruiz представил новый формат описания проектов BuilDj на основе JSON. Основной упор идет на поддержку стека Freedesktop/GNOME, но формат может быть расширен с помощью плагинов и на другие языки/системы.

Новый формат предоставляет такие возможности:

  • Интуитивно понятное описание
  • Использование best practices, в частности отход от захардкоженых путей и библиотек
  • Конфигурация, проверка зависимостей, сборка - все определено в одном файле
  • Формат изначально задумывался как переносимый и кроссплатформенный
  • Разделение описания и функциональности - в то время, как описание остается тем же, в качестве бекенда может использоваться любая система сборки. Для примера реализации, уже существует скрипт для Waf, поддерживающий этот формат.

Описание на live.gnome.org

>>> Подробности


[#] Ответ на: комментарий от qewerty 11.03.2010 8:01:19  
rudchenkos

> Это опционально, может и вермя изменения, или вычислять md5 только если время изменилось.

Собственно, MD5 - не очень удачный выбор. Git вон использует SHA-1 и получается дёшево, сердито и очень быстро.

* ()
[#] Ответ на: комментарий от AlexM 11.03.2010 3:22:10  

> невооружённым глазом видна разница в скорости пересборки с нуля проекта на autotools c аналогичным по весу и сборочным задачам проекте на том же CMake. Разница, конечно, в основном на этапе "configure", но и на нём компилятор вызывается сравнимое количество раз.

/0

***** ()
[#] Ответ на: комментарий от AlexM 11.03.2010 3:26:45  
Gukl

> Что Вы! Что Вы! Как можно сравнивать /эту переносимость/ с Настоящей Платформонезависимостью (tm), которую дарует своим пользователям Джава!

Настоящий шотландец? ;)

** ()
[#] Ответ на: комментарий от AlexM 11.03.2010 3:26:45  
Gukl

> Что Вы! Что Вы! Как можно сравнивать /эту переносимость/ с Настоящей Платформонезависимостью (tm), которую дарует своим пользователям Джава!

А еще можно написать эмулятор bash на Java, запустить в минге и будет платформонезависимость на платформонезависимости и платформонезависимостью погонять!

** ()
[#] Ответ на: комментарий от tailgunner 10.03.2010 23:20:41  
k_andy

> Говорят, он md5 исходников вычисляет :)

Не-не. Я включал опцию 'timestamp' (или как она там зовётся).

*** ()
[#]  

>BuilDj In Da House Mix…

* ()
[#] Ответ на: комментарий от iZEN 11.03.2010 1:50:22  

> Нет. Он не себя вытягивает за волосы, а зависимости проекта, который ведёт.

И по mvn archetype:create тоже? Даже helloworld на java без зависимостей вообще не соберется maven-ом с пустым ~/.m2/repository

()