Например TDA7294

Форум РадиоКот • Просмотр темы - СОФТ: утилита автоинкремента версии
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 25, 2024 05:01:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: СОФТ: утилита автоинкремента версии
СообщениеДобавлено: Пт июл 22, 2022 21:45:50 
Ум, честь и совесть. И скромность.
Аватар пользователя

Карма: 97
Рейтинг сообщений: 2058
Зарегистрирован: Чт дек 28, 2006 08:19:56
Сообщений: 18030
Откуда: Новочеркасск
Рейтинг сообщения: 3
Медали: 2
Получил миской по аватаре (1) Мявтор 3-й степени (1)
ознакмился с записью в блоге GoldenAndy https://goldenandy.blogspot.com/2022/01/version-autoincrement.html с одноименной темой, увидел, что автор не до конца решил проблему актуальной версии при компиляции с ошибками, и решил поправить беду собственными силами.

короче, сделал утилитку со следующим функционалом:

будучи добавленной в makefile или в настройки IDE на этапах pre-build step и post-build step, утилита обеспечивает наличие в указанном файле дефайна с автоинкрементируемой при каждой сборке проекта версией, причем в случае неудачной компиляции лишнего инкремента версии не происходит.


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

утилита работает в консоли, параметры командной строки следующие:
Код:
Usage:
   bvi.exe <header> [options]
where:
   header  - header file for version control
   options - nothing or any of this:
      -v <macro>   : macro for build version, default "_VER_"
      -s           : version as string (quoted)
      -q           : quitet mode (no any console output exclude errors)
      -c <comment> : user commentary (must be quoted), default "// Last build ver."
      -p           : post build step

Macro in header must be defined as "#define _VER_ 1.0.0"
Only last number after point (lowerest) automatically increased.

Just run this utilite at pre-build step without "-p" and at post-build step with "-p" and enjoy!

в переводе:
Код:
Применение:
   bvi.exe <заголовок> [параметры]
где:
   заголовок — заголовочный файл для контроля версий
   параметры - ничего или что-то из этого:
      -v <макрос> : макрос для версии сборки, по умолчанию "_VER_"
      -s : версия в виде строки (в кавычках)
      -q : тихий режим (нет никакого вывода в консоль, кроме ошибок)
      -c <комментарий> : комментарий пользователя (должен быть заключен в кавычки), по умолчанию "// Last build ver."
      -p : шаг после сборки

Макрос в заголовочном файле должен быть определен как "#define _VER_ 1.0.0"
Только последнее число после точки (самое младшее) автоматически увеличивается.

Просто запустите эту утилиту на этапе перед сборкой без опции "-p" и на этапе после сборки с опцией "-p" и наслаждайтесь!

к заголовочному файлу надо указывать полный путь. в большинстве IDE имеются встроенные "переменные", содержащие нужную информацию. например, в Eclipse использование утилитки в самом примитивном варианте выглядит так:
Изображение

то есть путь к проекту указывается переменной Eclipse ${ProjDirPath}, обратите внимание на слеш - он в стиле линуха, так Eclipse надо, но и в стиле винды с обратным тоже утилита справляется (но смешивать стили разделителя папок не советую). на скриншоте путь к утилите тоже указан полностью, но если прописать его в PATH, можно будет просто указывать bvi.exe

опции в командной строке могут следовать в любом порядке. единственная обязательная опция - это имя обрабатываемого файла (если он не существует на момент первого вызова утилиты, будет создан автоматический файл с заданным именем). если имя макроса для версии по умолчанию не устраивает, надо указать в командной строке (на обоих этапах!) нужное имя в параметре -v, например, так: bvi.exe ver.h -v VERSION

опция -s поместит номер версии в кавычки, без нее кавычек тоже не будет.

на этапе после компиляции не забудьте указать опцию -p - благодаря этому решается проблема с актуальностью версии при ошибке компиляции!

как-то так. если кому надо - пользуйтесь, скачать утилитку можно по ссылке из облака: https://cloud.mail.ru/public/ZTrr/qevho243w

P.S. если в путях/именах есть пробелы - заключайте их в двойные кавычки!

Добавлено after 3 minutes 30 seconds:
P.P.S. да, без параметров утилитка выводит подсказку - см. первую врезку "кода". хотя там написан пример версии с точками, утилита обработает и единственное число, сочтя его самым младшим. незначащие нули будут в том случае отброшены.


Вложения:
bvi-eclipse.PNG [28.25 KiB]
Скачиваний: 156

_________________
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y