2. Что это такое
• Сборка приложения на основе файла
зависимостей. (примеры: make &&
Makefile, ant + xml-config)
• «Нативный DSL» означает лишь то, что
языком описания правил является язык
реализации. (пример: программа rake в
ruby)
среда, 16 июня 2010 г.
3. Почему нативный
DSL
• просто в использовании.
• легко вносить изменения/расширять (не надо
переписывать грамматики и проще изменять
логику)
• прямое использование библиотек языка (для
Perl - это весь CPAN!)
• Хорошая статья на эту тему М. Фаулера: http://
martinfowler.com/articles/rake.html
среда, 16 июня 2010 г.
4. Почему появилась такая идея
• "такая корова нужна самому" Хочу сборку для
своего проекта и не хочу make. :)
• "мода" "воровать" из других языков их
прикольные фичи. (Хороший пример – plack.)
• "вклад в коммьюнити". Надеюсь, что пригодится
не только мне.
• "гордость и предубеждение" Мой первый open
source.
• «Пусть расцветают сто
цветов, пусть соперничают сто школ»
(император Цинь Шихуан).
среда, 16 июня 2010 г.
5. Системы сборки в
других языках
• ruby – rake
• php – pake (Surprise!!! :)
• python – Scons, Waf
• java, c#, .Net – (n)ant внешний xmlish DSL)
• http://www.scons.org/wiki/
SconsVsOtherBuildTools
среда, 16 июня 2010 г.
6. в Perl много всего
• Makepp (Makefile) - make на perl
• pake (Pakefile) - почти то что нужно :)
• Shipwright
• Module::Install, MakeMaker, Builder & etc
среда, 16 июня 2010 г.
7. Нравится в pake (Perl)
• простой
• можно использовать
• код есть на github
среда, 16 июня 2010 г.
8. Не нравится
• название :) (php-исты «сперли», && http://
www.urbandictionary.com/define.php?term=pake on Hawaii:
Person who is frugal. ... used as a sort of ethnic slur in Hawaii to
describe a Chinese person)
• нет свежего кода с 3 Jan 2009
• нет общего способа писать расширения. (На cpan ничего нет
для pake). (ant таски)
• неинформативные сообщения об ошибках (используется do
для выполнения Pakefile)
• Не выкатывается из CPAN под Mac OS X :)
среда, 16 июня 2010 г.
9. Цель лайтинга
• Обратная связь
• Возможно интересно кому-то еще
• Помощь (код, идеи)
среда, 16 июня 2010 г.