11 дек. 2007 г.

Delphi. Автоматизация сборки проектов.

Что мы имеем на борту IDE Delphi из подобных средств? Практически ничего. Make – годиться разве, что для автоматизации компиляции проекта и ресурсных файлов. Ни о какой масштабируемости и расширяемости речь не идет. Немного разбавляют краски bat и cmd файлы и запуск внешних утилит командной строки. Скудность возможностей интерпретатора Windows по сравнению с Linux Bash, CSH тоже оставляет причины загрустить. Да и сам подход не решает основной проблемы, описанной выше: не дает ответа о выполнении поставленной задачи. Анализ логов работы скриптов в расчет не брать, потому как это лишняя работа, не позволяющая быть основанием для продолжение выполнения зависимых задач.

На http://sourceforge.net был основан проект названный WANT. Разработанный на Delphi клон Ant заточенный под сборку проектов Borland Delphi IDE. На http://DelphiPlus.org даже есть статья по использованию WANT и я сам пытался составить документацию, но ввиду незаконченности проекта оставил попытки.
Непонятна цель проекта WANT. Написать аналог Jakarta Ant отвязанного от Java и привязанного к платформе Windows? Построить ошибки уже написанного и оттестированного продукта? Думаю в этом основная причина отсутствия интереса общественности к развитию этого проекта. Хотя кстати сказать сам Ant уже имеет продвинутого конкурента в виде Maven.
В процессе работы над документацией WANT, мой коллега(Привет, Коля ;-)) просил меня о том: стоит ли использовать WANT или лучше оригинальный Ant. В тот момент я не придал значения такой альтернативе, так как для настоящего «дельфера» для меня Java было чем-то, что было «непригодным для настольных приложений и жутко сложно-тормозным». Но время шло, Java становилась ближе и доступней, а такого средства как Ant в Delphi так и не появилось ....

5 комментариев:

Николай Войнов комментирует...

В 2007 появился инструмент, но его не смотрел. Наиболее прогрессивные Java разработчики переходят на maven2. Кстати вешь поинтереснее, т.к. способна вытаскивать известные библиотеки из доступных репозиториев. Т.е. описал в файлах зависимостей JUnit определенной версии и распространяешь дистрибутив без либы - при сборке он сам ее скачает и соберет с ней проект

Roman V. Babenko aka romb комментирует...

2 Войнов
Вообщето это "засада" когда ты качаеш прогу приносиш домой, а оказывается что это только загрузчик. Но это отдельаня тема. Maven - я не сходу асилил. Ant - он попроще и поближе. Для стартапа вполне хватит.
2007 я полдня ставил, потом он постоянно глюкал. Отказался ставить VirtualTrees и я его убил. А как инструмент называется ?

mphome комментирует...

Для 2001-го для Delphi want и dunit было вполне достаточно. Достаточно что бы настроить ночные сборки на автомате. want расширяется элементарно, новый task написать нет никаких проблем.

Вопрос в другом - зачем надо расширять want (и его обновлять), если в Delphi нового ничего нет с 2001-2002 года. 5 лет достаточный срок - что бы все забросить.

Речь о Delphi под .net? Зачем оно? Им действительно кто-то пользуется?

Roman V. Babenko aka romb комментирует...

2 mphome
Я писал статью для тех кому не хватает WAnt. К тому же он 100% не работает с SVN напрямую. Если Ваши задачи не уходили дальше ночных сборок, то дествительно незачем разгонять грузовить ради мешка цемента. Можно было вполне батниками обойтись.

Николай Войнов комментирует...

5 копеек еще добавлю ...
вчера трудно ставил Trac, но когда вник - просто как все хорошее. Устанавливаешь питон, easy_install и вперед ...
easy_install Pygments
easy_install Genshi
easy_install Trac

каждая комманда сама качает библиотеку и устанавливает - остается только конфигурирование ... а как почитаешь людей - нужны какие-то административные навыки :) да они нужны, но доставка компонент просто элементарна

три копейки про maven2 ...
из любого IDE зависимости с учетом версий компонент формируются просто одним кликом

а про делфи с 2001 года согласен на 99%

... да кстати об опенсорц ... хвалят девки феодора ... написал Ковязину коммент в ответ на http://ibsurgeon.blogspot.com/2007/12/open-source.html
- вытер ... MS Build это прекрасно, по сравнению с тем что было, но все равно не дотягивает до OpenSource - НЕ ДОТЯГИВАЕТ