Страницы

четверг, 25 сентября 2008 г.

Мечты об идеальной билд-машине

Вот было бы здорово, чтобы для перекомпиляции всех установленных библиотек и проектов для Delphi, достаточно было указать входную папку, директивы компилятора, указать выходные папки для Bpl, Dcu и нажав на большую кнопку Go! получить результат в лучшем виде. Да так, чтобы в папках с исходниками не осталось никакого мусора типа .dcu и .res файлов. А все Bpl и Dcu попали именно туда куда надо, а не по тому адресу что вписан в свойствах проекта.

В принципе, такие мысли появились у меня только после работы в N, где к первому проекту, который мне достался, прилагался скрипт для WANT(A Pascal-Friendly Build Tool). Не чудо ли, набираешь в командной строке "want all" и получаешь полностью скомпилированный проект, в котором все файлы разложены по своим местам. Тогда мне это показалось чудом, особенно после предыдущей работы в Б, где по словам одного из коллег, для поднятия рабочего места с нуля требовалось больше 2х-дней, большая часть из которых уходила на установку в нужном порядке всех необходимых компонент. Вероятно, коллега малость преувеличивал, но тем не менее, рядом с его столом стояли 3 системных блока, на каждом из которых хранились исходники своей версии проекта.

Возвращаясь к want-у. Want штука хорошая, наследует концепцию и синтаксис от Apache Ant, и заточен чисто под Delphi. Но к Want практически отсутствует документация, он реализует лишь небольшую часть синтаксиса Ant, что требует шаманских плясок с бубном вокруг конфигов, и к сожалению Want давно заброшен [1] и не поддерживает компиляцию для BDS.

Не так давно я в очередной раз переустановил дома Окна, поставил последнюю BDS, и теперь "предвкушаю" перспективу заново устанавливать все библиотеки(которых немало). В связи с этим я и подумал, что здорово было заиметь универсальную build-машину, которая компилировала и устанавливала все необходимые библиотеки в правильно порядке. Посмотрев на существующие бесплатные решения [2], я решил сделать своё, собрав в нём наилучшие идеи, и скромно надеясь что оно будет архиполезным.=)

p.s. Я знаю что на бесплатном ПО мир не заканчивается, и что существуют весьма достойные коммерческие решения для автоматизации билдов, умеющие во время сборки и петь и танцевать и аккомпанировать себе на тамбуринах. Но я не готов сейчас платить за их использование, и в N у нас не готовы тратить деньги, на дорогие решения, пусть даже очень качественные. Так я предпочитаю искать инструментарий среди бесплатного ПО.

p.s. я даже не смотрел в сторону платных решений. Я знаю что там есть очень достойные представители.

[1] Автор с соратниками сейчас занят разработкой второй версии Want-a, имеющий намного больше возможностей, и позволяющей в билд-процессе использовать скрипты на высокоуровневых языках программирования. В общем, проще инструмент не станет, а вовсе даже и наоборот. Проект ещё находится в разработке, бинарников выпущено не было.

[2] Постараюсь в ближайшие дни написать небольшой обзор о том что мне удалось найти.

p.p.s. 24.09.2009 появился релиз бинарников want 2.

Комментариев нет:

Отправить комментарий