Jump to content
Nathan Wild

Managing Version Information Across Builds

Recommended Posts

This is something I struggle with a lot and there has to be an easier way?!

 

I have many projects that have both debug and release configs for win32 and/or win64 targets.  Is there a simple way to have the version information THE SAME across all of these?  There config options for all builds, all targets, and all configurations, but no matter what I do they all appear to be maintained separately?!

 

All I want it to be able to set my version info in the Project | Options | Version Info | All Configurations section, and have it JUST WORK...

  • Like 1

Share this post


Link to post

Project Magician has an option to strip all version info from child configurations.  That way the values from the base (platform if you have non-Windows targets) configuration are effective. It doesn't hinder you to edit any child values, though - they just have no effect any more.

 

https://www.uweraabe.de/Blog/2018/05/17/keep-your-project-files-clean-with-project-magician/

  • Like 2

Share this post


Link to post

The IDE's tools aren't well designed in my view. Don't set the version information that way, instead make it part of your automated build process. 

  • Like 1

Share this post


Link to post
13 hours ago, Nathan Wild said:

All Configurations section, and have it JUST WORK...

There is " Set Project Versioninfo " from DDevExtensions 2.84

Share this post


Link to post

Like @David Heffernan suggests, we override the version numbers from our Continua CI build server, using the same version/build number across all apps within the separate branches, and updating them through FinalBuilder parameters.

 

Current versions:

Devel is 2019.3.12.11451 and Pilot just went from 2018.11.6.5035 to Live 2018.11.6.36

As you can see, the version is y.m.d.BuildNo where the day is the planned release date.

Devel build numbers start at y.m.d.10001 and are periodically reset.

Pilots at y.m.d.5001 -> 5xxx

Live at y.m.d.xxx + 1

 

We are trying to limit ourselves to three major releases per year, and avoid introducing breaking SQL Schema changes between the major releases.

We still have too many hotfixes.  The previous Live version had build number 353. Note that doesn't mean we had that many actual roll-outs, just that many commits 😛

 

image.png.c949c8ad2c4a27351db77b69c0cbd460.png

  • Like 1

Share this post


Link to post

I had the same issue. I'm using DDevExtensions which adds a menu Item Project > Set version info...; it allows you to apply the same version information to all configurations. 

Share this post


Link to post

We generate a res file from an INI file which contains the version information and is maintained outside the IDE.

 

I think I blogged about this a while ago.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×