<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none"><!-- p { margin-top: 0px; margin-bottom: 0px; } p.p1 { margin: 0px; font: 11px Menlo; color: rgb(202, 51, 35); } span.s1 { font-variant-ligatures: no-common-ligatures; color: rgb(0, 0, 0); } span.s2 { font-variant-ligatures: no-common-ligatures; } span.s3 { font-variant-ligatures: no-common-ligatures; color: rgb(219, 39, 218); }--></style>
</head>
<body dir="ltr" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p><br>
</p>
<p>I set the worker properties with the following:<br>
</p>
<p><br>
</p>
<style type="text/css">
p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ca3323}
span.s1 {font-variant-ligatures: no-common-ligatures; color: #000000}
span.s2 {font-variant-ligatures: no-common-ligatures}
span.s3 {font-variant-ligatures: no-common-ligatures; color: #db27da}
</style>
<p class="p1"><span class="s1"><span class="Apple-converted-space">        </span>self._properties[</span><span class="s2">'env'</span><span class="s1">] = {</span><span class="s2">'APPVER'</span><span class="s1">:
</span><span class="s2">'6.1'</span><span class="s1">, </span><span class="s2">'CL'</span><span class="s1">:
</span><span class="s2">'/AI C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework64</span><span class="s3">\\</span><span class="s2">v4.0.30319'</span><span class="s1">,
</span><span class="s2">'CommandPromptType'</span><span class="s1">: </span><span class="s2">'Native'</span><span class="s1">,</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'Configuration'</span><span class="s1">:
</span><span class="s2">'Release'</span><span class="s1">, </span><span class="s2">'CURRENT_CPU'</span><span class="s1">:
</span><span class="s2">'x64'</span><span class="s1">, </span><span class="s2">'FrameworkVersion'</span><span class="s1">:
</span><span class="s2">'v4.0.30319'</span><span class="s1">,</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'INCLUDE'</span><span class="s1">: [</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">Microsoft
 Visual Studio 10.0</span><span class="s3">\\</span><span class="s2">VC</span><span class="s3">\\</span><span class="s2">INCLUDE'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">INCLUDE'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">INCLUDE</span><span class="s3">\\</span><span class="s2">gl'</span><span class="s1">],</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'LIB'</span><span class="s1">: [</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">Microsoft
 Visual Studio 10.0</span><span class="s3">\\</span><span class="s2">VC</span><span class="s3">\\</span><span class="s2">Lib</span><span class="s3">\\</span><span class="s2">amd64'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">Lib</span><span class="s3">\\</span><span class="s2">X64'</span><span class="s1">],</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'LIBPATH'</span><span class="s1">: [</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework64</span><span class="s3">\\</span><span class="s2">v4.0.30319'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework</span><span class="s3">\\</span><span class="s2">v4.0.30319'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework64</span><span class="s3">\\</span><span class="s2">v3.5'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework</span><span class="s3">\\</span><span class="s2">v3.5'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x80</span><span class="s3">\\</span><span class="s2">VC</span><span class="s3">\\</span><span class="s2">Lib</span><span class="s3">\\</span><span class="s2">amd64'</span><span class="s1">],</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'PATH'</span><span class="s1">: [</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework64</span><span class="s3">\\</span><span class="s2">v4.0.30319'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework</span><span class="s3">\\</span><span class="s2">v4.0.30319'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework64</span><span class="s3">\\</span><span class="s2">v3.5'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">Microsoft.NET</span><span class="s3">\\</span><span class="s2">Framework</span><span class="s3">\\</span><span class="s2">v3.5'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">ommon7</span><span class="s3">\\</span><span class="s2">IDE'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">Microsoft Visual Studio 10.0</span><span class="s3">\\</span><span class="s2">Common7</span><span class="s3">\\</span><span class="s2">Tools'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">Microsoft Visual Studio 10.0</span><span class="s3">\\</span><span class="s2">VC</span><span class="s3">\\</span><span class="s2">Bin</span><span class="s3">\\</span><span class="s2">amd64'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files (x86)</span><span class="s3">\\</span><span class="s2">Microsoft Visual Studio 10.0</span><span class="s3">\\</span><span class="s2">VC</span><span class="s3">\\</span><span class="s2">Bin</span><span class="s3">\\</span><span class="s2">VCPacoft
 SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">Bin</span><span class="s3">\\</span><span class="s2">NETFX 4.0 Tools</span><span class="s3">\\</span><span class="s2">x64'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">Bin</span><span class="s3">\\</span><span class="s2">x64'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">Bin'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">python27'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">python27</span><span class="s3">\\</span><span class="s2">Scripts'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">python34'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">python34</span><span class="s3">\\</span><span class="s2">Scripts'</span><span class="s1">,
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">cygwin64</span><span class="s3">\\</span><span class="s2">bin'</span><span class="s1">,
</span><span class="s2">'${PATH}'</span><span class="s1">],</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'PlatformToolset'</span><span class="s1">:
</span><span class="s2">'Windows7.1SDK'</span><span class="s1">, </span><span class="s2">'sdkdir'</span><span class="s1">:
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">'</span><span class="s1">,</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'TARGET_CPU'</span><span class="s1">:
</span><span class="s2">'x64'</span><span class="s1">, </span><span class="s2">'TARGET_PLATFORM'</span><span class="s1">:
</span><span class="s2">'WIN7'</span><span class="s1">, </span><span class="s2">'ToolsVersion'</span><span class="s1">:
</span><span class="s2">'4.0'</span><span class="s1">,</span></p>
<p class="p1"><span class="s1">                                   </span><span class="s2">'WindowsSDKDir'</span><span class="s1">:
</span><span class="s2">'C:</span><span class="s3">\\</span><span class="s2">Program Files</span><span class="s3">\\</span><span class="s2">Microsoft SDKs</span><span class="s3">\\</span><span class="s2">Windows</span><span class="s3">\\</span><span class="s2">v7.1</span><span class="s3">\\</span><span class="s2">'</span><span class="s1">,
</span><span class="s2">'WindowsSDKVersionOverride'</span><span class="s1">: </span>
<span class="s2">'v7.1'</span><span class="s1">}</span></p>
<p class="p1"><span class="s1"><br>
</span></p>
<p class="p1"><span class="s1">It is a bit of a pain getting it done initially but then the environment is well controlled under the execution of the factory build steps.  I have found this to be the best way for me.  It is much better than trying to run vcvarsall.bat
 at every step.</span></p>
<p><br>
</p>
<div style="color: rgb(33, 33, 33);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> users <users-bounces@buildbot.net> on behalf of Greg Bullock <greg@nwra.com><br>
<b>Sent:</b> Wednesday, May 8, 2019 8:55 AM<br>
<b>To:</b> users@buildbot.net<br>
<b>Subject:</b> Re: [users@bb.net] Question on passing state between steps</font>
<div> </div>
</div>
<div>
<p>I faced a similar problem.  To work around it, I have a batch file (see below) to run consecutively all the steps that need to share the environment.</p>
<p>It's not perfect.  In particular, I've had trouble getting useful stdout/stderr logs and error code back to the builder when one of the steps fails. 
<br>
</p>
<p>I'd appreciate your sharing back any improvements you make on this.</p>
<p><font face="Courier New, Courier, monospace"><br>
</font></p>
<p><font face="Courier New, Courier, monospace">echo off<br>
setlocal<br>
<br>
set THREAD_CFG=%~1<br>
if /i "%~1"=="" set THREAD_CFG=single<br>
set LIB_LINKING=%~2<br>
if /i "%~2"=="" set LIB_LINKING=shared<br>
set CMAKE_BUILD_TYPE=%~3<br>
if /i "%~3"=="" set CMAKE_BUILD_TYPE=Release<br>
set PROJ_FOLDER=%~4<br>
if /i "%~4"=="" set PROJ_FOLDER=Main_Project<br>
<br>
:: For the log, show the command line we're about to run<br>
set a_cmd=cd ..\build_out<br>
echo %a_cmd%<br>
%a_cmd%<br>
<br>
:: For the log, show the command line we're about to run<br>
set a_cmd=set path=C:\Program Files (x86)\CMake\bin;G:\TDM-GCC-64\bin;%path%<br>
:: set a_cmd=set path=C:\Program Files (x86)\CMake\bin;%path%<br>
echo %a_cmd%<br>
%a_cmd%<br>
<br>
echo %path%<br>
:: set path=G:\TDM-GCC-64\bin;%path%   -- The TDM builds cause a runtime error. Disable for now.<br>
:: set path=G:\mingw-w64\x86_64-5.4.0-posix-seh-rt_v5-rev0\mingw64\bin;%path%  -- Should not be necessary, as it's on the buildbot BuilderConfig PATH environment variable.<br>
<br>
:: For the log, show the command line we're about to run<br>
set a_cmd=cmake -G "MinGW Makefiles" -DCMAKE_Threading="%THREAD_CFG%" -DLIB_LINKING="%LIB_LINKING%" -DCMAKE_BUILD_TYPE="%CMAKE_BUILD_TYPE%" ..\build\Projects\cmake\%PROJ_FOLDER%<br>
echo %a_cmd%<br>
%a_cmd%<br>
<br>
:: For the log, show the command line we're about to run<br>
set a_cmd=mingw32-make<br>
echo %a_cmd%<br>
%a_cmd%<br>
<br>
endlocal<br>
</font><br>
<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 5/7/2019 1:22 PM, Trung Tran wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>I current doing a simple build steps that include <br>
</div>
<div>"Setup enviroments" (running vcvarsall.bat")</div>
<div>"Run Cmake"</div>
<div>"Run MsBuild"</div>
<div>I notice that all steps are not sharing any state between them. This is the issue for my setup environment steps because I need that for both sub sequence step.
<br>
</div>
<div>What is the right way to do this?</div>
<br>
</div>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<pre class="moz-quote-pre">_______________________________________________
users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:users@buildbot.net">users@buildbot.net</a>
<a class="moz-txt-link-freetext" href="https://lists.buildbot.net/mailman/listinfo/users">https://lists.buildbot.net/mailman/listinfo/users</a></pre>
</blockquote>
<pre class="moz-signature" cols="72">-- 
Greg Bullock
NorthWest Research Associates
301 Webster St.
Monterey, CA  93940
(831) 582-4907
<a class="moz-txt-link-abbreviated" href="mailto:greg@nwra.com">greg@nwra.com</a></pre>
</div>
</div>
</body>
</html>