0
votes

Other than observing that it's obviously not set because it doesn't work. ;)

I have been going through the TC documentation for 9.1 and cannot find anything that allows me to output system properties or environment variables to its log. I have checked in the Verbose and raw build log file.

My Visual Studio 2008 environment is set to use third party libraries like boost, and I have the include and lib directories set to include $(THIRDPARTY)..., so I first added an environment variable in Build Parameters called env.THIRDPARTY and pointed it to the proper folder. However, the build fails because it can't find the files.

I then tried using a system parameter, with the same outcome.

I then thought I was being smart by adding a pre-build event to my project and confirming that it was output to the VS build window. Unfortunately, the TeamCity build log doesn't include all of those messages.

So I have two questions: 1. How do I confirm what TeamCity is using for env.THIRDPARTY? (it's most likely empty) 2. What am I missing with the environment variable? I have used this many times in the past with VS2010 and VS2013 solutions and have never had a problem. My current build workflow for another product depends on this for injecting SVN revision info, and it works fine.

2

2 Answers

1
votes

You can add a command line build step that simply does echo "%variable_name%", preceded with "system." or "env." as needed. Then you can find that line in the build log.

0
votes

Well, here's one solution I tried that helped me figure out the problem.

Add the /fileLogger switch to MSBuild so that an msbuild.log file is generated. You can then add this as an artifact, or just open the file directly and peruse its contents.