Kinook Software Forum

Go Back   Kinook Software Forum > Visual Build Professional > [VBP] General Discussion
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Rate Thread Display Modes
  #1  
Old 11-21-2014, 07:52 AM
raistlin raistlin is online now
Registered User
 
Join Date: 11-14-2008
Posts: 23
According to my tests, these 2 command lines gives different results:

Does not produce log file:
Code:
c:\Builds\Source\BuildScripts>visbuildcmd Test.bld /mta /loglevel 0 /config VisBuildPro.config LOGFILE=%PROJROOT%.log /nologo
21-11-2014 14:23:32: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld'
21-11-2014 14:23:32: Building project step 'Project steps'...
21-11-2014 14:23:32: Building project step 'Log Message'...
LOGFILE=
21-11-2014 14:23:32: Build successfully completed (elapsed = 00:00:00).
Produces log file:
Code:
c:\Builds\Source\BuildScripts>visbuildcmd Test.bld /mta /loglevel 0 /config VisBuildPro.config /LOGFILE %PROJROOT%.log /nologo
21-11-2014 14:24:28: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld'
21-11-2014 14:24:28: Building project step 'Project steps'...
21-11-2014 14:24:28: Building project step 'Log Message'...
LOGFILE=c:\Builds\Source\BuildScripts\Test.log
21-11-2014 14:24:28: Build successfully completed (elapsed = 00:00:00).
VisBuildPro.config used:
Code:
<?xml version='1.0' encoding='utf-8'?>
<configuration>
	<option name='BuildFailureStepsOnCancel'>0</option>
	<option name='CaseSensitiveBuildRuleComparisons'>0</option>
	<option name='ConvertOutputDoubleQuotes'>0</option>
	<option name='DefaultScriptEngine'>VBScript</option>
	<option name='DelLogFileOnBuild'>0</option>
	<option name='DelTempMacrosAfterBuild'>1</option>
	<option name='DelTempMacrosOnRebuild'>0</option>
	<option name='EchoChainedConsoleOutput'>1</option>
	<option name='EnvVarsInSystemMacros'>1</option>
	<option name='EscapeSpecialCharactersInOutput'>1</option>
	<option name='FailBuildWhenDoneIfStepsFailed'>0</option>
	<option name='LogAllFailureStepOutput'>1</option>
	<option name='LogBuildRuleEval'>1</option>
	<option name='LogDefaultStepProperty'>0</option>
	<option name='LogFilename'></option>
	<option name='LogFormat'>Text</option>
	<option name='LogLevel'>3</option>
	<option name='PersistBuildStatus'>0</option>
	<option name='ReevaluateAllBuildRules'>0</option>
	<option name='SetProjectDirectory'>1</option>
	<option name='StripLogLinefeedChar'>0</option>
	<option name='TextLogSkippedSteps'>1</option>
	<option name='TextLogStepEvents'>1</option>
	<option name='TextLogStepNumbering'>0</option>
</configuration>
This was my question earlier, i prefer to use LOGFILE=%PROJROOT%.log macro which i can define it in the bld file instead of parsing /logfile %PROJROOT%.log.
Attached Files
File Type: bld Test.bld (545 Bytes, 1680 views)
Reply With Quote
  #2  
Old 11-21-2014, 08:46 AM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,032
You found a bug. If the /loglevel parameter was specified and /logfile was not, the LOGFILE=value parameter was ignored and the LOGFILE macro set to an empty string instead. This is fixed in the latest download (VisBuildCmd.exe 8.7.0.3 in Help | About after installing). Sorry for not noticing the issue when you first posted. Thanks.
Reply With Quote
  #3  
Old 11-24-2014, 04:01 AM
raistlin raistlin is online now
Registered User
 
Join Date: 11-14-2008
Posts: 23
Thanks for the quickfix. I had it installed and it creates log files. Yay.

I have another question regarding the difference i see.

The logfile is generated at the script directory, c:\Builds\Source\BuildScripts:
Code:
c:\Builds\Source>visbuildcmd BuildScripts\Test.bld /mta /loglevel 0 /config BuildScripts\VisBuildPro.config LOGFILE=%PROJROOT%.log /nologo
24-11-2014 10:54:36: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld'
24-11-2014 10:54:36: Building project step 'Project steps'...
24-11-2014 10:54:36: Building project step 'Log Message'...
LOGFILE=Test.log
24-11-2014 10:54:36: Build successfully completed (elapsed = 00:00:00).
The logfile is generated at my current directory, c:\Builds\Source:
Code:
c:\Builds\Source>visbuildcmd BuildScripts\Test.bld /mta /loglevel 0 /config BuildScripts\VisBuildPro.config /LOGFILE %PROJROOT%.log /nologo
24-11-2014 10:55:12: Starting Build: 'c:\Builds\Source\BuildScripts\Test.bld'
24-11-2014 10:55:12: Building project step 'Project steps'...
24-11-2014 10:55:12: Building project step 'Log Message'...
LOGFILE=c:\Builds\Source\Test.log
24-11-2014 10:55:12: Build successfully completed (elapsed = 00:00:00).
Since you said LOGFILE macro and /logfile param are equivalent, the generated logfile path is a little inconsistent.

Last edited by raistlin; 11-24-2014 at 04:26 AM.
Reply With Quote
  #4  
Old 11-24-2014, 06:30 AM
kinook kinook is online now
Administrator
 
Join Date: 03-06-2001
Location: Colorado
Posts: 6,032
True, they're not exactly equivalent. When LOGFILE=filename is used, the value provided is assigned to the macro value. When /logfile is used, it does convert relative paths (via the GetFullPathName API) as it also does for other file/path parameters (.bld filename, /configpath, etc.). It's probably best to specify an absolute path to remove any ambiguity (i.e., %PROJDIR% for the path of the .bld file, %~dp0 to use the calling command script's path, a hard-coded path, etc.).
Reply With Quote
  #5  
Old 11-24-2014, 08:45 AM
raistlin raistlin is online now
Registered User
 
Join Date: 11-14-2008
Posts: 23
Roger that. Thanks alot for the support!
Reply With Quote
Reply


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 04:12 PM.


Copyright © 1999-2023 Kinook Software, Inc.