Вопрос управления версиями приложений, разработанных с использованием среды Delphi, является важной задачей для обеспечения согласованности и удобства поддержки проектов. В частности, с обновлением до версии Delphi Rio (10.4) и выше, пользователи столкнулись с необходимостью поиска новых способов управления версиями, поскольку инструменты, такие как DDevExtensions от Andreas Hausladen, больше не обновляются.
Проблема
Разработчики ищут удобные способы централизованного управления версией приложений, которые включают в себя не только номер версии, но и другие специфические данные, такие как описание файла и авторские права. Это должно быть реализовано таким образом, чтобы минимизировать необходимость вручную изменять множество файлов проекта, что может быть трудоемким и ошибкоемким процессом.
Решение
Одно из решений состоит в использовании файлов ресурсов (.rc), которые позволяют хранить общие данные в одном месте и включать их в различные модули проекта. Это упрощает процесс управления версиями и снижает количество коммитов в систему контроля версий, так как изменения в .rc файле не требуют обновления каждого файла проекта.
Пример реализации
Для начала создайте файл .rc с общими определениями версии, например SharedVersionDefs.rc:
Затем создайте другой файл .rc для конкретных модулей, например SpecificVersion.rc, который будет включать общие определения из SharedVersionDefs.rc и содержать специфические данные:
/* Use the shared version info from a central file */
#include "SharedVersionDefs.rc"
// Остальные определения и блоки данных...
Включите .rc файл в проект Delphi, установив в настройках проекта версию на OFF и затем добавив .rc файл в соответствующие модули проекта.
Пример использования в программе на Delphi
program VersionInfoTest;
{$R 'SpecificVersion.res' 'SpecificVersion.rc'}
uses
Vcl.Forms,
uMain in 'uMain.pas' {frmMain},
uVerinfo in 'uVerinfo.pas';
{$R *.res}
begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TfrmMain, frmMain);
Application.Run;
end.
Важно отметить, что из-за ошибки RSP-13486, вам нужно будет добавить .rc файл в файлы проекта .dproj через IDE.
Выводы
Использование .rc файлов для централизованного управления версиями и общими данными в приложениях на Delphi значительно упрощает процесс разработки и поддержки. Это решение позволяет избежать ручных изменений в каждом модуле и уменьшает количество необходимых коммитов в систему контроля версий.
Централизованное управление версиями приложений в среде Delphi через использование файлов ресурсов для упрощения процесса поддержки и сокращения количества необходимых изменений в проекте.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS