mirror of
https://github.com/microsoft/PowerToys.git
synced 2024-11-27 23:19:13 +08:00
78d65a87cd
* [MeasureTool] initial commit * [chore] clean up needless WindowsTargetPlatformVersion overrides from projects * [MeasureTool] initial implementation * Fix build errors * Update vsconfig for needed Windows 10 SDK versions * fix spellchecker * another spellcheck fix * more spellcheck errors * Fix measurement being off by 1 on both ends * UI fixes * Add feet to crosses * Remove anti-aliasing, as it's creating artifacts * Use pixel tolerance from settings * Tooltip updates * Restore antialiasing to draw the tooltip * remove comment for spell check * Updated icons * Icon updates * Improve measurement accuracy and display * Fix spellchecker * Add less precise drawing on continuous warning * Add setting for turning cross feet on * Swap LMB/RMB for interaction * Uncheck active tool's RadioButton when it exits * activation hotkey toggles UI instead of just launching it * track runner process and exit when it exits * add proj ref * toolbar is interactive during measurements * always open toolbar on the main display * refactor colors * refactor edge detection & overlay ui * refactor overlay ui even more * simplify state structs * multimonitor preparation: eliminate global state * prepare for merge * spelling * proper thread termination + minor fixes * multimonitor: launch tools on all monitors * multimonitor support: track cursor position * spell * fix powertoys! * ScreenSize -> Box * add shadow effect for textbox * spell * fix debug mode * dynamic text box size based on text layout metrics * add mouse wheel to adjust pixel tolerance + per channel detection algorithm setting * spelling * fix per channel distance calculations * update installer deps + spelling * tool activation telemetry * update assets and try to fix build * use × instead of x * allow multiple measurements with bounds tool with shift-click * move #define DEBUG_OVERLAY in an appropriate space * spell-checked * update issue template + refactor text box drawing * implement custom renderer and make × semiopaque * spelling * pass dpiScale to x renderer * add sse2neon license * update OOBE * move license to NOTICE * appropriate module preview image * localization for AutomationPeer * increase default pixel tolerance from 5 to 30 * add PowerToys.MeasureToolUI.exe to bugreport * explicitly set texture dims * clarify continuous capture description * fix a real spelling error! * cleanup * clean up x2 * debug texture * fix texture access * fix saveasbitmap * improve sum of all channel diffs method score calc * optimize * ContinuousCapture is enabled by default to avoid confusion * build fix * draw captured screen in a non continuous mode * cast a spell... * merge fix * disable stroboscopic effect * split global/perScreen measure state and minor improvements * spelling * fix comment * primary monitor debug also active for the bounds tool * dpi from rt for custom renderer * add comment * fix off by 1 * make backround convertion success for non continuous mode non-essential * fix spelling * overlay window covers taskbar * fix CI * revert taskbar covering * fix CI * fix ci again * fix 2 * fix ci * CI fix * fix arm ci * cleanup cursor convertion between coordinate spaces * fix spelling * Fix signing * Fix MeasureToolUI version * Fix core version * fix race condition in system internals which happens during concurrent d3d/d2d resource creation Co-authored-by: Jaime Bernardo <jaime@janeasystems.com> Co-authored-by: Niels Laute <niels.laute@live.nl>
512 lines
19 KiB
YAML
512 lines
19 KiB
YAML
# This build should never run as CI or against a pull request.
|
|
trigger: none
|
|
pr: none
|
|
|
|
pool:
|
|
name: WinDevPool-L
|
|
demands: ImageOverride -equals WinDevVS17-latest
|
|
|
|
parameters:
|
|
- name: buildConfigurations
|
|
type: object
|
|
default:
|
|
- Release
|
|
- name: buildPlatforms
|
|
type: object
|
|
default:
|
|
- x64
|
|
- arm64
|
|
- name: versionNumber
|
|
type: string
|
|
default: '0.0.1'
|
|
|
|
variables:
|
|
IsPipeline: 1 # The installer uses this to detect whether it should pick up localizations
|
|
|
|
name: $(BuildDefinitionName)_$(date:yyMM).$(date:dd)$(rev:rrr)
|
|
resources:
|
|
repositories:
|
|
- repository: self
|
|
type: git
|
|
ref: main
|
|
jobs:
|
|
- job: Build
|
|
strategy:
|
|
matrix:
|
|
${{ each config in parameters.buildConfigurations }}:
|
|
${{ each platform in parameters.buildPlatforms }}:
|
|
${{ config }}_${{ platform }}:
|
|
BuildConfiguration: ${{ config }}
|
|
BuildPlatform: ${{ platform }}
|
|
displayName: Build
|
|
timeoutInMinutes: 120 # Some of the loc stuff adds quite a bit of time.
|
|
cancelTimeoutInMinutes: 1
|
|
steps:
|
|
- checkout: self
|
|
clean: true
|
|
submodules: true
|
|
persistCredentials: True
|
|
|
|
# Sets versions for all PowerToy created DLLs
|
|
- task: PowerShell@1
|
|
displayName: Set Versions.Prop
|
|
inputs:
|
|
scriptName: .pipelines/versionSetting.ps1
|
|
arguments: -versionNumber '${{ parameters.versionNumber }}' -DevEnvironment ''
|
|
|
|
# Guardian tool needs 'Microsoft.NETCore.App', version '2.1.0' (x64)
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET Core 2.1 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
version: '2.1.x'
|
|
|
|
- task: UseDotNet@2
|
|
displayName: 'Use .NET 6 SDK'
|
|
inputs:
|
|
packageType: sdk
|
|
version: '6.x'
|
|
|
|
- task: NuGetAuthenticate@0
|
|
inputs:
|
|
nuGetServiceConnections: PowerToysCDPxFeed
|
|
|
|
- task: NuGetToolInstaller@1
|
|
displayName: Use NuGet Installer latest
|
|
|
|
# this will restore the following nugets:
|
|
# - main solution
|
|
# - Bug report tool
|
|
# - Webcam report tool
|
|
# - Installer
|
|
# - Bootstrapper Installer
|
|
- task: NuGetCommand@2
|
|
displayName: NuGet restore solutions dependencies
|
|
inputs:
|
|
command: restore
|
|
restoreSolution: '**/*.sln'
|
|
selectOrConfig: config
|
|
nugetConfigPath: .pipelines/release-nuget.config
|
|
|
|
- task: PowerShell@2
|
|
displayName: Download and install WiX 3.14 development build
|
|
inputs:
|
|
targetType: filePath
|
|
filePath: '$(build.sourcesdirectory)\.pipelines\installWiX.ps1'
|
|
|
|
- task: MicrosoftTDBuild.tdbuild-task.tdbuild-task.TouchdownBuildTask@1
|
|
displayName: 'Download Localization Files -- PowerToys 37400'
|
|
inputs:
|
|
teamId: 37400
|
|
authId: '$(TouchdownApplicationID)'
|
|
authKey: '$(TouchdownApplicationKey)'
|
|
resourceFilePath: |
|
|
**\Resources.resx
|
|
**\Resource.resx
|
|
**\Resources.resw
|
|
appendRelativeDir: true
|
|
localizationTarget: false
|
|
# pseudoSetting: Included
|
|
|
|
- task: PowerShell@2
|
|
displayName: Move Loc files into correct locations
|
|
inputs:
|
|
targetType: inline
|
|
script: >-
|
|
$VerbosePreference = "Continue"
|
|
|
|
./tools/build/move-and-rename-resx.ps1
|
|
|
|
./tools/build/move-uwp-resw.ps1
|
|
pwsh: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: Moving telem files
|
|
inputs:
|
|
script: |
|
|
call nuget.exe restore -configFile .pipelines/release-nuget.config -PackagesDirectory . .pipelines/packages.config || exit /b 1
|
|
move /Y "Microsoft.PowerToys.Telemetry.2.0.0\build\include\TraceLoggingDefines.h" "src\common\Telemetry\TraceLoggingDefines.h" || exit /b 1
|
|
move /Y "Microsoft.PowerToys.Telemetry.2.0.0\build\include\TelemetryBase.cs" "src\common\Telemetry\TelemetryBase.cs" || exit /b 1
|
|
|
|
## ALL BUT INSTALLER BUILDING
|
|
- task: VSBuild@1
|
|
displayName: Build PowerToys main project
|
|
inputs:
|
|
solution: '**\PowerToys.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Build BugReportTool
|
|
inputs:
|
|
solution: '**/tools/BugReportTool/BugReportTool.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Build WebcamReportTool
|
|
inputs:
|
|
solution: '**/tools/WebcamReportTool/WebcamReportTool.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Build StylesReportTool
|
|
inputs:
|
|
solution: '**/tools/StylesReportTool/StylesReportTool.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Build PowerToysSetupCustomActions
|
|
inputs:
|
|
solution: '**/installer/PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /target:PowerToysSetupCustomActions /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: true
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Settings for Packaging
|
|
inputs:
|
|
solution: 'src/settings-ui/Settings.UI/PowerToys.Settings.csproj'
|
|
vsVersion: 17.0
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Launcher for Packaging
|
|
inputs:
|
|
solution: 'src/modules/launcher/PowerLauncher/PowerLauncher.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Monaco Preview Handler for Packaging
|
|
inputs:
|
|
solution: 'src/modules/previewpane/MonacoPreviewHandler/MonacoPreviewHandler.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Markdown Preview Handler for Packaging
|
|
inputs:
|
|
solution: 'src/modules/previewpane/MarkdownPreviewHandler/MarkdownPreviewHandler.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Svg Preview Handler for Packaging
|
|
inputs:
|
|
solution: 'src/modules/previewpane/SvgPreviewHandler/SvgPreviewHandler.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Svg Thumbnail Provider for Packaging
|
|
inputs:
|
|
solution: 'src/modules/previewpane/SvgThumbnailProvider/SvgThumbnailProvider.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Publish Measure Tool UI for Packaging
|
|
inputs:
|
|
solution: 'src/modules/MeasureTool/MeasureToolUI/MeasureToolUI.csproj'
|
|
vsVersion: 17.0
|
|
# The arguments should be the same as the ones for Settings; make sure they are.
|
|
msbuildArgs: >-
|
|
/target:Publish
|
|
/p:Configuration=$(BuildConfiguration);Platform=$(BuildPlatform);AppxBundle=Never
|
|
/p:VCRTForwarders-IncludeDebugCRT=false
|
|
/p:PowerToysRoot=$(Build.SourcesDirectory)
|
|
/p:PublishProfile=InstallationPublishProfile.pubxml
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
- task: VSBuild@1
|
|
displayName: Build PowerToysSetupCustomActions DLL # This dll needs to be build and signed before building the MSI.
|
|
inputs:
|
|
solution: '**/installer/PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog /t:PowerToysSetupCustomActions
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
maximumCpuCount: true
|
|
|
|
#### MAIN SIGNING AREA
|
|
# reference https://dev.azure.com/microsoft/Dart/_git/AppDriver?path=/ESRPSigning.json&version=GBarm64-netcore&_a=contents for winappdriver
|
|
# https://dev.azure.com/microsoft/Dart/_git/AppDriver?path=/CIPolicy.xml&version=GBarm64-netcore&_a=contents
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: Sign PowerToysSetupCustomActions DLL
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: 'installer/PowerToysSetupCustomActions/$(BuildPlatform)\$(BuildConfiguration)'
|
|
signType: batchSigning
|
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: Sign Core PT
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: '$(BuildPlatform)/$(BuildConfiguration)' # Video conf uses x86 and x64.
|
|
signType: batchSigning
|
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_core.json'
|
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: Sign x86 directshow VCM
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: 'x86/$(BuildConfiguration)' # Video conf uses x86 and x64.
|
|
signType: batchSigning
|
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_vcm.json'
|
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
#### END SIGNING
|
|
## END MAIN
|
|
|
|
## INSTALLER START
|
|
#### MSI BUILDING AND SIGNING
|
|
- task: VSBuild@1
|
|
displayName: Build MSI
|
|
inputs:
|
|
solution: '**/installer/PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /target:PowerToysInstaller /bl:$(Build.SourcesDirectory)\msbuild.binlog
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: false # don't undo our hard work above by deleting the CustomActions dll
|
|
maximumCpuCount: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Extracting MSI to verify contents'
|
|
inputs:
|
|
script: |
|
|
"C:\Program Files (x86)\WiX Toolset v3.14\bin\dark.exe" -x $(build.sourcesdirectory)\extractedMsi installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).msi
|
|
dir $(build.sourcesdirectory)\extractedMsi
|
|
|
|
# Did we sign all files
|
|
- task: PowerShell@1
|
|
displayName: Verifying entire build is signed and version set
|
|
inputs:
|
|
scriptName: .pipelines/versionAndSignCheck.ps1
|
|
arguments: -targetDir '$(build.sourcesdirectory)\extractedMsi\File'
|
|
|
|
- task: PowerShell@1
|
|
displayName: Verifying MSI Custom Actions DLL is signed
|
|
inputs:
|
|
scriptName: .pipelines/versionAndSignCheck.ps1
|
|
arguments: -targetDir '$(build.sourcesdirectory)\extractedMsi\Binary'
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: Sign MSI
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: 'installer/PowerToysSetup/$(BuildPlatform)\$(BuildConfiguration)'
|
|
signType: batchSigning
|
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
#### END MSI
|
|
|
|
#### BOOTSTRAP BUILDING AND SIGNING
|
|
- task: VSBuild@1
|
|
displayName: Build Bootstrapper
|
|
inputs:
|
|
solution: '**/installer/PowerToysSetup.sln'
|
|
vsVersion: 17.0
|
|
msbuildArgs: /p:CIBuild=true /bl:$(Build.SourcesDirectory)\msbuild.binlog /t:PowerToysBootstrapper
|
|
platform: $(BuildPlatform)
|
|
configuration: $(BuildConfiguration)
|
|
clean: false # don't undo our hard work above by deleting the MSI
|
|
maximumCpuCount: true
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Insignia: Extract Engine from Bundle'
|
|
inputs:
|
|
script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ib installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\engine.exe'
|
|
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: 'ESRP CodeSigning (Engine)'
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: 'installer'
|
|
Pattern: engine.exe
|
|
signConfigType: inlineSignParams
|
|
inlineOperation: |
|
|
[
|
|
{
|
|
"KeyCode": "CP-230012",
|
|
"OperationCode": "SigntoolSign",
|
|
"Parameters": {
|
|
"OpusName": "Microsoft",
|
|
"OpusInfo": "http://www.microsoft.com",
|
|
"FileDigest": "/fd \"SHA256\"",
|
|
"PageHash": "/NPH",
|
|
"TimeStamp": "/tr \"http://rfc3161.gtm.corp.microsoft.com/TSS/HttpTspServer\" /td sha256"
|
|
},
|
|
"ToolName": "sign",
|
|
"ToolVersion": "1.0"
|
|
},
|
|
{
|
|
"KeyCode": "CP-230012",
|
|
"OperationCode": "SigntoolVerify",
|
|
"Parameters": {},
|
|
"ToolName": "sign",
|
|
"ToolVersion": "1.0"
|
|
}
|
|
]
|
|
|
|
- task: CmdLine@2
|
|
displayName: 'Insignia: Merge Engine into Bundle'
|
|
inputs:
|
|
script: '"C:\Program Files (x86)\WiX Toolset v3.14\bin\insignia.exe" -ab installer\engine.exe installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe -o installer\PowerToysSetup\$(BuildPlatform)\$(BuildConfiguration)\PowerToysSetup-${{ parameters.versionNumber }}-$(BuildPlatform).exe'
|
|
|
|
- task: SFP.build-tasks.custom-build-task-1.EsrpCodeSigning@1
|
|
displayName: Sign Bootstrapper
|
|
inputs:
|
|
ConnectedServiceName: 'Terminal/Console/WinAppDriver Team Code Signing Connection'
|
|
FolderPath: 'installer/PowerToysSetup/$(BuildPlatform)\$(BuildConfiguration)'
|
|
signType: batchSigning
|
|
batchSignPolicyFile: '$(build.sourcesdirectory)\.pipelines\ESRPSigning_installer.json'
|
|
ciPolicyFile: '$(build.sourcesdirectory)\.pipelines\CIPolicy.xml'
|
|
#### END BOOTSTRAP
|
|
## END INSTALLER
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: binlog'
|
|
condition: failed()
|
|
continueOnError: True
|
|
inputs:
|
|
PathtoPublish: $(Build.SourcesDirectory)\msbuild.binlog
|
|
ArtifactName: binlog-$(BuildPlatform)
|
|
|
|
- task: ComponentGovernanceComponentDetection@0
|
|
displayName: Component Detection
|
|
|
|
- task: CopyFiles@2
|
|
displayName: Copying files for symbols
|
|
inputs:
|
|
contents: >-
|
|
**/*.pdb
|
|
flattenFolders: True
|
|
targetFolder: $(Build.ArtifactStagingDirectory)/Symbols-$(BuildPlatform)/
|
|
|
|
- task: PowerShell@2
|
|
displayName: 'Remove unneeded files from ArtifactStagingDirectory'
|
|
inputs:
|
|
targetType: 'inline'
|
|
script: |
|
|
cd $(Build.ArtifactStagingDirectory)/Symbols-$(BuildPlatform)/
|
|
Remove-Item vc143.pdb
|
|
Remove-Item *test*
|
|
|
|
- task: PublishSymbols@2
|
|
displayName: Publish symbols path
|
|
continueOnError: True
|
|
inputs:
|
|
SearchPattern: |
|
|
$(Build.ArtifactStagingDirectory)/Symbols-$(BuildPlatform)/**/*.*
|
|
IndexSources: false
|
|
SymbolServerType: TeamServices
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: Symbols'
|
|
inputs:
|
|
PathtoPublish: $(System.ArtifactsDirectory)/Symbols-$(BuildPlatform)/
|
|
ArtifactName: Symbols-${{ parameters.versionNumber }}-$(BuildPlatform)
|
|
|
|
- task: DeleteFiles@1
|
|
displayName: 'Remove symbols from ArtifactStagingDirectory'
|
|
inputs:
|
|
Contents: '*'
|
|
SourceFolder: $(Build.ArtifactStagingDirectory)/Symbols-$(BuildPlatform)/
|
|
RemoveSourceFolder: True
|
|
|
|
- task: CopyFiles@2
|
|
displayName: Copying setup file over
|
|
inputs:
|
|
contents: '**/PowerToysSetup-*.exe'
|
|
flattenFolders: True
|
|
targetFolder: $(Build.ArtifactStagingDirectory)
|
|
|
|
- task: PublishBuildArtifacts@1
|
|
displayName: 'Publish Artifact: PowerToySetup'
|
|
inputs:
|
|
PathtoPublish: $(System.ArtifactsDirectory)
|
|
ArtifactName: setup-$(BuildPlatform)
|
|
...
|