@@ -78,6 +78,8 @@ set TEST_VS_IDEUNIT_SUITE=0
7878set INCLUDE_TEST_SPEC_NUNIT =
7979set INCLUDE_TEST_TAGS =
8080
81+ set SIGN_TYPE = %PB_SIGNTYPE%
82+
8183REM ------------------ Parse all arguments -----------------------
8284
8385set _autoselect = 1
@@ -293,6 +295,14 @@ if /i "%ARG%" == "release" (
293295set BUILD_CONFIG = release
294296)
295297
298+ if /i" %ARG% " == " test-sign" (
299+ set SIGN_TYPE = test
300+ )
301+
302+ if /i" %ARG% " == " real-sign" (
303+ set SIGN_TYPE = real
304+ )
305+
296306if /i" %ARG% " == " test" (
297307set _autoselect_tests = 1
298308)
@@ -427,6 +437,7 @@ echo.
427437echo PB_SKIPTESTS=%PB_SKIPTESTS%
428438echo PB_RESTORESOURCE=%PB_RESTORESOURCE%
429439echo .
440+ echo SIGN_TYPE=%SIGN_TYPE%
430441echo TEST_NET40_COMPILERUNIT_SUITE=%TEST_NET40_COMPILERUNIT_SUITE%
431442echo TEST_NET40_COREUNIT_SUITE=%TEST_NET40_COREUNIT_SUITE%
432443echo TEST_NET40_FSHARP_SUITE=%TEST_NET40_FSHARP_SUITE%
@@ -538,15 +549,6 @@ goto :eof
538549:havemsbuild
539550set _nrswitch = /nr:false
540551
541- :: See <http://www.appveyor.com/docs/environment-variables>
542- if defined APPVEYOR (
543- rem See< http://www.appveyor.com/docs/build-phase>
544- if exist " C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll" (
545- rem HACK HACK HACK
546- set _msbuildexe = %_msbuildexe% /logger:" C:\Program Files\AppVeyor\BuildAgent\Appveyor.MSBuildLogger.dll"
547- )
548- )
549-
550552if defined TF_BUILD (
551553echo Adding remote 'visualfsharptools' for internal build.
552554 git remote add visualfsharptools https://github.com/Microsoft/visualfsharp.git
@@ -590,6 +592,13 @@ if "%RestorePackages%" == "true" (
590592@ if ERRORLEVEL1 echo Error: Nuget restore failed&& goto :failure
591593 )
592594
595+ if not " %SIGN_TYPE% " == " " (
596+ set signtoolnugetoptions = -PackagesDirectory%USERPROFILE% \.nuget\packages -ConfigFile%_nugetconfig%
597+ if not " %PB_RESTORESOURCE% " == " " set signtoolnugetoptions = !signtoolnugetoptions! -FallbackSource%PB_RESTORESOURCE%
598+ %_nugetexe% restore build\config\packages.config!signtoolnugetoptions!
599+ @ if ERRORLEVEL1 echo Error: Nuget restore failed&& goto :failure
600+ )
601+
593602set restore_fsharp_suite = 0
594603if " %TEST_NET40_FSHARP_SUITE% " == " 1" set restore_fsharp_suite = 1
595604if " %TEST_CORECLR_FSHARP_SUITE% " == " 1" set restore_fsharp_suite = 1
@@ -673,7 +682,47 @@ if "%BUILD_PHASE%" == "1" (
673682@ if ERRORLEVEL1 echo Error build failed&& goto :failure
674683)
675684
676- echo ---------------- Done with build, starting pack/update/prepare ---------------
685+ echo ---------------- Done with build, starting assembly signing ---------------
686+
687+ if not " %SIGN_TYPE% " == " " (
688+ echo build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\AssemblySignToolData.json
689+ call build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\AssemblySignToolData.json
690+ if ERRORLEVEL 1 echo Error running sign tool&& goto :failure
691+ )
692+
693+ if " %BUILD_SETUP% " == " 1" (
694+ echo %_msbuildexe% %msbuildflags% setup\build-msi.proj /p:Configuration=%BUILD_CONFIG%
695+ %_msbuildexe% %msbuildflags% setup\build-msi.proj /p:Configuration=%BUILD_CONFIG%
696+ if ERRORLEVEL 1 echo Error building MSI&& goto :failure
697+ )
698+
699+ if not " %SIGN_TYPE% " == " " (
700+ echo build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\MsiSignToolData.json
701+ call build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\MsiSignToolData.json
702+ if ERRORLEVEL 1 echo Error running sign tool&& goto :failure
703+ )
704+
705+ if " %BUILD_SETUP% " == " 1" (
706+ echo %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG%
707+ %_msbuildexe% %msbuildflags% setup\build-insertion.proj /p:Configuration=%BUILD_CONFIG%
708+ if ERRORLEVEL 1 echo Error building insertion packages&& goto :failure
709+ )
710+
711+ if not " %SIGN_TYPE% " == " " (
712+ echo build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\InsertionSignToolData.json
713+ call build\scripts\run-signtool.cmd -MSBuild%_msbuildexe% -SignType%SIGN_TYPE% -ConfigFile build\config\InsertionSignToolData.json
714+ if ERRORLEVEL 1 echo Error running sign tool&& goto :failure
715+ )
716+
717+ echo ---------------- Done with signing, building insertion files ---------------
718+
719+ if " %BUILD_SETUP% " == " 1" (
720+ echo %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG%
721+ %_msbuildexe% %msbuildflags% setup\Swix\Microsoft.FSharp.vsmanproj /p:Configuration=%BUILD_CONFIG%
722+ if ERRORLEVEL 1 echo Error building .vsmanproj&& goto :failure
723+ )
724+
725+ echo ---------------- Done building insertion files, starting pack/update/prepare ---------------
677726
678727if " %BUILD_NET40_FSHARP_CORE% " == " 1" (
679728echo ---------------- start update.cmd ---------------