PDA

View Full Version : Passing original command line environment to child builds


stephen_gryphon
07-12-2005, 08:10 PM
G'day,

We have recently started implementing Visual Build Pro in our organisation.

When running the tool we are using the command line options to choose the location of the various global files (macros, steps, scripts etc.).

This works fine for the project loaded.

We then use a VisualBuildPro Project step to run a child build project, however the correct environment (i.e. location of the global files) is not transferred across.

Turning on logging for the command line, it looks like the options are not being added. (i.e. it always uses whatever the configured default locations are).

From the documentation, I see we can specify additional command line options in the step, but I don't know where to get this information from.

What I would like to know, however, is how do I access the location of the global files that was passed on the command line to the main build.

Basically, we want the child build to operate in the same environment (i.e. same global locations) as the main build was started with.

Thanks,

- Stephen Gryphon

kevina
07-12-2005, 10:42 PM
You access these values via script, you would pass the values through to the child build like so in the VisBuildPro Project action's additional options field (on the Parameters tab):

/options "[Application.Options.Name]" /macros
"[Application.Macros(vbldMacroGlobal).Name]" /steps
"[Application.Project.Steps(vbldStepGlobalSubroutine ).Name]" /script
"[Application.Scripts(vbldScriptGlobal).Name]"

Another option would be to bootstrap the process by setting the registry value "HKEY_LOCAL_MACHINE\SOFTWARE\Kinook Software\Visual Build Professional\ConfigFilesPath" to the path containing your config files (this could be accomplished by a two-step VBP project to set the registry value and then chain to the main .bld project). Then the values would not have to be passed on the command-line at all. See http://www.kinook.com/Forum/showthread.php?threadid=36 for more details.
This would require that all your config files be in the same location.