diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e16e7fbf..043c9519 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -104,10 +104,6 @@ jobs:
with:
go-version: "^1.19.5"
- - name: Embed octo portable
- run: |
- pwsh ./embed-octo.ps1
-
- name: Replace versions in tasks and create vsix
run: |
./pack.ps1 -environment Production -version ${{ needs.build.outputs.package_version }} -setupTaskDependencies
diff --git a/.octopus/deployment_process.ocl b/.octopus/deployment_process.ocl
index c7cc040c..a794ea11 100644
--- a/.octopus/deployment_process.ocl
+++ b/.octopus/deployment_process.ocl
@@ -1,4 +1,5 @@
-step "Push to Azure Marketplace" {
+step "push-to-azure-marketplace" {
+ name = "Push to Azure Marketplace"
action {
action_type = "Octopus.Script"
@@ -19,8 +20,9 @@ step "Push to Azure Marketplace" {
# Install PowerShell
apt-get install -y powershell
+
environment=$(get_octopusvariable "Octopus.Environment.Name")
- version=$(get_octopusvariable "Octopus.Release.Number")
+ version=$(get_octopusvariable "Octopus.Action.Package[OctoTFS.vsix].PackageVersion")
accessToken=$(get_octopusvariable "AccessToken")
shareWith=$(get_octopusvariable "ShareWith")
vsixPath=$(get_octopusvariable "Octopus.Action.Package[OctoTFS.vsix].ExtractedPath")
@@ -28,6 +30,8 @@ step "Push to Azure Marketplace" {
npm install -g tfx-cli
+ export TFX_TRACE=1
+
pwsh $publishPath/publish.ps1 -environment $environment -version $version -accessToken $accessToken -packagePath $vsixPath -manifestsPath $publishPath -shareWith "$shareWith" || exit 1
if [ "$environment" == "Test" ]
@@ -45,20 +49,20 @@ step "Push to Azure Marketplace" {
new_octopusartifact "/home/Octopus/$artifactFile" "$artifactFile"
- EOT
+ EOT
Octopus.Action.Script.ScriptSource = "Inline"
Octopus.Action.Script.Syntax = "Bash"
}
- worker_pool = "Hosted Ubuntu"
+ worker_pool = "hosted-ubuntu"
container {
- feed = "Docker Hub"
+ feed = "docker-hub"
image = "node:buster"
}
packages "OctoTFS.vsix" {
acquisition_location = "Server"
- feed = "Octopus Server (built-in)"
+ feed = "octopus-server-built-in"
package_id = "OctoTFS.vsix"
properties = {
Extract = "True"
@@ -69,7 +73,7 @@ step "Push to Azure Marketplace" {
packages "OctoTFS.publish" {
acquisition_location = "Server"
- feed = "Octopus Server (built-in)"
+ feed = "octopus-server-built-in"
package_id = "OctoTFS.publish"
properties = {
Extract = "True"
@@ -80,11 +84,12 @@ step "Push to Azure Marketplace" {
}
}
-step "Queue and verify a test build" {
+step "queue-and-verify-a-test-build" {
+ name = "Queue and verify a test build"
action {
action_type = "Octopus.Script"
- environments = ["Test"]
+ environments = ["test"]
properties = {
Octopus.Action.Script.ScriptBody = <<-EOT
$queueBuildUrl = "https://octopus-deploy-test.visualstudio.com/DefaultCollection/VSTS.Extensions.TestProject/_apis/build/builds?api-version=2.0"
@@ -147,10 +152,10 @@ step "Queue and verify a test build" {
Write-Error "Build failed or didn't finish within 5 minutes!"
}
- EOT
+ EOT
Octopus.Action.Script.ScriptSource = "Inline"
Octopus.Action.Script.Syntax = "PowerShell"
}
- worker_pool = "Hosted Ubuntu"
+ worker_pool = "hosted-ubuntu"
}
}
\ No newline at end of file
diff --git a/.octopus/deployment_settings.ocl b/.octopus/deployment_settings.ocl
index 3561140e..0e460069 100644
--- a/.octopus/deployment_settings.ocl
+++ b/.octopus/deployment_settings.ocl
@@ -3,9 +3,8 @@ connectivity_policy {
}
versioning_strategy {
-
donor_package {
package = "OctoTFS.vsix"
- step = "Push to Azure Marketplace"
+ step = "push-to-azure-marketplace"
}
}
\ No newline at end of file
diff --git a/.octopus/schema_version.ocl b/.octopus/schema_version.ocl
index dcc0792d..4548a61f 100644
--- a/.octopus/schema_version.ocl
+++ b/.octopus/schema_version.ocl
@@ -1 +1 @@
-version = 3
\ No newline at end of file
+version = 6
\ No newline at end of file
diff --git a/embed-octo.cmd b/embed-octo.cmd
deleted file mode 100644
index 071b9174..00000000
--- a/embed-octo.cmd
+++ /dev/null
@@ -1,4 +0,0 @@
-@echo off
-setlocal
-cd "%~dp0"
-powershell -NoProfile -ExecutionPolicy Unrestricted .\embed-octo.ps1 %*
\ No newline at end of file
diff --git a/embed-octo.ps1 b/embed-octo.ps1
deleted file mode 100644
index 5158c89e..00000000
--- a/embed-octo.ps1
+++ /dev/null
@@ -1,88 +0,0 @@
-param (
- [string]
- $version = "latest",
- $platform="portable",
- [string]
- $extension=".zip",
- [string]
- $latestOctoUrl = "https://g.octopushq.com/LatestTools",
- [string]
- $basePath = $PSScriptRoot
-)
-
-$ErrorActionPreference = "Stop"
-
-$buildDirectoryPath = "$basePath/dist"
-
-function Copy-Object($object){
- $result = New-Object PsObject
- $object.psobject.properties | ForEach-Object {
- $result | Add-Member -MemberType $_.MemberType -Name $_.Name -Value $_.Value
- }
- return $result;
-}
-
-function Expand-Template($template, $option){
- $result = $template;
- $option.psobject.Properties | ForEach-Object { $result = $result -replace "{\s*$($_.Name)\s*}", $_.Value }
- return $result;
-}
-
-function Update-Option($option, [HashTable]$overrides){
- $result = Copy-Object $option
- $overrides.Keys | ForEach-Object { $result.$_ = $overrides[$_] }
- return $result;
-}
-function Resolve-Version($version, $option) {
- if($version -ieq "latest"){
- return $option
- }else{
- $result = Update-Option $option @{ version = $version }
-
- $result.location = Expand-Template $result.template $result
- return $result
- }
-}
-
-function Resolve-InstallerTask($path){
- $taskManifestFiles = Get-ChildItem $path -Include "task.json" -Recurse
- foreach ($taskManifestFile in $taskManifestFiles) {
- if((Split-Path (Split-Path $taskManifestFile -Parent) -Leaf) -ieq "OctoInstallerV4")
- {
- return Split-Path $taskManifestFile -Parent
- }
- }
-}
-
-function Expand-EmbeddedOctoZip($zipPath, $extractPath) {
- Write-Host "Extracting $zipPath to $extractPath"
- Add-Type -assembly "System.IO.Compression.Filesystem"
- [IO.Compression.Zipfile]::ExtractToDirectory($zipPath, $extractPath)
-}
-
-
-$manifest = Invoke-RestMethod -Uri $latestOctoUrl
-$option = $manifest.downloads | Where-Object { $_.platform -ieq $platform -and $_.extension -ieq $extension }
-$option = Resolve-Version $version $option
-$name = (Split-Path $option.location -Leaf)
-$destinationFolder = Join-Path (Resolve-InstallerTask $buildDirectoryPath) "embedded"
-$destinationBinFolder = Join-Path $destinationFolder "bin"
-
-if(!(Test-Path $destinationFolder)){
- New-Item -ItemType Directory -Path $destinationFolder | Out-Null
-}
-
-$downloadFolder = Join-Path ([System.IO.Path]::GetTempPath()) "octo"
-$downloadDestination = Join-Path $downloadFolder $name
-Write-Host "Downloading Octo $($option.version) from $($option.location) and saving to $($downloadDestination)"
-
-if(!(Test-Path $downloadFolder)) {
- New-Item -ItemType Directory -Path $downloadFolder | Out-Null
-}
-
-(New-Object System.Net.WebClient).DownloadFile($option.location, $downloadDestination)
-Expand-EmbeddedOctoZip $downloadDestination $destinationBinFolder
-Remove-Item $downloadFolder -Force -Recurse
-
-$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False
-[System.IO.File]::WriteAllLines( (Join-Path $destinationFolder "version.json"), (ConvertTo-Json $option -Compress -Depth 100), $Utf8NoBomEncoding)
diff --git a/pack.ps1 b/pack.ps1
index 08ac4bb1..d824e94e 100644
--- a/pack.ps1
+++ b/pack.ps1
@@ -54,6 +54,23 @@ function UpdateTaskManifests($workingDirectory, $version, $envName) {
}
}
+
+function IsUnsupportedNode($directory) {
+ $result = $directory | Select-String -Pattern 'node-(\d+)'
+ foreach ($r in $result) {
+ if ([int] $r.Matches.Groups[1].Value -gt 9) {
+ return $false
+ }
+ }
+ return $true
+}
+
+function PruneDeasync($moduleDirectory) {
+ Get-ChildItem $moduleDirectory\deasync\bin -Filter "*-ia32-*" -Directory | Remove-Item -Recurse
+
+ Get-ChildItem $moduleDirectory\deasync\bin -Directory | Where-Object {IsUnsupportedNode $_.FullName} | Remove-Item -Recurse
+}
+
function SetupTaskDependencies($workingDirectory) {
$tempPath = "$basePath/modules";
@@ -66,6 +83,7 @@ function SetupTaskDependencies($workingDirectory) {
$command = "$goPath/bin/node-prune"
Invoke-Expression "$command $tempPath/node_modules"
+ PruneDeasync "$tempPath/node_modules"
$taskManifestFiles = Get-ChildItem $workingDirectory -Include "task.json" -Recurse
diff --git a/package-lock.json b/package-lock.json
index cc2a71af..41c359df 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7,8 +7,8 @@
"dependencies": {
"@octopusdeploy/api-client": "^3.0.8",
"azure-devops-node-api": "11.2.0",
- "azure-pipelines-task-lib": "3.3.1",
- "azure-pipelines-tool-lib": "1.3.2",
+ "azure-pipelines-task-lib": "4.7.0",
+ "azure-pipelines-tool-lib": "2.0.7",
"command-line-args": "^5.2.1",
"fp-ts": "1.19.5",
"glob": "7.2.0",
@@ -1295,14 +1295,6 @@
"integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==",
"dev": true
},
- "node_modules/@types/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/connect": {
"version": "3.4.35",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
@@ -1335,14 +1327,6 @@
"@types/range-parser": "*"
}
},
- "node_modules/@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "dependencies": {
- "@types/node": "*"
- }
- },
"node_modules/@types/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
@@ -1443,7 +1427,8 @@
"node_modules/@types/node": {
"version": "18.0.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.4.tgz",
- "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA=="
+ "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA==",
+ "dev": true
},
"node_modules/@types/prettier": {
"version": "2.6.3",
@@ -1459,7 +1444,8 @@
"node_modules/@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+ "dev": true
},
"node_modules/@types/ramda": {
"version": "0.28.15",
@@ -1765,6 +1751,17 @@
"node": ">=6.0"
}
},
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -1969,11 +1966,6 @@
"node": ">=8"
}
},
- "node_modules/asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
- },
"node_modules/async": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
@@ -2005,16 +1997,17 @@
}
},
"node_modules/azure-pipelines-task-lib": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz",
- "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.7.0.tgz",
+ "integrity": "sha512-5MctDC1Bt7eFi9tQTXlikuWRDc2MenCNruMsEwcKuXqBj1ZY+fA/D+E1DbE0Qi2u8kl1p6szT0we8k6RHSOe/w==",
"dependencies": {
+ "adm-zip": "^0.5.10",
+ "deasync": "^0.1.28",
"minimatch": "3.0.5",
- "mockery": "^1.7.0",
+ "nodejs-file-downloader": "^4.11.1",
"q": "^1.5.1",
"semver": "^5.1.0",
"shelljs": "^0.8.5",
- "sync-request": "6.1.0",
"uuid": "^3.0.1"
}
},
@@ -2047,13 +2040,13 @@
}
},
"node_modules/azure-pipelines-tool-lib": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-1.3.2.tgz",
- "integrity": "sha512-PtYcd3E2ouwZhLuaOpWA00FYoLjRuJs1V8mNu3u6lBnqeYd4jh/8VL/of6nchm8f2NM6Div+EEnbOcmWvcptPg==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz",
+ "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==",
"dependencies": {
"@types/semver": "^5.3.0",
"@types/uuid": "^3.4.5",
- "azure-pipelines-task-lib": "^3.1.10",
+ "azure-pipelines-task-lib": "^4.1.0",
"semver": "^5.7.0",
"semver-compare": "^1.0.0",
"typed-rest-client": "^1.8.6",
@@ -2198,6 +2191,14 @@
}
]
},
+ "node_modules/bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "dependencies": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"node_modules/bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
@@ -2354,7 +2355,8 @@
"node_modules/buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
},
"node_modules/bytes": {
"version": "3.1.2",
@@ -2411,11 +2413,6 @@
}
]
},
- "node_modules/caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
"node_modules/chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -2543,47 +2540,6 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "node_modules/concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "engines": [
- "node >= 0.8"
- ],
- "dependencies": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- }
- },
- "node_modules/concat-stream/node_modules/readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/concat-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "node_modules/concat-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
"node_modules/content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -2638,7 +2594,8 @@
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
},
"node_modules/crc-32": {
"version": "1.2.2",
@@ -2685,11 +2642,23 @@
"node": ">= 8"
}
},
+ "node_modules/deasync": {
+ "version": "0.1.29",
+ "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz",
+ "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "bindings": "^1.5.0",
+ "node-addon-api": "^1.7.1"
+ },
+ "engines": {
+ "node": ">=0.11.0"
+ }
+ },
"node_modules/debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"dependencies": {
"ms": "2.1.2"
},
@@ -3685,6 +3654,11 @@
"node": "^10.12.0 || >=12.0.0"
}
},
+ "node_modules/file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
+ },
"node_modules/fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -3904,14 +3878,6 @@
"node": ">=8.0.0"
}
},
- "node_modules/get-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
@@ -4033,20 +3999,6 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
- "node_modules/http-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "dependencies": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -4063,19 +4015,18 @@
"node": ">= 0.8"
}
},
- "node_modules/http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"dependencies": {
- "@types/node": "^10.0.3"
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
}
},
- "node_modules/http-response-object/node_modules/@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
- },
"node_modules/human-signals": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
@@ -4281,7 +4232,8 @@
"node_modules/isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
},
"node_modules/isexe": {
"version": "2.0.0",
@@ -5342,16 +5294,10 @@
"node": ">=10"
}
},
- "node_modules/mockery": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/mockery/-/mockery-1.7.0.tgz",
- "integrity": "sha512-gUQA33ayi0tuAhr/rJNZPr7Q7uvlBt4gyJPbi0CDcAfIzIrDu1YgGMFgmAu3stJqBpK57m7+RxUbcS+pt59fKQ=="
- },
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/natural-compare": {
"version": "1.4.0",
@@ -5368,6 +5314,11 @@
"node": ">= 0.6"
}
},
+ "node_modules/node-addon-api": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
+ "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="
+ },
"node_modules/node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@@ -5380,6 +5331,17 @@
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
+ "node_modules/nodejs-file-downloader": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz",
+ "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==",
+ "dependencies": {
+ "follow-redirects": "^1.15.1",
+ "https-proxy-agent": "^5.0.0",
+ "mime-types": "^2.1.27",
+ "sanitize-filename": "^1.6.3"
+ }
+ },
"node_modules/normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -5524,11 +5486,6 @@
"node": ">=6"
}
},
- "node_modules/parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
- },
"node_modules/parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -5707,15 +5664,8 @@
"node_modules/process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "node_modules/promise": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
- "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
- "dependencies": {
- "asap": "~2.0.6"
- }
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
},
"node_modules/prompts": {
"version": "2.4.2",
@@ -6064,6 +6014,14 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
+ "node_modules/sanitize-filename": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
+ "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
+ "dependencies": {
+ "truncate-utf8-bytes": "^1.0.0"
+ }
+ },
"node_modules/semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
@@ -6413,27 +6371,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "dependencies": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "dependencies": {
- "get-port": "^3.1.0"
- }
- },
"node_modules/tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
@@ -6512,45 +6449,6 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "node_modules/then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "dependencies": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/then-request/node_modules/@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
- },
- "node_modules/then-request/node_modules/form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
"node_modules/tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -6587,6 +6485,14 @@
"node": ">=0.6"
}
},
+ "node_modules/truncate-utf8-bytes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
+ "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==",
+ "dependencies": {
+ "utf8-byte-length": "^1.0.1"
+ }
+ },
"node_modules/ts-jest": {
"version": "28.0.5",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz",
@@ -6769,11 +6675,6 @@
"underscore": "^1.12.1"
}
},
- "node_modules/typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
- },
"node_modules/typescript": {
"version": "4.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
@@ -6849,10 +6750,16 @@
"resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
"integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="
},
+ "node_modules/utf8-byte-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
+ "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA=="
+ },
"node_modules/util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
},
"node_modules/utils-merge": {
"version": "1.0.1",
@@ -8074,14 +7981,6 @@
"integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==",
"dev": true
},
- "@types/concat-stream": {
- "version": "1.6.1",
- "resolved": "https://registry.npmjs.org/@types/concat-stream/-/concat-stream-1.6.1.tgz",
- "integrity": "sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==",
- "requires": {
- "@types/node": "*"
- }
- },
"@types/connect": {
"version": "3.4.35",
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
@@ -8114,14 +8013,6 @@
"@types/range-parser": "*"
}
},
- "@types/form-data": {
- "version": "0.0.33",
- "resolved": "https://registry.npmjs.org/@types/form-data/-/form-data-0.0.33.tgz",
- "integrity": "sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==",
- "requires": {
- "@types/node": "*"
- }
- },
"@types/glob": {
"version": "7.2.0",
"resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
@@ -8222,7 +8113,8 @@
"@types/node": {
"version": "18.0.4",
"resolved": "https://registry.npmjs.org/@types/node/-/node-18.0.4.tgz",
- "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA=="
+ "integrity": "sha512-M0+G6V0Y4YV8cqzHssZpaNCqvYwlCiulmm0PwpNLF55r/+cT8Ol42CHRU1SEaYFH2rTwiiE1aYg/2g2rrtGdPA==",
+ "dev": true
},
"@types/prettier": {
"version": "2.6.3",
@@ -8238,7 +8130,8 @@
"@types/qs": {
"version": "6.9.7",
"resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
+ "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==",
+ "dev": true
},
"@types/ramda": {
"version": "0.28.15",
@@ -8441,6 +8334,14 @@
"resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz",
"integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ=="
},
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
+ },
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@@ -8603,11 +8504,6 @@
"integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
"dev": true
},
- "asap": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz",
- "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA=="
- },
"async": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
@@ -8639,16 +8535,17 @@
}
},
"azure-pipelines-task-lib": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-3.3.1.tgz",
- "integrity": "sha512-56ZAr4MHIoa24VNVuwPL4iUQ5MKaigPoYXkBG8E8fiVmh8yZdatUo25meNoQwg77vDY22F63Q44UzXoMWmy7ag==",
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.7.0.tgz",
+ "integrity": "sha512-5MctDC1Bt7eFi9tQTXlikuWRDc2MenCNruMsEwcKuXqBj1ZY+fA/D+E1DbE0Qi2u8kl1p6szT0we8k6RHSOe/w==",
"requires": {
+ "adm-zip": "^0.5.10",
+ "deasync": "^0.1.28",
"minimatch": "3.0.5",
- "mockery": "^1.7.0",
+ "nodejs-file-downloader": "^4.11.1",
"q": "^1.5.1",
"semver": "^5.1.0",
"shelljs": "^0.8.5",
- "sync-request": "6.1.0",
"uuid": "^3.0.1"
},
"dependencies": {
@@ -8673,13 +8570,13 @@
}
},
"azure-pipelines-tool-lib": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-1.3.2.tgz",
- "integrity": "sha512-PtYcd3E2ouwZhLuaOpWA00FYoLjRuJs1V8mNu3u6lBnqeYd4jh/8VL/of6nchm8f2NM6Div+EEnbOcmWvcptPg==",
+ "version": "2.0.7",
+ "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.7.tgz",
+ "integrity": "sha512-1FN67ypNwNhgZllYSm4/pAQdffSfEZJhwW8YeNvm/cKDTS6t6bukTBIkt04c1CsaQe7Ot+eDOVMn41wX1ketXw==",
"requires": {
"@types/semver": "^5.3.0",
"@types/uuid": "^3.4.5",
- "azure-pipelines-task-lib": "^3.1.10",
+ "azure-pipelines-task-lib": "^4.1.0",
"semver": "^5.7.0",
"semver-compare": "^1.0.0",
"typed-rest-client": "^1.8.6",
@@ -8784,6 +8681,14 @@
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
"dev": true
},
+ "bindings": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+ "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+ "requires": {
+ "file-uri-to-path": "1.0.0"
+ }
+ },
"bl": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz",
@@ -8899,7 +8804,8 @@
"buffer-from": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
},
"bytes": {
"version": "3.1.2",
@@ -8934,11 +8840,6 @@
"integrity": "sha512-yy7XLWCubDobokgzudpkKux8e0UOOnLHE6mlNJBzT3lZJz6s5atSEzjoL+fsCPkI0G8MP5uVdDx1ur/fXEWkZA==",
"dev": true
},
- "caseless": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
- "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw=="
- },
"chalk": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
@@ -9041,46 +8942,6 @@
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
- "concat-stream": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
- "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
- "requires": {
- "buffer-from": "^1.0.0",
- "inherits": "^2.0.3",
- "readable-stream": "^2.2.2",
- "typedarray": "^0.0.6"
- },
- "dependencies": {
- "readable-stream": {
- "version": "2.3.7",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
- "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
- "requires": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
- },
- "string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
"content-disposition": {
"version": "0.5.4",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
@@ -9128,7 +8989,8 @@
"core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
+ "dev": true
},
"crc-32": {
"version": "1.2.2",
@@ -9163,11 +9025,19 @@
"which": "^2.0.1"
}
},
+ "deasync": {
+ "version": "0.1.29",
+ "resolved": "https://registry.npmjs.org/deasync/-/deasync-0.1.29.tgz",
+ "integrity": "sha512-EBtfUhVX23CE9GR6m+F8WPeImEE4hR/FW9RkK0PMl9V1t283s0elqsTD8EZjaKX28SY1BW2rYfCgNsAYdpamUw==",
+ "requires": {
+ "bindings": "^1.5.0",
+ "node-addon-api": "^1.7.1"
+ }
+ },
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
"requires": {
"ms": "2.1.2"
}
@@ -9829,6 +9699,11 @@
"flat-cache": "^3.0.4"
}
},
+ "file-uri-to-path": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+ "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -9993,11 +9868,6 @@
"integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
"dev": true
},
- "get-port": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz",
- "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg=="
- },
"get-stream": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
@@ -10080,17 +9950,6 @@
"integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
"dev": true
},
- "http-basic": {
- "version": "8.1.3",
- "resolved": "https://registry.npmjs.org/http-basic/-/http-basic-8.1.3.tgz",
- "integrity": "sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==",
- "requires": {
- "caseless": "^0.12.0",
- "concat-stream": "^1.6.2",
- "http-response-object": "^3.0.1",
- "parse-cache-control": "^1.0.1"
- }
- },
"http-errors": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
@@ -10104,19 +9963,13 @@
"toidentifier": "1.0.1"
}
},
- "http-response-object": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/http-response-object/-/http-response-object-3.0.2.tgz",
- "integrity": "sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==",
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
"requires": {
- "@types/node": "^10.0.3"
- },
- "dependencies": {
- "@types/node": {
- "version": "10.17.60",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz",
- "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw=="
- }
+ "agent-base": "6",
+ "debug": "4"
}
},
"human-signals": {
@@ -10253,7 +10106,8 @@
"isarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "dev": true
},
"isexe": {
"version": "2.0.0",
@@ -11084,16 +10938,10 @@
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
"dev": true
},
- "mockery": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/mockery/-/mockery-1.7.0.tgz",
- "integrity": "sha512-gUQA33ayi0tuAhr/rJNZPr7Q7uvlBt4gyJPbi0CDcAfIzIrDu1YgGMFgmAu3stJqBpK57m7+RxUbcS+pt59fKQ=="
- },
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"natural-compare": {
"version": "1.4.0",
@@ -11107,6 +10955,11 @@
"integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
"dev": true
},
+ "node-addon-api": {
+ "version": "1.7.2",
+ "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-1.7.2.tgz",
+ "integrity": "sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg=="
+ },
"node-int64": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
@@ -11119,6 +10972,17 @@
"integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==",
"dev": true
},
+ "nodejs-file-downloader": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/nodejs-file-downloader/-/nodejs-file-downloader-4.12.1.tgz",
+ "integrity": "sha512-LpfCTNhh805AlLnJnzt1PuEj+RmbrccbAQZ6hBRw2e6QPVR0Qntuo6qqyvPHG5s77/0w0IEKgRAD4nbSnr/X4w==",
+ "requires": {
+ "follow-redirects": "^1.15.1",
+ "https-proxy-agent": "^5.0.0",
+ "mime-types": "^2.1.27",
+ "sanitize-filename": "^1.6.3"
+ }
+ },
"normalize-path": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
@@ -11223,11 +11087,6 @@
"callsites": "^3.0.0"
}
},
- "parse-cache-control": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parse-cache-control/-/parse-cache-control-1.0.1.tgz",
- "integrity": "sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg=="
- },
"parse-json": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
@@ -11351,15 +11210,8 @@
"process-nextick-args": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
- },
- "promise": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/promise/-/promise-8.1.0.tgz",
- "integrity": "sha512-W04AqnILOL/sPRXziNicCjSNRruLAuIHEOVBazepu0545DDNGYHz7ar9ZgZ1fMU8/MA4mVxp5rkBWRi6OXIy3Q==",
- "requires": {
- "asap": "~2.0.6"
- }
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
+ "dev": true
},
"prompts": {
"version": "2.4.2",
@@ -11591,6 +11443,14 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"dev": true
},
+ "sanitize-filename": {
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/sanitize-filename/-/sanitize-filename-1.6.3.tgz",
+ "integrity": "sha512-y/52Mcy7aw3gRm7IrcGDFx/bCk4AhRh2eI9luHOQM86nZsqwiRkkq2GekHXBBD+SmPidc8i2PqtYZl+pWJ8Oeg==",
+ "requires": {
+ "truncate-utf8-bytes": "^1.0.0"
+ }
+ },
"semver": {
"version": "7.3.8",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
@@ -11867,24 +11727,6 @@
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
},
- "sync-request": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/sync-request/-/sync-request-6.1.0.tgz",
- "integrity": "sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==",
- "requires": {
- "http-response-object": "^3.0.1",
- "sync-rpc": "^1.2.1",
- "then-request": "^6.0.0"
- }
- },
- "sync-rpc": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/sync-rpc/-/sync-rpc-1.3.6.tgz",
- "integrity": "sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==",
- "requires": {
- "get-port": "^3.1.0"
- }
- },
"tar-stream": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz",
@@ -11947,41 +11789,6 @@
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
"dev": true
},
- "then-request": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/then-request/-/then-request-6.0.2.tgz",
- "integrity": "sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==",
- "requires": {
- "@types/concat-stream": "^1.6.0",
- "@types/form-data": "0.0.33",
- "@types/node": "^8.0.0",
- "@types/qs": "^6.2.31",
- "caseless": "~0.12.0",
- "concat-stream": "^1.6.0",
- "form-data": "^2.2.0",
- "http-basic": "^8.1.1",
- "http-response-object": "^3.0.1",
- "promise": "^8.0.0",
- "qs": "^6.4.0"
- },
- "dependencies": {
- "@types/node": {
- "version": "8.10.66",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz",
- "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw=="
- },
- "form-data": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
- "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
- "requires": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.6",
- "mime-types": "^2.1.12"
- }
- }
- }
- },
"tmpl": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
@@ -12009,6 +11816,14 @@
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
"dev": true
},
+ "truncate-utf8-bytes": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz",
+ "integrity": "sha512-95Pu1QXQvruGEhv62XCMO3Mm90GscOCClvrIUwCM0PYOXK3kaF3l3sIHxx71ThJfcbM2O5Au6SO3AWCSEfW4mQ==",
+ "requires": {
+ "utf8-byte-length": "^1.0.1"
+ }
+ },
"ts-jest": {
"version": "28.0.5",
"resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.5.tgz",
@@ -12121,11 +11936,6 @@
"underscore": "^1.12.1"
}
},
- "typedarray": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
- "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
- },
"typescript": {
"version": "4.7.4",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz",
@@ -12172,10 +11982,16 @@
"resolved": "https://registry.npmjs.org/urijs/-/urijs-1.19.11.tgz",
"integrity": "sha512-HXgFDgDommxn5/bIv0cnQZsPhHDA90NPHD6+c/v21U5+Sx5hoP8+dP9IZXBU1gIfvdRfhG8cel9QNPeionfcCQ=="
},
+ "utf8-byte-length": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/utf8-byte-length/-/utf8-byte-length-1.0.4.tgz",
+ "integrity": "sha512-4+wkEYLBbWxqTahEsWrhxepcoVOJ+1z5PGIjPZxRkytcdSUaNjIjBM7Xn8E+pdSuV7SzvWovBFA54FO0JSoqhA=="
+ },
"util-deprecate": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+ "dev": true
},
"utils-merge": {
"version": "1.0.1",
diff --git a/package.json b/package.json
index a63b81ed..2e298475 100644
--- a/package.json
+++ b/package.json
@@ -40,8 +40,8 @@
"dependencies": {
"@octopusdeploy/api-client": "^3.0.8",
"azure-devops-node-api": "11.2.0",
- "azure-pipelines-task-lib": "3.3.1",
- "azure-pipelines-tool-lib": "1.3.2",
+ "azure-pipelines-task-lib": "4.7.0",
+ "azure-pipelines-tool-lib": "2.0.7",
"command-line-args": "^5.2.1",
"fp-ts": "1.19.5",
"glob": "7.2.0",
diff --git a/publish.ps1 b/publish.ps1
index 1d96d307..5c71810c 100644
--- a/publish.ps1
+++ b/publish.ps1
@@ -38,11 +38,6 @@ function PublishVSIX($vsixFile, $environment) {
throw "The valid environments are 'Test' and 'Production'"
}
- if(!(IsPublishRequired $manifest)){
- Write-Host "Version already published. Skipping publishing."
- return;
- }
-
if ($environment -eq "Production") {
Write-Host "Publishing $vsixFile to everyone (public extension)..."
& tfx extension publish --vsix $vsixFile --token $accessToken --no-prompt
diff --git a/source/extension-manifest.json b/source/extension-manifest.json
index 506bdf26..adcd6ba7 100644
--- a/source/extension-manifest.json
+++ b/source/extension-manifest.json
@@ -3,7 +3,7 @@
"id": "set-by-extension-manifest.environment.json",
"name": "set-by-extension-manifest.environment.json",
"version": "set-by-extension-manifest.environment.json",
- "publisher": "octopusdeploy",
+ "publisher": "octo-shane",
"targets": [
{
"id": "Microsoft.VisualStudio.Services.Cloud"
@@ -168,16 +168,6 @@
"name": "tasks/RunRunbook"
}
},
- {
- "id": "octopus-pack",
- "type": "ms.vss-distributed-task.task",
- "targets": [
- "ms.vss-distributed-task.tasks"
- ],
- "properties": {
- "name": "tasks/Pack"
- }
- },
{
"id": "octopus-pack-zip",
"type": "ms.vss-distributed-task.task",
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.png b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.png
deleted file mode 100644
index cae677b4..00000000
Binary files a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.svg b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.svg
deleted file mode 100644
index 4bef5678..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/index.ts b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/index.ts
deleted file mode 100644
index ebab652b..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/index.ts
+++ /dev/null
@@ -1,75 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { multiArgument, connectionArguments, includeAdditionalArgumentsAndProxyConfig, flag, argumentEnquote, argumentIfSet, getOrInstallOctoCommandRunner } from "../../Utils/tool";
-import { createReleaseNotesFile, createVstsConnection, generateReleaseNotesContent, getLinkedReleaseNotes, getVstsEnvironmentVariables } from "../../Utils/environment";
-import { getDefaultOctopusConnectionDetailsOrThrow, resolveProjectName } from "../../Utils/connection";
-import { getOptionalCsvInput } from "../../Utils/inputs";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const environmentVariables = getVstsEnvironmentVariables();
- const vstsConnection = createVstsConnection(environmentVariables);
- const octoConnection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- // @ts-expect-error
- const project = await resolveProjectName(octoConnection, tasks.getInput("ProjectName", true)).then((x) => x.value);
- const releaseNumber = tasks.getInput("ReleaseNumber");
- const channel = tasks.getInput("Channel");
- const changesetCommentReleaseNotes = tasks.getBoolInput("ChangesetCommentReleaseNotes");
- const workItemReleaseNotes = tasks.getBoolInput("WorkItemReleaseNotes");
- const customReleaseNotes = tasks.getInput("CustomReleaseNotes");
- const deployToEnvironments = getOptionalCsvInput("DeployToEnvironment");
- const deployForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTenantTags");
- const deploymentProgress = tasks.getBoolInput("DeploymentProgress");
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- const octo = await getOrInstallOctoCommandRunner("create-release");
-
- let linkedReleaseNotes = "";
- if (workItemReleaseNotes || changesetCommentReleaseNotes) {
- linkedReleaseNotes = await getLinkedReleaseNotes(vstsConnection, changesetCommentReleaseNotes, workItemReleaseNotes);
- }
-
- const releaseNotesFile = createReleaseNotesFile(() => {
- // @ts-expect-error
- return generateReleaseNotesContent(environmentVariables, linkedReleaseNotes, customReleaseNotes);
- }, environmentVariables.defaultWorkingDirectory);
-
- const configure = [
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- argumentEnquote("project", project),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "releaseNumber", releaseNumber),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "channel", channel),
- connectionArguments(octoConnection),
- flag("enableServiceMessages", true),
- multiArgument(argumentEnquote, "deployTo", deployToEnvironments),
- flag("progress", deployToEnvironments.length > 0 && deploymentProgress),
- multiArgument(argumentEnquote, "tenant", deployForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- argumentEnquote("releaseNotesFile", releaseNotesFile),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(octoConnection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(release;create;v3)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Create octopus release succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to create release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/task.json b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/task.json
deleted file mode 100644
index 331361a0..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV3/task.json
+++ /dev/null
@@ -1,223 +0,0 @@
-{
- "id": "4E131B60-5532-4362-95B6-7C67D9841B4F",
- "name": "OctopusCreateRelease",
- "friendlyName": "Create Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Create a Release in Octopus Deploy",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 3,
- "Minor": 1,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "releasenotes",
- "displayName": "Release Notes",
- "isExpanded": true
- },
- {
- "name": "deployment",
- "displayName": "Deployment",
- "isExpanded": false
- },
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "additional",
- "displayName": "Additional Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "string",
- "label": "Space (Legacy - Use version 4 of this task)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "False"
- },
- "helpMarkDown": "Version 3 of this task has limited support for spaces. We recommend using version 4 of this task for a better experience."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "ProjectName",
- "type": "pickList",
- "label": "Project Name",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Octopus Deploy Project Name"
- },
- {
- "name": "ReleaseNumber",
- "type": "string",
- "label": "Release Number",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The number to use for this release. You can leave this blank if the release number is calculated by Octopus."
- },
- {
- "name": "Channel",
- "type": "pickList",
- "label": "Channel",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The [channel](https://g.octopushq.com/Channels) to use for the release."
- },
- {
- "name": "ChangesetCommentReleaseNotes",
- "type": "boolean",
- "label": "Include Changeset Comments",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Whether to include linked Changeset comments in Octopus Release notes.",
- "groupName": "releasenotes"
- },
- {
- "name": "WorkItemReleaseNotes",
- "type": "boolean",
- "label": "Include Work Items",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Whether to include linked Work Item Titles in Octopus Release notes.",
- "groupName": "releasenotes"
- },
- {
- "name": "CustomReleaseNotes",
- "type": "string",
- "label": "Custom Notes",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Custom notes appended to Octopus Release notes. This field supports markdown. To include newlines, you can use HTML linebreaks.",
- "groupName": "releasenotes"
- },
- {
- "name": "DeployToEnvironment",
- "type": "pickList",
- "label": "To Environment",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release to this environment after creating it.",
- "groupName": "deployment"
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release for this comma-delimited list of tenants after creating it. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Deploy the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeploymentProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Output from the deployment will appear in the log. If checked, the task will only succeed if the deployment is successful.",
- "groupName": "deployment"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExeCreateRelease) for available parameters.",
- "groupName": "additional"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroups",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "ProjectName",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroup",
- "parameters": {
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployToEnvironment",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllEnvironments",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Channel",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectChannels",
- "parameters": {
- "ProjectName": "$(ProjectName)"
- },
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllTenants",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Create Octopus Release: $(ProjectName)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.png b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.png
deleted file mode 100644
index cae677b4..00000000
Binary files a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.svg b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.svg
deleted file mode 100644
index 4bef5678..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/index.ts b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/index.ts
deleted file mode 100644
index b9f2fc0a..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/index.ts
+++ /dev/null
@@ -1,83 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { createReleaseNotesFile, createVstsConnection, generateReleaseNotesContent, getLinkedReleaseNotes, getVstsEnvironmentVariables } from "../../Utils/environment";
-import { argumentEnquote, argumentIfSet, assertOctoVersionAcceptsIds, connectionArguments, flag, getOrInstallOctoCommandRunner, includeAdditionalArgumentsAndProxyConfig, multiArgument } from "../../Utils/tool";
-import { getOptionalCsvInput } from "../../Utils/inputs";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const environmentVariables = getVstsEnvironmentVariables();
- const vstsConnection = createVstsConnection(environmentVariables);
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- const project = tasks.getInput("ProjectName", true);
- const releaseNumber = tasks.getInput("ReleaseNumber");
- const channel = tasks.getInput("Channel");
- const changesetCommentReleaseNotes = tasks.getBoolInput("ChangesetCommentReleaseNotes");
- const workItemReleaseNotes = tasks.getBoolInput("WorkItemReleaseNotes");
- const customReleaseNotes = tasks.getInput("CustomReleaseNotes");
- const deployToEnvironments = getOptionalCsvInput("DeployToEnvironment");
- const deployForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTenantTags");
- const deploymentProgress = tasks.getBoolInput("DeploymentProgress");
- const additionalArguments = tasks.getInput("AdditionalArguments");
- const gitRef = tasks.getInput("GitRef");
- const gitCommit = tasks.getInput("GitCommit");
-
- await assertOctoVersionAcceptsIds();
- const octo = await getOrInstallOctoCommandRunner("create-release");
-
- const configure = [
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- // @ts-expect-error
- argumentEnquote("project", project),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "releaseNumber", releaseNumber),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "channel", channel),
- connectionArguments(connection),
- flag("enableServiceMessages", true),
- multiArgument(argumentEnquote, "deployTo", deployToEnvironments),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "gitRef", gitRef),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "gitCommit", gitCommit),
- flag("progress", deployToEnvironments.length > 0 && deploymentProgress),
- multiArgument(argumentEnquote, "tenant", deployForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- ];
-
- if (workItemReleaseNotes || changesetCommentReleaseNotes || (customReleaseNotes && /[^\s]/.test(customReleaseNotes))) {
- const linkedReleaseNotes = workItemReleaseNotes || changesetCommentReleaseNotes ? await getLinkedReleaseNotes(vstsConnection, changesetCommentReleaseNotes, workItemReleaseNotes) : "";
-
- const releaseNotesFile = createReleaseNotesFile(() => {
- // @ts-expect-error
- return generateReleaseNotesContent(environmentVariables, linkedReleaseNotes, customReleaseNotes);
- }, environmentVariables.defaultWorkingDirectory);
-
- configure.push(argumentEnquote("releaseNotesFile", releaseNotesFile));
- }
-
- // @ts-expect-error
- configure.push(includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments));
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(release;create;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Create octopus release succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to create release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/task.json b/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/task.json
deleted file mode 100644
index bbcc3df2..00000000
--- a/source/tasksLegacy/CreateOctopusRelease/CreateOctopusReleaseV4/task.json
+++ /dev/null
@@ -1,266 +0,0 @@
-{
- "id": "4E131B60-5532-4362-95B6-7C67D9841B4F",
- "name": "OctopusCreateRelease",
- "friendlyName": "Create Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Create a Release in Octopus Deploy",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "releasenotes",
- "displayName": "Release Notes (Legacy)",
- "isExpanded": true
- },
- {
- "name": "deployment",
- "displayName": "Deployment",
- "isExpanded": false
- },
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "versionControl",
- "displayName": "Version Control",
- "isExpanded": false
- },
- {
- "name": "additional",
- "displayName": "Additional Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "pickList",
- "label": "Space",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The space within Octopus."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "ProjectName",
- "type": "pickList",
- "label": "Project",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project within Octopus."
- },
- {
- "name": "ReleaseNumber",
- "type": "string",
- "label": "Release Number",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The number to use for this release. You can leave this blank if the release number is calculated by Octopus."
- },
- {
- "name": "Channel",
- "type": "pickList",
- "label": "Channel",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The [channel](https://g.octopushq.com/Channels) to use for the release."
- },
- {
- "name": "ChangesetCommentReleaseNotes",
- "type": "boolean",
- "label": "Include Changeset Comments",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Whether to add linked changeset comments to Octopus Release notes.\n\n*Note: These Release Notes options are considered legacy. We recommend clearing them and pushing [Build Information](https://g.octopushq.com/BuildInformation) alongside your packages, which allows the customizable [Release Notes Template](https://g.octopushq.com/ReleaseNotesTemplate) to generate automatic release notes.*",
- "groupName": "releasenotes"
- },
- {
- "name": "WorkItemReleaseNotes",
- "type": "boolean",
- "label": "Include Work Items",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Whether to add linked Work Item titles to Octopus Release notes.\n\n*Note: These Release Notes options are considered legacy. We recommend clearing them and pushing [Build Information](https://g.octopushq.com/BuildInformation) alongside your packages, which allows the customizable [Release Notes Template](https://g.octopushq.com/ReleaseNotesTemplate) to generate automatic release notes.*",
- "groupName": "releasenotes"
- },
- {
- "name": "CustomReleaseNotes",
- "type": "string",
- "label": "Custom Notes",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Custom notes appended to Octopus Release notes. This field supports markdown. To include newlines, you can use HTML linebreaks.\n\n*Note: These Release Notes options are considered legacy. We recommend clearing them and pushing [Build Information](https://g.octopushq.com/BuildInformation) alongside your packages, which allows the customizable [Release Notes Template](https://g.octopushq.com/ReleaseNotesTemplate) to generate automatic release notes.*",
- "groupName": "releasenotes"
- },
- {
- "name": "DeployToEnvironment",
- "type": "pickList",
- "label": "To Environment",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release to this environment after creating it.",
- "groupName": "deployment"
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release for this comma-delimited list of tenants after creating it. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Deploy the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeploymentProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Output from the deployment will appear in the log. If checked, the task will only succeed if the deployment is successful.",
- "groupName": "deployment"
- },
- {
- "name": "GitRef",
- "type": "string",
- "label": "Git Reference",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Git branch reference to use when creating the release for version controlled Projects.",
- "groupName": "versionControl"
- },
- {
- "name": "GitCommit",
- "type": "string",
- "label": "Git Commit",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Git commit to use when creating the release for version controlled Projects. Use in conjunction with the gitRef parameter to select any previous commit.",
- "groupName": "versionControl"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExeCreateRelease) for available parameters.",
- "groupName": "additional"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "Space",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllSpaces",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroupsInSpace",
- "parameters": {
- "SpaceId": "$(Space)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "ProjectName",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroupInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployToEnvironment",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectChannelEnvironmentsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectId": "$(ProjectName)",
- "ChannelId": "$(Channel)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Channel",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectChannelsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectName": "$(ProjectName)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectTenantsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectName": "$(ProjectName)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Create Octopus Release",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Deploy/DeployV3/icon.png b/source/tasksLegacy/Deploy/DeployV3/icon.png
deleted file mode 100644
index 591f4d25..00000000
Binary files a/source/tasksLegacy/Deploy/DeployV3/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Deploy/DeployV3/icon.svg b/source/tasksLegacy/Deploy/DeployV3/icon.svg
deleted file mode 100644
index fe7a4503..00000000
--- a/source/tasksLegacy/Deploy/DeployV3/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Deploy/DeployV3/index.ts b/source/tasksLegacy/Deploy/DeployV3/index.ts
deleted file mode 100644
index e99444b5..00000000
--- a/source/tasksLegacy/Deploy/DeployV3/index.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { multiArgument, connectionArguments, includeAdditionalArgumentsAndProxyConfig, flag, argumentEnquote, argumentIfSet, getOrInstallOctoCommandRunner } from "../../Utils/tool";
-import { getDefaultOctopusConnectionDetailsOrThrow, resolveProjectName } from "../../Utils/connection";
-import { getOptionalCsvInput, getRequiredCsvInput } from "../../Utils/inputs";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- const releaseNumber = tasks.getInput("ReleaseNumber", true);
- const environments = getRequiredCsvInput("Environments");
- const showProgress = tasks.getBoolInput("ShowProgress");
- const deploymentForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTenantTags");
- const additionalArguments = tasks.getInput("AdditionalArguments");
- // @ts-ignore
- const project = await resolveProjectName(connection, tasks.getInput("Project", true)).then((x) => x.value);
-
- const octo = await getOrInstallOctoCommandRunner("deploy-release");
-
- const configure = [
- // @ts-ignore
- argumentIfSet(argumentEnquote, "space", space),
- argumentEnquote("project", project),
- // @ts-ignore
- argumentEnquote("releaseNumber", releaseNumber),
- connectionArguments(connection),
- multiArgument(argumentEnquote, "deployTo", environments),
- multiArgument(argumentEnquote, "tenant", deploymentForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- flag("progress", showProgress),
- // @ts-ignore
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- let stepIdentifier = "(release;deploy;v3)";
- if (deploymentForTenants.length > 0 || deployForTenantTags.length > 0) {
- stepIdentifier = "(release;deploy-tenanted;v3)";
- }
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, stepIdentifier))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Deploy succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to deploy release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Deploy/DeployV3/task.json b/source/tasksLegacy/Deploy/DeployV3/task.json
deleted file mode 100644
index 3274fe57..00000000
--- a/source/tasksLegacy/Deploy/DeployV3/task.json
+++ /dev/null
@@ -1,164 +0,0 @@
-{
- "id": "8ca1d96a-151d-44b7-bc4f-9251e2ea6971",
- "name": "OctopusDeployRelease",
- "friendlyName": "Deploy Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Deploy an Octopus Deploy Release",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 3,
- "Minor": 1,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "string",
- "label": "Space (Legacy - Use version 4 of this task)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "False"
- },
- "helpMarkDown": "Version 3 of this task has limited support for spaces. We recommend using version 4 of this task for a better experience."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "Project",
- "type": "pickList",
- "label": "Project",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Octopus Deploy Project Name"
- },
- {
- "name": "ReleaseNumber",
- "type": "string",
- "label": "Release Number",
- "defaultValue": "latest",
- "required": true,
- "helpMarkDown": "The number of the release to deploy. Use 'latest' to deploy the latest release."
- },
- {
- "name": "Environments",
- "type": "pickList",
- "label": "Deploy to Environments",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Comma separated list of environments to deploy to."
- },
- {
- "name": "ShowProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "False",
- "required": false,
- "helpMarkDown": "If checked, the build process will only succeed if the deployment is successful."
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release for this comma delimited list of tenants. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Deploy the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExeDeployRelease) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroups",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Project",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroup",
- "parameters": {
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Environments",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllEnvironments",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllTenants",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Deploy Octopus Release: $(Project) to $(Environments)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Deploy/DeployV4/icon.png b/source/tasksLegacy/Deploy/DeployV4/icon.png
deleted file mode 100644
index 591f4d25..00000000
Binary files a/source/tasksLegacy/Deploy/DeployV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Deploy/DeployV4/icon.svg b/source/tasksLegacy/Deploy/DeployV4/icon.svg
deleted file mode 100644
index fe7a4503..00000000
--- a/source/tasksLegacy/Deploy/DeployV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Deploy/DeployV4/index.ts b/source/tasksLegacy/Deploy/DeployV4/index.ts
deleted file mode 100644
index d2dd6cec..00000000
--- a/source/tasksLegacy/Deploy/DeployV4/index.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { argumentEnquote, argumentIfSet, assertOctoVersionAcceptsIds, connectionArguments, flag, getOrInstallOctoCommandRunner, includeAdditionalArgumentsAndProxyConfig, multiArgument } from "../../Utils/tool";
-import { getOptionalCsvInput, getRequiredCsvInput } from "../../Utils/inputs";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- const project = tasks.getInput("Project", true);
- const releaseNumber = tasks.getInput("ReleaseNumber", true);
- const deployToEnvironments = getRequiredCsvInput("Environments");
- const deployForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTenantTags");
- const showProgress = tasks.getBoolInput("ShowProgress");
- const additionalArguments = tasks.getInput("AdditionalArguments");
- await assertOctoVersionAcceptsIds();
- const octo = await getOrInstallOctoCommandRunner("deploy-release");
-
- const configure = [
- // @ts-ignore
- argumentIfSet(argumentEnquote, "space", space),
- // @ts-ignore
- argumentEnquote("project", project),
- // @ts-ignore
- argumentEnquote("releaseNumber", releaseNumber),
- connectionArguments(connection),
- multiArgument(argumentEnquote, "deployTo", deployToEnvironments),
- multiArgument(argumentEnquote, "tenant", deployForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- flag("progress", showProgress),
- // @ts-ignore
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- let stepIdentifier = "(release;deploy;v4)";
- if (deployForTenants.length > 0 || deployForTenantTags.length > 0) {
- stepIdentifier = "(release;deploy-tenanted;v4)";
- }
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, stepIdentifier))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Deploy succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to deploy release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Deploy/DeployV4/task.json b/source/tasksLegacy/Deploy/DeployV4/task.json
deleted file mode 100644
index eec3f330..00000000
--- a/source/tasksLegacy/Deploy/DeployV4/task.json
+++ /dev/null
@@ -1,182 +0,0 @@
-{
- "id": "8ca1d96a-151d-44b7-bc4f-9251e2ea6971",
- "name": "OctopusDeployRelease",
- "friendlyName": "Deploy Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Deploy an Octopus Deploy Release",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "pickList",
- "label": "Space",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The space within Octopus."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "Project",
- "type": "pickList",
- "label": "Project",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project within Octopus."
- },
- {
- "name": "ReleaseNumber",
- "type": "string",
- "label": "Release Number",
- "defaultValue": "latest",
- "required": true,
- "helpMarkDown": "The number of the release to deploy. Use 'latest' to deploy the latest release."
- },
- {
- "name": "Environments",
- "type": "pickList",
- "label": "Deploy to Environments",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Comma separated list of environments to deploy to."
- },
- {
- "name": "ShowProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "False",
- "required": false,
- "helpMarkDown": "If checked, the build process will only succeed if the deployment is successful."
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Deploy the release for this comma delimited list of tenants. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Deploy the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExeDeployRelease) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "Space",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllSpaces",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroupsInSpace",
- "parameters": {
- "SpaceId": "$(Space)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Project",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroupInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Environments",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectEnvironmentsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectId": "$(Project)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectTenantsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectName": "$(Project)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Deploy Octopus Release",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/OctoCli/OctoCliV4/icon.png b/source/tasksLegacy/OctoCli/OctoCliV4/icon.png
deleted file mode 100644
index 236566a3..00000000
Binary files a/source/tasksLegacy/OctoCli/OctoCliV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/OctoCli/OctoCliV4/icon.svg b/source/tasksLegacy/OctoCli/OctoCliV4/icon.svg
deleted file mode 100644
index 1fde8723..00000000
--- a/source/tasksLegacy/OctoCli/OctoCliV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/OctoCli/OctoCliV4/index.ts b/source/tasksLegacy/OctoCli/OctoCliV4/index.ts
deleted file mode 100644
index fcf7a196..00000000
--- a/source/tasksLegacy/OctoCli/OctoCliV4/index.ts
+++ /dev/null
@@ -1,33 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { connectionArguments, getOrInstallOctoCommandRunner, includeAdditionalArguments } from "../../Utils/tool";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
- const args = tasks.getInput("args", false);
- const command = tasks.getInput("command", true);
- // @ts-ignore
- const octo = await getOrInstallOctoCommandRunner(command);
-
- // @ts-ignore
- const configure = [connectionArguments(connection), includeAdditionalArguments(args)];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(cli;run;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, `Succeeded executing octo command ${command} with code ${code}`);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to execute octo command. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/OctoCli/OctoCliV4/task.json b/source/tasksLegacy/OctoCli/OctoCliV4/task.json
deleted file mode 100644
index 4553a726..00000000
--- a/source/tasksLegacy/OctoCli/OctoCliV4/task.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "id": "25fee290-e578-491b-b1db-dbc3980df1d0",
- "name": "OctoCli",
- "friendlyName": "Invoke Octopus CLI command",
- "description": "There is a later version of this task, we recommend using the latest version. Invoke an Octopus CLI command",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Tool",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "command",
- "type": "string",
- "label": "command",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "The Octopus CLI command to execute."
- },
- {
- "name": "args",
- "type": "string",
- "label": "arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The arguments to use for the command."
- }
- ],
- "instanceNameFormat": "Invoke an Octopus CLI command",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.png b/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.png
deleted file mode 100644
index d54551d7..00000000
Binary files a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.svg b/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.svg
deleted file mode 100644
index e10e1da4..00000000
--- a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/index.ts b/source/tasksLegacy/OctoInstaller/OctoInstallerV4/index.ts
deleted file mode 100644
index b8079c09..00000000
--- a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/index.ts
+++ /dev/null
@@ -1,43 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import { getOrDownloadOcto, resolvePublishedOctoVersion, addToolToPath, getEmbeddedOcto } from "../../Utils/install";
-import * as tasks from "azure-pipelines-task-lib/task";
-import * as os from "os";
-
-async function run() {
- tasks.warning("This task is deprecated, please use latest version instead.");
- const version = tasks.getInput("version");
- // @ts-ignore
- const forceEmbedded = /embedded/i.test(version);
-
- try {
- if (forceEmbedded) {
- console.log("Forcing the use of the embedded Octopus CLI tool.");
- await getEmbeddedOcto(tasks.resolve(__dirname, "embedded")).then(addToolToPath);
- } else {
- const option = await resolvePublishedOctoVersion(version);
- console.log(`Using Octopus CLI tool version ${option.version}`);
- await getOrDownloadOcto(option).then(addToolToPath);
- }
-
- tasks.setResult(tasks.TaskResult.Succeeded, "");
- } catch (error: unknown) {
- if (error instanceof Error) {
- if (forceEmbedded) {
- tasks.setResult(tasks.TaskResult.Failed, `${error.message}${os.EOL}${error.stack}`, true);
- return;
- }
-
- console.log(`Failed to resolve Octopus CLI tool version ${version}. Using the embedded version. ${error}`);
-
- try {
- await getEmbeddedOcto(tasks.resolve(__dirname, "embedded")).then(addToolToPath);
- } catch (embeddedOctoError: unknown) {
- if (embeddedOctoError instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `${embeddedOctoError.message}${os.EOL}${embeddedOctoError.stack}`, true);
- }
- }
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/task.json b/source/tasksLegacy/OctoInstaller/OctoInstallerV4/task.json
deleted file mode 100644
index a1df9e46..00000000
--- a/source/tasksLegacy/OctoInstaller/OctoInstallerV4/task.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "id": "57342b23-3a76-490a-8e78-25d4ade2f2e3",
- "name": "OctoInstaller",
- "friendlyName": "[DEPRECATED] Octopus CLI Installer",
- "description": "This task is deprecated, please use latest version instead. Install a specific version of the Octopus CLI",
- "helpMarkDown": "Install a specific version of the Octopus CLI",
- "category": "Tool",
- "runsOn": [
- "Agent",
- "DeploymentGroup"
- ],
- "visibility": [
- "Build",
- "Release"
- ],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "deprecated": true,
- "satisfies": ["Octo"],
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "version",
- "type": "string",
- "label": "Octopus CLI Version",
- "defaultValue": "embedded",
- "required": true,
- "helpMarkDown": "Specify `latest` or the version number to download. If you specify `embedded`, or the download fails, a built-in copy of the tool will be used."
- }
- ],
- "instanceNameFormat": "[DEPRECATED] Use Octopus CLI tool version $(version)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.png b/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.png
deleted file mode 100644
index 236566a3..00000000
Binary files a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.svg b/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.svg
deleted file mode 100644
index 1fde8723..00000000
--- a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/index.ts b/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/index.ts
deleted file mode 100644
index 973ac51a..00000000
--- a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/index.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { ToolRunner } from "azure-pipelines-task-lib/toolrunner";
-import * as path from "path";
-import { createVstsConnection, getBuildBranch, getBuildChanges, getVcsTypeFromProvider, getVstsEnvironmentVariables } from "../../Utils/environment";
-import { getLineSeparatedItems, getOverwriteModeFromReplaceInput } from "../../Utils/inputs";
-import { assertOctoVersionAcceptsIds, getOrInstallOctoCommandRunner, connectionArguments, includeAdditionalArgumentsAndProxyConfig, argument, argumentEnquote, argumentIfSet, multiArgument } from "../../Utils/tool";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-export interface IOctopusBuildInformation {
- BuildEnvironment: string;
- BuildNumber: string;
- BuildUrl: string;
- Branch: string;
- VcsType: string;
- VcsRoot: string;
- VcsCommitNumber: string;
- Commits: IOctopusBuildInformationCommit[];
-}
-
-export interface IOctopusBuildInformationCommit {
- Id: string;
- Comment: string;
-}
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const environment = getVstsEnvironmentVariables();
- const vstsConnection = createVstsConnection(environment);
-
- const space = tasks.getInput("Space");
- // @ts-expect-error
- const packageIds = getLineSeparatedItems(tasks.getInput("PackageId", true));
- const packageVersion = tasks.getInput("PackageVersion", true);
- // @ts-expect-error
- const overwriteMode = getOverwriteModeFromReplaceInput(tasks.getInput("Replace", true));
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- const branch = await getBuildBranch(vstsConnection);
- const commits = await getBuildChanges(vstsConnection);
-
- const buildInformation: IOctopusBuildInformation = {
- BuildEnvironment: "Azure DevOps",
- BuildNumber: environment.buildNumber,
- BuildUrl: environment.teamCollectionUri.replace(/\/$/, "") + "/" + environment.projectName + "/_build/results?buildId=" + environment.buildId,
- // @ts-expect-error
- Branch: branch,
- VcsType: getVcsTypeFromProvider(environment.buildRepositoryProvider),
- VcsRoot: environment.buildRepositoryUri,
- VcsCommitNumber: environment.buildSourceVersion,
- // @ts-expect-error
- Commits: commits.map((change) => ({ Id: change.id, Comment: change.message })),
- };
-
- if (!environment.agentBuildDirectory) {
- tasks.error("The Build Information step requires build information and therefore is not compatible with use in a Release pipeline.");
- return;
- }
-
- const buildInformationDir = path.join(environment.agentBuildDirectory, "octo");
- const buildInformationFile = path.join(buildInformationDir, `${environment.buildId}-buildinformation.json`);
- await tasks.mkdirP(buildInformationDir);
- await tasks.writeFile(buildInformationFile, JSON.stringify(buildInformation, null, 2));
-
- await assertOctoVersionAcceptsIds();
- const octo = await getOrInstallOctoCommandRunner("build-information");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
- const configure: Array<(tool: ToolRunner) => ToolRunner> = [
- connectionArguments(connection),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- multiArgument(argumentEnquote, "package-id", packageIds),
- // @ts-expect-error
- argument("version", packageVersion),
- argumentEnquote("file", buildInformationFile),
- argument("overwrite-mode", overwriteMode),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(build-information;push;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to push build information. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/task.json b/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/task.json
deleted file mode 100644
index 3fe3f3fb..00000000
--- a/source/tasksLegacy/OctopusMetadata/OctopusMetadataV4/task.json
+++ /dev/null
@@ -1,97 +0,0 @@
-{
- "id": "b1861ef4-b62e-40c1-bcb0-be00d454a8a7",
- "name": "OctopusMetadata",
- "friendlyName": "Push Package Build Information to Octopus (legacy)",
- "description": "(legacy) There is a later version of this task, we recommend using the latest version. Collect information related to the build, including work items from commit messages, and push to your Octopus Deploy Server.",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Package",
- "visibility": ["Build"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "pickList",
- "label": "Space",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The space within Octopus."
- },
- {
- "name": "PackageId",
- "type": "multiLine",
- "label": "Package IDs",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Newline-separated package IDs; e.g.\nMyCompany.MyApp\nMyCompany.MyApp2"
- },
- {
- "name": "PackageVersion",
- "type": "string",
- "label": "Package Version",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "The version of the package; must be a valid [SemVer](http://semver.org/) version."
- },
- {
- "name": "Replace",
- "type": "pickList",
- "label": "Overwrite Mode",
- "defaultValue": "false",
- "required": true,
- "helpMarkDown": "Normally, if the same package build information already exists on the server, the server will reject the package build information push. This is a good practice as it ensures build information isn't accidentally overwritten or ignored. Use this setting to override this behavior.",
- "options": {
- "false": "Fail if exists",
- "true": "Overwrite existing",
- "IgnoreIfExists": "Ignore if exists"
- }
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctopusCliBuildInformation) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "Space",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllSpaces",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Push Package Build Information to Octopus (legacy)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Pack/PackV4/icon.png b/source/tasksLegacy/Pack/PackV4/icon.png
deleted file mode 100644
index aae79512..00000000
Binary files a/source/tasksLegacy/Pack/PackV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Pack/PackV4/icon.svg b/source/tasksLegacy/Pack/PackV4/icon.svg
deleted file mode 100644
index d9d027bc..00000000
--- a/source/tasksLegacy/Pack/PackV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Pack/PackV4/index.ts b/source/tasksLegacy/Pack/PackV4/index.ts
deleted file mode 100644
index 1c5b5135..00000000
--- a/source/tasksLegacy/Pack/PackV4/index.ts
+++ /dev/null
@@ -1,115 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import * as fs from "fs";
-import { ToolRunner } from "azure-pipelines-task-lib/toolrunner";
-import { getLineSeparatedItems, isNullOrWhitespace, removeTrailingSlashes, safeTrim } from "../../Utils/inputs";
-import { argument, argumentEnquote, argumentIfSet, flag, getOrInstallOctoCommandRunner, includeAdditionalArguments, multiArgument } from "../../Utils/tool";
-import os from "os";
-
-export interface PackageRequiredInputs {
- packageId: string;
- packageFormat: string;
-}
-export interface PackageOptionalInputs {
- packageVersion?: string;
- outputPath?: string;
- sourcePath?: string;
- nuGetAuthor?: string;
- nuGetTitle?: string;
- nuGetDescription?: string;
- nuGetReleaseNotes?: string;
- nuGetReleaseNotesFile?: string;
- include?: string[];
- listFiles: boolean;
- overwrite: boolean;
- additionalArguments: string;
- compressionLevel: string;
-}
-
-export type PackageInputs = PackageRequiredInputs & PackageOptionalInputs;
-
-export const configure = (inputs: PackageInputs) => {
- return [
- argumentEnquote("id", inputs.packageId),
- argument("format", inputs.packageFormat),
- // @ts-ignore
- argumentIfSet(argument, "version", inputs.packageVersion),
- argumentIfSet(argument, "compressionlevel", inputs.compressionLevel),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "outFolder", inputs.outputPath),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "basePath", inputs.sourcePath),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "author", inputs.nuGetAuthor),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "title", inputs.nuGetTitle),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "description", inputs.nuGetDescription),
- // @ts-ignore
- argumentIfSet(argumentEnquote, "releaseNotes", inputs.nuGetReleaseNotes),
- argument("overwrite", inputs.overwrite.toString()),
- includeAdditionalArguments(inputs.additionalArguments),
- (tool: ToolRunner) => {
- if (!isNullOrWhitespace(inputs.nuGetReleaseNotesFile) && fs.existsSync(inputs.nuGetReleaseNotesFile) && fs.lstatSync(inputs.nuGetReleaseNotesFile).isFile()) {
- console.log(`Release notes file: ${inputs.nuGetReleaseNotesFile}`);
- argumentEnquote("releaseNotesFile", inputs.nuGetReleaseNotesFile, tool);
- } else {
- console.log("No release notes file found");
- }
- return tool;
- },
- multiArgument(argumentEnquote, "include", inputs.include || []),
- flag("verbose", inputs.listFiles),
- ];
-};
-
-export const getInputs = (): PackageInputs => {
- return {
- // @ts-ignore
- packageId: tasks.getInput("PackageId", true),
- // @ts-ignore
- packageFormat: tasks.getInput("PackageFormat", true),
- packageVersion: tasks.getInput("PackageVersion"),
- outputPath: removeTrailingSlashes(safeTrim(tasks.getPathInput("OutputPath"))) || undefined,
- sourcePath: removeTrailingSlashes(safeTrim(tasks.getPathInput("SourcePath"))) || undefined,
- nuGetAuthor: tasks.getInput("NuGetAuthor"),
- nuGetTitle: tasks.getInput("NuGetTitle"),
- nuGetDescription: tasks.getInput("NuGetDescription"),
- nuGetReleaseNotes: tasks.getInput("NuGetReleaseNotes"),
- nuGetReleaseNotesFile: tasks.getInput("NuGetReleaseNotesFile", false),
- overwrite: tasks.getBoolInput("Overwrite"),
- // @ts-ignore
- include: getLineSeparatedItems(tasks.getInput("Include")),
- listFiles: tasks.getBoolInput("ListFiles"),
- // @ts-ignore
- additionalArguments: tasks.getInput("AdditionalArguments"),
- // @ts-ignore
- compressionLevel: tasks.getInput("CompressionLevel"),
- };
-};
-
-async function run() {
- try {
- tasks.warning(`This task is supported, but it no longer actively maintained.
-It was originally created for the Octopus CLI when Octopus Deploy only supported NuGet packages.
-It is recommended to migrate to the built-in 'Archive Files' task (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/utility/archive-files).
-Alternatively, if NuGet package metadata is required, consider using the 'NuGet' task (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/package/nuget) or the 'dotnet pack' task (https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli).`);
-
- const octo = await getOrInstallOctoCommandRunner("pack");
- const configureTool = configure(getInputs());
-
- const code: number = await octo
- .map((x) => x.launchOcto(configureTool, "(package;pack;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Pack succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to execute octo pack command. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Pack/PackV4/task.json b/source/tasksLegacy/Pack/PackV4/task.json
deleted file mode 100644
index b53988f6..00000000
--- a/source/tasksLegacy/Pack/PackV4/task.json
+++ /dev/null
@@ -1,179 +0,0 @@
-{
- "id": "179fac12-2402-486e-80cf-5a6a8571f7c0",
- "name": "OctopusPack",
- "friendlyName": "Package Application for Octopus",
- "description": "Package your application into a NuPkg or Zip file.",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Package",
- "visibility": [
- "Build",
- "Release"
- ],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "nuget",
- "displayName": "NuGet",
- "isExpanded": false
- },
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "PackageId",
- "type": "string",
- "label": "Package ID",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "The ID of the package. e.g. MyCompany.App"
- },
- {
- "name": "PackageFormat",
- "type": "pickList",
- "label": "Package Format",
- "required": true,
- "defaultValue": "NuPkg",
- "options": {
- "NuPkg": "NuPkg",
- "Zip": "Zip"
- },
- "helpMarkDown": "Package format. Must be either NuPkg or Zip."
- },
- {
- "name": "PackageVersion",
- "type": "string",
- "label": "Package Version",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The version of the package; must be a valid [SemVer](http://semver.org/) version; defaults to a timestamp-based version."
- },
- {
- "name": "SourcePath",
- "type": "filePath",
- "label": "Source Path",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The folder containing the files and folders to package. Defaults to working directory."
- },
- {
- "name": "OutputPath",
- "type": "filePath",
- "label": "Output Path",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "The directory into which the generated package will be written. Defaults to working directory."
- },
- {
- "name": "NuGetAuthor",
- "type": "string",
- "label": "Author",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Add an author to the NuGet package metadata.",
- "groupName": "nuget"
- },
- {
- "name": "NuGetTitle",
- "type": "string",
- "label": "Title",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Add a title to the NuGet package metadata.",
- "groupName": "nuget"
- },
- {
- "name": "NuGetDescription",
- "type": "string",
- "label": "Description",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Add a description to the NuGet package metadata.",
- "groupName": "nuget"
- },
- {
- "name": "NuGetReleaseNotes",
- "type": "string",
- "label": "Release Notes",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Add release notes to the NuGet package metadata.",
- "groupName": "nuget"
- },
- {
- "name": "NuGetReleaseNotesFile",
- "type": "filePath",
- "label": "Release Notes File",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "A file containing release notes to be added to the NuGet package metadata.",
- "groupName": "nuget"
- },
- {
- "name": "Include",
- "type": "multiLine",
- "label": "Include",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "File patterns to include, relative to the root path. e.g. /bin/*.dll",
- "groupName": "advanced"
- },
- {
- "name": "Overwrite",
- "type": "boolean",
- "label": "Overwrite",
- "defaultValue": "false",
- "required": false,
- "helpMarkDown": "Allow an existing package of the same ID and version to be overwritten.",
- "groupName": "advanced"
- },
- {
- "name": "ListFiles",
- "type": "boolean",
- "label": "Log Added Files",
- "defaultValue": "false",
- "required": "false",
- "helpMarkDown": "Write a list of all files added to the build log.",
- "groupName": "advanced"
- },
- {
- "name": "CompressionLevel",
- "type": "pickList",
- "label": "Compression Level",
- "defaultValue": "optimal",
- "required": false,
- "helpMarkDown": "Set the compression level.",
- "groupName": "advanced",
- "options": {
- "none": "None",
- "fast": "Fast",
- "optimal": "Optimal"
- }
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctopusCliPack) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "instanceNameFormat": "Package $(PackageId)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Promote/PromoteV3/icon.png b/source/tasksLegacy/Promote/PromoteV3/icon.png
deleted file mode 100644
index 0f1c1a7a..00000000
Binary files a/source/tasksLegacy/Promote/PromoteV3/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Promote/PromoteV3/icon.svg b/source/tasksLegacy/Promote/PromoteV3/icon.svg
deleted file mode 100644
index 94905963..00000000
--- a/source/tasksLegacy/Promote/PromoteV3/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Promote/PromoteV3/index.ts b/source/tasksLegacy/Promote/PromoteV3/index.ts
deleted file mode 100644
index 53b5eb44..00000000
--- a/source/tasksLegacy/Promote/PromoteV3/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { multiArgument, connectionArguments, includeAdditionalArgumentsAndProxyConfig, flag, argumentEnquote, argumentIfSet, getOrInstallOctoCommandRunner } from "../../Utils/tool";
-import { getOptionalCsvInput, getRequiredCsvInput } from "../../Utils/inputs";
-import { getDefaultOctopusConnectionDetailsOrThrow, resolveProjectName } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- // @ts-expect-error
- const project = await resolveProjectName(connection, tasks.getInput("Project", true)).then((x) => x.value);
-
- const from = tasks.getInput("From", true);
- const to = getRequiredCsvInput("To");
- const showProgress = tasks.getBoolInput("ShowProgress");
- const deploymentForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTentantTags");
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- const octo = await getOrInstallOctoCommandRunner("promote-release");
-
- const configure = [
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- argumentEnquote("project", project),
- connectionArguments(connection),
- // @ts-expect-error
- argumentEnquote("from", from),
- multiArgument(argumentEnquote, "to", to),
- multiArgument(argumentEnquote, "tenant", deploymentForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- flag("progress", showProgress),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(release;promote;v3)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Succeeded promoting release with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to promote release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Promote/PromoteV3/task.json b/source/tasksLegacy/Promote/PromoteV3/task.json
deleted file mode 100644
index 83b24410..00000000
--- a/source/tasksLegacy/Promote/PromoteV3/task.json
+++ /dev/null
@@ -1,173 +0,0 @@
-{
- "id": "1627fcfe-f292-4904-adac-26cfb14bdb07",
- "name": "OctopusPromote",
- "friendlyName": "Promote Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Promote an Octopus release from one environment to another",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 3,
- "Minor": 1,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "string",
- "label": "Space (Legacy - Use version 4 of this task)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "False"
- },
- "helpMarkDown": "Version 3 of this task has limited support for spaces. We recommend using version 4 of this task for a better experience."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "Project",
- "type": "pickList",
- "label": "Project",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Octopus Deploy Project Name"
- },
- {
- "name": "From",
- "type": "pickList",
- "label": "Promote From",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The environment the release is currently deployed to. e.g. 'Staging'"
- },
- {
- "name": "To",
- "type": "pickList",
- "label": "Promote To",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Comma separated list of environments to deploy to"
- },
- {
- "name": "ShowProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "False",
- "required": false,
- "helpMarkDown": "If checked, the build process will only succeed if the deployment is successful."
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Promote the release for this comma delimited list of tenants. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant Tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Promote the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExePromoteRelease) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroups",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Project",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroup",
- "parameters": {
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "From",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllEnvironments",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "To",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllEnvironments",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllTenants",
- "resultTemplate": "{\"Value\":\"{{{Name}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Promote $(Project) from $(From) to $(To)",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Promote/PromoteV4/icon.png b/source/tasksLegacy/Promote/PromoteV4/icon.png
deleted file mode 100644
index 0f1c1a7a..00000000
Binary files a/source/tasksLegacy/Promote/PromoteV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Promote/PromoteV4/icon.svg b/source/tasksLegacy/Promote/PromoteV4/icon.svg
deleted file mode 100644
index 94905963..00000000
--- a/source/tasksLegacy/Promote/PromoteV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Promote/PromoteV4/index.ts b/source/tasksLegacy/Promote/PromoteV4/index.ts
deleted file mode 100644
index 672fc0bd..00000000
--- a/source/tasksLegacy/Promote/PromoteV4/index.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-import { argumentEnquote, argumentIfSet, assertOctoVersionAcceptsIds, connectionArguments, flag, getOrInstallOctoCommandRunner, includeAdditionalArgumentsAndProxyConfig, multiArgument } from "../../Utils/tool";
-import { getOptionalCsvInput, getRequiredCsvInput } from "../../Utils/inputs";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- const project = tasks.getInput("Project", true);
- const from = tasks.getInput("From", true);
- const to = getRequiredCsvInput("To");
- const deployForTenants = getOptionalCsvInput("DeployForTenants");
- const deployForTenantTags = getOptionalCsvInput("DeployForTenantTags");
- const showProgress = tasks.getBoolInput("ShowProgress");
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- await assertOctoVersionAcceptsIds();
- const octo = await getOrInstallOctoCommandRunner("promote-release");
-
- const configure = [
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- // @ts-expect-error
- argumentEnquote("project", project),
- connectionArguments(connection),
- // @ts-expect-error
- argumentEnquote("from", from),
- multiArgument(argumentEnquote, "to", to),
- multiArgument(argumentEnquote, "tenant", deployForTenants),
- multiArgument(argumentEnquote, "tenanttag", deployForTenantTags),
- flag("progress", showProgress),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(release;promote;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Succeeded promoting release with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to promote release. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Promote/PromoteV4/task.json b/source/tasksLegacy/Promote/PromoteV4/task.json
deleted file mode 100644
index d29b100f..00000000
--- a/source/tasksLegacy/Promote/PromoteV4/task.json
+++ /dev/null
@@ -1,195 +0,0 @@
-{
- "id": "1627fcfe-f292-4904-adac-26cfb14bdb07",
- "name": "OctopusPromote",
- "friendlyName": "Promote Octopus Release",
- "description": "There is a later version of this task, we recommend using the latest version. Promote an Octopus release from one environment to another",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Deploy",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "tenant",
- "displayName": "Tenants",
- "isExpanded": false
- },
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "pickList",
- "label": "Space",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The space within Octopus."
- },
- {
- "name": "ProjectGroup",
- "type": "pickList",
- "label": "Project Group",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project group within Octopus (this populates the next Project dropdown)."
- },
- {
- "name": "Project",
- "type": "pickList",
- "label": "Project",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The project within Octopus."
- },
- {
- "name": "From",
- "type": "pickList",
- "label": "Promote From",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The environment the release is currently deployed to. e.g. 'Staging'"
- },
- {
- "name": "To",
- "type": "pickList",
- "label": "Promote To",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Comma separated list of environments to deploy to"
- },
- {
- "name": "ShowProgress",
- "type": "boolean",
- "label": "Show Deployment Progress",
- "defaultValue": "False",
- "required": false,
- "helpMarkDown": "If checked, the build process will only succeed if the deployment is successful."
- },
- {
- "name": "DeployForTenants",
- "type": "pickList",
- "label": "Tenant(s)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "Promote the release for this comma delimited list of tenants. Wildcard '*' will deploy to all tenants currently able to deploy to the above provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "DeployForTenantTags",
- "type": "string",
- "label": "Tenant Tag(s)",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Promote the release for tenants who match these tags and are ready to deploy to the provided environment.",
- "groupName": "tenant"
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExePromoteRelease) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "Space",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllSpaces",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "ProjectGroup",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllProjectGroupsInSpace",
- "parameters": {
- "SpaceId": "$(Space)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "Project",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusListProjectsInProjectGroupInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectGroupId": "$(ProjectGroup)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "From",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectEnvironmentsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectId": "$(Project)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "To",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectEnvironmentsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectId": "$(Project)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- },
- {
- "target": "DeployForTenants",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusProjectTenantsInSpace",
- "parameters": {
- "SpaceId": "$(Space)",
- "ProjectName": "$(Project)"
- },
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Promote Project in Octopus",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Push/PushV3/icon.png b/source/tasksLegacy/Push/PushV3/icon.png
deleted file mode 100644
index 236566a3..00000000
Binary files a/source/tasksLegacy/Push/PushV3/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Push/PushV3/icon.svg b/source/tasksLegacy/Push/PushV3/icon.svg
deleted file mode 100644
index 1fde8723..00000000
--- a/source/tasksLegacy/Push/PushV3/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Push/PushV3/index.ts b/source/tasksLegacy/Push/PushV3/index.ts
deleted file mode 100644
index e002e3a0..00000000
--- a/source/tasksLegacy/Push/PushV3/index.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-
-import { multiArgument, connectionArguments, includeAdditionalArgumentsAndProxyConfig, flag, argumentEnquote, argumentIfSet, getOrInstallOctoCommandRunner } from "../../Utils/tool";
-import { getLineSeparatedItems, resolveGlobs } from "../../Utils/inputs";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- // @ts-expect-error
- const packages = getLineSeparatedItems(tasks.getInput("Package", true));
- const replace = tasks.getBoolInput("Replace");
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- const octo = await getOrInstallOctoCommandRunner("push");
- const matchedPackages = await resolveGlobs(packages);
-
- const configure = [
- connectionArguments(connection),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- multiArgument(argumentEnquote, "package", matchedPackages),
- flag("replace-existing", replace),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(package;push;v3)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to push package. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Push/PushV3/task.json b/source/tasksLegacy/Push/PushV3/task.json
deleted file mode 100644
index 5d6384ad..00000000
--- a/source/tasksLegacy/Push/PushV3/task.json
+++ /dev/null
@@ -1,76 +0,0 @@
-{
- "id": "d05ad9a2-5d9e-4a1c-a887-14034334d6f2",
- "name": "OctopusPush",
- "friendlyName": "Push Package(s) to Octopus",
- "description": "There is a later version of this task, we recommend using the latest version. Push your NuGet or Zip package to your Octopus Deploy Server",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Package",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 3,
- "Minor": 1,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "string",
- "label": "Space (Legacy - Use version 4 of this task)",
- "defaultValue": "",
- "required": false,
- "properties": {
- "EditableOptions": "False"
- },
- "helpMarkDown": "Version 3 of this task has limited support for spaces. We recommend using version 4 of this task for a better experience."
- },
- {
- "name": "Package",
- "type": "multiLine",
- "label": "Package",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Package file to push. To push multiple packages, enter on multiple lines."
- },
- {
- "name": "Replace",
- "type": "boolean",
- "label": "Replace Existing",
- "defaultValue": "False",
- "required": true,
- "helpMarkDown": "If the package already exists in the repository, the default behavior is to reject the new package being pushed. Set this flag to 'True' to overwrite the existing package."
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExePush) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "instanceNameFormat": "Push Packages to Octopus",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}
diff --git a/source/tasksLegacy/Push/PushV4/icon.png b/source/tasksLegacy/Push/PushV4/icon.png
deleted file mode 100644
index 236566a3..00000000
Binary files a/source/tasksLegacy/Push/PushV4/icon.png and /dev/null differ
diff --git a/source/tasksLegacy/Push/PushV4/icon.svg b/source/tasksLegacy/Push/PushV4/icon.svg
deleted file mode 100644
index 1fde8723..00000000
--- a/source/tasksLegacy/Push/PushV4/icon.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/source/tasksLegacy/Push/PushV4/index.ts b/source/tasksLegacy/Push/PushV4/index.ts
deleted file mode 100644
index bd8d0671..00000000
--- a/source/tasksLegacy/Push/PushV4/index.ts
+++ /dev/null
@@ -1,49 +0,0 @@
-/* eslint-disable @typescript-eslint/ban-ts-comment */
-import * as tasks from "azure-pipelines-task-lib/task";
-
-import { getLineSeparatedItems, getOverwriteModeFromReplaceInput, resolveGlobs } from "../../Utils/inputs";
-import { argument, argumentEnquote, argumentIfSet, assertOctoVersionAcceptsIds, connectionArguments, getOrInstallOctoCommandRunner, includeAdditionalArgumentsAndProxyConfig, multiArgument } from "../../Utils/tool";
-import { getDefaultOctopusConnectionDetailsOrThrow } from "../../Utils/connection";
-import os from "os";
-
-async function run() {
- try {
- tasks.warning("There is a later version of this task, we recommend using the latest version.");
- const connection = getDefaultOctopusConnectionDetailsOrThrow();
-
- const space = tasks.getInput("Space");
- // @ts-expect-error
- const packages = getLineSeparatedItems(tasks.getInput("Package", true));
- // @ts-expect-error
- const overwriteMode = getOverwriteModeFromReplaceInput(tasks.getInput("Replace", true));
- const additionalArguments = tasks.getInput("AdditionalArguments");
-
- await assertOctoVersionAcceptsIds();
- const octo = await getOrInstallOctoCommandRunner("push");
- const matchedPackages = await resolveGlobs(packages);
-
- const configure = [
- connectionArguments(connection),
- // @ts-expect-error
- argumentIfSet(argumentEnquote, "space", space),
- multiArgument(argumentEnquote, "package", matchedPackages),
- argument("overwrite-mode", overwriteMode),
- // @ts-expect-error
- includeAdditionalArgumentsAndProxyConfig(connection.url, additionalArguments),
- ];
-
- const code: number = await octo
- .map((x) => x.launchOcto(configure, "(package;push;v4)"))
- .getOrElseL((x) => {
- throw new Error(x);
- });
-
- tasks.setResult(tasks.TaskResult.Succeeded, "Succeeded with code " + code);
- } catch (error: unknown) {
- if (error instanceof Error) {
- tasks.setResult(tasks.TaskResult.Failed, `"Failed to push package. ${error.message}${os.EOL}${error.stack}`, true);
- }
- }
-}
-
-run();
diff --git a/source/tasksLegacy/Push/PushV4/task.json b/source/tasksLegacy/Push/PushV4/task.json
deleted file mode 100644
index f9aceb43..00000000
--- a/source/tasksLegacy/Push/PushV4/task.json
+++ /dev/null
@@ -1,89 +0,0 @@
-{
- "id": "d05ad9a2-5d9e-4a1c-a887-14034334d6f2",
- "name": "OctopusPush",
- "friendlyName": "Push Package(s) to Octopus",
- "description": "There is a later version of this task, we recommend using the latest version. Push your NuGet or Zip package to your Octopus Deploy Server",
- "helpMarkDown": "set-by-pack.ps1",
- "category": "Package",
- "visibility": ["Build", "Release"],
- "author": "Octopus Deploy",
- "version": {
- "Major": 4,
- "Minor": 3,
- "Patch": 0
- },
- "demands": [],
- "minimumAgentVersion": "2.144.0",
- "groups": [
- {
- "name": "advanced",
- "displayName": "Advanced Options",
- "isExpanded": false
- }
- ],
- "inputs": [
- {
- "name": "OctoConnectedServiceName",
- "type": "connectedService:OctopusEndpoint",
- "label": "Octopus Deploy Server",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Octopus Deploy server connection"
- },
- {
- "name": "Space",
- "type": "pickList",
- "label": "Space",
- "defaultValue": "",
- "required": true,
- "properties": {
- "EditableOptions": "True"
- },
- "helpMarkDown": "The space within Octopus."
- },
- {
- "name": "Package",
- "type": "multiLine",
- "label": "Package",
- "defaultValue": "",
- "required": true,
- "helpMarkDown": "Package file to push. To push multiple packages, enter on multiple lines."
- },
- {
- "name": "Replace",
- "type": "pickList",
- "label": "Overwrite Mode",
- "defaultValue": "false",
- "required": true,
- "helpMarkDown": "Normally, if the same package already exists on the server, the server will reject the package push. This is a good practice as it ensures a package isn't accidentally overwritten or ignored. Use this setting to override this behavior.",
- "options": {
- "false": "Fail if exists",
- "true": "Overwrite existing",
- "IgnoreIfExists": "Ignore if exists"
- }
- },
- {
- "name": "AdditionalArguments",
- "type": "string",
- "label": "Additional Arguments",
- "defaultValue": "",
- "required": false,
- "helpMarkDown": "Additional arguments to be supplied to the Octopus CLI. See the [Octopus CLI documentation](https://g.octopushq.com/OctoExePush) for available parameters.",
- "groupName": "advanced"
- }
- ],
- "dataSourceBindings": [
- {
- "target": "Space",
- "endpointId": "$(OctoConnectedServiceName)",
- "dataSourceName": "OctopusAllSpaces",
- "resultTemplate": "{\"Value\":\"{{{Id}}}\",\"DisplayValue\":\"{{{Name}}}\"}"
- }
- ],
- "instanceNameFormat": "Push Packages to Octopus",
- "execution": {
- "Node10": {
- "target": "index.js"
- }
- }
-}