Автоинкремент номера билда в VS22
От: .alex Ниоткуда  
Дата: 05.09.23 08:40
Оценка:
Добрый день. Подскажите, может есть встроенная возможность в студии автоматом увеличивать версию в ресурсе VS_VERSION_INFO для обычного MFC'шного приложения... ну или может плагин какой для студии есть...
Помню для VS6.0 был такой...)
Re: Автоинкремент номера билда в VS22
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.09.23 08:49
Оценка: +1
Здравствуйте, .alex, Вы писали:

A>Помню для VS6.0 был такой...)


Я несколько раз пытался использовать такие плагины, и все они в каких-то конфигурациях глючили. В итоге пришлось вынести определение номера билда в отдельный .h, и сгородить скрипт, который его увеличивает после билда или перед ним.
Re: Автоинкремент номера билда в VS22
От: Maniacal Россия  
Дата: 05.09.23 09:39
Оценка: +1
Здравствуйте, .alex, Вы писали:

A>Добрый день. Подскажите, может есть встроенная возможность в студии автоматом увеличивать версию в ресурсе VS_VERSION_INFO для обычного MFC'шного приложения... ну или может плагин какой для студии есть...

A>Помню для VS6.0 был такой...)

Я через настройку проекта Pre-Build steps вызывал самописный то ли батник, то ли исполняемый файл самописный, который инкрементил версию build'а.
Re: Автоинкремент номера билда в VS22
От: bnk СССР http://unmanagedvisio.com/
Дата: 05.09.23 10:34
Оценка: +2
Здравствуйте, .alex, Вы писали:

A>Добрый день. Подскажите, может есть встроенная возможность в студии автоматом увеличивать версию в ресурсе VS_VERSION_INFO для обычного MFC'шного приложения... ну или может плагин какой для студии есть...

A>Помню для VS6.0 был такой...)

Версия билда бессмысленна без CI/CD, IMHO. Т.е. без водзможности получить ровно этот билд и его исходники.
А в CI/CD это делается скриптом.
Отредактировано 05.09.2023 10:35 bnk . Предыдущая версия .
Re[2]: Автоинкремент номера билда в VS22
От: BSOD  
Дата: 05.09.23 11:46
Оценка: 2 (1) +1 :)
Здравствуйте, bnk, Вы писали:

bnk>Версия билда бессмысленна без CI/CD, IMHO. Т.е. без водзможности получить ровно этот билд и его исходники.

bnk>А в CI/CD это делается скриптом.
Для гита, например, команда git describe --tags выдает последний тэг и коммит, которые можно использовать при сборке. Сразу понятно, что за версия использовалась и ее легко воспроизвести.
Это лучше чем простой автоинкремент.
Sine vilitate, sine malitiosa mente
Re[3]: Автоинкремент номера билда в VS22
От: bnk СССР http://unmanagedvisio.com/
Дата: 05.09.23 12:08
Оценка: +1
Здравствуйте, BSOD, Вы писали:

BSO>Здравствуйте, bnk, Вы писали:


bnk>>Версия билда бессмысленна без CI/CD, IMHO. Т.е. без водзможности получить ровно этот билд и его исходники.

bnk>>А в CI/CD это делается скриптом.
BSO>Для гита, например, команда git describe --tags выдает последний тэг и коммит, которые можно использовать при сборке. Сразу понятно, что за версия использовалась и ее легко воспроизвести.
BSO>Это лучше чем простой автоинкремент.

Хэш некрасиво в About выглядит, и для инсталлятора бесполезен, придется вводить вторую нумерацию все равно (т.е. чтобы сравнивать на больше-меньше)

Я делаю <major>.<minor>.<build>

minor и major прописываются вручную (как минимум раз в год)
build = <day of the year*100>+<builds this day>

Третья цифра чтобы была меньше 65,535 (ограничение MSI)
Четыре цифры не используется поскольку инсталлятор (MSI) четвертую игнорирует.

Правда такая схема не позволяет делать больше 100 билдов вдень. Но оно мне и не надо
Отредактировано 05.09.2023 12:10 bnk . Предыдущая версия .
Re[4]: Автоинкремент номера билда в VS22
От: BSOD  
Дата: 05.09.23 12:31
Оценка: +1 -1 :)
Здравствуйте, bnk, Вы писали:

bnk>Хэш некрасиво в About выглядит,

Сокращенный хэш нормально выглядит.

bnk>и для инсталлятора бесполезен, придется вводить вторую нумерацию все равно (т.е. чтобы сравнивать на больше-меньше)

Выхлоп git describe --tags содержит номер коммита после последнего тэга.
А хэш можно откусить, там где он мешает. Я так и делаю.

Хотя в гите порядок коммитов — вещь условная — в этом может быть проблема...
Sine vilitate, sine malitiosa mente
Re[4]: Автоинкремент номера билда в VS22
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.09.23 12:36
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Третья цифра чтобы была меньше 65,535 (ограничение MSI)


Не MSI, а структуры VS_VERSIONINFO.
Re[2]: Автоинкремент номера билда в VS22
От: .alex Ниоткуда  
Дата: 05.09.23 12:43
Оценка:
Здравствуйте, bnk, Вы писали:

bnk>Здравствуйте, .alex, Вы писали:


A>>Добрый день. Подскажите, может есть встроенная возможность в студии автоматом увеличивать версию в ресурсе VS_VERSION_INFO для обычного MFC'шного приложения... ну или может плагин какой для студии есть...

A>>Помню для VS6.0 был такой...)

bnk>Версия билда бессмысленна без CI/CD, IMHO. Т.е. без водзможности получить ровно этот билд и его исходники.

bnk>А в CI/CD это делается скриптом.
Да у меня все просто, нет git'a и мне хотелось бы чтобы если что-то пофиксил небольшое, то версия/билд автомом была больше, чем у предыдущего exe... Руками править забываю иногда...
Видимо без скрипта, кторый правит файл не обойтись... А нет кстати у кого-нибудь готового, чтобы он *.rc файл проекта в части версии правил?
Re[3]: Автоинкремент номера билда в VS22
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.09.23 12:47
Оценка:
Здравствуйте, .alex, Вы писали:

A>Видимо без скрипта, кторый правит файл не обойтись... А нет кстати у кого-нибудь готового, чтобы он *.rc файл проекта в части версии правил?


Не надо править файлы .c/.cpp/.rc. Надо сделать отдельный файл .h, в котором будет только определение номера билда, и вставлять (#include) его в основные файлы.

Если хочется иметь в бинарнике содержательную запись о версии — сделайте один раз универсальный .rc-файл, забейте все позиции макросами, которые определяются во внешних .h-файлах, и вставляйте везде, где нужно.
Re[3]: Автоинкремент номера билда в VS22
От: bnk СССР http://unmanagedvisio.com/
Дата: 05.09.23 13:11
Оценка:
Здравствуйте, .alex, Вы писали:

bnk>>Версия билда бессмысленна без CI/CD, IMHO. Т.е. без водзможности получить ровно этот билд и его исходники.

bnk>>А в CI/CD это делается скриптом.

A>Да у меня все просто, нет git'a




A>и мне хотелось бы чтобы если что-то пофиксил небольшое, то версия/билд автомом была больше, чем у предыдущего exe... Руками править забываю иногда...

A>Видимо без скрипта, кторый правит файл не обойтись... А нет кстати у кого-нибудь готового, чтобы он *.rc файл проекта в части версии правил?

Настрой лучше нормальный билд на сервере. MFC вполне себе билится на бесплатном Azure DevOps. Лучше день потерять, потом за пять минут долететь
Re[4]: Автоинкремент номера билда в VS22
От: .alex Ниоткуда  
Дата: 05.09.23 14:42
Оценка:
bnk>Настрой лучше нормальный билд на сервере. MFC вполне себе билится на бесплатном Azure DevOps. Лучше день потерять, потом за пять минут долететь
Не, я сварщик не настоящий) Не знаю как это сделать... Ладно, сделаю *.h с версией и скрипт на powershell и пусть он этот h правит...
Спасибо за ответы!
Re[2]: Автоинкремент номера билда в VS22
От: Alekzander Россия  
Дата: 05.09.23 15:45
Оценка: 6 (1)
Здравствуйте, Евгений Музыченко, Вы писали:

A>>Помню для VS6.0 был такой...)


ЕМ>Я несколько раз пытался использовать такие плагины, и все они в каких-то конфигурациях глючили. В итоге пришлось вынести определение номера билда в отдельный .h, и сгородить скрипт, который его увеличивает после билда или перед ним.


Нашёл вот такую инструкцию, где по шагам расписано, как это сделать:

https://jeffpar.github.io/kbarchive/kb/237/Q237870/

UPD. А вот ещё лучше и короче:

https://stackoverflow.com/questions/59692711/auto-increment-fileversion-build-nr-in-visual-studio-2019
Отредактировано 05.09.2023 15:51 Alekzander . Предыдущая версия .
Re[5]: Автоинкремент номера билда в VS22
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 05.09.23 15:56
Оценка:
Здравствуйте, .alex, Вы писали:

A>скрипт на powershell и пусть он этот h правит...


Могу дать свою микротулзу.
Re[6]: Автоинкремент номера билда в VS22
От: .alex Ниоткуда  
Дата: 07.09.23 12:40
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, .alex, Вы писали:


A>>скрипт на powershell и пусть он этот h правит...


ЕМ>Могу дать свою микротулзу.

Был бы признателен...
Re[6]: Автоинкремент номера билда в VS22
От: .alex Ниоткуда  
Дата: 07.09.23 12:40
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, .alex, Вы писали:


A>>скрипт на powershell и пусть он этот h правит...


ЕМ>Могу дать свою микротулзу.

Был бы признателен...
Re[7]: Автоинкремент номера билда в VS22
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 07.09.23 19:07
Оценка: 3 (1)
Здравствуйте, .alex, Вы писали:

ЕМ>>Могу дать свою микротулзу.


A>Был бы признателен...


Тут.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.