Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] Suggestions

Reply
 
Thread Tools Rating: Thread Rating: 3 votes, 5.00 average. Display Modes
  #1  
Old 12-16-2003, 03:14 PM
ShaneJimmerson ShaneJimmerson is online now
Registered User
 
Join Date: 12-12-2003
Posts: 19
Increment Build and Revision Number

I would like to be able to increment the build and revision number when building and application. Currently you can only do one or the other automatically and I would still like this capability, but we usually increment both the build and revision number.
Reply With Quote
  #2  
Old 12-16-2003, 04:18 PM
kevina kevina is online now
Registered User
 
Join Date: 03-26-2003
Posts: 825
Requestion for more info...

What compiler are you using? VC6, or .Net or ?? if .Net, what type of projects? C#, vb, managed c++ or ??

This is an unusual request, can you provide more detail on this unconventional versioning method, so we can assist in finding a solution?

Kevin
Reply With Quote
  #3  
Old 12-16-2003, 04:50 PM
ShaneJimmerson ShaneJimmerson is online now
Registered User
 
Join Date: 12-12-2003
Posts: 19
We have a mixture of VB, VC6, VC7 and we are starting to get into C#.

We generally have one main binary file which is generally the main executable for the application that we use to keep track of the version history for the entire product. If we need to compile a change in the main binary file, we will increment both the build (3rd) number and the revision (4th) number which indicates that there was a change in the main binary file and a change in the product as a whole. Basically, the build number in the main binary file is always incremented if the revision number is incremented. If another component or file is changed but the main binary file does not change, we still increment the build number in the main binary file, which indicates that there was a change to the product but we do not increment the revision number so we know that the main binary file did not change (other than the version number).
Reply With Quote
  #4  
Old 12-17-2003, 03:31 PM
kevina kevina is online now
Registered User
 
Join Date: 03-26-2003
Posts: 825
Hmm, you will have to compile this 'main binary file' projectly separately from the rest of the projects anyway, since you are using different increment logic for it compared to the rest of the projects...

And you must already be detecting whether a change was made to a support file...

Do you always increment the revision number of the support components?

My suggestion is: use a compile step to compile all the projects which increments the revision number on a change (standard fare...).

Populate a macro with true when any component (including the 'main binary file' project) was changed changed, false otherwise...

Then have another compile step (compiling only the 'main binary file' project) with ForceBuild = true and set to increment the build number (but execute this step conditionally on the macro value (described above).

I know this will require compiling the main project twice, but from my perspective, this is the cleanest method of achieving what you are requesting.

Kevin
Reply With Quote
  #5  
Old 12-17-2003, 06:50 PM
ShaneJimmerson ShaneJimmerson is online now
Registered User
 
Join Date: 12-12-2003
Posts: 19
We increment the build and revision number of supporting components if there is a change to that component. If a supporting component has not changed then the version is not changed. Only the main binary file differenciates from this becuase it's build number is incremented when any supporting files or even the installation changes even though the main binary may not have changed.

We may just need to prompt for a version for the main binary file, but it would still be nice to be able to increment both the build and revision number for the supporting files.

An option similar to FinalBuilder 2 and as seen on the Assembly Info tab in the build VS.Net Solution action would be nice.
Reply With Quote
  #6  
Old 12-23-2003, 08:36 AM
a_t_jackson a_t_jackson is online now
Registered User
 
Join Date: 03-11-2003
Location: Belfast, Northern Ireland
Posts: 23
I'm intrigued....You've mentioned only build components if they have changed. Is there a way to automatically detect this?

To date I've adopted a belt-and-braces approach by always rebuilding every component, even though in many cases a component hasn't actually changed. I'd prefer to build only those that have changed, but which includes cases where shared source file has been modified by some other component.

Does VisualBuild offer something to allow you to detect changes to components (based on what it finds in SourceSafe?), or is is something that has to be setup manually?
Reply With Quote
  #7  
Old 02-22-2004, 09:17 PM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,003
For VB6, the Make VB6 action provides incremental build logic, building only those projects where the source code is older than the compiled executable.

For VC++ (VC6 and VC7), incremental build logic is provided by the Visual Studio (which the Make VC6 and Make VS.NET actions ultimately call to perform a build).

For C# and VB.NET, true incremental building is not currently available; see this thread for details: http://www.kinook.com/Forum/showthread.php?threadid=303
Reply With Quote
Reply

Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



All times are GMT -5. The time now is 01:35 PM.


Copyright © 1999-2023 Kinook Software, Inc.