Pull to refresh
0
0
Send message
В группе «Delphi Community»: t.me/DelphiCommunity добавлен опрос на тему «Какие версии Delphi Вы используете?»: t.me/DelphiCommunity/833. Приглашаю в группу а также пройти опрос
Считаю, статье с данной темой давно пора была появиться. Мне тема знакома не по наслышке, поэтому поделюсь своим опытом по теме статьи. Имею значительный перечень проектов, которые регулярно возникает потребность собирать. Использовать project groups среды разработки оказалось не удобным. Например, чтобы собрать 1,2 и 5й проeкт потребуется создание одной project group, для 2 и 3 и 5 – другой, и т.д. Группы, к тому же, нужно как-то называть.
Для начала, я бы сформулировал задачи, которые ставит разработчик при компиляции ряда проэктов (РП).
1. Происходит ли сборка РП без ошибок. Хорошо бы, например, понять, последние внесённые изменения в общие модули – не нарушили ли собираемость всех проeктов. А если я поменял ..unit8.pas и unit9.pas, хорошо бы знать, каких проeктов это каснулось.
2. Возможность сборки при разных наборах условных директив
3. Моментальное получение файлов результатов сборки (EXE, APK) в заданных папках
4. Очистка/удаление результатов сборки, а также временных (debug) файлов
5. Использование RAM-диска (в общем случае – отдельной папки) для временных файлов и результатов сборки, для ускорения компиляции. Также это позволит не засорять папки с исходниками
6. Наглядность сборки. Хорошо бы видеть ряд проeктов и отметив галочками, выполнять действия по сборке, очистке и прочее, так сказать, визуально наблюдая за процессом. bat-файлы по сборке в командной строке наглядности не дадут.

Поэтому после некоторого опыта создания bat-файлов с запуском консольного компиляторока Delphi DCC32.EXE было принято решение о написании приложения MultiCompiler, которое я уже пару лет успешно использую для сборки проeктов. Матрица директив в проeктах, матрица модулей в проeктах, быстрое включение/исключение модулей в проeктах просто поставив или убрав галочку, всё это существенно облегчает и упрощает жизнь. В данный момент поддерживаются компиляторы от версии 18.0 до 33.0, соответственно, от BDS 2006 до Embarcadero Delphi 10.3. В ближайшее время появится пакетная сборка APK.
Статья оказалась интересной и детально осветившей тему, особенно описание dproj-файлов, за что автору выражаю своё уважение. Хотелось бы услышать от разработчиков, кто и с какими задачами, сложностями сталкивается в процессе сборки приложений и какое находят решение?

Information

Rating
Does not participate
Registered
Activity