diff --git a/Build/package/cpptools_extension_pack.yml b/Build/package/cpptools_extension_pack.yml index a2f1e8820..b548729c7 100644 --- a/Build/package/cpptools_extension_pack.yml +++ b/Build/package/cpptools_extension_pack.yml @@ -44,5 +44,5 @@ extends: - template: /Build/package/jobs_package_vsix.yml@self parameters: - vsixName: cpptools-extension-pack.vsix + vsixName: cpptools-extension-pack srcDir: ExtensionPack \ No newline at end of file diff --git a/Build/package/cpptools_themes.yml b/Build/package/cpptools_themes.yml index f15eb25fa..ad5862dc6 100644 --- a/Build/package/cpptools_themes.yml +++ b/Build/package/cpptools_themes.yml @@ -44,5 +44,5 @@ extends: - template: /Build/package/jobs_package_vsix.yml@self parameters: - vsixName: cpptools-themes.vsix + vsixName: cpptools-themes srcDir: Themes \ No newline at end of file diff --git a/Build/package/jobs_package_vsix.yml b/Build/package/jobs_package_vsix.yml index e5f6f71a8..31938fcf5 100644 --- a/Build/package/jobs_package_vsix.yml +++ b/Build/package/jobs_package_vsix.yml @@ -11,7 +11,7 @@ parameters: jobs: - job: package - displayName: Build ${{ parameters.vsixName }} + displayName: Build ${{ parameters.vsixName }}.vsix timeoutInMinutes: 30 cancelTimeoutInMinutes: 1 templateContext: @@ -26,7 +26,7 @@ jobs: autoBaseline: false outputs: - output: pipelineArtifact - displayName: '${{ parameters.vsixName }}' + displayName: '${{ parameters.vsixName }}.vsix' targetPath: $(Build.ArtifactStagingDirectory)\vsix artifactName: vsix @@ -38,10 +38,8 @@ jobs: inputs: version: 22.x - - task: Npm@0 - displayName: Install vsce - inputs: - arguments: --global @vscode/vsce + - script: npm install --global @vscode/vsce@3.1.1 + displayName: install vsce@3.1.1 - task: geeklearningio.gl-vsts-tasks-yarn.yarn-installer-task.YarnInstaller@3 displayName: Use Yarn 1.x @@ -51,11 +49,27 @@ jobs: - script: | cd $(Build.SourcesDirectory)\${{ parameters.srcDir }} - vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }} + vsce package -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix displayName: Run VSCE to package vsix - - task: Npm@0 - displayName: Uninstall vsce +# sign the vsix + - script: vsce generate-manifest -i $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.vsix -o $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest + displayName: generate manifest + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + - script: copy $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.manifest $(Build.ArtifactStagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s + displayName: prepare manifest for signing + workingDirectory: $(Build.SourcesDirectory)\${{ parameters.srcDir }} + - task: NuGetToolInstaller@1 + displayName: Install NuGet + - task: NuGetAuthenticate@1 + displayName: Authenticate NuGet + - script: nuget restore $(Build.SourcesDirectory)\Build\signing\SignVsix.proj -PackagesDirectory $(Build.SourcesDirectory)\Build\signing\packages + displayName: Restore MicroBuild Core + - task: MSBuild@1 + displayName: Sign the vsix inputs: - command: uninstall - arguments: --global @vscode/vsce \ No newline at end of file + solution: $(Build.SourcesDirectory)\Build\signing\SignVsix.proj + msbuildArguments: /p:SignType=${{ parameters.signType }} + + - script: npm uninstall --global @vscode/vsce + displayName: uninstall vsce diff --git a/Build/publish/cpptools_extension_pack.yml b/Build/publish/cpptools_extension_pack.yml index e78aba160..b5e55d7bf 100644 --- a/Build/publish/cpptools_extension_pack.yml +++ b/Build/publish/cpptools_extension_pack.yml @@ -39,5 +39,5 @@ extends: jobs: - template: /Build/publish/jobs_publish_vsix.yml@self parameters: - vsixName: cpptools-extension-pack.vsix + vsixName: cpptools-extension-pack diff --git a/Build/publish/cpptools_themes.yml b/Build/publish/cpptools_themes.yml index 4e35a50c3..1659dff10 100644 --- a/Build/publish/cpptools_themes.yml +++ b/Build/publish/cpptools_themes.yml @@ -39,5 +39,5 @@ extends: jobs: - template: /Build/publish/jobs_publish_vsix.yml@self parameters: - vsixName: cpptools-themes.vsix + vsixName: cpptools-themes diff --git a/Build/publish/jobs_publish_vsix.yml b/Build/publish/jobs_publish_vsix.yml index 44016f494..fd3f9cc89 100644 --- a/Build/publish/jobs_publish_vsix.yml +++ b/Build/publish/jobs_publish_vsix.yml @@ -37,7 +37,7 @@ jobs: Write-Host "##vso[task.setvariable variable=AAD_TOKEN;issecret=true]$aadToken" - script: | - vsce publish --packagePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }} + npx @vscode/vsce@latest publish -i $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.vsix --manifestPath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.manifest --signaturePath $(Build.StagingDirectory)\vsix\${{ parameters.vsixName }}.signature.p7s displayName: Publish to Marketplace env: VSCE_PAT: $(AAD_TOKEN) diff --git a/ExtensionPack/README.md b/ExtensionPack/README.md index 3caab62bd..08e41cbe2 100644 --- a/ExtensionPack/README.md +++ b/ExtensionPack/README.md @@ -3,5 +3,5 @@ This extension pack includes a set of popular extensions for C++ development in Visual Studio Code: * [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) * [C/C++ Themes](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools-themes) -* [C/C++ Dev Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpp-devtools) +* [C/C++ DevTools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpp-devtools) * [CMake Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cmake-tools)