PDA

View Full Version : Continuation after error in chained builds


GrahamS
08-01-2005, 10:26 AM
I have built a hierarchy of VBP projects as follows:

a) each application has its own VBP project
b) each major "application group" has its own VBP project which uses a series of VisualBuildPro Project actions to kick off the application projects
c) there is a "build everything" VBP project which kicks off all the application group projects (again using VisualBuildPro Project actions)

Each VisualBuildPro Project actions sets the following parameters

a) LOGFILE = %LOGFILE%
b) IS_CHILD = 1

Each project defines a vbld_BuildStarting() event which looks something like

' Check if this is being run as a child
If Application.ExpandMacros("%IS_CHILD%") = "%IS_CHILD%" Then
' Delete log file as per Chian.bld sample
End If

I also use the IS_CHILD macro to suppress my normal end of build processing (basically a Transform XML action)

The idea is that I can choose what to build (a single application or a group or everything) but I always get a single log file containing the results of the build

Now to the actual problem!

If the build fails then my normal practice is to fix the error (outside of VBP, of course) and then hit the Build/Start (F7) button. However, if I do this in a child project then the GUI stops at the end of the build and I have to manually close it before the parent build will continue.

Is there any way that I can automatically close the VBP GUI after this occurs (using the IS_CHILD macro to determine whether this should be run or not)?

Alternatively is there a way to set up the failure steps so that I return to the parent project so that I can Start from there? This is less attractive since it would mean restarting the child build from the beginning rather than from where the error ocurred, but it would at least be an improvement

kinook
08-01-2005, 11:19 AM
Check the option 'Tools | User Options | Build | Honor command-line switches if build fails/canceled and continued'.

GrahamS
08-01-2005, 03:21 PM
Thanks for the prompt reply

Once again I was looking in the wrong place