1steps: 2 - template: ./checkout.yml 3 4 - task: DownloadPipelineArtifact@1 5 displayName: 'Download artifact: doc' 6 inputs: 7 artifactName: doc 8 targetPath: $(Build.BinariesDirectory)\doc 9 10 - task: CopyFiles@2 11 displayName: 'Merge documentation files' 12 inputs: 13 sourceFolder: $(Build.BinariesDirectory)\doc 14 targetFolder: $(Build.SourcesDirectory)\Doc\build 15 contents: | 16 htmlhelp\*.chm 17 18 - task: DownloadPipelineArtifact@1 19 displayName: 'Download artifact: bin_win32' 20 inputs: 21 artifactName: bin_win32 22 targetPath: $(Build.BinariesDirectory)\win32 23 24 - task: DownloadPipelineArtifact@1 25 displayName: 'Download artifact: bin_win32_d' 26 inputs: 27 artifactName: bin_win32_d 28 targetPath: $(Build.BinariesDirectory)\win32 29 30 - task: DownloadPipelineArtifact@1 31 displayName: 'Download artifact: bin_amd64' 32 inputs: 33 artifactName: bin_amd64 34 targetPath: $(Build.BinariesDirectory)\amd64 35 36 - task: DownloadPipelineArtifact@1 37 displayName: 'Download artifact: bin_amd64_d' 38 inputs: 39 artifactName: bin_amd64_d 40 targetPath: $(Build.BinariesDirectory)\amd64 41 42 - task: DownloadPipelineArtifact@1 43 displayName: 'Download artifact: tcltk_lib_win32' 44 inputs: 45 artifactName: tcltk_lib_win32 46 targetPath: $(Build.BinariesDirectory)\tcltk_lib_win32 47 48 - task: DownloadPipelineArtifact@1 49 displayName: 'Download artifact: tcltk_lib_amd64' 50 inputs: 51 artifactName: tcltk_lib_amd64 52 targetPath: $(Build.BinariesDirectory)\tcltk_lib_amd64 53 54 - powershell: | 55 copy $(Build.BinariesDirectory)\amd64\Activate.ps1 Lib\venv\scripts\common\Activate.ps1 -Force 56 displayName: 'Copy signed files into sources' 57 condition: and(succeeded(), variables['SigningCertificate']) 58 59 - script: | 60 call Tools\msi\get_externals.bat 61 call PCbuild\find_python.bat 62 echo ##vso[task.setvariable variable=PYTHON]%PYTHON% 63 call PCbuild/find_msbuild.bat 64 echo ##vso[task.setvariable variable=MSBUILD]%MSBUILD% 65 displayName: 'Get external dependencies' 66 67 - script: | 68 %PYTHON% -m pip install blurb 69 %PYTHON% -m blurb merge -f Misc\NEWS 70 displayName: 'Merge NEWS file' 71 72 - script: | 73 %MSBUILD% Tools\msi\launcher\launcher.wixproj 74 displayName: 'Build launcher installer' 75 env: 76 Platform: x86 77 Py_OutDir: $(Build.BinariesDirectory) 78 79 - script: | 80 %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true 81 %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false 82 displayName: 'Build win32 installer' 83 env: 84 Platform: x86 85 Py_OutDir: $(Build.BinariesDirectory) 86 PYTHON: $(Build.BinariesDirectory)\win32\python.exe 87 PYTHONHOME: $(Build.SourcesDirectory) 88 TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_win32 89 BuildForRelease: true 90 SuppressMinGWLib: true 91 92 - script: | 93 %MSBUILD% Tools\msi\bundle\releaselocal.wixproj /t:Rebuild /p:RebuildAll=true 94 %MSBUILD% Tools\msi\bundle\releaseweb.wixproj /t:Rebuild /p:RebuildAll=false 95 displayName: 'Build amd64 installer' 96 env: 97 Platform: x64 98 Py_OutDir: $(Build.BinariesDirectory) 99 PYTHON: $(Build.BinariesDirectory)\amd64\python.exe 100 PYTHONHOME: $(Build.SourcesDirectory) 101 TclTkLibraryDir: $(Build.BinariesDirectory)\tcltk_lib_amd64 102 BuildForRelease: true 103 SuppressMinGWLib: true 104 105 - task: CopyFiles@2 106 displayName: 'Assemble artifact: msi (1/2)' 107 inputs: 108 sourceFolder: $(Build.BinariesDirectory)\win32\en-us 109 targetFolder: $(Build.ArtifactStagingDirectory)\msi\win32 110 contents: | 111 *.msi 112 *.cab 113 *.exe 114 115 - task: CopyFiles@2 116 displayName: 'Assemble artifact: msi (2/2)' 117 inputs: 118 sourceFolder: $(Build.BinariesDirectory)\amd64\en-us 119 targetFolder: $(Build.ArtifactStagingDirectory)\msi\amd64 120 contents: | 121 *.msi 122 *.cab 123 *.exe 124 125 - task: PublishPipelineArtifact@0 126 displayName: 'Publish MSI' 127 inputs: 128 targetPath: '$(Build.ArtifactStagingDirectory)\msi' 129 artifactName: msi 130