TeamCity seems to filter logging output.

When testing on my local build box using MSBuild.exe, v3.5, in a CMD file I get the following output (snippet) for one of the wixproj projects (thread id is different for breavity):

68>------ Rebuild All started: Project: CommServer.Install, Configuration: Release x86 ------
68>        "C:\Program Files\MSBuild\EMC\MSBuildPreBuild.cmd" C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\Communication.sln C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\CommServer.Install.wixproj bin\Release\ Release
68>        Microsoft (R) Build Engine Version 3.5.30729.4926
68>        [Microsoft .NET Framework, Version 2.0.50727.4927]
68>        Copyright (C) Microsoft Corporation 2007. All rights reserved.
68>        Build started 4/16/2010 12:38:09 PM.
68>        Build succeeded.
68>            0 Warning(s)
68>            0 Error(s)
68>        Time Elapsed 00:00:00.06
68>        Starting DefineConstants:
68>        Starting CsiDefineConstants: ;BUILD_WIXSHARED_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\WiXShared;BUILD_WIXIMAGES_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\images;CSI_THIRDPARTY_ROOT=C:\src\tfs\all\Third.Party\main
68>        Adding CSI build process environment variables. BUILD_WIXSHARED_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\WiXShared;BUILD_WIXIMAGES_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\images;CSI_THIRDPARTY_ROOT=C:\src\tfs\all\Third.Party\main
68>        C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\Wix\candle.exe -sw1076 -sw1055 -sw1056 -dBUILD_WIXSHARED_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\WiXShared -dBUILD_WIXIMAGES_ROOT=C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\images -dCSI_THIRDPARTY_ROOT=C:\src\tfs\all\Third.Party\main -d"DevEnvDir=C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\\" -dSolutionDir=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\ -dSolutionExt=.sln -dSolutionFileName=Communication.sln -dSolutionName=Communication -dSolutionPath=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\Communication.sln -dConfiguration=Release -dOutDir=bin\Release\ -dPlatform=x86 -dProjectDir=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\ -dProjectExt=.wixproj -dProjectFileName=CommServer.Install.wixproj -dProjectName=CommServer.Install -dProjectPath=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\CommServer.Install.wixproj -dTargetDir=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\bin\Release\ -dTargetExt=.msi -dTargetFileName=CommServer.msi -dTargetName=CommServer -dTargetPath=C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\bin\Release\CommServer.msi -out obj\Release\CommServerInstall.wixobj -arch x86 -ext "C:\Program Files\Windows Installer XML v3\bin\WixUtilExtension.dll" CommServerInstall.wxs
68>        C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\Wix\Light.exe -sw1076 -sw1055 -sw1056 -ext "C:\Program Files\Windows Installer XML v3\bin\WixUtilExtension.dll" -out C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\bin\Release\CommServer.msi -pdbout C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\bin\Release\CommServer.wixpdb obj\Release\CommServerInstall.wixobj ..\..\bin\Release\CommCommon.wixlib ..\..\build\Dependencies\Core-Win32\bin_Cs\Core.wixlib ..\..\build\Dependencies\CfcBase-Win32\bin_Cs\CfcBase.wixlib ..\..\build\Dependencies\Cfc-Win32\bin_Cs\Cfc.wixlib ..\..\build\Dependencies\3rdParty-Win32\CSI\ThirdParty\Install\DMIThirdParty\DMIThirdParty.wixlib
68>        "C:\Program Files\MSBuild\EMC\MSBuildPostBuild.cmd" C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\Communication.sln C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\CommServer.Install.wixproj bin\Release\ Release
68>        Microsoft (R) Build Engine Version 3.5.30729.4926
68>        [Microsoft .NET Framework, Version 2.0.50727.4927]
68>        Copyright (C) Microsoft Corporation 2007. All rights reserved.
68>        Build started 4/16/2010 12:39:11 PM.
68>        Project "C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\MSBuild.proj" on node 0 (PostBuild target(s)).
68>          CopyCompileArtifacts - SourceDir: C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install, TargetDir: C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\.., OutDir: bin\Release\
68>          Copied file from C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\src\CommServer.Install\bin\Release\CommServer.msi to C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\bin\Release\CommServer.msi
68>        Done Building Project "C:\src\tfs\all\Infrastructure\main\Subsystems\Communication\Cpp\build\MSBuild.proj" (PostBuild target(s)).
68>        Build succeeded.
68>            0 Warning(s)
68>            0 Error(s)



In side TeamCity using TC's MSBuild or via command line the output is this:

[10:50:12]: [Project "PLBuild.proj.teamcity.patch.tcprojx" (default targets):] 71>------ Rebuild All started: Project: CommServer.Install, Configuration: Release x86 ------
[10:50:38]: [Project "PLBuild.proj.teamcity.patch.tcprojx" (default targets):] 72>------ Rebuild All started: Project: PostSolution, Configuration: Release Win32 ------


Nothing for 'CommServer.Install' project is shown in the output log.  As you can see 26 seconds pass before another logging.  The top logging snippet is very verbose, running the same command.

Why?

10 comments

I'm using TC 4.5.4 on a WIndows 2003 machine....  Agents running on 2008 windows.

0

Do you start new msbuild.exe process from your build? If so, have you set TeamCity NUnit listener for it?

0

No I do not embed another MSBuild.exe process.  I've tried this several ways and get the same results.  I use TC's solution runner and run it directly, use MSBuild runner to run a wrapper MSBuild files and I've done a command line runner with a CMD file launching MSBuild.  The loss of output only happens with .wixproj projects.

What would a TC Nunit listner give me?

Dave

0

Sorry, I mean MSBuild listener (logger), not NUnit listener. If MSBuild is started by TeamCity it will be included automatically. It is used to log all msbuild output into TeamCity.

Do you see wixproj output if run msbuild.exe from commandline (without TeamCity), from build agent checkout directory?

TeamCity MSBuild logger does not log any console output while this output is not reported from MSBuild logger api.

0

Yes I do see wixproj output when ran outside of TC's MSBuild runner. There is one more interesting thing I've noticed.  These builds were talking about are C++ based projects where we have to preset the evironment before launching the build.  When have a solution the is p C# with a wixproj inside, we are able to see the wixproj output fine.  In fact, my solution is to break out all wixproj for any given solution and make a separate solution with just wixproj inside.

Yes, I've ran the build in the checkout directory on the build agent and get the full output.

Dave

0

Dave, what do use set for RunAsSeparateProcess Wix MSBuild tasks attribute? I found that setting RunWixToolsOutOfProc property with value True should enforce wixproj to fork every wix process. If wix task forks a process it behaves just like ordynary Execute task. Will MSBuild from TeamCity report anything in that case?

0

I don't use the MSBuild task.  But let me investigate that property and see what I come up with.

Thanks,

Dave

0

The few examples I've seen are using the <Light/> task.  We don't use the 'Light' task.  The WiXProj files and their respective source code, get passed to what is shown in the upper part of this thread:

   C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\Wix\candle.exe -sw1076 -sw1055 -sw1056 ...

    C:\src\tfs\all\Build.Install.Tools\main\BuildSupport\Tools\Wix\Light.exe -sw1076 -sw1055 -sw1056 -ext ...

That is what runs the contents of the wixprog.  The process is already being spawned.  It appears to me that TC/Java isn't handling enought 'layers' of processes during this type of build.

Dave

0

I did find the <Light/>, inside: C:\Program Files\MSBuild\Microsoft\WiX\v3.0\WiX.targets file.

0

I'm at at the point I will pull the wixproj into their own solution.  I'm to the conclusion that TC/Java doesn't read output that many processes deep.

Dave

0

Please sign in to leave a comment.