sboulema / VsixTools

Vsix Tools is a set of extensions for Azure DevOps

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vsix Tools

Build Status Donate

Vsix Tools is a set of extensions for Azure DevOps that:

  1. Populates the version in a vsix manifest file from a build.
  2. Uploads the vsix to the Open VSIX gallery.
  3. Uploads the vsix to a MyGet Vsix Feed.
  4. Uploads the vsix to the Visual Studio Marketplace.
  5. Signs the vsix.

Examples

UpdateVersion

steps:
- task: VsixToolsUpdateVersion@1
  displayName: 'Set Vsix Version'
  inputs:
    FileName: 'source.extension.vsixmanifest' # Default: 'source.extension.vsixmanifest'
    VersionNumber: 1.0.0 # Default: '$(Build.BuildNumber)'

Arguments

Argument Description
FileName (Optional) Path to the source.extension.vsixmanifest file
VersionNumber (Optional) Version number to use in the manifest file, must be a valid version eg. 4.5.12.0

UploadVsix

steps:
- task: VsixToolsUploadVsix@1
  displayName: 'Upload Vsix'
  inputs:
    UploadTo: 'OpenGallery' # Options: 'OpenGallery', 'MyGetVsix', 'Marketplace'; Default: OpenGallery
    WorkingDirectory: '$(Build.ArtifactStagingDirectory)' # Default: '$(Build.ArtifactStagingDirectory)'
    ConnectedServiceName: 'MyGetVsix'
    PublishManifest: '**\*.json'
    PersonalAccessToken: '***'

Arguments

Argument Description
UploadTo (Optional) Destination for the uploaded Vsix
WorkingDirectory (Optional) Location of the folder containing the Vsix file
ConnectedServiceName (Required if UploadTo set to MyGetVsix) Name of the MyGet Vsix service connection to use for upload
PublishManifest (Required if UploadTo set to Marketplace) Location of the publish manifest json file
PersonalAccessToken (Required if UploadTo set to Marketplace) Token for publishing to the Marketplace

SignVsix

steps:
- task: VsixToolsSignVsix@1
  displayName: 'Sign Vsix'
  inputs:
    CertFile: 'GUID'
    Password: '***' 
    SHA1: 'xx xx xx'
    WorkingDirectory: '$(Build.ArtifactStagingDirectory)' # Default: '$(Build.ArtifactStagingDirectory)'

Arguments

Argument Description
CertFile (Optional) Must be a Secure File Id
CertificatePath (Optional) Location of the certificate file
Password (Required) Password for the Certificate
SHA1 (Required) SHA1 Hash of the Certificate
Username (Optional) Username for retrieving the CertFile
Personal Access Token (Optional) PAT for retrieving the CertFile
TimestampURL (Optional) URL to a timestamp server
TimestampAlgorithm (Optional) Algorithm to tuse with timestamp server
WorkingDirectory (Optional) Location of the folder containing the Vsix file

Building

  1. Run Build.ps1
  2. Run Package.ps1

Thanks

About

Vsix Tools is a set of extensions for Azure DevOps

License:MIT License


Languages

Language:PowerShell 100.0%