From 5bdfc461fd0ad9db70c878df71cf3fdfc7789005 Mon Sep 17 00:00:00 2001 From: Mohith <97882857+v-mohithgc@users.noreply.github.com> Date: Thu, 7 Dec 2023 13:01:38 +0530 Subject: [PATCH] DotNetCoreCLIV2: Update 7Zip (#19351) --- Tasks/DotNetCoreCLIV2/Tests/L0.ts | 2 +- .../_buildConfigs/Node20/package-lock.json | 203 ++- .../_buildConfigs/Node20/package.json | 4 +- Tasks/DotNetCoreCLIV2/package-lock.json | 187 ++- Tasks/DotNetCoreCLIV2/package.json | 4 +- Tasks/DotNetCoreCLIV2/task.json | 2 +- Tasks/DotNetCoreCLIV2/task.loc.json | 2 +- _generated/DotNetCoreCLIV2.versionmap.txt | 4 +- _generated/DotNetCoreCLIV2/Common/utility.ts | 14 + _generated/DotNetCoreCLIV2/README.md | 55 + .../resources.resjson/de-DE/resources.resjson | 142 ++ .../resources.resjson/en-US/resources.resjson | 142 ++ .../resources.resjson/es-ES/resources.resjson | 142 ++ .../resources.resjson/fr-FR/resources.resjson | 142 ++ .../resources.resjson/it-IT/resources.resjson | 142 ++ .../resources.resjson/ja-JP/resources.resjson | 142 ++ .../resources.resjson/ko-KR/resources.resjson | 142 ++ .../resources.resjson/ru-RU/resources.resjson | 142 ++ .../resources.resjson/zh-CN/resources.resjson | 142 ++ .../resources.resjson/zh-TW/resources.resjson | 142 ++ .../DotNetCoreCLIV2/Tests/DotnetMockHelper.ts | 167 +++ _generated/DotNetCoreCLIV2/Tests/L0.ts | 628 +++++++++ .../Tests/NuGetConfigHelper-mock.ts | 23 + .../Tests/PackTests/noProjectsFound.ts | 55 + .../Tests/PackTests/packBuildNumber.ts | 53 + .../Tests/PackTests/packEnvVar.ts | 54 + .../Tests/PackTests/packPrerelease.ts | 55 + .../Tests/PushTests/internalFeed.ts | 56 + .../Tests/PushTests/internalFeedOnPrem.ts | 60 + .../Tests/PushTests/noProjectsFound.ts | 58 + .../Tests/RestoreTests/emptyProjectField.ts | 56 + .../multipleServiceConnections.ts | 67 + .../RestoreTests/nugetOrgBehaviorFail.ts | 57 + .../RestoreTests/nugetOrgBehaviorOnConfig.ts | 57 + .../RestoreTests/nugetOrgBehaviorWarn.ts | 57 + .../Tests/RestoreTests/packagesDirectory.ts | 53 + .../RestoreTests/selectSourceNuGetOrg.ts | 56 + .../Tests/RestoreTests/selectSourceVsts.ts | 57 + .../Tests/RestoreTests/singleProject.ts | 66 + .../RestoreTests/singleProjectConfigFile.ts | 52 + .../Tests/TestCommandTests/publishtests.ts | 72 + .../publishtestsWithFailedTestCommand.ts | 72 + .../publishtestsWithSpaceDir.ts | 78 ++ .../publishtestsWithoutBuildConfig.ts | 70 + .../runTestsWithoutPublish.ts | 48 + .../DotNetCoreCLIV2/Tests/customInputs.ts | 61 + .../Tests/dotnetExeNotFound.ts | 18 + .../DotNetCoreCLIV2/Tests/publishInputs.ts | 109 ++ .../DotNetCoreCLIV2/Tests/validInputs.ts | 66 + .../Tests/validateWebProject.csproj | 17 + .../Tests/validateWebProject.ts | 42 + .../DotNetCoreCLIV2/ThirdPartyNotices.txt | 1245 +++++++++++++++++ _generated/DotNetCoreCLIV2/dotnetcore.ts | 461 ++++++ _generated/DotNetCoreCLIV2/icon.png | Bin 0 -> 14924 bytes _generated/DotNetCoreCLIV2/icon.svg | 6 + _generated/DotNetCoreCLIV2/make.json | 10 + _generated/DotNetCoreCLIV2/package-lock.json | 1020 ++++++++++++++ _generated/DotNetCoreCLIV2/package.json | 32 + _generated/DotNetCoreCLIV2/packcommand.ts | 179 +++ _generated/DotNetCoreCLIV2/pushcommand.ts | 184 +++ _generated/DotNetCoreCLIV2/restorecommand.ts | 197 +++ _generated/DotNetCoreCLIV2/task.json | 588 ++++++++ _generated/DotNetCoreCLIV2/task.loc.json | 588 ++++++++ _generated/DotNetCoreCLIV2/tsconfig.json | 6 + _generated/DotNetCoreCLIV2_Node20/Tests/L0.ts | 2 +- .../DotNetCoreCLIV2_Node20/package-lock.json | 203 ++- .../DotNetCoreCLIV2_Node20/package.json | 4 +- _generated/DotNetCoreCLIV2_Node20/task.json | 8 +- .../DotNetCoreCLIV2_Node20/task.loc.json | 8 +- 69 files changed, 8899 insertions(+), 179 deletions(-) create mode 100644 _generated/DotNetCoreCLIV2/Common/utility.ts create mode 100644 _generated/DotNetCoreCLIV2/README.md create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson create mode 100644 _generated/DotNetCoreCLIV2/Tests/DotnetMockHelper.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/L0.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/NuGetConfigHelper-mock.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PackTests/noProjectsFound.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PackTests/packBuildNumber.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PackTests/packEnvVar.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PackTests/packPrerelease.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PushTests/internalFeed.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PushTests/internalFeedOnPrem.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/PushTests/noProjectsFound.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/emptyProjectField.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/multipleServiceConnections.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorFail.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorOnConfig.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorWarn.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/packagesDirectory.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceNuGetOrg.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceVsts.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProject.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProjectConfigFile.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtests.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithFailedTestCommand.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithSpaceDir.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithoutBuildConfig.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/TestCommandTests/runTestsWithoutPublish.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/customInputs.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/dotnetExeNotFound.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/publishInputs.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/validInputs.ts create mode 100644 _generated/DotNetCoreCLIV2/Tests/validateWebProject.csproj create mode 100644 _generated/DotNetCoreCLIV2/Tests/validateWebProject.ts create mode 100644 _generated/DotNetCoreCLIV2/ThirdPartyNotices.txt create mode 100644 _generated/DotNetCoreCLIV2/dotnetcore.ts create mode 100644 _generated/DotNetCoreCLIV2/icon.png create mode 100644 _generated/DotNetCoreCLIV2/icon.svg create mode 100644 _generated/DotNetCoreCLIV2/make.json create mode 100644 _generated/DotNetCoreCLIV2/package-lock.json create mode 100644 _generated/DotNetCoreCLIV2/package.json create mode 100644 _generated/DotNetCoreCLIV2/packcommand.ts create mode 100644 _generated/DotNetCoreCLIV2/pushcommand.ts create mode 100644 _generated/DotNetCoreCLIV2/restorecommand.ts create mode 100644 _generated/DotNetCoreCLIV2/task.json create mode 100644 _generated/DotNetCoreCLIV2/task.loc.json create mode 100644 _generated/DotNetCoreCLIV2/tsconfig.json diff --git a/Tasks/DotNetCoreCLIV2/Tests/L0.ts b/Tasks/DotNetCoreCLIV2/Tests/L0.ts index a032211f31ed..a0d74a6e13b0 100644 --- a/Tasks/DotNetCoreCLIV2/Tests/L0.ts +++ b/Tasks/DotNetCoreCLIV2/Tests/L0.ts @@ -6,7 +6,7 @@ import os = require('os'); import fs = require('fs'); describe('DotNetCoreExe Suite', function () { - this.timeout(5000); + this.timeout(10000); before(() => { }); diff --git a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json index 01f6e1e2b077..7f5b1fdd29fd 100644 --- a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json +++ b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package-lock.json @@ -44,9 +44,9 @@ "integrity": "sha512-SwFMxO68Z6ERGFpPYBdmgfS5LloELzY16h/PMAhnxMog91JcHI5AJjW0HN56cGUPhV0nDb8xNWsJkhuDzr4lAQ==" }, "@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "version": "20.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz", + "integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==", "requires": { "undici-types": "~5.26.4" } @@ -76,6 +76,14 @@ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" }, + "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" + } + }, "archiver": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.2.0.tgz", @@ -171,9 +179,9 @@ } }, "azure-pipelines-tasks-packaging-common": { - "version": "3.214.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.214.0.tgz", - "integrity": "sha512-TLn0BDm/igBwmKbEoLuGUUeijpDKRBVbi5hU72RvsAuAAFV3PHZgg/l0yHvPKS8BDDQ5zUS6g/Yo+9t8mSg09A==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", + "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", @@ -184,7 +192,7 @@ "adm-zip": "^0.4.11", "azure-devops-node-api": "10.2.2", "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", @@ -194,9 +202,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", + "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" }, "azure-devops-node-api": { "version": "10.2.2", @@ -206,67 +214,64 @@ "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } - }, - "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", - "requires": { - "@types/semver": "^5.3.0", - "@types/uuid": "^3.4.5", - "azure-pipelines-task-lib": "^4.0.0-preview", - "semver": "^5.7.0", - "semver-compare": "^1.0.0", - "typed-rest-client": "^1.8.6", - "uuid": "^3.3.2" - }, - "dependencies": { - "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, "azure-pipelines-tasks-utility-common": { - "version": "3.212.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.212.0.tgz", - "integrity": "sha512-8vz51N7SOyprBHUjJz0HttVjk9+p9Y9wI/VO2ighotfdHvmgK3RB+1u6rsC6mHeVbGdpT51Luu9J6BMRMOXSig==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.230.0.tgz", + "integrity": "sha512-d84LeflxFdXSFiWic+OIm2ObQtjdnuy2R9tKLq7mUs47mEP8ARWTP+0kOX6nmc4l7R2dhupStcWeltroj12ijg==", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.4.1" }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", + "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + }, + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "azure-pipelines-task-lib": { + "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", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } } } }, "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", + "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": "^4.0.0-preview", + "azure-pipelines-task-lib": "^4.1.0", "semver": "^5.7.0", "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", @@ -274,9 +279,9 @@ }, "dependencies": { "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -300,6 +305,14 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "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": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", @@ -427,6 +440,23 @@ "readable-stream": "^2.0.0" } }, + "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==", + "requires": { + "ms": "2.1.2" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -445,6 +475,16 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "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==" + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -542,6 +582,15 @@ } } }, + "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": { + "agent-base": "6", + "debug": "4" + } + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -655,6 +704,27 @@ "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==" + }, + "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": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -759,6 +829,14 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "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": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -869,6 +947,14 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, + "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" + } + }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -912,6 +998,11 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "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", diff --git a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package.json b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package.json index cb0b11bf2442..a8477f32aac6 100644 --- a/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package.json +++ b/Tasks/DotNetCoreCLIV2/_buildConfigs/Node20/package.json @@ -22,8 +22,8 @@ "archiver": "1.2.0", "azure-devops-node-api": "11.2.0", "azure-pipelines-task-lib": "^4.1.0", - "azure-pipelines-tasks-packaging-common": "^3.214.0", - "azure-pipelines-tasks-utility-common": "^3.212.0", + "azure-pipelines-tasks-packaging-common": "^3.230.0", + "azure-pipelines-tasks-utility-common": "^3.230.0", "uuid": "3.2.1" }, "devDependencies": { diff --git a/Tasks/DotNetCoreCLIV2/package-lock.json b/Tasks/DotNetCoreCLIV2/package-lock.json index 9a5f7837201f..887af235969d 100644 --- a/Tasks/DotNetCoreCLIV2/package-lock.json +++ b/Tasks/DotNetCoreCLIV2/package-lock.json @@ -73,6 +73,14 @@ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" }, + "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" + } + }, "archiver": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.2.0.tgz", @@ -168,9 +176,9 @@ } }, "azure-pipelines-tasks-packaging-common": { - "version": "3.214.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.214.0.tgz", - "integrity": "sha512-TLn0BDm/igBwmKbEoLuGUUeijpDKRBVbi5hU72RvsAuAAFV3PHZgg/l0yHvPKS8BDDQ5zUS6g/Yo+9t8mSg09A==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", + "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", @@ -181,7 +189,7 @@ "adm-zip": "^0.4.11", "azure-devops-node-api": "10.2.2", "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", @@ -198,60 +206,59 @@ "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } - }, - "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", - "requires": { - "@types/semver": "^5.3.0", - "@types/uuid": "^3.4.5", - "azure-pipelines-task-lib": "^4.0.0-preview", - "semver": "^5.7.0", - "semver-compare": "^1.0.0", - "typed-rest-client": "^1.8.6", - "uuid": "^3.3.2" - }, - "dependencies": { - "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, "azure-pipelines-tasks-utility-common": { - "version": "3.212.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.212.0.tgz", - "integrity": "sha512-8vz51N7SOyprBHUjJz0HttVjk9+p9Y9wI/VO2ighotfdHvmgK3RB+1u6rsC6mHeVbGdpT51Luu9J6BMRMOXSig==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.230.0.tgz", + "integrity": "sha512-d84LeflxFdXSFiWic+OIm2ObQtjdnuy2R9tKLq7mUs47mEP8ARWTP+0kOX6nmc4l7R2dhupStcWeltroj12ijg==", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.4.1" + }, + "dependencies": { + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "azure-pipelines-task-lib": { + "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", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } } }, "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", + "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": "^4.0.0-preview", + "azure-pipelines-task-lib": "^4.1.0", "semver": "^5.7.0", "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", @@ -259,9 +266,9 @@ }, "dependencies": { "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -285,6 +292,14 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "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": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", @@ -412,6 +427,23 @@ "readable-stream": "^2.0.0" } }, + "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==", + "requires": { + "ms": "2.1.2" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -430,6 +462,16 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "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==" + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -527,6 +569,15 @@ } } }, + "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": { + "agent-base": "6", + "debug": "4" + } + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -640,6 +691,27 @@ "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==" + }, + "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": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -744,6 +816,14 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "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": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -854,6 +934,14 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, + "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" + } + }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -892,6 +980,11 @@ "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" }, + "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", diff --git a/Tasks/DotNetCoreCLIV2/package.json b/Tasks/DotNetCoreCLIV2/package.json index b5adf4f8be28..a435e3dc9d49 100644 --- a/Tasks/DotNetCoreCLIV2/package.json +++ b/Tasks/DotNetCoreCLIV2/package.json @@ -22,8 +22,8 @@ "archiver": "1.2.0", "azure-devops-node-api": "11.2.0", "azure-pipelines-task-lib": "^4.1.0", - "azure-pipelines-tasks-packaging-common": "^3.214.0", - "azure-pipelines-tasks-utility-common": "^3.212.0", + "azure-pipelines-tasks-packaging-common": "^3.230.0", + "azure-pipelines-tasks-utility-common": "^3.230.0", "uuid": "3.2.1" }, "devDependencies": { diff --git a/Tasks/DotNetCoreCLIV2/task.json b/Tasks/DotNetCoreCLIV2/task.json index c752fba195bd..280b43edb463 100644 --- a/Tasks/DotNetCoreCLIV2/task.json +++ b/Tasks/DotNetCoreCLIV2/task.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 221, + "Minor": 232, "Patch": 0 }, "minimumAgentVersion": "2.144.0", diff --git a/Tasks/DotNetCoreCLIV2/task.loc.json b/Tasks/DotNetCoreCLIV2/task.loc.json index dabbeb88b1a5..cbdd16894fb8 100644 --- a/Tasks/DotNetCoreCLIV2/task.loc.json +++ b/Tasks/DotNetCoreCLIV2/task.loc.json @@ -17,7 +17,7 @@ "demands": [], "version": { "Major": 2, - "Minor": 221, + "Minor": 232, "Patch": 0 }, "minimumAgentVersion": "2.144.0", diff --git a/_generated/DotNetCoreCLIV2.versionmap.txt b/_generated/DotNetCoreCLIV2.versionmap.txt index 7ccf5d5f6dd0..26a42bda1140 100644 --- a/_generated/DotNetCoreCLIV2.versionmap.txt +++ b/_generated/DotNetCoreCLIV2.versionmap.txt @@ -1,2 +1,2 @@ -Default|2.221.0 -Node20_229_2|2.231.0 +Default|2.232.0 +Node20_229_2|2.232.1 diff --git a/_generated/DotNetCoreCLIV2/Common/utility.ts b/_generated/DotNetCoreCLIV2/Common/utility.ts new file mode 100644 index 000000000000..ae93869e89db --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Common/utility.ts @@ -0,0 +1,14 @@ +import * as tl from "azure-pipelines-task-lib/task"; + +export function getProjectFiles(projectPattern: string[]): string[] { + if (projectPattern.length == 0) { + return [""]; + } + var projectFiles: string[] = tl.findMatch(tl.getVariable("System.DefaultWorkingDirectory") || process.cwd(), projectPattern); + + if (!projectFiles || !projectFiles.length) { + return []; + } + + return projectFiles; +} diff --git a/_generated/DotNetCoreCLIV2/README.md b/_generated/DotNetCoreCLIV2/README.md new file mode 100644 index 000000000000..9cbf9bd3a928 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/README.md @@ -0,0 +1,55 @@ +# .NET Core : Build, test and publish using dotnet core command-line. + +## Overview + +The .NET Core task is used to Build, test and publish using dotnet core command-line. + +## Contact Information + +Please report a problem at [Developer Community Forum](https://developercommunity.visualstudio.com/spaces/21/index.html) if you are facing problems in making this task work. You can also share feedback about the task like, what more functionality should be added to the task, what other tasks you would like to have, at the same place. + +## Pre-requisites for the task + +The only prerequisite for the task is that .NET Core must be installed on Azure Pipelines agent machine. In case you want an exact version of .NET Core on the agent then you can use the [.NET Core Tool installer task](https://github.com/Microsoft/azure-pipelines-tasks/tree/master/Tasks/DotNetCoreInstallerV0) + +### Parameters of the task + +* **Command\*:** The task can be use to run any [dotnet core command](https://docs.microsoft.com/en-us/dotnet/core/tools/?tabs=netcore2x). + +* **Projects\*:** Depending on the version of .NET Core, the task can work with either project.json or a csproj file. You can pass a relative path of the .csproj file(s) from repo root. Wildcards can be used too. For example, **/*.csproj for all .csproj files in all the sub folders. + +* **Arguments\:** Pass arguments to the selected dotnet core command. For example, build configuration, output folder, runtime. The arguments depend on the command selected. + +Options specific to **dotnet publish** command +* **Publish Web Projects\*:** If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory. +* **Zip Published Projects\*:** If true, folder created by the publish command will be zipped. +* **Add project name to publish path\*:** If true, folders created by the publish command will have project file name prefixed to their folder names when output path is specified explicitly in arguments. This is useful if you want to publish multiple projects to the same folder. + +Options specific to **dotnet nuget push** command +* **Path to NuGet package(s) to publish\*:** The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon, and you can make a pattern negative by prefixing it with '-:'. Example: **\*.nupkg;-:**\*.Tests.nupkg +* **Target feed location\*:** You can choose from a feed in your Azure Pipelines account or an external NuGet server. +* **Target feed\*:** Select a feed hosted in this account. You must have Azure Artifacts installed and licensed to select a feed here. + +Options specific to **dotnet pack** command +* **Path to csproj or nuspec file(s) to pack\*:** Pattern to search for csproj or nuspec files to pack. You can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: **\*.csproj;!**\*.Tests.csproj +* **Configuration to Package\*:** When using a csproj file this specifies the configuration to package. +* **Package Folder\*:** Folder where packages will be created. If empty, packages will be created alongside the csproj file. +* **Do not build\*:** Don't build the project before packing. Corresponds to the --no-build command line parameter. +* **Include Symbols\*:** Additionally creates symbol NuGet packages. Corresponds to the --include-symbols command line parameter. +* **Include Source\*:** Includes source code in the package. Corresponds to the --include-source command line parameter. +* **Automatic package versioning\*:** Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a SemVer -compliant version formatted as X.Y.Z-ci-datetime where you choose X, Y, and Z. +If you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use. +If you choose 'Use the build number', this will use the build number to version your package. Note: Under Options set the build number format to be '$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r) +* **Additional build properties\*:** Specifies a list of token = value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks. +* **Verbosity\*:** Specifies the amount of detail displayed in the output. + +Options specific to **dotnet restore** command +* **Feeds to use\*:** You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here. +* **Use packages from this Azure Artifacts/TFS feed\*:** Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and licensed to select a feed here. +* **Use packages from NuGet.org\*:** Include NuGet.org in the generated NuGet.config. +* **Disable local cache\*:** Prevents NuGet from using packages from local machine caches. +* **Destination directory\*:** Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default NuGet package cache. +* **verbosity\*:** Specifies the amount of detail displayed in the output. + +Options specific to **dotnet test** command +* **Publish test results\*:** Enabling this option will generate a test results TRX file in $(Agent.TempDirectory) and results will be published to the server. This option appends --logger trx --results-directory $(Agent.TempDirectory) to the command line arguments. diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson new file mode 100644 index 000000000000..fee6212aa690 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/de-DE/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[Weitere Informationen zu dieser Aufgabe](https://go.microsoft.com/fwlink/?linkid=832194) oder [.NET Core-Dokumentation anzeigen](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Hiermit wird eine .NET-Anwendung erstellt, getestet paketiert oder veröffentlicht oder ein benutzerdefinierter .NET-Befehl ausgeführt.", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "Feeds und Authentifizierung", + "loc.group.displayName.restoreAdvanced": "Erweitert", + "loc.group.displayName.pushAuth": "Zielfeed und Authentifizierung", + "loc.group.displayName.pushAdvanced": "Erweitert", + "loc.group.displayName.packOptions": "Paketoptionen", + "loc.group.displayName.packAdvanced": "Erweitert", + "loc.group.displayName.generalAdvanced": "Erweitert", + "loc.input.label.command": "Befehl", + "loc.input.help.command": "Der auszuführende dotnet-Befehl. Wählen Sie \"Benutzerdefiniert\", um Argumente hinzuzufügen oder einen Befehl zu verwenden, der hier nicht aufgeführt ist.", + "loc.input.label.publishWebProjects": "Webprojekte veröffentlichen", + "loc.input.help.publishWebProjects": "Bei Festlegung auf TRUE versucht der Task, die Webprojekte im Repository zu ermitteln und für sie den Veröffentlichungsbefehl auszuführen. Webprojekte sind dadurch gekennzeichnet, dass entweder eine Datei \"web.config\" oder ein Ordner \"wwwroot\" im Verzeichnis enthalten ist.", + "loc.input.label.projects": "Pfad zu Projekten", + "loc.input.help.projects": "Der Pfad zu den zu verwendenden CSPROJ-Dateien. Sie können Platzhalter verwenden (z. B. \"**/*.csproj\" für alle CSPROJ-Dateien in allen Unterordnern). **Dieses Feld folgt dem Globmuster und wird unabhängig vom Arbeitsverzeichnis immer für den Stamm des Repositorys ausgeführt.**", + "loc.input.label.custom": "Benutzerdefinierter Befehl", + "loc.input.help.custom": "Der an \"dotnet.exe\" zum Ausführen zu übergebende Befehl.", + "loc.input.label.arguments": "Argumente", + "loc.input.help.arguments": "Argumente für den ausgewählten Befehl, z. B. Buildkonfiguration, Ausgabeordner, Laufzeit. Die Argumente richten sich nach dem ausgewählten Befehl.", + "loc.input.label.restoreArguments": "Argumente", + "loc.input.help.restoreArguments": "Geben Sie die zusätzlichen Argumente an, die an den Befehl **restore** übergeben werden sollen.", + "loc.input.label.publishTestResults": "Testergebnisse und Code Coverage veröffentlichen", + "loc.input.help.publishTestResults": "Durch das Aktivieren dieser Option wird eine TRX-Datei mit Testergebnissen in \"$(Agent.TempDirectory)\" generiert, und die Ergebnisse werden auf dem Server veröffentlicht
Diese Option fügt \"--logger trx --results-directory $(Agent.TempDirectory)\" an die Befehlszeilenargumente an.

Code Coverage-Daten können durch Hinzufügen der Option \"--collect \"Code coverage\" an die Befehlszeilenargumente erfasst werden. Diese Option ist zurzeit nur für die Windows-Plattform verfügbar.", + "loc.input.label.testRunTitle": "Testlauftitel", + "loc.input.help.testRunTitle": "Geben Sie einen Namen für den Testlauf an.", + "loc.input.label.zipAfterPublish": "Veröffentlichte Projekte komprimieren", + "loc.input.help.zipAfterPublish": "Bei Festlegung auf TRUE wird der über den Veröffentlichungsbefehl erstellte Ordner komprimiert.", + "loc.input.label.modifyOutputPath": "Ordnernamen des Projekts zu Veröffentlichungspfad hinzufügen", + "loc.input.help.modifyOutputPath": "Bei Festlegung auf TRUE wird den Namen von Ordnern, die über den Veröffentlichungsbefehl erstellt wurden, der Ordnername des Projekts vorangestellt, wenn der Ausgabepfad explizit in den Argumenten angegeben wird. Dies ist nützlich, wenn Sie mehrere Projekte im selben Ordner veröffentlichen möchten.", + "loc.input.label.selectOrConfig": "Zu verwendende Feeds", + "loc.input.help.selectOrConfig": "Sie können hier entweder einen Feed aus Azure Artifacts und/oder NuGet.org auswählen oder einen Commit für eine nuget.config-Datei in Ihrem Quellcoderepository durchführen und hier den zugehörigen Pfad festlegen.", + "loc.input.label.feedRestore": "Pakete aus diesem Azure Artifacts-Feed verwenden", + "loc.input.help.feedRestore": "Schließen Sie den ausgewählten Feed in die generierte Datei \"NuGet.config\" ein. Azure Artifacts muss installiert und lizenziert sein, damit Sie hier einen Feed auswählen können.", + "loc.input.label.includeNuGetOrg": "Pakete aus \"NuGet.org\" verwenden", + "loc.input.help.includeNuGetOrg": "\"NuGet.org\" in die erstellte Datei \"NuGet.config\" einbeziehen.", + "loc.input.label.nugetConfigPath": "Pfad zu \"NuGet.config\"", + "loc.input.help.nugetConfigPath": "Die Datei \"NuGet.config\" in Ihrem Repository, die die Feeds angibt, aus denen Pakete wiederhergestellt werden.", + "loc.input.label.externalEndpoints": "Anmeldeinformationen für Feeds außerhalb dieser Organisation/Sammlung", + "loc.input.help.externalEndpoints": "Anmeldeinformationen für externe Registrierungen, die sich in der ausgewählten \"NuGet.config\" befinden. Lassen Sie dieses Feld für Feeds in dieser Organisation/Sammlung leer. Es werden automatisch die Anmeldeinformationen des Builds verwendet.", + "loc.input.label.noCache": "Lokalen Cache deaktivieren", + "loc.input.help.noCache": "Verhindert, dass NuGet Pakete aus dem Cache eines lokalen Computers verwendet werden.", + "loc.input.label.packagesDirectory": "Zielverzeichnis", + "loc.input.help.packagesDirectory": "Gibt den Ordner an, in dem Pakete installiert sind. Wenn kein Ordner angegeben ist, werden Pakete im standardmäßigen NuGet-Paketcache wiederhergestellt.", + "loc.input.label.verbosityRestore": "Ausführlichkeit", + "loc.input.help.verbosityRestore": "Gibt die Menge der Details an, die in der Ausgabe angezeigt werden.", + "loc.input.label.searchPatternPush": "Pfad zu den zu veröffentlichenden NuGet-Paketen", + "loc.input.help.searchPatternPush": "Das Muster, mit dem eine Übereinstimmung vorliegen soll, oder der Pfad zu den NUPKG-Dateien, die hochgeladen werden sollen. Mehrere Muster können durch ein Semikolon getrennt werden.", + "loc.input.label.nuGetFeedType": "Speicherort für Zielfeed", + "loc.input.label.feedPublish": "Zielfeed", + "loc.input.help.feedPublish": "Wählen Sie einen Feed aus, der in dieser Organisation gehostet wird. Azure Artifacts muss installiert und lizenziert sein, damit Sie hier einen Feed auswählen können.", + "loc.input.label.publishPackageMetadata": "Pipelinemetadaten veröffentlichen", + "loc.input.help.publishPackageMetadata": "Ordnen Sie die Metadaten dieser Build-/Releasepipeline (Ausführungsnummer, Quellcodeinformationen) dem Paket zu.", + "loc.input.label.externalEndpoint": "NuGet-Server", + "loc.input.help.externalEndpoint": "Die NuGet-Dienstverbindung, die die Anmeldeinformationen des externen NuGet-Servers enthält.", + "loc.input.label.searchPatternPack": "Der Pfad zu den zu packenden CSPROJ- oder NUSPEC-Dateien", + "loc.input.help.searchPatternPack": "Das Muster für die Suche nach NUSPEC- oder CSPROJ-Dateien, die gepackt werden sollen.\n\nSie können mehrere Muster durch ein Semikolon trennen, und Sie können ein Muster mit einem negativen Vorzeichen versehen, indem Sie ihm \"!\" als Präfix voranstellen. Beispiel: \"**/*.csproj;!**/*.Tests.csproj\"", + "loc.input.label.configurationToPack": "Zu packende Konfiguration", + "loc.input.help.configurationToPack": "Bei Verwendung einer CPROJ-Datei legt diese Option die zu packende Konfiguration fest.", + "loc.input.label.outputDir": "Paketordner", + "loc.input.help.outputDir": "Der Ordner, in dem die Pakete erstellt werden. Wenn keine Angabe erfolgt, werden die Pakete zusammen mit der CSPROJ-Datei erstellt.", + "loc.input.label.nobuild": "Nicht erstellen", + "loc.input.help.nobuild": "Erstellen Sie das Projekt nicht vor dem Verpacken. Dies entspricht dem Befehlszeilenparameter \"--no-build\".", + "loc.input.label.includesymbols": "Symbole einschließen", + "loc.input.help.includesymbols": "Erstellt zusätzlich NuGet-Symbolpakete. Entspricht dem Befehlszeilenparameter \"--include-symbols\".", + "loc.input.label.includesource": "Quelle einschließen", + "loc.input.help.includesource": "Schließt Quellcode in das Paket ein. Entspricht dem Befehlszeilenparameter \"--include-source\".", + "loc.input.label.versioningScheme": "Automatische Versionsverwaltung von Paketen", + "loc.input.help.versioningScheme": "Kann nicht unter Einbeziehung referenzierter Projekte verwendet werden. Wenn Sie \"Datum und Uhrzeit verwenden\" auswählen, wird bei Auswahl von X, Y und Z eine mit [SemVer](http://semver.org/spec/v1.0.0.html) kompatible Version generiert, die als \"X.Y.Z-ci-datetime\" formatiert ist.\n\nWenn Sie \"Umgebungsvariable verwenden\" auswählen, müssen Sie eine Umgebungsvariable auswählen und sicherstellen, dass sie die Versionsnummer enthält, die Sie verwenden möchten.\n\nWenn Sie \"Buildnummer verwenden\" auswählen, wird die Buildnummer für die Version Ihres Pakets verwendet. **Hinweis:** Legen Sie unter \"Optionen\" das Buildnummernformat als \"[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)\" fest.", + "loc.input.label.versionEnvVar": "Umgebungsvariable", + "loc.input.help.versionEnvVar": "Geben Sie den Variablennamen ohne $, $env oder % ein.", + "loc.input.label.requestedMajorVersion": "Hauptversion", + "loc.input.help.requestedMajorVersion": "Die Angabe \"X\" in der Version [X.Y.Z](http://semver.org/spec/v1.0.0.html).", + "loc.input.label.requestedMinorVersion": "Nebenversion", + "loc.input.help.requestedMinorVersion": "Die Angabe \"Y\" in der Version [X.Y.Z](http://semver.org/spec/v1.0.0.html).", + "loc.input.label.requestedPatchVersion": "Patch", + "loc.input.help.requestedPatchVersion": "Die Angabe \"Z\" in der Version [X.Y.Z](http://semver.org/spec/v1.0.0.html).", + "loc.input.label.buildProperties": "Zusätzliche Buildeigenschaften", + "loc.input.help.buildProperties": "Gibt eine Liste von Token-Wert-Paaren an, durch Semikolons getrennt, wobei jedes Vorkommen von $token$ in der NUSPEC-Datei durch den angegebenen Wert ersetzt wird. Werte können Zeichenfolgen in Anführungszeichen sein.", + "loc.input.label.verbosityPack": "Ausführlichkeit", + "loc.input.help.verbosityPack": "Gibt die Menge der Details an, die in der Ausgabe angezeigt werden.", + "loc.input.label.workingDirectory": "Arbeitsverzeichnis", + "loc.input.help.workingDirectory": "Das aktuelle Arbeitsverzeichnis, in dem das Skript ausgeführt wird. Wenn keine Angabe erfolgt, wird der Stamm des Repositorys (Build) oder der Artefakte (Release) verwendet, das \"$(System.DefaultWorkingDirectory)\" lautet. Das Projektsuchmuster ist **NICHT** relativ zum Arbeitsverzeichnis.", + "loc.messages.BuildIdentityPermissionsHint": "Stellen Sie für interne Feeds sicher, dass die Builddienstidentität \"%s\" [%s] Zugriff auf den Feed besitzt.", + "loc.messages.CouldNotSetCodePaging": "Codepaging konnte aufgrund des folgenden Fehlers nicht festgelegt werden: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Automatische Version: Das Abrufen der Versionsnummer von der Buildoption wird in Releases nicht unterstützt.", + "loc.messages.Error_CommandNotRecognized": "Der Befehl %s wurde nicht erkannt.", + "loc.messages.Error_NoSourceSpecifiedForPush": "Für Push wurde keine Quelle angegeben.", + "loc.messages.Error_NoValueFoundForEnvVar": "Für die angegebene Umgebungsvariable wurde kein Wert gefunden.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "Die Versionsnummerndaten wurden in der folgenden Umgebungsvariable nicht gefunden: BUILD_BUILDNUMBER. Der Wert der Variablen muss eine untergeordnete Zeichenfolge mit den folgenden Formaten enthalten: X.Y.Z oder X.Y.Z.A, wobei A, X, Y und Z positive Integer sind.", + "loc.messages.Error_PackageFailure": "Fehler beim Versuch, die Dateien zu packen.", + "loc.messages.Error_PushNotARegularFile": "%s ist keine Datei. Überprüfen Sie die Eigenschaft \"Pfad/Muster für nupkg\" der Aufgabe.", + "loc.messages.Info_AttemptingToPackFile": "Es wird versucht, die Datei zu packen:", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "Keine Pakete stimmen mit dem Suchmuster überein.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "Keine Dateien stimmen mit dem Suchmuster überein.", + "loc.messages.PackagesFailedToInstall": "Fehler beim Wiederherstellen der Pakete", + "loc.messages.PackagesFailedToPublish": "Fehler beim Veröffentlichen der Pakete.", + "loc.messages.PackagesInstalledSuccessfully": "Pakete wurden erfolgreich wiederhergestellt", + "loc.messages.PackagesPublishedSuccessfully": "Pakete wurden erfolgreich veröffentlicht.", + "loc.messages.UnknownFeedType": "Unbekannter Feedtyp \"%s\".", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "Die Optionen zur automatischen Paketversionsverwaltung und zum Einbeziehen referenzierter Projekte funktionieren nicht zusammen. Referenzierte Projekte erben nicht die benutzerdefinierte Version, die von den Einstellungen zur automatischen Versionsverwaltung bereitgestellt wird.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "In BUILD_BUILDNUMBER wurde mehr als eine Instanz der Versionsdaten gefunden. Es wird davon ausgegangen, dass die erste Instanz die Version ist.", + "loc.messages.dotnetCommandFailed": "Fehler beim dotnet-Befehl mit Exitcode ungleich 0 bei den folgenden Projekten: %s.", + "loc.messages.noProjectFilesFound": "Es wurden keine Projektdateien gefunden, die dem angegebenen Muster entsprechen.", + "loc.messages.noPublishFolderFoundToZip": "Für die Projektdatei wurde kein Veröffentlichungsordner zum Komprimieren gefunden: %s.", + "loc.messages.noWebProjectFound": "Im Repository wurde kein Webprojekt gefunden. Webprojekte werden durch das Vorhandensein einer Datei \"web.config\", durch einen wwwroot-Ordner im Verzeichnis oder durch die Verwendung von Microsoft.Net.Web.Sdk in der Projektdatei identifiziert. Sie können die Eigenschaft \"Webprojekte veröffentlichen\" auf FALSE festlegen (publishWebProjects: FALSE in YAML), wenn Ihr Projekt nicht dieser Konvention folgt oder Sie anstelle von Webprojekten andere Projekte veröffentlichen möchten.", + "loc.messages.zipFailed": "Fehler bei Komprimierung: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore unterstützt die Verwendung eines verschlüsselten API-Schlüssels derzeit nicht.", + "loc.messages.Error_ExpectedConfigurationElement": "Ungültiges XML. Es wurde ein Element mit dem Namen \"configuration\" erwartet.", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "Es wurden keine mit dem Suchmuster übereinstimmenden Dateien gefunden: %s.", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "Keine Download-URL für %s gefunden", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "Keine Version gefunden, die mit der Eingabe %s übereinstimmt", + "loc.messages.Error_NuGetToolInstallerFailer": "Fehler bei der Toolinstallation: %s.", + "loc.messages.Info_AvailableVersions": "Die verfügbaren Versionen sind: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "Sie verwenden eine Übereinstimmungsabfrage in der Versionszeichenfolge. Änderungen im Verhalten oder Fehler verursachende Änderungen können bei NuGet-Aktualisierungen auf eine neue Version auftreten.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Die Authentifizierungsinformation wird für den folgenden URI verwendet:", + "loc.messages.Info_ResolvedToolFromCache": "Aus Toolcache aufgelöst: %s", + "loc.messages.Info_SavingTempConfig": "\"NuGet.config\" wird in einer temporären Konfigurationsdatei gespeichert.", + "loc.messages.Info_UsingToolPath": "Verwendeter Toolpfad: %s", + "loc.messages.Info_UsingVersion": "Verwendete Version: %s", + "loc.messages.NGCommon_AddingSources": "Anmeldeinformationen in der Datei \"NuGet.config\" werden festgelegt.", + "loc.messages.NGCommon_AreaNotFoundInSps": "Der Bereich \"%s\" [%s] wurde nicht gefunden. Der Dienst, der diesen Bereich enthält, ist ggf. in Ihrer Region nicht verfügbar.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Ein Ladeprogrammpfad für NuGet-Extensions (Umgebungsvariable \"NUGET_EXTENSIONS_PATH\") wurde erkannt: %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "Erkannte NuGet-Version %s/%s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Ein Ladeprogrammpfad für NuGet-Extensions (Umgebungsvariable \"NUGET_EXTENSIONS_PATH\") wurde erkannt. Extensions werden ignoriert, wenn der integrierte NuGet-Client verwendet wird.", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "In der Datei \"NuGet.config\" unter \"%s\" wurden keine Paketquellen gefunden.", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "Die Datei \"NuGet.config\" unter \"%s\" ist ungültig.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "Unter %s wurde eine Datei \"NuGet.config\" erwartet, der Inhalt scheint aber eine Datei \"packages.config\" zu sein. Überprüfen Sie die Einstellungen für den Task \"%s\", und bestätigen Sie, dass Sie \"NuGet.config\" und nicht \"packages.config\" ausgewählt haben.", + "loc.messages.NGCommon_RemovingSources": "Das Festlegen von Anmeldeinformationen in \"NuGet.config\" wird vorbereitet.", + "loc.messages.NGCommon_SpsNotFound": "Der Bereich \"%s\" [%s] wurde nicht gefunden. Möglicherweise liegt ein Problem mit der Team Foundation Server-Installation vor.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "Unbekannte NuGet-Version ausgewählt.", + "loc.messages.NGCommon_UnableToFindTool": "Das Tool %s wurde nicht gefunden.", + "loc.messages.Warning_SessionCreationFailed": "Die Herkunftssitzung konnte nicht erstellt werden: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Die Version von \"NuGet.exe\" wird von %s auf %s aktualisiert. NuGet-Updates auf eine neue Version können zu Änderungen im Verhalten oder Breaking Changes führen. Falls dies nicht gewünscht ist, deaktivieren Sie die Option \"Auf aktuelle Version überprüfen\" in der Aufgabe.", + "loc.messages.Net5Update": "Info: In Azure Pipelines gehostete Agents wurden aktualisiert und enthalten jetzt .NET 5.x SDK/Runtime zusammen mit der älteren .NET Core-Version (zurzeit LTS). Wenn Sie Ihr Projekt nicht auf eine SDK-Version festgelegt haben, wird möglicherweise das 5.x SDK abgerufen. Dieses kann im Vergleich zu früheren Versionen zur Unterbrechung der Funktionalität führen. Weitere Informationen zu Breaking Changes finden Sie hier: https://docs.microsoft.com/de-de/dotnet/core/tools/ und https://docs.microsoft.com/de-de/dotnet/core/compatibility/. Weitere Informationen zu diesen Änderungen und zur Problembehandlung finden Sie hier: https://docs.microsoft.com/de-de/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting.", + "loc.messages.Net5NugetVersionCompat": ".NET 5 weist einige Kompatibilitätsprobleme mit älteren NuGet-Versionen (<=5.7) auf, daher können die dotnet-CLI-Befehle (z. B. dotnet build), die auf diesen wiederhergestellten Paketen basieren, möglicherweise nicht ausgeführt werden, wenn Sie eine ältere NuGet-Version (und nicht die dotnet-CLI) verwenden. Um diesen Fehler zu beheben, gibt es folgende Möglichkeiten: (1) Verwenden Sie die dotnet-CLI zur Wiederherstellung. (2) Verwenden Sie NuGet, Version 5.8, zur Wiederherstellung. (3) Verwenden Sie zur Erstellung \"global.json\" mit einer älteren SDK-Version (<=3).", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/Runtime 2.2 und 3.0 haben ihr EOL (End of Life) erreicht und wurden aus allen gehosteten Agents entfernt. Wenn Sie diese SDKs/Runtimes für gehostete Agents verwenden, führen Sie ein Upgrade auf neuere Versionen durch, die das EOL noch nicht erreicht haben, oder verwenden Sie die Aufgabe \"UseDotNet\", um die erforderliche Version zu installieren.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg ist derzeit für diese Aufgabe aktiviert. Um diese Warnung zu beheben, bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\".", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Pakete konnten nicht wiederhergestellt werden. Bearbeiten Sie Ihre Buildaufgabe, und legen Sie \"includeNuGetOrg\" auf \"false\" fest, oder deaktivieren Sie \"Pakete aus NuGet.org verwenden\"." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson new file mode 100644 index 000000000000..7f2f8a911ae5 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/en-US/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=832194) or [see the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "Feeds and authentication", + "loc.group.displayName.restoreAdvanced": "Advanced", + "loc.group.displayName.pushAuth": "Destination feed and authentication", + "loc.group.displayName.pushAdvanced": "Advanced", + "loc.group.displayName.packOptions": "Pack options", + "loc.group.displayName.packAdvanced": "Advanced", + "loc.group.displayName.generalAdvanced": "Advanced", + "loc.input.label.command": "Command", + "loc.input.help.command": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", + "loc.input.label.publishWebProjects": "Publish web projects", + "loc.input.help.publishWebProjects": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory.", + "loc.input.label.projects": "Path to project(s)", + "loc.input.help.projects": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**", + "loc.input.label.custom": "Custom command", + "loc.input.help.custom": "The command to pass to dotnet.exe for execution.", + "loc.input.label.arguments": "Arguments", + "loc.input.help.arguments": "Arguments to the selected command. For example, build configuration, output folder, runtime. The arguments depend on the command selected.", + "loc.input.label.restoreArguments": "Arguments", + "loc.input.help.restoreArguments": "Write the additional arguments to be passed to **restore** command.", + "loc.input.label.publishTestResults": "Publish test results and code coverage", + "loc.input.help.publishTestResults": "Enabling this option will generate a test results TRX file in `$(Agent.TempDirectory)` and results will be published to the server.
This option appends `--logger trx --results-directory $(Agent.TempDirectory)` to the command line arguments.

Code coverage can be collected by adding `--collect \"Code coverage\"` option to the command line arguments. This is currently only available on the Windows platform.", + "loc.input.label.testRunTitle": "Test run title", + "loc.input.help.testRunTitle": "Provide a name for the test run.", + "loc.input.label.zipAfterPublish": "Zip published projects", + "loc.input.help.zipAfterPublish": "If true, folder created by the publish command will be zipped.", + "loc.input.label.modifyOutputPath": "Add project's folder name to publish path", + "loc.input.help.modifyOutputPath": "If true, folders created by the publish command will have project's folder name prefixed to their folder names when output path is specified explicitly in arguments. This is useful if you want to publish multiple projects to the same folder.", + "loc.input.label.selectOrConfig": "Feeds to use", + "loc.input.help.selectOrConfig": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", + "loc.input.label.feedRestore": "Use packages from this Azure Artifacts feed", + "loc.input.help.feedRestore": "Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and licensed to select a feed here.", + "loc.input.label.includeNuGetOrg": "Use packages from NuGet.org", + "loc.input.help.includeNuGetOrg": "Include NuGet.org in the generated NuGet.config.", + "loc.input.label.nugetConfigPath": "Path to NuGet.config", + "loc.input.help.nugetConfigPath": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", + "loc.input.label.externalEndpoints": "Credentials for feeds outside this organization/collection", + "loc.input.help.externalEndpoints": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", + "loc.input.label.noCache": "Disable local cache", + "loc.input.help.noCache": "Prevents NuGet from using packages from local machine caches.", + "loc.input.label.packagesDirectory": "Destination directory", + "loc.input.help.packagesDirectory": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default NuGet package cache.", + "loc.input.label.verbosityRestore": "Verbosity", + "loc.input.help.verbosityRestore": "Specifies the amount of detail displayed in the output.", + "loc.input.label.searchPatternPush": "Path to NuGet package(s) to publish", + "loc.input.help.searchPatternPush": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", + "loc.input.label.nuGetFeedType": "Target feed location", + "loc.input.label.feedPublish": "Target feed", + "loc.input.help.feedPublish": "Select a feed hosted in this organization. You must have Azure Artifacts installed and licensed to select a feed here.", + "loc.input.label.publishPackageMetadata": "Publish pipeline metadata", + "loc.input.help.publishPackageMetadata": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", + "loc.input.label.externalEndpoint": "NuGet server", + "loc.input.help.externalEndpoint": "The NuGet service connection that contains the external NuGet server’s credentials.", + "loc.input.label.searchPatternPack": "Path to csproj or nuspec file(s) to pack", + "loc.input.help.searchPatternPack": "Pattern to search for csproj or nuspec files to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**/*.csproj;!**/*.Tests.csproj`", + "loc.input.label.configurationToPack": "Configuration to Package", + "loc.input.help.configurationToPack": "When using a csproj file this specifies the configuration to package", + "loc.input.label.outputDir": "Package Folder", + "loc.input.help.outputDir": "Folder where packages will be created. If empty, packages will be created alongside the csproj file.", + "loc.input.label.nobuild": "Do not build", + "loc.input.help.nobuild": "Don't build the project before packing. Corresponds to the --no-build command line parameter.", + "loc.input.label.includesymbols": "Include Symbols", + "loc.input.help.includesymbols": "Additionally creates symbol NuGet packages. Corresponds to the --include-symbols command line parameter.", + "loc.input.label.includesource": "Include Source", + "loc.input.help.includesource": "Includes source code in the package. Corresponds to the --include-source command line parameter.", + "loc.input.label.versioningScheme": "Automatic package versioning", + "loc.input.help.versioningScheme": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "loc.input.label.versionEnvVar": "Environment variable", + "loc.input.help.versionEnvVar": "Enter the variable name without $, $env, or %.", + "loc.input.label.requestedMajorVersion": "Major", + "loc.input.help.requestedMajorVersion": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "Minor", + "loc.input.help.requestedMinorVersion": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "Patch", + "loc.input.help.requestedPatchVersion": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "Additional build properties", + "loc.input.help.buildProperties": "Specifies a list of token = value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", + "loc.input.label.verbosityPack": "Verbosity", + "loc.input.help.verbosityPack": "Specifies the amount of detail displayed in the output.", + "loc.input.label.workingDirectory": "Working directory", + "loc.input.help.workingDirectory": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory). The project search pattern is **NOT** relative to working directory.", + "loc.messages.BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "loc.messages.CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", + "loc.messages.Error_CommandNotRecognized": "The command %s was not recognized.", + "loc.messages.Error_NoSourceSpecifiedForPush": "No source was specified for push", + "loc.messages.Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", + "loc.messages.Error_PackageFailure": "An error occurred while trying to pack the files.", + "loc.messages.Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", + "loc.messages.Info_AttemptingToPackFile": "Attempting to pack file: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", + "loc.messages.PackagesFailedToInstall": "Packages failed to restore", + "loc.messages.PackagesFailedToPublish": "Packages failed to publish", + "loc.messages.PackagesInstalledSuccessfully": "Packages were restored successfully", + "loc.messages.PackagesPublishedSuccessfully": "Packages were published successfully", + "loc.messages.UnknownFeedType": "Unknown feed type '%s'", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", + "loc.messages.dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", + "loc.messages.noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", + "loc.messages.noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", + "loc.messages.noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish web projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", + "loc.messages.zipFailed": "Zip failed with error: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "loc.messages.Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "loc.messages.Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "loc.messages.Info_AvailableVersions": "The available versions are: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "loc.messages.Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "loc.messages.Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "loc.messages.Info_UsingToolPath": "Using tool path: %s", + "loc.messages.Info_UsingVersion": "Using version: %s", + "loc.messages.NGCommon_AddingSources": "Setting credentials in NuGet.config", + "loc.messages.NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "loc.messages.NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "loc.messages.NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "loc.messages.NGCommon_UnableToFindTool": "Unable to find tool %s", + "loc.messages.Warning_SessionCreationFailed": "Could not create provenance session: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", + "loc.messages.Net5Update": "Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 has some compatibility issues with older Nuget versions(<=5.7), so if you are using an older Nuget version(and not dotnet cli) to restore, then the dotnet cli commands (e.g. dotnet build) which rely on such restored packages might fail. To mitigate such error, you can either: (1) - Use dotnet cli to restore, (2) - Use Nuget version 5.8 to restore, (3) - Use global.json using an older sdk version(<=3) to build", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson new file mode 100644 index 000000000000..82a2595b1511 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/es-ES/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[Obtener más información acerca de esta tarea](https://go.microsoft.com/fwlink/?linkid=832194) o [consultar la documentación de .NET Core](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Compila, prueba, empaqueta o publica una aplicación de dotnet o bien ejecuta un comando dotnet personalizado.", + "loc.instanceNameFormat": "dotnet $(comando)", + "loc.group.displayName.restoreAuth": "Fuentes y autenticación", + "loc.group.displayName.restoreAdvanced": "Avanzado", + "loc.group.displayName.pushAuth": "Fuente de destino y autenticación", + "loc.group.displayName.pushAdvanced": "Avanzado", + "loc.group.displayName.packOptions": "Opciones de paquete", + "loc.group.displayName.packAdvanced": "Avanzado", + "loc.group.displayName.generalAdvanced": "Avanzado", + "loc.input.label.command": "Comando", + "loc.input.help.command": "Comando dotnet para ejecutar. Seleccione \"Personalizado\" para agregar argumentos o usar un comando que no figure aquí.", + "loc.input.label.publishWebProjects": "Publicar proyectos web", + "loc.input.help.publishWebProjects": "Si es verdadero, la tarea intentará encontrar los proyectos web en el repositorio y ejecutará el comando de publicación en ellos. Los proyectos web se identifican por la presencia de un archivo web.config o una carpeta wwwroot en el directorio.", + "loc.input.label.projects": "Ruta de acceso a los proyectos", + "loc.input.help.projects": "Ruta de acceso a los archivos csproj que se van a usar. Puede usar caracteres comodín (por ejemplo, **/*.csproj para todos los archivos .csproj de todas las subcarpetas). **Este campo sigue patrones globales y se ejecuta siempre en la raíz del repositorio, independientemente del directorio de trabajo**.", + "loc.input.label.custom": "Comando personalizado", + "loc.input.help.custom": "Comando para pasar a dotnet.exe para ejecutarlo.", + "loc.input.label.arguments": "Argumentos", + "loc.input.help.arguments": "Argumentos para el comando seleccionado. Por ejemplo, configuración de compilación, carpeta de salida, entorno de ejecución. Los argumentos dependen del comando seleccionado.", + "loc.input.label.restoreArguments": "Argumentos", + "loc.input.help.restoreArguments": "Escriba los argumentos adicionales que se van a pasar al comando **restore**.", + "loc.input.label.publishTestResults": "Publicar resultados de pruebas y cobertura de código", + "loc.input.help.publishTestResults": "Si habilita esta opción, se generará un archivo TRX de resultados de prueba en \"$(Agent.TempDirectory)\" y los resultados se publicarán en el servidor.
Esta opción anexa \"--logger trx --results-directory $(Agent.TempDirectory)\" a los argumentos de la línea de comandos.

La cobertura de código se puede recopilar mediante la adición de la opción \"--collect “Code coverage”\" a los argumentos de la línea de comandos. Actualmente solo está disponible en la plataforma Windows.", + "loc.input.label.testRunTitle": "Título de la serie de pruebas", + "loc.input.help.testRunTitle": "Asigne un nombre a la serie de pruebas.", + "loc.input.label.zipAfterPublish": "Comprimir proyectos publicados", + "loc.input.help.zipAfterPublish": "Si es verdadero, se descomprimirá la carpeta creada por el comando de publicación.", + "loc.input.label.modifyOutputPath": "Agregar el nombre de la carpeta del proyecto a la ruta de publicación", + "loc.input.help.modifyOutputPath": "Si es true, las carpetas creadas con el comando publish tendrán el nombre de la carpeta del proyecto como prefijo del nombre de carpeta cuando se especifique la ruta de acceso de la salida de forma explícita en los argumentos. Esto es útil si quiere publicar varios proyectos en la misma carpeta.", + "loc.input.label.selectOrConfig": "Fuentes para usar", + "loc.input.help.selectOrConfig": "Seleccione una fuente de Azure Artifacts o NuGet.org aquí, o bien confirme un archivo nuget.config en el repositorio del código fuente y establezca aquí su ruta de acceso.", + "loc.input.label.feedRestore": "Usar paquetes de esta fuente de Azure Artifacts", + "loc.input.help.feedRestore": "Incluya la fuente seleccionada en el archivo NuGet.config generado. Debe tener Azure Artifacts instalado y con licencia para poder seleccionar una fuente aquí.", + "loc.input.label.includeNuGetOrg": "Usar paquetes de NuGet.org", + "loc.input.help.includeNuGetOrg": "Incluya NuGet.org en el archivo NuGet.config generado.", + "loc.input.label.nugetConfigPath": "Ruta de acceso a NuGet.config", + "loc.input.help.nugetConfigPath": "Archivo NuGet.config del repositorio que especifica las fuentes desde las que se van a restaurar los paquetes.", + "loc.input.label.externalEndpoints": "Credenciales para fuentes fuera de esta organización o colección", + "loc.input.help.externalEndpoints": "Credenciales que deben usarse para registros externos que están en el archivo NuGet.config seleccionado. Para fuentes de esta organización o colección, deje este valor en blanco; se usan automáticamente las credenciales de la compilación.", + "loc.input.label.noCache": "Deshabilitar la caché local", + "loc.input.help.noCache": "Impide que NuGet utilice paquetes de la memoria caché de las máquinas locales.", + "loc.input.label.packagesDirectory": "Directorio de destino", + "loc.input.help.packagesDirectory": "Especifica la carpeta donde se instalan los paquetes. Si no se especifica ninguna carpeta, los paquetes se restauran en la memoria caché de paquetes NuGet predeterminada.", + "loc.input.label.verbosityRestore": "Nivel de detalle", + "loc.input.help.verbosityRestore": "Especifica la cantidad de detalles que se muestran en la salida.", + "loc.input.label.searchPatternPush": "Ruta de acceso a los paquetes NuGet que deben publicarse", + "loc.input.help.searchPatternPush": "Patrón de coincidencia o ruta de acceso a los archivos nupkg que se van a cargar. Se pueden separar varios patrones con punto y coma.", + "loc.input.label.nuGetFeedType": "Ubicación de la fuente de destino", + "loc.input.label.feedPublish": "Fuente de destino", + "loc.input.help.feedPublish": "Seleccione una fuente hospedada en esta organización. Debe tener Azure Artifacts instalado y con licencia para poder seleccionar una fuente aquí.", + "loc.input.label.publishPackageMetadata": "Publicar los metadatos de canalización", + "loc.input.help.publishPackageMetadata": "Asociar los metadatos de esta canalización de compilación o versión (n.º de ejecución, información del código fuente) con el paquete", + "loc.input.label.externalEndpoint": "Servidor de NuGet", + "loc.input.help.externalEndpoint": "Conexión de servicio de NuGet que contiene las credenciales externas del servidor de NuGet.", + "loc.input.label.searchPatternPack": "Ruta de acceso a los archivos csproj o nuspec que se van a empaquetar", + "loc.input.help.searchPatternPack": "Patrón para buscar los archivos csproj o nuspec que se van a empaquetar.\n\nPuede separar varios patrones con un punto y coma y hacer que un patrón sea negativo con el prefijo \"!\". Ejemplo: \"**/*.csproj;!**/*.Tests.csproj\"", + "loc.input.label.configurationToPack": "Configuración para empaquetar", + "loc.input.help.configurationToPack": "Cuando se usa un archivo csproj, este especifica la configuración en el paquete", + "loc.input.label.outputDir": "Carpeta del paquete", + "loc.input.help.outputDir": "Carpeta en la que se van a crear los paquetes. Si está vacía, los paquetes se crearán junto al archivo csproj.", + "loc.input.label.nobuild": "No compilar", + "loc.input.help.nobuild": "No compilar el proyecto antes de empaquetarlo. Corresponde al parámetro de la línea de comandos --no-build.", + "loc.input.label.includesymbols": "Incluir símbolos", + "loc.input.help.includesymbols": "También crea paquetes NuGet de símbolos. Corresponde al parámetro de la línea de comandos --include-symbols.", + "loc.input.label.includesource": "Incluir origen", + "loc.input.help.includesource": "Incluye el código fuente en el paquete. Corresponde al parámetro de la línea de comandos --include-source.", + "loc.input.label.versioningScheme": "Control de versiones de paquete automático", + "loc.input.help.versioningScheme": "No se puede usar con \"Incluir proyectos a los que se hace referencia\". Si elige \"Usar la fecha y hora\", se generará una versión compatible con [SemVer](http://semver.org/spec/v1.0.0.html) con el formato \"X.Y.Z-ci-datetime\" donde elige X, Y y Z.\n\nSi elige \"Usar una variable de entorno\", debe seleccionar una y asegurarse de que contenga el número de versión que quiere usar.\n\nSi elige \"Usar el número de compilación\", se usará el número de compilación para la versión del paquete. **Nota:** En Opciones, establezca el formato de compilación para que sea \"[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)\".", + "loc.input.label.versionEnvVar": "Variable de entorno", + "loc.input.help.versionEnvVar": "Escriba el nombre de la variable sin $, $env o %.", + "loc.input.label.requestedMajorVersion": "Principal", + "loc.input.help.requestedMajorVersion": "\"X\" en la versión [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "Secundaria", + "loc.input.help.requestedMinorVersion": "\"Y\" en la versión [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "Revisión", + "loc.input.help.requestedPatchVersion": "\"Z\" en la versión [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "Propiedades adicionales de compilación", + "loc.input.help.buildProperties": "Especifica una lista de pares \"token = valor\", separados por punto y coma, donde cada entrada de $token$ en el archivo .nuspec se reemplazará por el valor dado. Los valores pueden ser cadenas entre comillas.", + "loc.input.label.verbosityPack": "Nivel de detalle", + "loc.input.help.verbosityPack": "Especifica la cantidad de detalles que se muestran en la salida.", + "loc.input.label.workingDirectory": "Directorio de trabajo", + "loc.input.help.workingDirectory": "Directorio de trabajo actual en el que se ejecuta el script. Si se deja vacío, es la raíz del repositorio (compilación) o de los artefactos (versión), que es $(System.DefaultWorkingDirectory). El patrón de búsqueda de proyecto **NO** es relativo al directorio de trabajo.", + "loc.messages.BuildIdentityPermissionsHint": "Para las fuentes internas, asegúrese de que la identidad del servicio de compilación \"%s\" [%s] tiene acceso a la fuente.", + "loc.messages.CouldNotSetCodePaging": "No se pudo establecer la paginación del código debido al siguiente error: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Versión automática: en versiones, no se admite la obtención del número de versión de la opción de compilación.", + "loc.messages.Error_CommandNotRecognized": "No se reconoce el comando %s.", + "loc.messages.Error_NoSourceSpecifiedForPush": "No se ha especificado ningún origen para la inserción", + "loc.messages.Error_NoValueFoundForEnvVar": "No se encontró ningún valor para la variable de entorno proporcionada.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "No se encuentran datos de número de versión en la siguiente variable de entorno: BUILD_BUILDNUMBER. El valor de la variable debe contener una subcadena con el formato X.Y.Z o X.Y.Z.A, donde A, X, Y y Z son enteros positivos.", + "loc.messages.Error_PackageFailure": "Error al intentar empaquetar los archivos.", + "loc.messages.Error_PushNotARegularFile": "%s no es un archivo. Compruebe la propiedad \"Ruta de acceso o patrón para nupkg\" de la tarea.", + "loc.messages.Info_AttemptingToPackFile": "Intentando empaquetar el archivo: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "No hay paquetes que coincidan con el patrón de búsqueda.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "No hay archivos que coincidan con el patrón de búsqueda.", + "loc.messages.PackagesFailedToInstall": "No se pudieron restaurar los paquetes.", + "loc.messages.PackagesFailedToPublish": "Error al publicar los paquetes.", + "loc.messages.PackagesInstalledSuccessfully": "Los paquetes se restauraron correctamente.", + "loc.messages.PackagesPublishedSuccessfully": "Los paquetes se publicaron correctamente.", + "loc.messages.UnknownFeedType": "Tipo de fuente '%s' desconocido.", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "Las opciones Control de versiones de paquete automático e Incluir proyectos a los que se hace referencia no funcionan juntas. Los proyectos a los que se hace referencia no heredarán la versión personalizada que se proporciona en la configuración de control de versiones automático.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "Se han encontrado más de una instancia de datos de versión en BUILD_BUILDNUMBER. Se tomará la primera instancia como versión.", + "loc.messages.dotnetCommandFailed": "Error del comando dotnet con código de salida distinto de cero en los proyectos siguientes: %s", + "loc.messages.noProjectFilesFound": "No se encontraron archivos de proyecto que coincidieran con el patrón especificado.", + "loc.messages.noPublishFolderFoundToZip": "No se pudo encontrar una carpeta de publicación para comprimir el archivo de proyecto: %s.", + "loc.messages.noWebProjectFound": "No se encontró ningún proyecto web en el repositorio. Los proyectos web se identifican por la presencia de un archivo web.config, de una carpeta wwwroot en el directorio o por el uso de Microsoft.Net.Web.Sdk en el archivo del proyecto. Puede establecer la propiedad Publicar proyectos web en false (publishWebProjects: false en yml) si el proyecto no se ajusta a esta convención o si quiere publicar proyectos que no sean web.", + "loc.messages.zipFailed": "Error de compresión: %s", + "loc.messages.Error_ApiKeyNotSupported": "Actualmente, DotNetCore no admite el uso de una clave de API cifrada.", + "loc.messages.Error_ExpectedConfigurationElement": "XML no válido. Se esperaba un elemento denominado \"configuration\".", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "No se encontraron archivos coincidentes con el patrón de búsqueda: %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "No se encontró ninguna dirección URL de descarga para %s.", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "No se encontró ninguna versión que coincida con la entrada %s", + "loc.messages.Error_NuGetToolInstallerFailer": "Error al instalar la herramienta: %s", + "loc.messages.Info_AvailableVersions": "Versiones disponibles: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "Está usando una coincidencia de consultas en la cadena de versión. Pueden producirse cambios de comportamiento o drásticos cuando NuGet se actualiza a una nueva versión.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Usando información de autenticación para el siguiente URI: ", + "loc.messages.Info_ResolvedToolFromCache": "Se resolvió desde la memoria caché de herramientas: %s", + "loc.messages.Info_SavingTempConfig": "Guardando NuGet.config en un archivo de configuración temporal.", + "loc.messages.Info_UsingToolPath": "Se usa la ruta de la herramienta: %s", + "loc.messages.Info_UsingVersion": "Se usa la versión: %s", + "loc.messages.NGCommon_AddingSources": "Estableciendo credenciales en NuGet.config.", + "loc.messages.NGCommon_AreaNotFoundInSps": "No se encuentra el área \"%s\" [%s]. Puede que el servicio que contiene el área no esté disponible en la región.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Se detectó una ruta de acceso de cargador de extensiones NuGet (variable de entorno NUGET_EXTENSIONS_PATH): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "Versión de NuGet detectada: %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Se detectó una ruta de acceso de cargador de extensiones NuGet (variable de entorno NUGET_EXTENSIONS_PATH): Las extensiones se omiten cuando se usa el cliente NuGet integrado", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "No se encontró ningún origen de paquete en el archivo NuGet.config en %s.", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "El archivo NuGet.config en %s no es válido.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "Se esperaba un archivo NuGet.config en %s, pero por el contenido parece de tipo packages.config. Compruebe la configuración de la tarea de %s y confirme que seleccionó NuGet.config en lugar de packages.config.", + "loc.messages.NGCommon_RemovingSources": "Preparándose para establecer las credenciales en NuGet.config.", + "loc.messages.NGCommon_SpsNotFound": "No se encuentra el área \"%s\" [%s]. Puede que haya un problema con la instalación de Team Foundation Server.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "Se seleccionó una versión de NuGet desconocida.", + "loc.messages.NGCommon_UnableToFindTool": "No se encuentra la herramienta %s", + "loc.messages.Warning_SessionCreationFailed": "No se pudo crear la sesión de proveniencia: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Actualizando la versión de NuGet.exe a %s desde %s. Podrían producirse cambios de comportamiento o cambios importantes a medida que NuGet se actualice a una nueva versión. Si quiere evitarlo, anule la selección de la opción \"Comprobar la última versión\" en la tarea.", + "loc.messages.Net5Update": "Información: Los agentes hospedados de Azure Pipelines se han actualizado y ahora contienen el runtime o el SDK de .NET 5.x junto con la versión de .NET Core anterior, actualmente LTS. A menos que haya bloqueado una versión del SDK para sus proyectos, puede seleccionarse el SDK de 5.x, lo que puede tener un comportamiento drástico en comparación con versiones anteriores. Obtenga más información sobre los cambios importantes aquí: https://docs.microsoft.com/en-us/dotnet/core/tools/ y https://docs.microsoft.com/en-us/dotnet/core/compatibility/. Para obtener más información sobre estos cambios y la solución de los problemas, consulte aquí: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 tiene algunos problemas de compatibilidad con las versiones anteriores de NuGet (<=5.7) por lo que, si usa una versión anterior de NuGet (y no la CLI de DotNet) para restaurar, puede que los comandos de la CLI de DotNet (por ejemplo, dotnet build) que se basan en estos paquetes restaurados no se ejecuten correctamente. Para mitigar este error, puede: (1) - Usar la CLI de DotNet para restaurar. (2) - Usar la versión 5.8 de NuGet para restaurar. (3) - Usar global.json con una versión anterior del SDK (<=3) para compilar.", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Información: El SDK de .NET Core o el runtime 2.2 y 3.0 han llegado al final de su duración (EOL) y se han quitado de todos los agentes hospedados. Si está usando estos SDK o entornos de ejecución en agentes hospedados, actualice a versiones más recientes que no estén al final de su duración o bien use la tarea UseDotNet para instalar la versión requerida.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg está habilitado actualmente para esta tarea. Para resolver esta advertencia, edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\".", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Error al restaurar los paquetes. Edite la tarea de compilación y establezca \"includeNuGetOrg\" en \"false\" o anule la selección de \"Usar paquetes de NuGet.org\"." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson new file mode 100644 index 000000000000..11435adfd45d --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/fr-FR/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[En savoir plus sur cette tâche](https://go.microsoft.com/fwlink/?linkid=832194) ou [consulter la documentation de .NET Core](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Générer, tester, packager ou publier une application dotnet, ou bien exécuter une commande dotnet personnalisée", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "Flux et authentification", + "loc.group.displayName.restoreAdvanced": "Avancé", + "loc.group.displayName.pushAuth": "Flux de destination et authentification", + "loc.group.displayName.pushAdvanced": "Avancé", + "loc.group.displayName.packOptions": "Options de pack", + "loc.group.displayName.packAdvanced": "Avancé", + "loc.group.displayName.generalAdvanced": "Avancé", + "loc.input.label.command": "Commande", + "loc.input.help.command": "Commande dotnet à exécuter. Sélectionnez 'Personnalisé' pour ajouter des arguments ou utiliser une commande non listée ici.", + "loc.input.label.publishWebProjects": "Publier des projets web", + "loc.input.help.publishWebProjects": "Si true, la tâche tente de rechercher les projets web dans le dépôt et exécute la commande de publication sur ces projets. Ils sont identifiés par la présence d'un fichier web.config ou d'un dossier wwwroot dans le répertoire.", + "loc.input.label.projects": "Chemin des projets", + "loc.input.help.projects": "Chemin du ou des fichiers csproj à utiliser. Vous pouvez utiliser des caractères génériques (par exemple **/*.csproj pour tous les fichiers .csproj de tous les sous-dossiers). **Ce champ suit le modèle Glob et est exécuté à tout moment sur la racine du dépôt, quel que soit le répertoire de travail.**", + "loc.input.label.custom": "Commande personnalisée", + "loc.input.help.custom": "Commande à passer à dotnet.exe pour exécution.", + "loc.input.label.arguments": "Arguments", + "loc.input.help.arguments": "Arguments de la commande sélectionnée. Par exemple, configuration de build, dossier de sortie, runtime. Les arguments dépendent de la commande sélectionnée.", + "loc.input.label.restoreArguments": "Arguments", + "loc.input.help.restoreArguments": "Écrivez les arguments supplémentaires à passer à la commande **restore**.", + "loc.input.label.publishTestResults": "Publier les résultats des tests et la couverture du code", + "loc.input.help.publishTestResults": "Si cette option est activée, un fichier TRX de résultats des tests est généré dans '$(Agent.TempDirectory)'. De plus, les résultats sont publiés sur le serveur.
Cette option ajoute '--logger trx --results-directory $(Agent.TempDirectory)' aux arguments de ligne de commande.

Vous pouvez collecter la couverture du code en ajoutant l'option '--collect \"couverture du code\"' aux arguments de ligne de commande. Ceci est disponible uniquement sur la plateforme Windows.", + "loc.input.label.testRunTitle": "Titre de la série de tests", + "loc.input.help.testRunTitle": "Indiquez le nom de la série de tests.", + "loc.input.label.zipAfterPublish": "Compresser les projets publiés", + "loc.input.help.zipAfterPublish": "Si true, le dossier créé par la commande publier est compressé.", + "loc.input.label.modifyOutputPath": "Ajouter le nom de dossier du projet au chemin de publication", + "loc.input.help.modifyOutputPath": "Si la valeur est true, les dossiers créés par la commande publish ont un nom de dossier de projet placé avant le nom de dossier quand le chemin de sortie est spécifié explicitement dans les arguments. Cela vous permet de publier plusieurs projets sur le même dossier.", + "loc.input.label.selectOrConfig": "Flux à utiliser", + "loc.input.help.selectOrConfig": "Sélectionnez un flux à partir d'Azure Artifacts et/ou NuGet.org ici, ou validez un fichier nuget.config dans votre dépôt de code source, puis définissez son chemin ici.", + "loc.input.label.feedRestore": "Utiliser les packages de ce flux Azure Artifacts", + "loc.input.help.feedRestore": "Incluez le flux sélectionné dans le fichier NuGet.config généré. Pour pouvoir sélectionner un flux, vous devez au préalable installer Azure Artifacts et l'associer à une licence.", + "loc.input.label.includeNuGetOrg": "Utiliser les packages de NuGet.org", + "loc.input.help.includeNuGetOrg": "Incluez NuGet.org dans le fichier NuGet.config généré.", + "loc.input.label.nugetConfigPath": "Chemin de NuGet.config", + "loc.input.help.nugetConfigPath": "Fichier NuGet.config de votre dépôt qui spécifie les flux de restauration des packages.", + "loc.input.label.externalEndpoints": "Informations d'identification des flux situés en dehors de cette organisation/collection", + "loc.input.help.externalEndpoints": "Informations d'identification à utiliser pour les registres externes situés dans le fichier NuGet.config sélectionné. Pour les flux présents dans cette organisation/cette collection, n'indiquez aucune valeur. Les informations d'identification de la build sont utilisées automatiquement.", + "loc.input.label.noCache": "Désactiver le cache local", + "loc.input.help.noCache": "Empêche NuGet d'utiliser les packages des caches de machines locales.", + "loc.input.label.packagesDirectory": "Répertoire de destination", + "loc.input.help.packagesDirectory": "Spécifie le dossier dans lequel les packages sont installés. Si aucun dossier n'est spécifié, les packages sont restaurés dans le cache de packages NuGet par défaut.", + "loc.input.label.verbosityRestore": "Commentaires", + "loc.input.help.verbosityRestore": "Spécifie le niveau de détail affiché dans la sortie.", + "loc.input.label.searchPatternPush": "Chemin des packages NuGet à publier", + "loc.input.help.searchPatternPush": "Modèle de correspondance ou chemin des fichiers nupkg à charger. Vous devez séparer plusieurs modèles par un point-virgule.", + "loc.input.label.nuGetFeedType": "Emplacement du flux cible", + "loc.input.label.feedPublish": "Flux cible", + "loc.input.help.feedPublish": "Sélectionnez un flux hébergé dans cette organisation. Pour permettre la sélection d'un flux, Azure Artifacts doit être installé et associé à une licence.", + "loc.input.label.publishPackageMetadata": "Publier des métadonnées de pipeline", + "loc.input.help.publishPackageMetadata": "Associer les métadonnées de ce pipeline de build/mise en production (numéro d'exécution, informations de code source) au package", + "loc.input.label.externalEndpoint": "Serveur NuGet", + "loc.input.help.externalEndpoint": "Connexion de service NuGet qui contient les informations d'identification externes du serveur NuGet.", + "loc.input.label.searchPatternPack": "Chemin du ou des fichiers csproj ou nuspec à compresser", + "loc.input.help.searchPatternPack": "Modèle utilisé pour rechercher les fichiers csproj ou nuspec à compresser.\n\nVous pouvez séparer plusieurs modèles par un point-virgule. Vous pouvez aussi exclure un modèle en le faisant précéder de '!'. Exemple : '**/*.csproj;!**/*.Tests.csproj'", + "loc.input.label.configurationToPack": "Configuration à ajouter au package", + "loc.input.help.configurationToPack": "Si un fichier csproj est utilisé, il spécifie la configuration à ajouter au package", + "loc.input.label.outputDir": "Dossier du package", + "loc.input.help.outputDir": "Dossier dans lequel les packages sont créés. S'il est vide, les packages sont créés au même endroit que le fichier csproj.", + "loc.input.label.nobuild": "Ne pas générer", + "loc.input.help.nobuild": "Empêche de générer le projet avant de le compresser. Correspond au paramètre de ligne de commande --no-build.", + "loc.input.label.includesymbols": "Inclure les symboles", + "loc.input.help.includesymbols": "Crée également des packages NuGet de symboles. Correspond au paramètre de ligne de commande --include-symbols.", + "loc.input.label.includesource": "Inclure la source", + "loc.input.help.includesource": "Inclut le code source dans le package. Correspond au paramètre de ligne de commande --include-source.", + "loc.input.label.versioningScheme": "Contrôle de version de package automatique", + "loc.input.help.versioningScheme": "Ne peut pas être utilisé avec les projets référencés inclus. Si vous choisissez 'Utiliser la date et l'heure', cela génère une version conforme à [SemVer](http://semver.org/spec/v1.0.0.html) au format 'X.Y.Z-ci-datetime' où vous choisissez X, Y et Z.\n\nSi vous choisissez 'Utiliser une variable d'environnement', vous devez sélectionner une variable d'environnement et vérifier qu'elle contient le numéro de version à utiliser.\n\nSi vous choisissez 'Utiliser le numéro de build', le numéro de build est utilisé en tant que version du package. **Remarque :** Sous Options, définissez le format du numéro de build de la façon suivante '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "loc.input.label.versionEnvVar": "Variable d'environnement", + "loc.input.help.versionEnvVar": "Entrez le nom de la variable sans $, $env ou %.", + "loc.input.label.requestedMajorVersion": "Principale", + "loc.input.help.requestedMajorVersion": "'X' dans la version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "Secondaire", + "loc.input.help.requestedMinorVersion": "'Y' dans la version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "Correctif", + "loc.input.help.requestedPatchVersion": "'Z' dans la version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "Propriétés de build supplémentaires", + "loc.input.help.buildProperties": "Spécifie une liste de paires jeton = valeur, séparées par des points-virgules, où chaque occurrence de $token$ dans le fichier .nuspec est remplacée par la valeur donnée. Les valeurs peuvent être des chaînes entre guillemets.", + "loc.input.label.verbosityPack": "Commentaires", + "loc.input.help.verbosityPack": "Spécifie le niveau de détail affiché dans la sortie.", + "loc.input.label.workingDirectory": "Répertoire de travail", + "loc.input.help.workingDirectory": "Répertoire de travail où le script est exécuté. En l'absence de valeur spécifiée, il s'agit de la racine du dépôt (build) ou des artefacts (mise en production), c'est-à-dire $(System.DefaultWorkingDirectory). Le modèle de recherche du projet n'est **PAS** relatif au répertoire de travail.", + "loc.messages.BuildIdentityPermissionsHint": "Pour les flux internes, vérifiez que l'identité du service de build '%s' [%s] a accès au flux.", + "loc.messages.CouldNotSetCodePaging": "Impossible de définir la pagination du code en raison de l'erreur suivante : %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Version automatique : l'obtention du numéro de version à partir de l'option de build n'est pas prise en charge dans les mises en production", + "loc.messages.Error_CommandNotRecognized": "La commande %s n'a pas été reconnue.", + "loc.messages.Error_NoSourceSpecifiedForPush": "Aucune source n'a été spécifiée pour l'envoi (push)", + "loc.messages.Error_NoValueFoundForEnvVar": "Valeur introuvable pour la variable d'environnement fournie.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "Données de numéro de version introuvables dans la variable d'environnement suivante : BUILD_BUILDNUMBER. La valeur de la variable doit contenir une sous-chaîne aux formats suivants : X.Y.Z ou X.Y.Z.A, où A, X, Y et Z sont des entiers positifs.", + "loc.messages.Error_PackageFailure": "Une erreur s'est produite durant la compression des fichiers.", + "loc.messages.Error_PushNotARegularFile": "%s n'est pas un fichier. Vérifiez la propriété 'Chemin/modèle de nupkg' de la tâche.", + "loc.messages.Info_AttemptingToPackFile": "Tentative de compression du fichier : ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "Aucun package ne correspond au modèle de recherche.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "Aucun fichier ne correspond au modèle de recherche.", + "loc.messages.PackagesFailedToInstall": "Échec de la restauration des packages", + "loc.messages.PackagesFailedToPublish": "Échec de la publication des packages", + "loc.messages.PackagesInstalledSuccessfully": "Les packages ont été restaurés correctement", + "loc.messages.PackagesPublishedSuccessfully": "Les packages ont été publiés correctement", + "loc.messages.UnknownFeedType": "Type de flux inconnu '%s'", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "Le contrôle de version automatique du package et les options des projets référencés ne sont pas compatibles. Les projets référencés n'héritent pas de la version personnalisée fournie par les paramètres de contrôle de version automatique.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "Plusieurs instances de données de version ont été trouvées dans BUILD_BUILDNUMBER. La première instance est supposée représenter la version.", + "loc.messages.dotnetCommandFailed": "Échec de la commande dotnet avec le code de sortie non nul pour les projets suivants : %s", + "loc.messages.noProjectFilesFound": "Le ou les fichiers projet correspondant au modèle spécifié sont introuvables.", + "loc.messages.noPublishFolderFoundToZip": "Un dossier de publication à compresser pour le fichier projet est introuvable : %s.", + "loc.messages.noWebProjectFound": "Le projet web est introuvable dans le dépôt. Les projets web sont identifiés par la présence d'un fichier web.config, d'un dossier wwwroot dans le répertoire, ou par l'utilisation de Microsoft.Net.Web.Sdk dans votre fichier projet. Vous pouvez affecter la valeur false à la propriété Publier des projets web (publishWebProjects: false en YML) si votre projet ne respecte pas cette convention, ou si vous souhaitez publier d'autres projets que des projets web.", + "loc.messages.zipFailed": "Échec de la compression avec l'erreur : %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore ne prend pas en charge l'utilisation d'une clé API chiffrée.", + "loc.messages.Error_ExpectedConfigurationElement": "Contenu xml non valide. L'élément nommé 'configuration' est attendu.", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "Il n'existe aucun fichier correspondant au modèle de recherche : %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "URL de téléchargement introuvable pour %s", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "Il n'existe aucune version correspondant à l'entrée %s", + "loc.messages.Error_NuGetToolInstallerFailer": "Échec de l'installation de l'outil : %s", + "loc.messages.Info_AvailableVersions": "Versions disponibles : %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "Vous utilisez une correspondance de requête dans la chaîne de version. Des changements de comportement ou des changements importants peuvent se produire lors de la mise à jour de NuGet vers une nouvelle version.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Utilisation des informations d'authentification pour l'URI suivant : ", + "loc.messages.Info_ResolvedToolFromCache": "Résolu à partir du cache d'outils : %s", + "loc.messages.Info_SavingTempConfig": "Enregistrement de NuGet.config dans un fichier config temporaire.", + "loc.messages.Info_UsingToolPath": "Utilisation du chemin d'outils : %s", + "loc.messages.Info_UsingVersion": "Utilisation de la version : %s", + "loc.messages.NGCommon_AddingSources": "Définition des informations d'identification dans NuGet.config", + "loc.messages.NGCommon_AreaNotFoundInSps": "Impossible de localiser la zone '%s' [%s]. Le service qui contient la zone n'est peut-être pas disponible dans votre région.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Chemin du chargeur d'extensions NuGet (variable d'environnement NUGET_EXTENSIONS_PATH) détecté : %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "Version NuGet détectée %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Chemin du chargeur d'extensions NuGet (variable d'environnement NUGET_EXTENSIONS_PATH) détecté. Les extensions sont ignorées quand le client NuGet intégré est utilisé", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "Sources de package introuvables dans le fichier NuGet.config sur %s", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "Le fichier NuGet.config sur %s est non valide.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "Un fichier NuGet.config est attendu sur %s, mais son contenu semble être celui d'un fichier packages.config. Vérifiez les paramètres de la tâche %s, puis assurez-vous d'avoir bien sélectionné NuGet.config au lieu de packages.config.", + "loc.messages.NGCommon_RemovingSources": "Préparation de la définition des informations d'identification dans NuGet.config", + "loc.messages.NGCommon_SpsNotFound": "La zone '%s' [%s] est introuvable. Il existe peut-être un problème lié à votre installation de Team Foundation Server.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "Version NuGet inconnue sélectionnée.", + "loc.messages.NGCommon_UnableToFindTool": "Outil %s introuvable", + "loc.messages.Warning_SessionCreationFailed": "Impossible de créer une session de provenance : %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Mise à jour de NuGet.exe version %s vers la version %s. Des changements de comportement ou des changements importants risquent de se produire au moment de la mise à jour de NuGet vers une nouvelle version. Pour ne pas que cela se produise, désélectionnez l'option 'Rechercher la dernière version' dans la tâche.", + "loc.messages.Net5Update": "Information : Les agents hébergés Azure Pipelines ont été mis à jour. Ils contiennent désormais le kit SDK/runtime .Net 5.x ainsi que l'ancienne version LTS de .Net Core. Si vous n'avez pas verrouillé une version du kit SDK pour vos projets, le kit SDK 5.x risque d'être sélectionné, ce qui peut avoir un comportement cassant par rapport aux versions antérieures. Découvrez plus en détail les changements cassants ici : https://docs.microsoft.com/fr-fr/dotnet/core/tools/ et https://docs.microsoft.com/fr-fr/dotnet/core/compatibility/. Pour en savoir plus sur ces changements et sur la façon de résoudre les problèmes correspondants, accédez à l'adresse suivante : https://docs.microsoft.com/fr-fr/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 a quelques problèmes de compatibilité avec les anciennes versions de NuGet (<=5.7). Si vous utilisez une ancienne version de NuGet (et non dotnet cli) pour des opérations de restauration, les commandes dotnet cli (par exemple dotnet build) qui dépendent de ces packages restaurés risquent de ne pas fonctionner. Si vous souhaitez atténuer ce genre d'erreur, vous pouvez : (1) - Utiliser dotnet cli pour les opérations de restauration, (2) - Utiliser NuGet version 5.8 pour les opérations de restauration, (3) - Utiliser global.json avec une ancienne version du kit SDK (<=3) pour les opérations de génération", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Information : Les kits SDK/runtimes .NET Core 2.2 et 3.0 sont en fin de vie (EOL) et ont été supprimés sur tous les agents hébergés. Si vous utilisez ces kits SDK/runtimes sur des agents hébergés, effectuez une mise à niveau vers des versions plus récentes qui ne sont pas en fin de vie (EOL), ou bien utilisez la tâche UseDotNet pour installer la version nécessaire.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg est actuellement activé pour cette tâche. Pour résoudre cet avertissement, modifiez votre tâche de build et définissez 'includeNuGetOrg' sur 'false' ou désélectionnez 'Use packages from NuGet.org'.", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Nous n’avons pas pu restaurer des paquets. Editez votre tâche de build et mettez 'includeNuGetOrg' à 'false' ou désélectionnez 'Use packages from NuGet.org'." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson new file mode 100644 index 000000000000..e047630e0db8 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/it-IT/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[Altre informazioni su questa attività](https://go.microsoft.com/fwlink/?linkid=832194). In alternativa [vedere la documentazione di .NET Core](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Consente di compilare, testare e pubblicare un'applicazione dotnet o di crearne un pacchetto oppure di eseguire un comando dotnet personalizzato", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "Feed e autenticazione", + "loc.group.displayName.restoreAdvanced": "Avanzate", + "loc.group.displayName.pushAuth": "Feed di destinazione e autenticazione", + "loc.group.displayName.pushAdvanced": "Avanzate", + "loc.group.displayName.packOptions": "Opzioni pacchetto", + "loc.group.displayName.packAdvanced": "Avanzate", + "loc.group.displayName.generalAdvanced": "Avanzate", + "loc.input.label.command": "Comando", + "loc.input.help.command": "Comando dotnet da eseguire. Selezionare 'Personalizza' per aggiungere argomenti o usare un comando non elencato qui.", + "loc.input.label.publishWebProjects": "Pubblica progetti Web", + "loc.input.help.publishWebProjects": "Se è impostato su true, l'attività proverà a trovare i progetti Web nel repository e a eseguire su di essi il comando publish. I progetti Web sono identificabili dalla presenza di un file web.config file o della cartella wwwroot nella directory.", + "loc.input.label.projects": "Percorso dei progetti", + "loc.input.help.projects": "Percorso dei file csproj da usare. È possibile usare i caratteri jolly, ad esempio **/.csproj per tutti i file con estensione csproj in tutte le sottocartelle. **Questo campo è conforme al criterio GLOB e viene eseguito sulla radice del repository in tutti i casi, indipendentemente dalla directory di lavoro.**", + "loc.input.label.custom": "Comando personalizzato", + "loc.input.help.custom": "Comando da passare a dotnet.exe per l'esecuzione.", + "loc.input.label.arguments": "Argomenti", + "loc.input.help.arguments": "Argomenti del comando selezionato. Ad esempio, configurazione della build, cartella di output, runtime. Gli argomenti dipendono dal comando selezionato.", + "loc.input.label.restoreArguments": "Argomenti", + "loc.input.help.restoreArguments": "Scrivere gli argomenti aggiuntivi da passare al comando **restore**.", + "loc.input.label.publishTestResults": "Pubblica i risultati dei test e i dati di code coverage", + "loc.input.help.publishTestResults": "Se si abilita questa opzione, verrà generato un file TRX dei risultati del test in `$(Agent.TempDirectory)` e i risultati verranno pubblicati nel server.
Questa opzione consente di aggiungere `--logger trx --results-directory $(Agent.TempDirectory)` agli argomenti della riga di comando.

Per raccogliere i dati di code coverage, è possibile aggiungere l'opzione `--collect \"Code coverage\"` agli argomenti della riga di comando. È attualmente disponibile solo nella piattaforma Windows.", + "loc.input.label.testRunTitle": "Titolo dell'esecuzione dei test", + "loc.input.help.testRunTitle": "Consente di specificare un nome per l'esecuzione dei test.", + "loc.input.label.zipAfterPublish": "Comprimi progetti pubblicati", + "loc.input.help.zipAfterPublish": "Se è impostato su true, la cartella creata dal comando publish verrà compressa.", + "loc.input.label.modifyOutputPath": "Aggiungi nome della cartella del progetto al percorso di pubblicazione", + "loc.input.help.modifyOutputPath": "Se è true, i nomi delle cartelle create dal comando di pubblicazione saranno preceduti dal nome della cartella del progetto quando negli argomenti viene specificato esplicitamente il percorso di output. È utile se si vogliono pubblicare più progetti nella stessa cartella.", + "loc.input.label.selectOrConfig": "Feed da usare", + "loc.input.help.selectOrConfig": "È possibile selezionare un feed da Azure Artifacts e/o NuGet.org oppure eseguire il commit di un file nuget.config nel repository del codice sorgente e impostarne qui il percorso.", + "loc.input.label.feedRestore": "Usa pacchetti da questo feed Azure Artifacts", + "loc.input.help.feedRestore": "Includere il feed selezionato nel file NuGet.config generato. Per selezionare un feed qui, è necessario aver installato Azure Artifacts e disporre della relativa licenza.", + "loc.input.label.includeNuGetOrg": "Usa pacchetti da NuGet.org", + "loc.input.help.includeNuGetOrg": "Include NuGet.org nel file NuGet.config generato.", + "loc.input.label.nugetConfigPath": "Percorso di NuGet.config", + "loc.input.help.nugetConfigPath": "File NuGet.config nel repository che specifica i feed da cui ripristinare i pacchetti.", + "loc.input.label.externalEndpoints": "Credenziali per i feed esterni a questa organizzazione/raccolta", + "loc.input.help.externalEndpoints": "Credenziali da usare per i registri esterni inclusi nel file NuGet.config selezionato. Per i feed di questa organizzazione/raccolta lasciare vuoto il campo. Verranno usate automaticamente le credenziali della compilazione.", + "loc.input.label.noCache": "Disabilita cache locale", + "loc.input.help.noCache": "Impedisce a NuGet di usare pacchetti dalle cache del computer locale.", + "loc.input.label.packagesDirectory": "Directory di destinazione", + "loc.input.help.packagesDirectory": "Consente di specificare la cartella in cui sono installati i pacchetti. Se non si specifica alcuna cartella, i pacchetti verranno ripristinati nella cache predefinita dei pacchetti NuGet.", + "loc.input.label.verbosityRestore": "Livello di dettaglio", + "loc.input.help.verbosityRestore": "Consente di specificare il livello di dettaglio visualizzato nell'output.", + "loc.input.label.searchPatternPush": "Percorso dei pacchetti NuGet da pubblicare", + "loc.input.help.searchPatternPush": "Criteri da soddisfare o percorso dei file nupkg da caricare. Per separare più criteri, è possibile usare un punto e virgola.", + "loc.input.label.nuGetFeedType": "Percorso del feed di destinazione", + "loc.input.label.feedPublish": "Feed di destinazione", + "loc.input.help.feedPublish": "Selezionare un feed ospitato in questa organizzazione. Per selezionare un feed qui, è necessario aver installato Azure Artifacts e disporre della relativa licenza.", + "loc.input.label.publishPackageMetadata": "Pubblica i metadati della pipeline", + "loc.input.help.publishPackageMetadata": "Consente di associare i metadati della pipeline di compilazione/versione (numero di esecuzione, informazioni sul codice sorgente) al pacchetto", + "loc.input.label.externalEndpoint": "Server NuGet", + "loc.input.help.externalEndpoint": "Connessione al servizio NuGet che contiene le credenziali del server NuGet esterno.", + "loc.input.label.searchPatternPack": "Percorso dei file csproj o nuspec da includere nel pacchetto", + "loc.input.help.searchPatternPack": "Criterio per la ricerca dei file csproj o nuspec da includere nel pacchetto.\n\nÈ possibile separare più criteri con un punto e virgola, nonché rendere un criterio negativo aggiungendo il prefisso '!', ad esempio `**/*.csproj;!**/*.Tests.csproj`", + "loc.input.label.configurationToPack": "Configurazione per cui creare il pacchetto", + "loc.input.help.configurationToPack": "Quando si usa un file csproj, consente di specificare la configurazione per il pacchetto", + "loc.input.label.outputDir": "Cartella del pacchetto", + "loc.input.help.outputDir": "Cartella in cui verranno creati i pacchetti. Se è vuota, i pacchetti verranno creati insieme al file csproj.", + "loc.input.label.nobuild": "Non compilare", + "loc.input.help.nobuild": "Non compila il progetto prima della creazione del pacchetto. Corrisponde al parametro della riga di comando --no-build.", + "loc.input.label.includesymbols": "Includi simboli", + "loc.input.help.includesymbols": "Crea anche i pacchetti NuGet per i simboli. Corrisponde al parametro --include-symbols della riga di comando.", + "loc.input.label.includesource": "Includi codice sorgente", + "loc.input.help.includesource": "Include il codice sorgente nel pacchetto. Corrisponde al parametro --include-source della riga di comando.", + "loc.input.label.versioningScheme": "Controllo automatico delle versioni dei pacchetti", + "loc.input.help.versioningScheme": "Non può essere usato con Includi progetti con riferimenti. Se si sceglie l'opzione per usare data e ora, verrà generata una versione conforme a [SemVer](http://semver.org/spec/v1.0.0.html) nel formato `X.Y.Z-ci-dataora` in cui scegliere il valore di X, Y e Z.\n\nSe si sceglie l'opzione per usare una variabile di ambiente, è necessario selezionare una variabile di ambiente e assicurarsi che contenga il numero di versione che si vuole usare.\n\nSe si sceglie l'opzione per usare il numero di build, per il controllo della versione del pacchetto verrà usato il numero di build. **Nota:** in Opzioni impostare il formato della compilazione su '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "loc.input.label.versionEnvVar": "Variabile di ambiente", + "loc.input.help.versionEnvVar": "Immettere il nome della variabile senza $, $env o %.", + "loc.input.label.requestedMajorVersion": "Principale", + "loc.input.help.requestedMajorVersion": "Valore di 'X' nella versione [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "Secondaria", + "loc.input.help.requestedMinorVersion": "Valore di 'Y' nella versione [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "Patch", + "loc.input.help.requestedPatchVersion": "Valore di 'Z' nella versione [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "Proprietà di compilazione aggiuntive", + "loc.input.help.buildProperties": "Specifica un elenco di coppie token = valore, separate da punti e virgola, dove ogni occorrenza di $token$ nel file con estensione nuspec verrà sostituita dal valore specificato. I valori possono essere stringhe tra virgolette.", + "loc.input.label.verbosityPack": "Livello di dettaglio", + "loc.input.help.verbosityPack": "Consente di specificare il livello di dettaglio visualizzato nell'output.", + "loc.input.label.workingDirectory": "Directory di lavoro", + "loc.input.help.workingDirectory": "Directory di lavoro corrente in cui viene eseguito lo script. Se non si specifica un valore, corrisponde alla radice del repository (compilazione) o degli artefatti (versione), ovvero $(System.DefaultWorkingDirectory). I criteri di ricerca del progetto **NON** sono relativi alla directory di lavoro.", + "loc.messages.BuildIdentityPermissionsHint": "Per i feed interni assicurarsi che l'identità '%s' [%s] del servizio di compilazione abbia accesso al feed.", + "loc.messages.CouldNotSetCodePaging": "Non è stato possibile impostare la tabella codici a causa dell'errore seguente: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Autoversion: nelle versioni non è possibile ottenere il numero di versione dall'opzione di compilazione", + "loc.messages.Error_CommandNotRecognized": "Il comando %s non è stato riconosciuto.", + "loc.messages.Error_NoSourceSpecifiedForPush": "Non è stata specificata alcuna origine per push", + "loc.messages.Error_NoValueFoundForEnvVar": "Nessun valore è stato trovato per la variabile di ambiente specificata.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "Non è stato possibile trovare i dati del numero di versione nella variabile di ambiente seguente: BUILD_BUILDNUMBER. Il valore della variabile deve contenere una sottostringa con i formati seguenti: X.Y.Z o X.Y.Z.A dove A, X, Y e Z sono numeri interi positivi.", + "loc.messages.Error_PackageFailure": "Si è verificato un errore durante il tentativo di includere i file nel pacchetto.", + "loc.messages.Error_PushNotARegularFile": "%s non è un file. Verificare la proprietà 'Percorso/Criterio per nupkg' dell'attività.", + "loc.messages.Info_AttemptingToPackFile": "Tentativo di includere il file nel pacchetto: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "Nessun pacchetto corrispondente ai criteri di ricerca.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "Nessun file corrispondente ai criteri di ricerca.", + "loc.messages.PackagesFailedToInstall": "Il ripristino dei pacchetti non è riuscito", + "loc.messages.PackagesFailedToPublish": "La pubblicazione dei pacchetti non è riuscita", + "loc.messages.PackagesInstalledSuccessfully": "I pacchetti sono stati ripristinati", + "loc.messages.PackagesPublishedSuccessfully": "I pacchetti sono stati pubblicati", + "loc.messages.UnknownFeedType": "Tipo di feed '%s' sconosciuto", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "Le opzioni Controllo automatico delle versioni dei pacchetti e Includi progetti con riferimenti non possono essere usate insieme. I progetti con riferimenti non erediteranno la versione personalizzata specificata dalle impostazioni del controllo automatico delle versioni.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "È stata trovata più di un'istanza di dati di versione in BUILD_BUILDNUMBER. Si presuppone che la prima istanza sia la versione.", + "loc.messages.dotnetCommandFailed": "Il comando dotnet non è riuscito. Codice di uscita diverso da zero nei progetti seguenti: %s", + "loc.messages.noProjectFilesFound": "I file di progetto corrispondenti al criterio specificato non sono stati trovati.", + "loc.messages.noPublishFolderFoundToZip": "Non è stato possibile trovare alcuna cartella di pubblicazione da comprimere per il file di progetto: %s.", + "loc.messages.noWebProjectFound": "Nel repository non è stato trovato alcun progetto Web. I progetti Web sono identificabili dalla presenza di un file web.config, della cartella wwwroot nella directory o dall'utilizzo di Microsoft.Net.Web.Sdk nel file di progetto. È possibile impostare la proprietà Pubblica progetti Web su false (publishWebProjects: false in yml) se il progetto non segue questa convenzione o si vogliono pubblicare progetti diversi da quelli Web.", + "loc.messages.zipFailed": "Il comando zip non è riuscito. Errore: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore non supporta attualmente una chiave API crittografata.", + "loc.messages.Error_ExpectedConfigurationElement": "XML non valido. È previsto un elemento denominato 'configuration'.", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "Non sono stati trovati file corrispondenti con il criterio di ricerca: %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "Non è stato trovato alcun URL di download per %s", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "Non è stata trovata alcuna versione corrispondente all'input %s", + "loc.messages.Error_NuGetToolInstallerFailer": "L'installazione dello strumento non è riuscita: %s", + "loc.messages.Info_AvailableVersions": "Le versioni disponibili sono: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "Sulla stringa di versione viene usata una corrispondenza query che potrebbe causare modifiche del comportamento o impreviste quando NuGet viene aggiornato a una nuova versione.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Uso di informazioni di autenticazione per l'URI seguente: ", + "loc.messages.Info_ResolvedToolFromCache": "Risoluzione dalla cache dello strumento: %s", + "loc.messages.Info_SavingTempConfig": "Salvataggio di NuGet.config in un file di configurazione temporaneo.", + "loc.messages.Info_UsingToolPath": "Uso del percorso dello strumento: %s", + "loc.messages.Info_UsingVersion": "Uso della versione: %s", + "loc.messages.NGCommon_AddingSources": "Impostazione delle credenziali in NuGet.config", + "loc.messages.NGCommon_AreaNotFoundInSps": "L'area '%s' [%s] non è stata trovata. Il servizio che contiene tale area potrebbe non essere disponibile nell'area geografica corrente.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Il percorso del caricatore delle estensioni NuGet è stato rilevato (variabile di ambiente NUGET_EXTENSIONS_PATH): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "È stata rilevata la versione di NuGet %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Il percorso del caricatore delle estensioni NuGet è stato rilevato (variabile di ambiente NUGET_EXTENSIONS_PATH). Le estensioni vengono ignorate quando si usa il client NuGet predefinito", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "Non sono state trovate origini pacchetto nel file NuGet.config in %s", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "Il file NuGet.config in %s non è valido.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "In %s è previsto un file NuGet.config, ma il contenuto del file sembra essere quello di un file packages.config. Verificare le impostazioni dell'attività %s e confermare di aver selezionato NuGet.config invece di packages.config.", + "loc.messages.NGCommon_RemovingSources": "Preparazione dell'impostazione delle credenziali in NuGet.config", + "loc.messages.NGCommon_SpsNotFound": "L'area '%s' [%s] non è stata trovata. Potrebbe essersi verificato un problema con l'installazione di Team Foundation Server.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "È stata selezionata una versione di NuGet sconosciuta.", + "loc.messages.NGCommon_UnableToFindTool": "Lo strumento %s non è stato trovato", + "loc.messages.Warning_SessionCreationFailed": "Non è stato possibile creare la sessione di provenienza: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Aggiornamento della versione di NuGet.exe a %s da %s. In seguito all'aggiornamento di NuGet a una nuova versione è possibile riscontrare modifiche funzionali o modifiche che causano un'interruzione. Per evitare queste modifiche, deselezionare l'opzione 'Controlla disponibilità di versioni più recenti' nell'attività.", + "loc.messages.Net5Update": "Informazioni: gli agenti ospitati di Azure Pipelines sono stati aggiornati e ora includono .NET 5.x SDK/Runtime unitamente alla versione precedente di .NET Core che sono attualmente LTS. A meno che non si sia impostato il blocco per usare una versione specifica dell'SDK per i progetti, è possibile che sia stata usata una versione 5.x, che potrebbe presentare alcune modifiche che causano interruzioni rispetto alle versioni precedenti. Per informazioni sulle modifiche che causano un'interruzione, vedere: https://docs.microsoft.com/it-it/dotnet/core/tools/ e https://docs.microsoft.com/it-it/dotnet/core/compatibility/. Per informazioni su tali modifiche e per la risoluzione dei problemi, vedere qui: https://docs.microsoft.com/it-it/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 presenta alcuni problemi di compatibilità con le versioni precedenti di Nuget (<=5.7), quindi se per il ripristino si usa una versione precedente di Nuget (e non dotnet cli), i comandi di dotnet cli (ad esempio dotnet build) che si basano su tali pacchetti ripristinati potrebbero non riuscire. Per mitigare tale errore, è possibile: (1) usare dotnet cli per il ripristino, (2) usare Nuget versione 5.8 per il ripristino, (3) usare Global.json con una versione precedente dell'SDK (<=3) per compilare", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Informazioni: .NET Core SDK/Runtime 2.2 e 3.0 stanno per passare alla fase EOL (End of Life) e sono stati rimossi da tutti gli agenti ospitati. Se si usano questi SDK/Runtime in agenti ospitati, eseguire l'aggiornamento a versioni più recenti per cui non è previsto il passaggio alla fase EOL oppure usare l'attività Usa dotnet per installare la versione richiesta.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg è attualmente abilitato per questa attività. Per risolvere questo avviso, modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'.", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Impossibile ripristinare i pacchetti. Modificare l'attività di compilazione e impostare 'includeNuGetOrg' su 'false' o deselezionare 'Usa pacchetti da NuGet.org'." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson new file mode 100644 index 000000000000..e34fd36d40a7 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ja-JP/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[このタスクの詳細を表示](https://go.microsoft.com/fwlink/?linkid=832194)、または [.NET Core のドキュメントを参照](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "dotnet アプリケーションをビルド、テスト、パッケージ、公開するか、カスタム dotnet コマンドを実行します", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "フィードと認証", + "loc.group.displayName.restoreAdvanced": "詳細設定", + "loc.group.displayName.pushAuth": "宛先フィードと認証", + "loc.group.displayName.pushAdvanced": "詳細", + "loc.group.displayName.packOptions": "パック オプション", + "loc.group.displayName.packAdvanced": "詳細", + "loc.group.displayName.generalAdvanced": "詳細", + "loc.input.label.command": "コマンド", + "loc.input.help.command": "実行する dotnet コマンド。引数を追加したり、この一覧にないコマンドを使用したりするには、[カスタム] を選択します。", + "loc.input.label.publishWebProjects": "Web プロジェクトの公開", + "loc.input.help.publishWebProjects": "true の場合、タスクはリポジトリ内の Web プロジェクトを検索し、発行コマンドを実行しようとします。Web プロジェクトは web.config ファイルまたは wwwroot フォルダーがディレクトリ内にあるかどうかによって識別されます。", + "loc.input.label.projects": "プロジェクトへのパス", + "loc.input.help.projects": "使用する csproj ファイルへのパス。ワイルドカードを使用できます (例: すべてのサブフォルダーにあるすべての .csproj ファイルの場合は **/*.csproj)。**このフィールドは glob パターンに従っており、作業ディレクトリに関係なく、常にリポジトリのルートから相対指定されます。**", + "loc.input.label.custom": "カスタム コマンド", + "loc.input.help.custom": "実行のために dotnet.exe に渡すコマンド。", + "loc.input.label.arguments": "引数", + "loc.input.help.arguments": "選択したコマンドへの引数。たとえば、ビルド構成、出力フォルダー、ランタイムなどです。引数は選択したコマンドに応じて決まります。", + "loc.input.label.restoreArguments": "引数", + "loc.input.help.restoreArguments": "**restore** コマンドに渡される追加の引数を記述します。", + "loc.input.label.publishTestResults": "テスト結果とコード カバレッジを公開する", + "loc.input.help.publishTestResults": "このオプションを有効にすると、`$(Agent.TempDirectory)` にテスト結果の TRX ファイルが生成され、結果がサーバーに公開されます。
このオプションでは、コマンド ライン引数に `--logger trx --results-directory $(Agent.TempDirectory)` が追加されます。

コード カバレッジは、コマンド ライン引数に `--collect \"Code coverage\"` オプションを追加することで収集できます。現在のところ、これは Windows プラットフォームでのみ利用できます。", + "loc.input.label.testRunTitle": "テストの実行のタイトル", + "loc.input.help.testRunTitle": "テストの実行の名前を指定します。", + "loc.input.label.zipAfterPublish": "公開されたプロジェクトの zip 圧縮", + "loc.input.help.zipAfterPublish": "true の場合、発行コマンドで作成されたフォルダーが zip 圧縮されます。", + "loc.input.label.modifyOutputPath": "発行パスにプロジェクトのフォルダー名を追加する", + "loc.input.help.modifyOutputPath": "true にすると、出力パスを明示的に引数で指定している場合に、発行コマンドによって作成されるフォルダーのフォルダー名の前にプロジェクトのフォルダー名が付きます。これは、複数のプロジェクトを同じフォルダーに発行する場合に便利です。", + "loc.input.label.selectOrConfig": "使用するフィード", + "loc.input.help.selectOrConfig": "Azure Artifacts や NuGet.org からフィードをここで選択するか、ソース コード リポジトリに nuGet.config ファイルをコミットしてそのパスをここで設定します。", + "loc.input.label.feedRestore": "この Azure Artifacts フィードからのパッケージを使用する", + "loc.input.help.feedRestore": "生成する NuGet.config に、選択したフィードを含めます。ここでフィードを選択するには、Azure Artifacts をインストールしてライセンスを取得している必要があります。", + "loc.input.label.includeNuGetOrg": "NuGet.org からのパッケージを使用する", + "loc.input.help.includeNuGetOrg": "生成される NuGet.config に NuGet.org を含めます。", + "loc.input.label.nugetConfigPath": "NuGet.config へのパス", + "loc.input.help.nugetConfigPath": "リポジトリにある、パッケージの復元元のフィードを指定する NuGet.config。", + "loc.input.label.externalEndpoints": "この組織/コレクション外のフィードの資格情報", + "loc.input.help.externalEndpoints": "選択した NuGet.config にある外部レジストリに使用する資格情報です。この組織/コレクションのフィードの場合は、空白のままにします。ビルドの資格情報が自動的に使用されます。", + "loc.input.label.noCache": "ローカル キャッシュの無効化", + "loc.input.help.noCache": "NuGet で、ローカル コンピューター キャッシュからパッケージを使用しないようにします。", + "loc.input.label.packagesDirectory": "ダウンロード先ディレクトリ", + "loc.input.help.packagesDirectory": "パッケージのインストール先のフォルダーを指定します。フォルダーを指定しないと、パッケージは、既定の NuGet パッケージ キャッシュに復元されます。", + "loc.input.label.verbosityRestore": "詳細", + "loc.input.help.verbosityRestore": "出力に表示する詳細の量を指定します。", + "loc.input.label.searchPatternPush": "発行する NuGet パッケージへのパス", + "loc.input.help.searchPatternPush": "アップロードする Nupkg ファイルとの一致を探すパターンまたはパス。複数のパターンをセミコロンで区切ることができます。", + "loc.input.label.nuGetFeedType": "ターゲット フィードの場所", + "loc.input.label.feedPublish": "ターゲット フィード", + "loc.input.help.feedPublish": "この組織でホストされているフィードを選択します。ここでフィードを選択するには、Azure Artifacts をインストールしてライセンス認証しておく必要があります。", + "loc.input.label.publishPackageMetadata": "パイプライン メタデータの公開", + "loc.input.help.publishPackageMetadata": "このビルド/リリース パイプラインのメタデータ (実行番号、ソース コード情報) をパッケージに関連付ける", + "loc.input.label.externalEndpoint": "NuGet サーバー", + "loc.input.help.externalEndpoint": "外部 NuGet サーバーの資格情報が含まれている NuGet サービス接続。", + "loc.input.label.searchPatternPack": "パックする csproj ファイルまたは nuspec ファイルへのパス", + "loc.input.help.searchPatternPack": "パックする csproj ファイルまたは nuspec ファイルを検索するパターン。\n\nセミコロンで区切って複数のパターンを指定できます。また、先頭に '!' を付けることでパターンを否定できます。例: `**/*.csproj;!**/*.Tests.csproj`", + "loc.input.label.configurationToPack": "パッケージへの構成", + "loc.input.help.configurationToPack": "csproj ファイルの使用時、これでパッケージの構成が指定されます", + "loc.input.label.outputDir": "パッケージ フォルダー", + "loc.input.help.outputDir": "パッケージが作成されるフォルダー。空の場合、パッケージは、csproj ファイルと共に作成されます。", + "loc.input.label.nobuild": "ビルドしない", + "loc.input.help.nobuild": "パッキングの前にプロジェクトをビルドしません。--no-build コマンド ライン パラメーターに対応します。", + "loc.input.label.includesymbols": "シンボルを含める", + "loc.input.help.includesymbols": "追加でシンボル NuGet パッケージを作成します。--include-symbols コマンド ライン パラメーターに相当します。", + "loc.input.label.includesource": "ソースを含める", + "loc.input.help.includesource": "パッケージにソース コードを含めます。--include-source コマンド ライン パラメーターに相当します。", + "loc.input.label.versioningScheme": "自動パッケージ バージョン管理", + "loc.input.help.versioningScheme": "参照を含むプロジェクトでは使用できません。[日付と時刻を使用する] を選ぶと、`X.Y.Z-ci-datetime` の書式で設定された [SemVer](http://semver.org/spec/v1.0.0.html) 対応バージョンが生成されます (X、Y、Z は自分で選択)。\n\n[環境変数を使用する] を選ぶ場合は、環境変数を選んで、使用するバージョン番号がそれに含まれていることを確認する必要があります。\n\n[ビルド番号を使用する] を選ぶと、ビルド番号がパッケージのバージョンに使用されます。**注:** オプション セットでは、ビルド番号の形式は '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)' となります。", + "loc.input.label.versionEnvVar": "環境変数", + "loc.input.help.versionEnvVar": "$、$env、または % を使用せずに変数名を入力します。", + "loc.input.label.requestedMajorVersion": "メジャー", + "loc.input.help.requestedMajorVersion": "バージョン [X.Y.Z] の 'X' (http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "マイナー", + "loc.input.help.requestedMinorVersion": "バージョン [X.Y.Z] の 'Y' (http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "パッチ", + "loc.input.help.requestedPatchVersion": "バージョン [X.Y.Z] の 'Z' (http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "追加のビルド プロパティ", + "loc.input.help.buildProperties": "token = value のペアをセミコロンで区切って並べたリストを指定します。.nuspec ファイル内に出現する $token$ がそれぞれ指定された値で置き換えられます。引用符で囲んだ文字列を値として指定することもできます。", + "loc.input.label.verbosityPack": "詳細", + "loc.input.help.verbosityPack": "出力に表示する詳細の量を指定します。", + "loc.input.label.workingDirectory": "作業ディレクトリ", + "loc.input.help.workingDirectory": "スクリプトが実行される現在の作業ディレクトリ。空白の場合はリポジトリ (ビルド) または成果物 (リリース) のルートとなり、これは $(System.DefaultWorkingDirectory) です。プロジェクトの検索パターンは、作業ディレクトリからの相対的なものでは**ありません**。", + "loc.messages.BuildIdentityPermissionsHint": "内部フィードについて、ビルド サービス ID '%s' [%s] がフィードにアクセスできることを確認します。", + "loc.messages.CouldNotSetCodePaging": "次のエラーのためのコード ページングを設定できませんでした。%s", + "loc.messages.Error_AutomaticallyVersionReleases": "自動バージョン: ビルド オプションからのバージョン番号の取得は、リリースではサポートされていません", + "loc.messages.Error_CommandNotRecognized": "コマンド %s を認識できませんでした。", + "loc.messages.Error_NoSourceSpecifiedForPush": "プッシュ用のソースが指定されていませんでした", + "loc.messages.Error_NoValueFoundForEnvVar": "指定された環境変数の値が見つかりませんでした。", + "loc.messages.Error_NoVersionFoundInBuildNumber": "次の環境変数にバージョン番号データが見つかりませんでした: BUILD_BUILDNUMBER。この変数の値は、次の形式のサブ文字列を含んでいる必要があります: X.Y.Z または X.Y.Z.A (A、X、Y、Z は正の整数)。", + "loc.messages.Error_PackageFailure": "ファイルをパックしようとしてエラーが発生しました。", + "loc.messages.Error_PushNotARegularFile": "%s はファイルではありません。タスクの [Nupkg へのパス/パターン] プロパティをご確認ください。", + "loc.messages.Info_AttemptingToPackFile": "ファイルをパックしようとしています: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "検索パターンに一致するパッケージが見つかりませんでした。", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "検索パターンに一致するファイルが見つかりませんでした。", + "loc.messages.PackagesFailedToInstall": "パッケージを復元できませんでした", + "loc.messages.PackagesFailedToPublish": "パッケージを発行できませんでした", + "loc.messages.PackagesInstalledSuccessfully": "パッケージが正常に復元されました", + "loc.messages.PackagesPublishedSuccessfully": "パッケージが正常に発行されました", + "loc.messages.UnknownFeedType": "フィードの種類 '%s' が不明です", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "[自動パッケージ バージョン管理] オプションと [参照プロジェクトを含む] オプションを一緒に機能させることはできません。参照されたプロジェクトは、自動バージョン管理の設定によって提供されるカスタム バージョンを継承しません。", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "BUILD_BUILDNUMBER に複数のインスタンスのバージョン データが含まれています。最初のインスタンスをバージョンと想定します。", + "loc.messages.dotnetCommandFailed": "DotNet コマンドが以下のプロジェクトでゼロ以外の終了コードで失敗しました: %s", + "loc.messages.noProjectFilesFound": "指定したパターンと一致するプロジェクト ファイルが見つかりませんでした。", + "loc.messages.noPublishFolderFoundToZip": "プロジェクト ファイルに zip 圧縮する公開フォルダーが見つかりませんでした: %s。", + "loc.messages.noWebProjectFound": "リポジトリに Web プロジェクトが見つかりませんでした。Web プロジェクトは、ディレクトリ内に web.config ファイルと wwwroot フォルダーのどちらかがあることか、プロジェクト ファイル内で Microsoft.Net.Web.Sdk が使用されていることで識別されます。プロジェクトがこの規約に従っていない場合、または Web プロジェクト以外のプロジェクトを公開する場合、\"Web プロジェクトの公開\" プロパティを false (yml で publishWebProjects: false にする) に設定できます。", + "loc.messages.zipFailed": "エラーが発生し、zip 圧縮できませんでした: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore は、現在、暗号化された API キーの使用をサポートしていません。", + "loc.messages.Error_ExpectedConfigurationElement": "無効な xml です。'configuration' という要素が必要です。", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "次の検索パターンと一致するファイルが見つかりませんでした: %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "%s のダウンロード URL が見つかりませんでした", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "入力 %s に一致するバージョンは見つかりませんでした", + "loc.messages.Error_NuGetToolInstallerFailer": "ツールをインストールできませんでした: %s", + "loc.messages.Info_AvailableVersions": "利用可能なバージョン: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "バージョン文字列でクエリ マッチを使用しています。NuGet が新しいバージョンに更新されるときに、動作の変更や重大な変更が発生する可能性があります。", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "次の URI に対して認証情報が使用されています: ", + "loc.messages.Info_ResolvedToolFromCache": "ツール キャッシュから解決: %s", + "loc.messages.Info_SavingTempConfig": "NuGet.config を一時構成ファイルに保存しています。", + "loc.messages.Info_UsingToolPath": "使用するツール パス: %s", + "loc.messages.Info_UsingVersion": "使用するバージョン: %s", + "loc.messages.NGCommon_AddingSources": "NuGet.config での資格証明の設定", + "loc.messages.NGCommon_AreaNotFoundInSps": "'%s' [%s] 領域を特定できません。この領域を含むサービスは、ご利用の地域では提供されません。", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "NuGet 拡張機能のローダー パス (NUGET_EXTENSIONS_PATH 環境変数) が検出されました: %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "検出された NuGet バージョン %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "NuGet 拡張機能のローダー パス (NUGET_EXTENSIONS_PATH 環境変数) が検出されました。ビルトインの NuGet クライアントを使用するとき、拡張機能は無視されます", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "%s の NuGet.config ファイルでパッケージ ソースが見つかりません", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "%s の NuGet.config が無効です。", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "%s で NuGet.config ファイルが想定されていますが、そのコンテンツは packages.config のようです。%s タスクの設定をチェックし、packages.config ではなく NuGet.config を選択したことを確認してください。", + "loc.messages.NGCommon_RemovingSources": "NuGet.config での資格情報の設定準備", + "loc.messages.NGCommon_SpsNotFound": "'%s' [%s] の領域が見つかりません。Team Foundation Server のインストールで問題が発生した可能性があります。", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "不明な NuGet バージョンが選ばれました。", + "loc.messages.NGCommon_UnableToFindTool": "ツール %s が見つかりません", + "loc.messages.Warning_SessionCreationFailed": "次の来歴セッションを作成できませんでした: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe のバージョンを %s に更新しています (現在のバージョンは %s)。NuGet を新しいバージョンに更新すると、動作の変更やビルド ブレークを起こす変更が発生することがあります。これを避けるには、タスクの [最新バージョンのチェック] オプションを選択解除します。", + "loc.messages.Net5Update": "情報: Azure Pipelines によってホストされているエージェントが更新されて、現在 LTS である以前の .Net Core バージョンと共に、.Net 5.x SDK またはランタイムが含まれるようになりました。プロジェクトの SDK バージョンをロックしていない限り 5.x SDK が選択されますが、これには以前のバージョンと比較した場合に破壊的な動作が伴うおそれがあります。破壊的変更の詳細については、次をご覧ください: https://docs.microsoft.com/ja-jp/dotnet/core/tools/ および https://docs.microsoft.com/ja-jp/dotnet/core/compatibility/。このような変更とトラブルシューティングの詳細については、次を参照してください: https://docs.microsoft.com/ja-jp/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 には、旧バージョンの Nuget (5.7 以下) と互換性の問題があるため、復元に (dotnet CLI ではなく) 旧バージョンの Nuget を使用している場合、このような復元されたパッケージに依存する dotnet CLI コマンド (例: dotnet build) が失敗するおそれがあります。このようなエラーを軽減するには、次のいずれかを実行します: (1) - dotnet CLI を使用して復元する。(2) - Nuget バージョン 5.8 を使用して復元する。(3) - 旧バージョンの SDK (3 以下) が使用されている global.json を使ってビルドする。", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "情報: .NET Core SDK またはランタイム 2.2 および 3.0 の有効期間は終了しており (EOL)、ホストされているすべてのエージェントから削除されました。ホストされているエージェントでこれらの SDK またはランタイムを使用している場合は EOL を迎えていない新しいバージョンにアップグレードし、それ以外の場合は UseDotNet タスクを使用して必要なバージョンをインストールしてください。", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg は現在、このタスクに対して有効になっています。この警告を解決するには、ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。", + "loc.messages.Error_IncludeNuGetOrgEnabled": "パッケージを復元できませんでした。ビルド タスクを編集し、'includeNuGetOrg' を 'false' に設定するか、'NuGet.org からパッケージを使用する' の選択を解除します。" +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson new file mode 100644 index 000000000000..c5b75490fa43 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ko-KR/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[이 작업에 대한 자세한 정보](https://go.microsoft.com/fwlink/?linkid=832194) 또는 [.NET Core 설명서 참조](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "dotnet 애플리케이션을 빌드, 테스트, 패키지 또는 게시하거나 사용자 지정 dotnet 명령을 실행합니다.", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "피드 및 인증", + "loc.group.displayName.restoreAdvanced": "고급", + "loc.group.displayName.pushAuth": "대상 피드 및 인증", + "loc.group.displayName.pushAdvanced": "고급", + "loc.group.displayName.packOptions": "팩 옵션", + "loc.group.displayName.packAdvanced": "고급", + "loc.group.displayName.generalAdvanced": "고급", + "loc.input.label.command": "명령", + "loc.input.help.command": "실행할 dotnet 명령입니다. 인수를 추가하거나 여기에 나열되지 않은 명령을 사용하려면 '사용자 지정'을 선택합니다.", + "loc.input.label.publishWebProjects": "웹 프로젝트 게시", + "loc.input.help.publishWebProjects": "True이면 작업에서 리포지토리의 웹 프로젝트를 찾고 해당 프로젝트에서 게시 명령을 실행합니다. 디렉터리에 web.config 파일이나 wwwroot 폴더가 있으면 웹 프로젝트가 있는 것입니다.", + "loc.input.label.projects": "프로젝트 경로", + "loc.input.help.projects": "사용할 csproj 파일의 경로입니다. 와일드카드(예: 모든 하위 폴더의 모든 .csproj 파일의 경우 **/*.csproj)를 사용할 수 있습니다. **이 필드는 GLOB 패턴을 따르며, 작업 디렉터리와 상관없이 항상 리포지토리의 루트에 대해 실행됩니다.**", + "loc.input.label.custom": "사용자 지정 명령", + "loc.input.help.custom": "실행을 위해 dotnet.exe에 전달할 명령입니다.", + "loc.input.label.arguments": "인수", + "loc.input.help.arguments": "선택한 명령의 인수입니다. 빌드 구성, 출력 폴더, 런타임 등을 예로 들 수 있습니다. 인수는 선택한 명령에 따라 다릅니다.", + "loc.input.label.restoreArguments": "인수", + "loc.input.help.restoreArguments": "**restore** 명령에 전달할 추가 인수를 씁니다.", + "loc.input.label.publishTestResults": "테스트 결과 및 코드 검사 게시", + "loc.input.help.publishTestResults": "이 옵션을 사용하도록 설정하면 테스트 결과 TRX 파일이 '$(Agent.TempDirectory)'에 생성되고 결과가 서버에 게시됩니다.
이 옵션은 명령줄 인수 뒤에 '--logger trx --results-directory $(Agent.TempDirectory)'을(를) 추가합니다.

명령줄 인수에 '--collect \"Code coverage\"' 옵션을 추가하면 코드 검사를 수집할 수 있습니다. 이 옵션은 현재 Windows 플랫폼에서만 사용할 수 있습니다.", + "loc.input.label.testRunTitle": "테스트 실행 제목", + "loc.input.help.testRunTitle": "테스트 실행의 이름을 지정하세요.", + "loc.input.label.zipAfterPublish": "게시된 프로젝트 압축", + "loc.input.help.zipAfterPublish": "True이면 게시 명령으로 만든 폴더가 압축됩니다.", + "loc.input.label.modifyOutputPath": "게시 경로에 프로젝트 폴더 이름 추가", + "loc.input.help.modifyOutputPath": "true이면 인수에 명시적으로 출력 경로가 지정된 경우 게시 명령을 통해 만든 폴더의 폴더 이름 앞에 프로젝트 폴더 이름이 추가됩니다. 이 기능은 동일한 폴더에 여러 프로젝트를 게시하려는 경우에 유용합니다.", + "loc.input.label.selectOrConfig": "사용할 피드", + "loc.input.help.selectOrConfig": "여기서 Azure Artifacts 및/또는 NuGet.org의 피드를 선택하거나, nuget.config 파일을 소스 코드 리포지토리에 커밋하고 여기에 해당 경로를 설정할 수 있습니다.", + "loc.input.label.feedRestore": "이 Azure Artifacts 피드의 패키지 사용", + "loc.input.help.feedRestore": "선택한 피드를 생성된 NuGet.config에 포함합니다. 여기서 피드를 선택하려면 Azure Artifacts가 설치되고 사용이 허가된 상태여야 합니다.", + "loc.input.label.includeNuGetOrg": "NuGet.org의 패키지 사용", + "loc.input.help.includeNuGetOrg": "생성된 NuGet.config에 NuGet.org를 포함합니다.", + "loc.input.label.nugetConfigPath": "NuGet.config 경로", + "loc.input.help.nugetConfigPath": "패키지를 복원할 피드를 지정하는 리포지토리의 NuGet.config입니다.", + "loc.input.label.externalEndpoints": "이 조직/컬렉션 외부 피드에 대한 자격 증명", + "loc.input.help.externalEndpoints": "선택한 NuGet.config에 있는 외부 레지스트리에 사용할 자격 증명입니다. 이 조직/컬렉션에 있는 피드의 경우 이 필드를 비워 두세요. 빌드의 자격 증명이 자동으로 사용됩니다.", + "loc.input.label.noCache": "로컬 캐시 사용 안 함", + "loc.input.help.noCache": "NuGet이 로컬 컴퓨터 캐시의 패키지를 사용할 수 없도록 합니다.", + "loc.input.label.packagesDirectory": "대상 디렉터리", + "loc.input.help.packagesDirectory": "패키지가 설치될 폴더를 지정합니다. 폴더를 지정하지 않으면 패키지가 기본 NuGet 패키지 캐시로 복원됩니다.", + "loc.input.label.verbosityRestore": "자세한 정도", + "loc.input.help.verbosityRestore": "출력에 표시되는 세부 정보의 양을 지정합니다.", + "loc.input.label.searchPatternPush": "게시할 NuGet 패키지의 경로", + "loc.input.help.searchPatternPush": "일치시킬 패턴 또는 업로드할 nupkg 파일의 경로입니다. 여러 개의 패턴은 세미콜론으로 구분할 수 있습니다.", + "loc.input.label.nuGetFeedType": "대상 피드 위치", + "loc.input.label.feedPublish": "대상 피드", + "loc.input.help.feedPublish": "이 조직에 호스트된 피드를 선택합니다. 여기서 피드를 선택하려면 Azure Artifacts가 설치되고 사용이 허가된 상태여야 합니다.", + "loc.input.label.publishPackageMetadata": "파이프라인 메타데이터 게시", + "loc.input.help.publishPackageMetadata": "이 빌드/릴리스 파이프라인의 메타데이터(실행 번호, 소스 코드 정보)를 패키지에 연결합니다.", + "loc.input.label.externalEndpoint": "NuGet 서버", + "loc.input.help.externalEndpoint": "외부 NuGet 서버의 자격 증명이 포함된 NuGet 서비스 연결입니다.", + "loc.input.label.searchPatternPack": "압축할 csproj 또는 nuspec 파일의 경로", + "loc.input.help.searchPatternPack": "압축할 csproj 또는 nuspec 파일을 검색할 패턴입니다.\n\n세미콜론을 사용하여 여러 패턴을 구분할 수 있으며, 패턴 앞에 접두사 '-:'을 적용하여 패턴을 네거티브로 만들 수 있습니다(예: '**/*.csproj;-:**/*.Tests.csproj').", + "loc.input.label.configurationToPack": "패키지할 구성", + "loc.input.help.configurationToPack": "csproj 파일을 사용하는 경우 패키지할 구성을 지정합니다.", + "loc.input.label.outputDir": "패키지 폴더", + "loc.input.help.outputDir": "패키지가 생성될 폴더입니다. 비어 있으면 csproj 파일과 함께 패키지가 생성됩니다.", + "loc.input.label.nobuild": "빌드 안 함", + "loc.input.help.nobuild": "패키징 전에 프로젝트를 빌드하지 않습니다. --no-build 명령줄 매개 변수에 해당합니다.", + "loc.input.label.includesymbols": "기호 포함", + "loc.input.help.includesymbols": "기호 NuGet 패키지를 추가로 만듭니다. --include-symbols 명령줄 매개 변수에 해당합니다.", + "loc.input.label.includesource": "소스 포함", + "loc.input.help.includesource": "패키지에 소스 코드를 포함합니다. --include-source 명령줄 매개 변수에 해당합니다.", + "loc.input.label.versioningScheme": "자동 패키지 버전 관리", + "loc.input.help.versioningScheme": "참조된 프로젝트 포함에서 사용할 수 없습니다. '날짜 및 시간 사용'을 선택하면 형식이 `X.Y.Z-ci-datetime`으로 지정되는 [SemVer](http://semver.org/spec/v1.0.0.html) 규격 버전이 생성됩니다. 여기서 X, Y 및 Z는 사용자가 선택합니다.\n\n'환경 변수 사용'을 선택하면 환경 변수를 선택하고 환경 변수가 사용할 버전 번호를 포함하는지 확인해야 합니다.\n\n'빌드 번호 사용'을 선택하면 패키지하는 버전에 빌드 번호가 사용됩니다. **참고:** [옵션]에서 빌드 번호 형식이 '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'이 되도록 설정하세요.", + "loc.input.label.versionEnvVar": "환경 변수", + "loc.input.help.versionEnvVar": "변수 이름을 $, $env 또는 % 없이 입력하세요.", + "loc.input.label.requestedMajorVersion": "주 버전", + "loc.input.help.requestedMajorVersion": "버전 [X.Y.Z]의 'X'(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "부 버전", + "loc.input.help.requestedMinorVersion": "버전 [X.Y.Z]의 'Y'(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "패치", + "loc.input.help.requestedPatchVersion": "버전 [X.Y.Z]의 'Z'(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "추가 빌드 속성", + "loc.input.help.buildProperties": "세미콜론으로 구분된 토큰 = 값 쌍의 목록을 지정합니다. 여기서 .nuspec 파일의 각 $token$ 항목은 지정된 값으로 바뀝니다. 값은 따옴표로 묶인 문자열일 수 있습니다.", + "loc.input.label.verbosityPack": "자세한 정도", + "loc.input.help.verbosityPack": "출력에 표시되는 세부 정보의 양을 지정합니다.", + "loc.input.label.workingDirectory": "작업 디렉터리", + "loc.input.help.workingDirectory": "스크립트가 실행되는 현재 작업 디렉터리입니다. 비어 있으면 리포(빌드) 또는 아티팩트(릴리스)의 루트이며 이 값은 $(System.DefaultWorkingDirectory)입니다. 프로젝트 검색 패턴은 작업 디렉터리와 관련이 **없습니다**.", + "loc.messages.BuildIdentityPermissionsHint": "내부 피드의 경우 빌드 서비스 ID '%s' [%s]에 피드에 대한 액세스 권한이 있는지 확인하세요.", + "loc.messages.CouldNotSetCodePaging": "다음 오류로 인해 코드 페이징을 설정할 수 없습니다. %s", + "loc.messages.Error_AutomaticallyVersionReleases": "자동 버전: 빌드에서 버전 번호 가져오기 옵션은 릴리스에서 지원되지 않습니다.", + "loc.messages.Error_CommandNotRecognized": "%s 명령을 인식할 수 없습니다.", + "loc.messages.Error_NoSourceSpecifiedForPush": "푸시에 대한 소스를 지정하지 않았습니다.", + "loc.messages.Error_NoValueFoundForEnvVar": "제공된 환경 변수의 값을 찾을 수 없습니다.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "환경 변수 BUILD_BUILDNUMBER에서 버전 번호 데이터를 찾을 수 없습니다. 변수의 값에 X.Y.Z 또는 X.Y.Z.A 형식의 부분 문자열이 포함되어야 합니다. 여기서 A, X, Y, Z는 양의 정수입니다.", + "loc.messages.Error_PackageFailure": "파일을 압축하는 동안 오류가 발생했습니다.", + "loc.messages.Error_PushNotARegularFile": "%s은(는) 파일이 아닙니다. 작업의 'nupkg 경로/패턴' 속성을 확인하세요.", + "loc.messages.Info_AttemptingToPackFile": "파일을 압축하려고 합니다. ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "검색 패턴과 일치하는 패키지가 없습니다.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "검색 패턴과 일치하는 파일이 없습니다.", + "loc.messages.PackagesFailedToInstall": "패키지를 복원하지 못했습니다.", + "loc.messages.PackagesFailedToPublish": "패키지를 게시하지 못했습니다.", + "loc.messages.PackagesInstalledSuccessfully": "패키지를 복원했습니다.", + "loc.messages.PackagesPublishedSuccessfully": "패키지가 게시되었습니다.", + "loc.messages.UnknownFeedType": "알 수 없는 피드 유형 '%s'", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "자동 패키지 버전 관리 및 참조된 프로젝트 포함 옵션은 함께 작동하지 않습니다. 참조된 프로젝트는 자동 버전 관리 설정에서 제공하는 사용자 지정 버전을 상속하지 않습니다.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "BUILD_BUILDNUMBER에서 버전 데이터 인스턴스를 여러 개 찾았습니다. 첫 번째 인스턴스가 버전이라고 가정합니다.", + "loc.messages.dotnetCommandFailed": "다음 프로젝트에서 Dotnet 명령이 0이 아닌 종료 코드를 반환하며 실패했습니다. %s", + "loc.messages.noProjectFilesFound": "지정한 패턴과 일치하는 프로젝트 파일을 찾을 수 없습니다.", + "loc.messages.noPublishFolderFoundToZip": "프로젝트 파일을 압축할 게시 폴더를 찾을 수 없습니다. %s.", + "loc.messages.noWebProjectFound": "리포지토리에서 웹 프로젝트를 찾을 수 없습니다. 웹 프로젝트는 web.config 파일 또는 디렉터리의 wwwroot 폴더 존재 여부 또는 프로젝트 파일의 Microsoft.Net.Web.Sdk를 사용하여 식별됩니다. 프로젝트가 이 규칙을 따르지 않거나 웹 프로젝트 이외의 프로젝트를 게시하려는 경우에는 웹 프로젝트 게시 속성을 false(yml에서는 publishWebProjects: false)로 설정할 수 있습니다.", + "loc.messages.zipFailed": "압축이 실패했습니다(오류: %s).", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore는 현재 암호화된 API 키 사용을 지원하지 않습니다.", + "loc.messages.Error_ExpectedConfigurationElement": "잘못된 XML입니다. 'configuration' 요소가 필요합니다.", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "다음 검색 패턴과 일치하는 파일을 찾을 수 없습니다. %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "%s에 대한 다운로드 URL을 찾을 수 없습니다.", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "입력 %s과(와) 일치하는 버전을 찾을 수 없습니다.", + "loc.messages.Error_NuGetToolInstallerFailer": "도구 설치 실패: %s", + "loc.messages.Info_AvailableVersions": "사용 가능한 버전: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "버전 문자열에서 쿼리 일치를 사용하는 중입니다. NuGet이 새 버전으로 업데이트되면서 동작 변경 내용 또는 새로운 변경 내용이 발생할 수 있습니다.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "다음 URI에 대한 인증 정보를 사용합니다. ", + "loc.messages.Info_ResolvedToolFromCache": "도구 캐시 %s에서 확인됨", + "loc.messages.Info_SavingTempConfig": "NuGet.config를 임시 구성 파일에 저장 중입니다.", + "loc.messages.Info_UsingToolPath": "도구 경로 %s 사용", + "loc.messages.Info_UsingVersion": "버전 %s 사용", + "loc.messages.NGCommon_AddingSources": "NuGet.config에서 자격 증명을 설정하는 중", + "loc.messages.NGCommon_AreaNotFoundInSps": "'%s' [%s] 영역을 찾을 수 없습니다. 해당 영역을 포함하는 서비스를 사용자의 지역에서 사용하지 못할 수도 있습니다.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "검색된 NuGet 확장 로더 경로(NUGET_EXTENSIONS_PATH 환경 변수): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "검색된 NuGet 버전 %s/%s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "검색된 NuGet 확장 로더 경로(NUGET_EXTENSIONS_PATH 환경 변수). 기본 제공 NuGet 클라이언트를 사용할 경우 확장은 무시됩니다.", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "%s의 NuGet.config 파일에서 패키지 소스를 찾을 수 없습니다.", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "%s의 NuGet.config가 잘못되었습니다.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "%s에 NuGet.config 파일이 필요하지만, 해당 내용이 packages.config인 것 같습니다. %s 작업에 대한 설정을 확인하고, packages.config가 아닌 NuGet.config를 선택했는지 확인하세요.", + "loc.messages.NGCommon_RemovingSources": "NuGet.config에서 자격 증명을 설정하기 위해 준비 중", + "loc.messages.NGCommon_SpsNotFound": "'%s' [%s] 영역을 찾을 수 없습니다. Team Foundation Server 설치에 문제가 있을 수 있습니다.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "알 수 없는 NuGet 버전을 선택했습니다.", + "loc.messages.NGCommon_UnableToFindTool": "%s 도구를 찾을 수 없습니다.", + "loc.messages.Warning_SessionCreationFailed": "출처 세션 %s을(를) 만들 수 없습니다.", + "loc.messages.Warning_UpdatingNuGetVersion": "NuGet.exe 버전을 %s(으)로 업데이트 중입니다(이전 버전: %s). NuGet이 새 버전으로 업데이트되면 동작이 변경되거나 새로운 변경 사항이 발생할 수 있습니다. 이 업데이트를 원하지 않는 경우 작업에서 '최신 버전 확인' 옵션의 선택을 취소하세요.", + "loc.messages.Net5Update": "정보: Azure Pipelines 호스팅 에이전트가 업데이트되었으며 이제 이전 .NET Core 버전(현재 LTS)과 함께 .NET 5.x SDK/런타임을 포함합니다. 프로젝트의 SDK 버전을 잠그지 않는 한 이전 버전과 비교하여 호환성이 손상되는 동작이 있을 수 있는 5.x SDK가 선택될 수 있습니다. https://docs.microsoft.com/en-us/dotnet/core/tools/ 및 https://docs.microsoft.com/en-us/dotnet/core/compatibility/에서 호환성이 손상되는 변경을 자세히 확인할 수 있습니다. 이러한 변경과 문제 해결에 대해 자세히 알아보려면 https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting을 참조하세요.", + "loc.messages.Net5NugetVersionCompat": ".NET 5에는 이전 NuGet 버전(5.7 이하)과 몇 가지 호환성 문제가 있으므로 이전 NuGet 버전(dotnet cli 아님)을 사용하여 복원하는 경우 이러한 복원된 패키지를 사용하는 dotnet cli 명령(예: dotnet build)이 실패할 수 있습니다. 이러한 오류를 완화하려면 다음 중 하나를 수행할 수 있습니다. (1) - dotnet cli를 사용하여 복원합니다. (2) - NuGet 버전 5.8을 사용하여 복원합니다. (3) - 이전 SDK 버전(3 이하)을 사용하는 global.json을 사용하여 빌드합니다.", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "정보: .NET Core SDK/런타임 2.2 및 3.0이 현재 EOL(만료)되었으며 모든 호스트된 에이전트에서 제거되었습니다. 호스트된 에이전트에서 이러한 SDK/런타임을 사용하는 경우 EOL(만료)되지 않은 최신 버전으로 업그레이드하거나 UseDotNet 작업을 사용하여 필요한 버전을 설치하세요.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg는 현재 이 작업에 대해 활성화되어 있습니다. 이 경고를 해결하려면 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org의 패키지 사용'을 선택 취소하세요.", + "loc.messages.Error_IncludeNuGetOrgEnabled": "패키지를 복원하지 못했습니다. 빌드 작업을 편집하고 'includeNuGetOrg'를 'false'로 설정하거나 'NuGet.org에서 패키지 사용'을 선택 취소합니다." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson new file mode 100644 index 000000000000..fe93399de1a6 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/ru-RU/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[См. дополнительные сведения об этой задаче](https://go.microsoft.com/fwlink/?linkid=832194) или [документацию по .NET Core](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "Сборка, тестирование, упаковка или публикация приложения dotnet либо выполнение пользовательской команды dotnet", + "loc.instanceNameFormat": "dotnet $(команда)", + "loc.group.displayName.restoreAuth": "Веб-каналы и проверка подлинности", + "loc.group.displayName.restoreAdvanced": "Дополнительно", + "loc.group.displayName.pushAuth": "Веб-канал назначения и проверка подлинности", + "loc.group.displayName.pushAdvanced": "Дополнительно", + "loc.group.displayName.packOptions": "Параметры пакета", + "loc.group.displayName.packAdvanced": "Дополнительно", + "loc.group.displayName.generalAdvanced": "Дополнительно", + "loc.input.label.command": "Команда", + "loc.input.help.command": "Команда dotnet, которую необходимо выполнить. Выберите \"Пользовательская\", чтобы добавить аргументы или использовать команду, отсутствующую в списке.", + "loc.input.label.publishWebProjects": "Опубликовать веб-проекты", + "loc.input.help.publishWebProjects": "Если параметр имеет значение true, задача будет искать веб-проекты в репозитории и запустит для них команду публикации. Веб-проекты определяются по наличию в каталоге файла web.config или папки wwwroot.", + "loc.input.label.projects": "Путь к проектам", + "loc.input.help.projects": "Путь к используемым CSPROJ-файлам. Можно использовать подстановочные знаки (например, **/*.csproj соответствует всем CSPROJ-файлам во всех вложенных папках). **Это поле соответствует стандартной маске, и его значение всегда определяется относительно корня репозитория, независимо от рабочего каталога.**", + "loc.input.label.custom": "Настраиваемая команда", + "loc.input.help.custom": "Команда, передаваемая в dotnet.exe для выполнения.", + "loc.input.label.arguments": "Аргументы", + "loc.input.help.arguments": "Аргументы для выбранной команды. Например, конфигурация сборки, выходной каталог, среда выполнения. Аргументы зависят от выбранной команды.", + "loc.input.label.restoreArguments": "Аргументы", + "loc.input.help.restoreArguments": "Укажите дополнительные аргументы, передаваемые в команду **restore**.", + "loc.input.label.publishTestResults": "Опубликовать результаты теста и объем протестированного кода", + "loc.input.help.publishTestResults": "Если включить этот параметр, будет создан TRX-файл с результатами теста в \"$(Agent.TempDirectory)\" и результаты будут опубликованы на сервере.
Этот параметр добавляет \"--logger trx --results-directory $(Agent.TempDirectory)\" к аргументам командной строки.

Чтобы собрать сведения об объеме протестированного кода, можно добавить параметр \"--collect \"Code coverage\"\" к аргументам командной строки. Сейчас эта возможность доступна только на платформе Windows.", + "loc.input.label.testRunTitle": "Название тестового запуска", + "loc.input.help.testRunTitle": "Укажите имя для тестового запуска.", + "loc.input.label.zipAfterPublish": "Запаковать опубликованные проекты", + "loc.input.help.zipAfterPublish": "Если этот параметр имеет значение true, папка, создаваемая командой публикации, будет упакована.", + "loc.input.label.modifyOutputPath": "Добавить имя папки проекта к пути публикации", + "loc.input.help.modifyOutputPath": "Если задано значение true и выходной путь явно задан в аргументах, перед именами папок, создаваемых командой публикации, будет указываться имя папки проекта. Это полезно в том случае, если необходимо опубликовать несколько проектов в одной папке.", + "loc.input.label.selectOrConfig": "Используемые веб-каналы", + "loc.input.help.selectOrConfig": "Здесь можно выбрать веб-канал из Azure Artifacts или NuGet.org либо сохранить файл nuget.config в репозитории исходного кода и указать здесь путь к нему.", + "loc.input.label.feedRestore": "Использовать пакеты из этого веб-канала Azure Artifacts", + "loc.input.help.feedRestore": "Включите выбранный веб-канал в создаваемый файл NuGet.config. Для выбора веб-канала должен быть установлен и лицензирован компонент Azure Artifacts.", + "loc.input.label.includeNuGetOrg": "Использовать пакеты с сайта NuGet.org", + "loc.input.help.includeNuGetOrg": "Включить NuGet.org в созданный файл NuGet.config.", + "loc.input.label.nugetConfigPath": "Путь к файлу NuGet.config", + "loc.input.help.nugetConfigPath": "Файл NuGet.config в репозитории, в котором указаны веб-каналы, пакеты из которых следует восстановить.", + "loc.input.label.externalEndpoints": "Учетные данные для веб-каналов за пределами этой организации и коллекции", + "loc.input.help.externalEndpoints": "Учетные данные, которые следует использовать для внешних реестров, находящихся в выбранном файле NuGet.config. Для веб-каналов в данной организации или коллекции оставьте это поле пустым; учетные данные сборки используются автоматически.", + "loc.input.label.noCache": "Отключить локальный кэш", + "loc.input.help.noCache": "Запрещает NuGet использовать пакеты из кэшей локальных компьютеров.", + "loc.input.label.packagesDirectory": "Каталог назначения", + "loc.input.help.packagesDirectory": "Задает папку, где устанавливаются пакеты. Если папка не указана, пакеты восстанавливаются в кэше пакетов NuGet по умолчанию.", + "loc.input.label.verbosityRestore": "Уровень детализации", + "loc.input.help.verbosityRestore": "Определяет, насколько подробными будут выходные данные.", + "loc.input.label.searchPatternPush": "Путь к публикуемым пакетам NuGet", + "loc.input.help.searchPatternPush": "Шаблон для сопоставления или путь к отправляемым NUPKG-файлам. Несколько шаблонов могут разделяться точкой с запятой.", + "loc.input.label.nuGetFeedType": "Расположение целевого веб-канала", + "loc.input.label.feedPublish": "Целевой веб-канал", + "loc.input.help.feedPublish": "Выберите веб-канал, размещенный в этой организации. Для выбора веб-канала должен быть установлен и лицензирован компонент Azure Artifacts.", + "loc.input.label.publishPackageMetadata": "Опубликовать метаданные конвейера", + "loc.input.help.publishPackageMetadata": "Связать метаданные этого конвейера сборки или выпуска (номер запуска, сведения об исходном коде) с пакетом", + "loc.input.label.externalEndpoint": "Сервер NuGet", + "loc.input.help.externalEndpoint": "Подключение к службе NuGet, содержащее учетные данные внешнего сервера NuGet.", + "loc.input.label.searchPatternPack": "Путь к упаковываемым файлам CSPROJ или NUSPEC", + "loc.input.help.searchPatternPack": "Шаблон для поиска упаковываемых NUSPEC- и CSPROJ-файлов.\n\nМожно указать несколько шаблонов через точку с запятой. Кроме того, можно сделать шаблон исключающим, поставив перед ним префикс \"!\". Пример: **/*.csproj;!**/*.Tests.csproj", + "loc.input.label.configurationToPack": "Конфигурация для пакета", + "loc.input.help.configurationToPack": "При использовании CSPROJ-файла так указывается конфигурация для пакета", + "loc.input.label.outputDir": "Папка пакета", + "loc.input.help.outputDir": "Папка, в которой будут создаваться пакеты. Если значение пустое, пакеты будут созданы в каталоге файла CSPROJ.", + "loc.input.label.nobuild": "Не выполнять сборку", + "loc.input.help.nobuild": "Не выполнять сборку проекта перед упаковкой. Соответствует параметру командной строки --no-build.", + "loc.input.label.includesymbols": "Включить символы", + "loc.input.help.includesymbols": "Дополнительно создает пакеты NuGet символов. Соответствует параметру командной строки --include-symbols.", + "loc.input.label.includesource": "Включить источник", + "loc.input.help.includesource": "Включает исходный код в пакет. Соответствует параметру командной строки --include-source.", + "loc.input.label.versioningScheme": "Автоматическое управление версиями пакетов", + "loc.input.help.versioningScheme": "Не может использоваться с упоминаемыми проектами. Если вы выбрали \"Использовать дату и время\", будет создана соответствующая требованиям [SemVer](http://semver.org/spec/v1.0.0.html) версия в формате \"X.Y.Z-ci-дата-время\", где X, Y и Z можно указать.\n\nЕсли вы выбрали \"Использовать переменную среды\", необходимо выбрать переменную среды и убедиться в том, что она содержит номер версии, который вы хотите использовать.\n\nЕсли вы выбрали \"Использовать номер сборки\", в качестве версии пакета будет использоваться номер сборки. **Примечание.** В разделе \"Параметры\" установите следующий формат номера сборки: [$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416).", + "loc.input.label.versionEnvVar": "Переменная среды", + "loc.input.help.versionEnvVar": "Введите имя переменной без $, $env или %.", + "loc.input.label.requestedMajorVersion": "Основной", + "loc.input.help.requestedMajorVersion": "Значение X в версии [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "Дополнительный", + "loc.input.help.requestedMinorVersion": "Значение Y в версии [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "Исправление", + "loc.input.help.requestedPatchVersion": "Значение Z в версии [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "Дополнительные свойства сборки", + "loc.input.help.buildProperties": "Список пар \"токен = значение\", разделенных точкой с запятой, в котором каждое вхождение $token$ в файл NUSPEC будет заменено данным значением. Значения могут представлять собой строки в кавычках.", + "loc.input.label.verbosityPack": "Уровень детализации", + "loc.input.help.verbosityPack": "Определяет, насколько подробными будут выходные данные.", + "loc.input.label.workingDirectory": "Рабочий каталог", + "loc.input.help.workingDirectory": "Текущий рабочий каталог, в котором выполняется скрипт. Если указано пустое значение, используется корень репозитория (для сборки) или артефактов (для выпуска): $(System.DefaultWorkingDirectory). Шаблон поиска проекта **НЕ** применяется относительно рабочего каталога.", + "loc.messages.BuildIdentityPermissionsHint": "Для внутренних каналов удостоверение службы сборки \"%s\" [%s] должно иметь доступ к каналу.", + "loc.messages.CouldNotSetCodePaging": "Не удалось задать разбивку кода на страницы из-за следующей ошибки: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Автоматическое определение версии: возможность получения номера версии на основе сборки не поддерживается в выпусках", + "loc.messages.Error_CommandNotRecognized": "Нераспознанная команда %s.", + "loc.messages.Error_NoSourceSpecifiedForPush": "Не указан источник для отправки.", + "loc.messages.Error_NoValueFoundForEnvVar": "Не найдено значение для указанной переменной среды.", + "loc.messages.Error_NoVersionFoundInBuildNumber": "Не удалось найти сведения о номере версии в следующей переменной среды: BUILD_BUILDNUMBER. Значение этой переменной должно содержать подстроку, имеющую формат X.Y.Z или X.Y.Z.A, где A, X, Y и Z — положительные целые числа.", + "loc.messages.Error_PackageFailure": "Произошла ошибка при попытке упаковать файлы.", + "loc.messages.Error_PushNotARegularFile": "%s не является файлом. Проверьте свойство \"Шаблон или путь к NUPKG\" задачи.", + "loc.messages.Info_AttemptingToPackFile": "Выполняется попытка упаковать файл: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "Нет пакетов, соответствующих шаблону поиска.", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "Нет файлов, соответствующих шаблону поиска.", + "loc.messages.PackagesFailedToInstall": "Не удалось восстановить пакеты.", + "loc.messages.PackagesFailedToPublish": "Не удалось опубликовать пакеты", + "loc.messages.PackagesInstalledSuccessfully": "Пакеты успешно восстановлены.", + "loc.messages.PackagesPublishedSuccessfully": "Пакеты успешно опубликованы", + "loc.messages.UnknownFeedType": "Неизвестный тип канала (\"%s\")", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "Функции автоматического управления версиями пакетов и включения ссылаемых проектов не работают друг с другом. Ссылаемые проекты не будут наследовать настраиваемые версии, заданные с помощью автоматического управления версиями.", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "В переменной BUILD_BUILDNUMBER обнаружено несколько экземпляров сведений о версии. Предполагается, что на номер версии указывает первый экземпляр.", + "loc.messages.dotnetCommandFailed": "Сбой команды dotnet с ненулевым кодом завершения для следующих проектов: %s", + "loc.messages.noProjectFilesFound": "Файлы проекта, соответствующие заданному шаблону, не найдены.", + "loc.messages.noPublishFolderFoundToZip": "Не удается найти каталог публикации для упаковки файла проекта: %s.", + "loc.messages.noWebProjectFound": "В репозитории не найден веб-проект. Веб-проекты определяются по наличию файла web.config, папки wwwroot в каталоге или по использованию Microsoft.Net.Web.Sdk в файле проекта. Для свойства \"Публикация веб-проектов\" можно задать значение false (publishWebProjects: false в YML), если проект не соответствует этому соглашению или если требуется опубликовать проекты, отличные от веб-проектов.", + "loc.messages.zipFailed": "Сбой при упаковке с ошибкой %s", + "loc.messages.Error_ApiKeyNotSupported": ".NET Core сейчас не поддерживает использование зашифрованных ключей API.", + "loc.messages.Error_ExpectedConfigurationElement": "Недопустимый код XML. Ожидается элемент \"configuration\".", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "Не найдены файлы, соответствующие шаблону поиска: %s.", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "URL-адрес скачивания для %s не найден.", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "Не найдена версия, соответствующая входному параметру %s", + "loc.messages.Error_NuGetToolInstallerFailer": "Сбой установки инструмента: %s", + "loc.messages.Info_AvailableVersions": "Доступные версии: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "Вы используете для запроса сопоставление по строке версии. При обновлении версии NuGet возможны изменения в поведении или критические изменения.", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "Используются сведения о проверке подлинности для следующего кода URI: ", + "loc.messages.Info_ResolvedToolFromCache": "Разрешено из кэша инструментов: %s", + "loc.messages.Info_SavingTempConfig": "NuGet.config сохраняется во временном файле конфигурации.", + "loc.messages.Info_UsingToolPath": "Используемый путь к инструменту: %s", + "loc.messages.Info_UsingVersion": "Используемая версия: %s", + "loc.messages.NGCommon_AddingSources": "Идет настройка учетных данных в NuGet.config", + "loc.messages.NGCommon_AreaNotFoundInSps": "Не удается найти область \"%s\" [%s]. Возможно, служба, содержащая эту область, недоступна в вашем регионе.", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "Обнаружен путь к загрузчику расширений NuGet (переменная среды NUGET_EXTENSIONS_PATH): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "Обнаруженная версия NuGet %s/%s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "Обнаружен путь к загрузчику расширений NuGet (переменная среды NUGET_EXTENSIONS_PATH). Расширения пропускаются при использовании встроенного клиента NuGet.", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "Не найдены источники пакетов в файле NuGet.config в \"%s\"", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "Файл NuGet.config в \"%s\" недопустим.", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "Ожидался файл NuGet.config в \"%s\", однако похоже, что в нем содержатся данные packages.config. Проверьте параметры для задачи \"%s\" и подтвердите, что вы выбрали NuGet.config, а не packages.config.", + "loc.messages.NGCommon_RemovingSources": "Подготовка к настройке учетных данных в NuGet.config", + "loc.messages.NGCommon_SpsNotFound": "Не удается найти область \"%s\" [%s]. Возможно, возникла проблема с установкой Team Foundation Server.", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "Выбрана неизвестная версия NuGet.", + "loc.messages.NGCommon_UnableToFindTool": "Не удается найти средство \"%s\"", + "loc.messages.Warning_SessionCreationFailed": "Не удалось создать сеанс происхождения: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "Версия NuGet.exe обновляется с %s до %s. При обновлении версии NuGet возможны изменения в поведении или критические изменения. Если это нежелательно, отмените выбор параметра \"Проверить наличие последней версии\" в параметрах задачи.", + "loc.messages.Net5Update": "Информация: размещенные агенты Azure Pipelines обновлены и теперь содержат пакет SDK и среду выполнения .NET 5.x наряду с более старой версией .Net Core, которые сейчас имеют статус LTS. Если вы не зафиксировали версию пакета SDK для своих проектов, может быть выбран пакет SDK версии 5.x, что может привести к нарушению работы по сравнению с предыдущими версиями. Дополнительные сведения о критических изменениях см. на страницах https://docs.microsoft.com/en-us/dotnet/core/tools/ и https://docs.microsoft.com/en-us/dotnet/core/compatibility/. Дополнительные сведения о таких изменениях и устранении неполадок см. на странице https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting.", + "loc.messages.Net5NugetVersionCompat": "В .NET 5 существуют некоторые проблемы совместимости с более старыми версиями NuGet (5.7 и ниже), поэтому если для восстановления используется старая версия NuGet (а не dotnet cli), команды dotnet cli (например, dotnet build), использующие такие восстановленные пакеты, могут завершиться сбоем. Чтобы устранить эту ошибку, можно выбрать один из следующих вариантов действий: (1) — использовать для восстановления dotnet cli; (2) — использовать для восстановления NuGet версии 5.8; (3) — использовать для сборки global.json с более старой версией пакета SDK (3 и ниже).", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "Информация: пакет SDK и среда выполнения .NET Core версий 2.2 и 3.0 достигли срока окончания поддержки (EOL) и были удалены со всех размещенных агентов. Если вы используете эти пакеты SDK или среды выполнения на размещенных агентах, обновите их до более поздних версий, которые не достигли срока окончания поддержки, или воспользуйтесь задачей UseDotNet, чтобы установить требуемую версию.", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg сейчас включен для этой задачи. Чтобы устранить это предупреждение, измените задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\".", + "loc.messages.Error_IncludeNuGetOrgEnabled": "Не удалось восстановить пакеты. Отредактируете задачу сборки и установите для \"includeNuGetOrg\" \"ЛОЖЬ\" или отключите \"Использовать пакеты из NuGet.org\"." +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson new file mode 100644 index 000000000000..a7b1bceec1c1 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-CN/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[详细了解此任务](https://go.microsoft.com/fwlink/?linkid=832194)或[参阅 .NET Core 文档](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "生成、测试、打包或发布 dotnet 应用程序,或运行自定义 dotnet 命令", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "源和身份验证", + "loc.group.displayName.restoreAdvanced": "高级", + "loc.group.displayName.pushAuth": "目标源和身份验证", + "loc.group.displayName.pushAdvanced": "高级", + "loc.group.displayName.packOptions": "打包选项", + "loc.group.displayName.packAdvanced": "高级", + "loc.group.displayName.generalAdvanced": "高级", + "loc.input.label.command": "命令", + "loc.input.help.command": "要运行的 dotnet 命令。选择“自定义”以添加参数或使用此处未列出的命令。", + "loc.input.label.publishWebProjects": "发布 Web 项目", + "loc.input.help.publishWebProjects": "如果为 true,任务将尝试查找存储库中的 Web 项目,并对其运行发布命令。可通过目录中的 web.config 文件或 wwwroot 文件夹来识别 Web 项目。", + "loc.input.label.projects": "项目路径", + "loc.input.help.projects": "要使用的 csproj 文件的路径。可使用通配符(例如,对所有子文件夹中的所有 .csproj 文件使用 **/*.csproj)。**此字段遵循 glob 模式,且无论工作目录如何,都始终针对存储库的根目录运行。**", + "loc.input.label.custom": "自定义命令", + "loc.input.help.custom": "传递到 dotnet.exe 进行执行的命令。", + "loc.input.label.arguments": "参数", + "loc.input.help.arguments": "所选命令的参数。例如,生成配置、输出文件夹、运行时。参数取决于所选命令。", + "loc.input.label.restoreArguments": "参数", + "loc.input.help.restoreArguments": "编写要传递到 restore**** 命令的其他参数。", + "loc.input.label.publishTestResults": "发布测试结果和代码覆盖率", + "loc.input.help.publishTestResults": "启用此选项将在 `$(Agent.TempDirectory)` 中生成测试结果 TRX 文件,并且结果将发布到服务器。
此选项将 `--logger trx --results-directory $(Agent.TempDirectory)` 附加到命令行参数。

可以通过在命令行参数中添加 `--collect \"Code coverage\"` 选项来收集代码覆盖率。目前仅适用于 Windows 平台。", + "loc.input.label.testRunTitle": "测试运行标题", + "loc.input.help.testRunTitle": "为测试运行提供一个名称。", + "loc.input.label.zipAfterPublish": "压缩已发布的项目", + "loc.input.help.zipAfterPublish": "如果为 true,将压缩发布命令创建的文件夹。", + "loc.input.label.modifyOutputPath": "将项目的文件夹添加到发布路径", + "loc.input.help.modifyOutputPath": "如果为 true,则在参数中显式指定输出路径时,通过发布命令创建的文件夹将在其文件夹名称前加上项目文件名。如果希望将多个项目发布到同一文件夹,这将很有用。", + "loc.input.label.selectOrConfig": "要使用的源", + "loc.input.help.selectOrConfig": "可以在此处选择 Azure Artifacts 和/或 NuGet.org 中的源,也可以将 nuget.config 文件提交到源代码存储库,并在此处设置其路径。", + "loc.input.label.feedRestore": "使用此 Azure Artifacts 源中的包", + "loc.input.help.feedRestore": "将所选源包含在生成的 NuGet.config 中。必须安装 Azure Artifacts 并授权才能在此处选择源。", + "loc.input.label.includeNuGetOrg": "从 NuGet.org 使用包", + "loc.input.help.includeNuGetOrg": "在生成的 NuGet.config 中包含 NuGet.org。", + "loc.input.label.nugetConfigPath": "NuGet.config 的路径", + "loc.input.help.nugetConfigPath": "存储库中用以指定从中还原包的源的 NuGet.config。", + "loc.input.label.externalEndpoints": "用于此组织/集合外部的源的凭据", + "loc.input.help.externalEndpoints": "用于位于所选 NuGet.config 中的外部注册表的凭据。对于此组织/集合中的源,请将其留空;将自动使用生成的凭据。", + "loc.input.label.noCache": "禁用本地缓存", + "loc.input.help.noCache": "阻止 NuGet 使用本地计算机缓存中的包。", + "loc.input.label.packagesDirectory": "目标目录", + "loc.input.help.packagesDirectory": "指定在其中安装包的文件夹。如果未指定任何文件夹,则包将还原到默认 NuGet 包缓存中。", + "loc.input.label.verbosityRestore": "详细信息", + "loc.input.help.verbosityRestore": "指定在输出中显示的详细信息量。", + "loc.input.label.searchPatternPush": "要发布的 NuGet 包的路径", + "loc.input.help.searchPatternPush": "要匹配的模式或要上传的 nupkg 文件的路径。多个模式可用分号分隔。", + "loc.input.label.nuGetFeedType": "目标源位置", + "loc.input.label.feedPublish": "目标源", + "loc.input.help.feedPublish": "选择此组织中托管的源。必须安装 Azure Artifacts 并获得许可才能在此处选择源。", + "loc.input.label.publishPackageMetadata": "发布管道元数据", + "loc.input.help.publishPackageMetadata": "将此生成/发布管道的元数据(运行 #、源代码信息)与包关联", + "loc.input.label.externalEndpoint": "NuGet 服务器", + "loc.input.help.externalEndpoint": "包含外部 NuGet 服务器凭据的 NuGet 服务连接。", + "loc.input.label.searchPatternPack": "要打包的 csproj 或 nuspec 文件的路径", + "loc.input.help.searchPatternPack": "要打包的 csproj 或 nuspec 文件的搜索模式。\n\n可以使用分号分隔多个模式,并可通过在模式前加上 \"!\" 使其变为否定。示例: \"**/*.csproj;!**/*.Tests.csproj\"", + "loc.input.label.configurationToPack": "包的配置", + "loc.input.help.configurationToPack": "使用 csproj 文件时,这指定包的配置", + "loc.input.label.outputDir": "包文件夹", + "loc.input.help.outputDir": "将在其中创建包的文件夹。如果为空,则将在 csproj 文件旁创建包。", + "loc.input.label.nobuild": "不生成", + "loc.input.help.nobuild": "打包前不生成项目。对应于 --no-build 命令行参数。", + "loc.input.label.includesymbols": "包括符号", + "loc.input.help.includesymbols": "另外创建符号 NuGet 包。对应于 --include-symbols 命令行参数。", + "loc.input.label.includesource": "包括源", + "loc.input.help.includesource": "在包中包括源代码。对应于 --include-source 命令行参数。", + "loc.input.label.versioningScheme": "自动包版本控制", + "loc.input.help.versioningScheme": "不能与包含的引用项目一起使用。如果选择“使用日期和时间”,将生成格式为 \"X.Y.Z-ci-datetime\" 的 [SemVer](http://semver.org/spec/v1.0.0.html) 兼容版本,其中你可以选择 X、Y 和 Z。\n\n如果选择“使用环境变量”,则必须选择一个环境变量并确保它包含你要使用的版本号。\n\n如果选择“使用生成号”,则将使用生成号确定包的版本。**请注意:** 在“选项”下,将生成号格式设置为 \"[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)\"。", + "loc.input.label.versionEnvVar": "环境变量", + "loc.input.help.versionEnvVar": "输入变量名称,其中不含 $、$env 或 %。", + "loc.input.label.requestedMajorVersion": "主版本", + "loc.input.help.requestedMajorVersion": "版本 [X.Y.Z] 中的 \"X\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedMinorVersion": "次版本", + "loc.input.help.requestedMinorVersion": "版本 [X.Y.Z] 中的 \"Y\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.requestedPatchVersion": "修补", + "loc.input.help.requestedPatchVersion": "版本 [X.Y.Z] 中的 \"Z\"(http://semver.org/spec/v1.0.0.html)", + "loc.input.label.buildProperties": "其他生成属性", + "loc.input.help.buildProperties": "指定令牌 = 值对列表,用分号分隔,其中 .nuspec 文件中 $token$ 的每个匹配项都将替换为给定的值。值可以是用引号引起来的字符串。", + "loc.input.label.verbosityPack": "详细信息", + "loc.input.help.verbosityPack": "指定在输出中显示的详细信息量。", + "loc.input.label.workingDirectory": "工作目录", + "loc.input.help.workingDirectory": "运行脚本的当前工作目录。存储库(内部版本)或项目(发行版本)的根路径$(System.DefaultWorkingDirectory)为空。项目搜索模式与工作目录**不**相关。", + "loc.messages.BuildIdentityPermissionsHint": "对于内部源,请确保生成服务标识“%s”[%s] 有权对其进行访问。", + "loc.messages.CouldNotSetCodePaging": "由于以下错误,无法设置代码分页: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "自动版本控制: 不支持在发布中从生成选项获取版本号", + "loc.messages.Error_CommandNotRecognized": "无法识别命令 %s。", + "loc.messages.Error_NoSourceSpecifiedForPush": "未指定用于推送的源", + "loc.messages.Error_NoValueFoundForEnvVar": "未找到提供的环境变量的值。", + "loc.messages.Error_NoVersionFoundInBuildNumber": "未在以下环境变量中找到版本号数据: BUILD_BUILDNUMBER。变量的值应包含具有以下格式的子字符串: X.Y.Z 或 X.Y.Z.A,其中 A、X、Y 和 Z 为正整数。", + "loc.messages.Error_PackageFailure": "尝试打包文件时出错。", + "loc.messages.Error_PushNotARegularFile": "%s 不是文件。请检查任务的“nupkg 的路径/模式”属性。", + "loc.messages.Info_AttemptingToPackFile": "尝试打包文件:", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "没有包匹配该搜索模式。", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "没有文件匹配该搜索模式。", + "loc.messages.PackagesFailedToInstall": "包还原失败", + "loc.messages.PackagesFailedToPublish": "包发布失败", + "loc.messages.PackagesInstalledSuccessfully": "包还原成功", + "loc.messages.PackagesPublishedSuccessfully": "已成功发布包", + "loc.messages.UnknownFeedType": "未知的源类型“%s”", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "“自动包版本控制”不能与“包括引用项目”选项一起使用。引用项目不会继承由自动版本控制设置提供的自定义版本。", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "在 BUILD_BUILDNUMBER 中找到版本数据的多个实例。假定第一个实例是版本。", + "loc.messages.dotnetCommandFailed": "Dotnet 命令失败,以下项目具有非零退出代码: %s", + "loc.messages.noProjectFilesFound": "未找到匹配指定模式的项目文件。", + "loc.messages.noPublishFolderFoundToZip": "无法找到项目文件 %s 的要压缩的发布文件夹。", + "loc.messages.noWebProjectFound": "未在存储库中找到任何 Web 项目。可通过目录中的 web.config 文件或 wwwroot 文件夹,或者通过在项目文件中使用 Microsoft.Net.Web.Sdk 来识别 Web 项目。如果你的项目未遵循此约定或你想发布 Web 项目之外的项目,可将 Publish Web Projects 属性设为 false (yml 中为 publishWebProjects: false)。", + "loc.messages.zipFailed": "Zip 失败,出现错误: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore 目前不支持使用加密 API 密钥。", + "loc.messages.Error_ExpectedConfigurationElement": "xml 无效。元素名应为“配置”。", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "在搜索模式 %s 下找不到匹配的文件", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "对于 %s 未找到任何下载 URL", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "未找到任何匹配输入 %s 的版本", + "loc.messages.Error_NuGetToolInstallerFailer": "工具安装失败: %s", + "loc.messages.Info_AvailableVersions": "可用版本: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "你正在版本字符串上使用查询匹配。NuGet 更新到新版本时可能出现行为更改或重大更改。", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "对以下 URI 使用身份验证信息:", + "loc.messages.Info_ResolvedToolFromCache": "已从工具缓存 %s 中解析", + "loc.messages.Info_SavingTempConfig": "正在将 NuGet.config 保存到临时配置文件。", + "loc.messages.Info_UsingToolPath": "使用工具路径: %s", + "loc.messages.Info_UsingVersion": "使用的版本: %s", + "loc.messages.NGCommon_AddingSources": "设置 NuGet.config 中的凭据", + "loc.messages.NGCommon_AreaNotFoundInSps": "无法定位“%s”[%s] 区域。你所在的地区可能无法使用包含该区域的服务。", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "已检测到 NuGet 扩展加载程序路径(NUGET_EXTENSIONS_PATH 环境变量): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "检测到 NuGet 版本 %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "已检测到 NuGet 扩展加载程序路径(NUGET_EXTENSIONS_PATH 环境变量)。使用内置 NuGet 客户端时忽略这些扩展", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "没有在 %s 处找到 NuGet.config 文件中的包源", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "%s 处的 NuGet.config 无效。", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "在 %s 处应有 NuGet.config 文件,但其内容似乎是 packages.config 文件。请检查 %s 任务的设置并确认选择的是 NuGet.config,而不是 packages.config。", + "loc.messages.NGCommon_RemovingSources": "准备设置 NuGet.config 中的凭据", + "loc.messages.NGCommon_SpsNotFound": "无法找到“%s”[%s] 区域。Team Foundation Server 安装可能存在问题。", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "选择了未知的 NuGet 版本。", + "loc.messages.NGCommon_UnableToFindTool": "无法找到工具 %s", + "loc.messages.Warning_SessionCreationFailed": "无法创建出处会话: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "将 NuGet.exe 的版本从 %s 更新为 %s。当 NuGet 更新到新版本时,可能会发生行为更改或重大更改。如果不想更新,请取消选择任务中的“检查最新版本”选项。", + "loc.messages.Net5Update": "信息: Azure Pipelines 托管的代理已经过更新,现在除了当前为 LTS 的更低版本的 .Net Core 以外,还包含 .Net 5.x SDK/运行时。除非你已锁定一个 SDK 版本供你的项目使用,否则可能会选择 5.x SDK,而与先前版本相比,这可能会中断行为。有关中断性变更,可在此处了解详细信息: https://docs.microsoft.com/zh-cn/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/。若要详细了解这类更改并进行故障排除,请查看此处: https://docs.microsoft.com/zh-cn/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 与更低版本的 Nuget (版本不超过 5.7)存在一些兼容性问题,因此如果你在使用更低版本的 Nuget (且未使用 dotnet cli)进行还原,则依赖已还原的这类包的 dotnet cli 命令(例如 dotnet build)可能会失败。若要解决这种错误,可: (1) - 使用 dotnet cli 进行还原,(2) - 使用 Nuget 5.8 版本进行还原,(3) - 通过更低版本的 sdk (版本不超过 3)使用 global.json 来进行生成", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "信息: .NET Core SDK/运行时 2.2 和 3.0 现已到达生命周期结束(EOL)日期,已从所有托管的代理中将它们删除。如果你正在托管的代理上使用这些 SDK/运行时,请升级到尚未到达 EOL 的更新的版本,或者执行 UseDotNet 任务来安装所需的版本。", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "当前已为此任务启用 IncludeNugetOrg。若要解决此警告,请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\" 或取消选择“使用来自 NuGet.org 的包”。", + "loc.messages.Error_IncludeNuGetOrgEnabled": "包无法还原。请编辑生成任务并将 \"includeNuGetOrg\" 设置为 \"false\",或取消选择“使用来自 NuGet.org 的包”。" +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson new file mode 100644 index 000000000000..1325c2adcedf --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Strings/resources.resjson/zh-TW/resources.resjson @@ -0,0 +1,142 @@ +{ + "loc.friendlyName": ".NET Core", + "loc.helpMarkDown": "[深入了解此工作](https://go.microsoft.com/fwlink/?linkid=832194)或[參閱 .NET Core 文件](https://docs.microsoft.com/dotnet/core/)", + "loc.description": "建置、測試、封裝或發佈 dotnet 應用程式,或執行自訂 dotnet 命令", + "loc.instanceNameFormat": "dotnet $(command)", + "loc.group.displayName.restoreAuth": "摘要與驗證", + "loc.group.displayName.restoreAdvanced": "進階", + "loc.group.displayName.pushAuth": "目的地摘要與驗證", + "loc.group.displayName.pushAdvanced": "進階", + "loc.group.displayName.packOptions": "套件選項", + "loc.group.displayName.packAdvanced": "進階", + "loc.group.displayName.generalAdvanced": "進階", + "loc.input.label.command": "命令", + "loc.input.help.command": "要執行的 dotnet 命令。選取 [自訂] 可新增引數或使用此處未列出的命令。", + "loc.input.label.publishWebProjects": "發佈 Web 專案", + "loc.input.help.publishWebProjects": "若為 true,工作會嘗試在存放庫中尋找 Web 專案,並對其執行 publish 命令。目錄中有 web.config 檔案或 wwwroot 資料夾,即表示有 Web 專案。", + "loc.input.label.projects": "專案的路徑", + "loc.input.help.projects": "要使用的 csproj 檔案路徑。您可以使用萬用字元 (例如 **/*.csproj 表示所有子資料夾中的所有 .csproj 檔案)。**此欄位會遵循 Glob 模式,並在所有時間針對存放庫的根目錄執行,不論工作目錄為何。**", + "loc.input.label.custom": "自訂命令", + "loc.input.help.custom": "要傳遞至 dotnet.exe 以加以執行的命令。", + "loc.input.label.arguments": "引數", + "loc.input.help.arguments": "所選命令的引數。例如,組建組態、輸出資料夾、執行階段。引數取決於選取的命令。", + "loc.input.label.restoreArguments": "引數", + "loc.input.help.restoreArguments": "寫入要傳遞給 **restore** 命令的其他引數。", + "loc.input.label.publishTestResults": "發佈測試結果和程式碼涵蓋範圍", + "loc.input.help.publishTestResults": "啟用此選項會在 `$(Agent.TempDirectory)` 中產生測試結果 TRX 檔案,而結果會發佈到伺服器。
此選項會將 `--logger trx --results-directory $(Agent.TempDirectory)` 附加到命令列引數。

將 `--collect “Code coverage”` 選項新增到命令列引數可收集程式碼涵蓋範圍。此動作目前僅適用於 Windows 平台。", + "loc.input.label.testRunTitle": "測試回合標題", + "loc.input.help.testRunTitle": "提供測試回合的名稱。", + "loc.input.label.zipAfterPublish": "壓縮發佈的專案", + "loc.input.help.zipAfterPublish": "若為 true,就會壓縮由 publish 命令所建立的資料夾。", + "loc.input.label.modifyOutputPath": "將專案資料夾名稱新增至發行路徑", + "loc.input.help.modifyOutputPath": "若為 true,則在引數中明確指定輸出路徑時,publish 命令所建立的資料夾會在名稱開頭使用專案的資料夾名稱。如果您想要將多個專案發行到同一個資料夾,此設定非常實用。", + "loc.input.label.selectOrConfig": "要使用的摘要", + "loc.input.help.selectOrConfig": "您可以在這裡從 Azure Artifacts 和 (或) NuGet.org 選取摘要,也可以將 nuget.config 檔案認可至您的原始程式碼存放庫,並在這裡設定其路徑。", + "loc.input.label.feedRestore": "使用此 Azure 成品摘要中的套件", + "loc.input.help.feedRestore": "在產生的 NuGet.config 中包含選取的摘要。您必須安裝 Azure Artifacts 且經過授權,才能於此處選取摘要。", + "loc.input.label.includeNuGetOrg": "使用 NuGet.org 中的套件", + "loc.input.help.includeNuGetOrg": "在產生的 NuGet.config 中包含 NuGet.org。", + "loc.input.label.nugetConfigPath": "NuGet.config 的路徑", + "loc.input.help.nugetConfigPath": "您存放庫中的 NuGet.config,可指定從中還原套件的摘要。", + "loc.input.label.externalEndpoints": "此組織/集合外部摘要的認證", + "loc.input.help.externalEndpoints": "要用於所選 NuGet.config 中外部登錄的認證。針對此組織/集合中的摘要,請將此欄位保留空白,系統會自動使用組建的認證。", + "loc.input.label.noCache": "停用本機快取", + "loc.input.help.noCache": "禁止 NuGet 使用本機電腦快取的套件。", + "loc.input.label.packagesDirectory": "目的地路徑", + "loc.input.help.packagesDirectory": "指定套件安裝所在的資料夾。若未指定任何資料夾,套件會還原成預設 NuGet 套件快取。", + "loc.input.label.verbosityRestore": "詳細資訊", + "loc.input.help.verbosityRestore": "請指定顯示在輸出中的詳細資料量。", + "loc.input.label.searchPatternPush": "要發行之 NuGet 套件的路徑", + "loc.input.help.searchPatternPush": "要比對的模式,或 nupkg 檔案上傳至的路徑。可使用分號分隔多個模式。", + "loc.input.label.nuGetFeedType": "目標摘要位置", + "loc.input.label.feedPublish": "目標摘要", + "loc.input.help.feedPublish": "選取裝載於此組織中的摘要。您必須擁有已安裝並授權的 Azure Artifacts,才能在此選取摘要。", + "loc.input.label.publishPackageMetadata": "發佈管線中繼資料", + "loc.input.help.publishPackageMetadata": "建立此建置/發行管線的中繼資料 (執行 #,原始程式碼資訊) 與套件的關聯", + "loc.input.label.externalEndpoint": "NuGet 伺服器", + "loc.input.help.externalEndpoint": "包含外部 NuGet 伺服器認證的 NuGet 服務連線。", + "loc.input.label.searchPatternPack": "要壓縮之 csproj 或 nuspec 檔案的路徑", + "loc.input.help.searchPatternPack": "搜尋要封裝之 csproj 或 nuspec 檔案的模式。\n\n您可以使用分號分隔多個模式,在開頭加上 '!' 表示不搜尋某個模式,例如: `**/*.csproj;!**/*.Tests.csproj`", + "loc.input.label.configurationToPack": "封裝組態", + "loc.input.help.configurationToPack": "使用 csproj 檔時會指定封裝組態", + "loc.input.label.outputDir": "封裝資料夾", + "loc.input.help.outputDir": "將於其中建立套件的資料夾。若為空白,則會建立套件以及 csproj 檔案。", + "loc.input.label.nobuild": "不要建置", + "loc.input.help.nobuild": "壓縮前請勿建置專案。對應於 --no-build 命令列參數。", + "loc.input.label.includesymbols": "包含符號", + "loc.input.help.includesymbols": "另外建立符號 NuGet 套件。對應至 --include-symbols 命令列參數。", + "loc.input.label.includesource": "包含來源", + "loc.input.help.includesource": "將原始程式碼包含在套件中。對應至 --include-source 命令列參數。", + "loc.input.label.versioningScheme": "自動套件版本設定", + "loc.input.help.versioningScheme": "無法與包含參考的專案一併使用。若選擇 [使用日期與時間],如此會產生符合 [SemVer](http://semver.org/spec/v1.0.0.html) 規範的版本,格式為 `X.Y.Z-ci-datetime`,其中的 X、Y 和 Z 由您選擇。\n\n若您選擇 [使用環境變數],則必須選取環境變數,並確認其包含您要使用的版本號碼。\n\n若您選擇 [使用組建編號],這會用組建編號來設定您的套件版本。**注意:** 請在 [選項] 下,將組建編號格式設為 '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'。", + "loc.input.label.versionEnvVar": "環境變數", + "loc.input.help.versionEnvVar": "輸入不具 $、$env 或 % 的變數名稱。", + "loc.input.label.requestedMajorVersion": "主要", + "loc.input.help.requestedMajorVersion": "版本 [X.Y.Z](http://semver.org/spec/v1.0.0.html) 中的 'X'", + "loc.input.label.requestedMinorVersion": "次要", + "loc.input.help.requestedMinorVersion": "版本 [X.Y.Z](http://semver.org/spec/v1.0.0.html) 中的 'Y'", + "loc.input.label.requestedPatchVersion": "修補檔案", + "loc.input.help.requestedPatchVersion": "版本 [X.Y.Z](http://semver.org/spec/v1.0.0.html) 中的 'Z'", + "loc.input.label.buildProperties": "其他組建屬性", + "loc.input.help.buildProperties": "請指定「權杖 = 值組」清單,並以分號分隔,其中每個出現在 .nuspec 檔案中的 $token$,都會取代為指定的值。這些值可以是用引號括住的字串。", + "loc.input.label.verbosityPack": "詳細資訊", + "loc.input.help.verbosityPack": "請指定顯示在輸出中的詳細資料量。", + "loc.input.label.workingDirectory": "工作目錄", + "loc.input.help.workingDirectory": "指令碼執行所在的目前工作目錄。Empty 是存放庫 (組建) 或成品 (版本) 的根目錄,即 $(System.DefaultWorkingDirectory)。專案搜尋模式與工作目錄**無關**。", + "loc.messages.BuildIdentityPermissionsHint": "若為內部摘要,請確定組建服務身分識別 '%s' [%s] 可存取摘要。", + "loc.messages.CouldNotSetCodePaging": "因為發生下列錯誤,所以無法設定程式碼分頁: %s", + "loc.messages.Error_AutomaticallyVersionReleases": "Autoversion: 發行不支援從建置選項取得版本號碼", + "loc.messages.Error_CommandNotRecognized": "無法辨認命令 %s。", + "loc.messages.Error_NoSourceSpecifiedForPush": "未指定推送的來源", + "loc.messages.Error_NoValueFoundForEnvVar": "找不到所提供之環境變數的值。", + "loc.messages.Error_NoVersionFoundInBuildNumber": "在下列環境變數中找不到版本號碼資料: BUILD_BUILDNUMBER。變數值應包含子字串,其格式如下: X.Y.Z 或 X.Y.Z.A,其中的 A、X、Y 和 Z 為正整數。", + "loc.messages.Error_PackageFailure": "嘗試封裝檔案時發生錯誤。", + "loc.messages.Error_PushNotARegularFile": "%s 不是檔案。請檢查工作的 'Path/Pattern to nupkg' 屬性。", + "loc.messages.Info_AttemptingToPackFile": "正在嘗試壓縮檔案: ", + "loc.messages.Info_NoPackagesMatchedTheSearchPattern": "沒有符合搜尋模式的套件。", + "loc.messages.Info_NoFilesMatchedTheSearchPattern": "沒有符合搜尋模式的檔案。", + "loc.messages.PackagesFailedToInstall": "套件無法還原", + "loc.messages.PackagesFailedToPublish": "無法發行套件", + "loc.messages.PackagesInstalledSuccessfully": "已成功還原套件", + "loc.messages.PackagesPublishedSuccessfully": "已成功發行套件", + "loc.messages.UnknownFeedType": "未知的摘要類型 '%s'", + "loc.messages.Warning_AutomaticallyVersionReferencedProjects": "[自動封裝版本設定] 與 [包含參考的專案] 選項無法搭配使用。參考的專案將不會繼承自動版本設定所提供的自訂版本。", + "loc.messages.Warning_MoreThanOneVersionInBuildNumber": "在 BUILD_BUILDNUMBER 中找到多個版本資料的執行個體。將會假設第一個執行個體即為版本。", + "loc.messages.dotnetCommandFailed": "下列專案的 Dotnet 命令失敗,有非零的結束代碼: %s", + "loc.messages.noProjectFilesFound": "找不到符合指定模式的專案檔。", + "loc.messages.noPublishFolderFoundToZip": "找不到專案檔的發佈資料夾以壓縮: %s。", + "loc.messages.noWebProjectFound": "存放庫中找不到任何 Web 專案。識別 Web 專案的方法是看目錄中是否出現 web.config 檔案、wwwroot 資料夾,或者專案檔中是否使用 Microsoft.Net.Web.Sdk。如果您的專案不遵循此慣例,或您想要發佈 Web 專案以外的專案,您可以將發佈 Web 專案的屬性設為 false (在 yml 中為 publishWebProjects: false)。", + "loc.messages.zipFailed": "壓縮失敗,發生錯誤: %s", + "loc.messages.Error_ApiKeyNotSupported": "DotNetCore 目前不支援使用加密的 API 金鑰。", + "loc.messages.Error_ExpectedConfigurationElement": "XML 無效。應有名為 'configuration' 的元素。", + "loc.messages.Error_NoMatchingFilesFoundForPattern": "使用下列搜尋模式找不到任何相符的檔案: %s", + "loc.messages.Error_NoUrlWasFoundWhichMatches": "找不到 %s 的下載 URL", + "loc.messages.Error_NoVersionWasFoundWhichMatches": "找不到任何版本與輸入 %s 相符", + "loc.messages.Error_NuGetToolInstallerFailer": "工具安裝失敗: %s", + "loc.messages.Info_AvailableVersions": "可用的版本: %s", + "loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery": "您正在使用查詢比對版本字串。當 NuGet 更新為新的版本時,除了行為可能會有所改變之外,也可能會有重大變更。", + "loc.messages.Info_MatchingUrlWasFoundSettingAuth": "請為下列 URI 使用驗證資訊: ", + "loc.messages.Info_ResolvedToolFromCache": "已從工具快取中解析: %s", + "loc.messages.Info_SavingTempConfig": "正在將 NuGet.config 儲存至暫存組態檔。", + "loc.messages.Info_UsingToolPath": "使用工具路徑: %s", + "loc.messages.Info_UsingVersion": "使用版本: %s", + "loc.messages.NGCommon_AddingSources": "正在設定 NuGet.config 中的認證", + "loc.messages.NGCommon_AreaNotFoundInSps": "找不到 '%s' [%s] 區域。包含該區域的服務可能無法在您的地區使用。", + "loc.messages.NGCommon_DetectedNuGetExtensionsPath": "偵測到 NuGet 擴充功能載入器路徑 (NUGET_EXTENSIONS_PATH 環境變數): %s", + "loc.messages.NGCommon_DetectedNuGetVersion": "偵測到 NuGet 版本 %s / %s", + "loc.messages.NGCommon_IgnoringNuGetExtensionsPath": "偵測到 NuGet 擴充功能載入器路徑 (NUGET_EXTENSIONS_PATH 環境變數)。使用內建 NuGet 用戶端時會忽略擴充功能", + "loc.messages.NGCommon_NoSourcesFoundInConfig": "在位於 %s 的 NuGet.config 檔案中找不到套件來源", + "loc.messages.NGCommon_NuGetConfigIsInvalid": "位於 %s 的 NuGet.config 無效。", + "loc.messages.NGCommon_NuGetConfigIsPackagesConfig": "預期 NuGet.config 檔於 %s,但其內容似乎是 packages.config。請檢查 %s 工作的設定,並確認您選取的是 NuGet.config 而不是 packages.config。", + "loc.messages.NGCommon_RemovingSources": "正在準備設定 NuGet.config 中的認證", + "loc.messages.NGCommon_SpsNotFound": "找不到 '%s' [%s] 區域。您的 Team Foundation Server 安裝可能發生問題。", + "loc.messages.NGCommon_UnabletoDetectNuGetVersion": "選取了不明的 NuGet 版本。", + "loc.messages.NGCommon_UnableToFindTool": "找不到工具 %s", + "loc.messages.Warning_SessionCreationFailed": "無法建立來源工作階段: %s", + "loc.messages.Warning_UpdatingNuGetVersion": "正在將 NuGet.exe 的版本從 %s 更新至 %s。NuGet 更新至新版本時,可能發生行為變更或重大變更。若不要更新,請取消選取工作中的 [查看最新版本] 選項。", + "loc.messages.Net5Update": "資訊: Azure Pipelines 裝載的代理程式皆已更新,現包含 .Net 5.x SDK/執行階段以及目前為 LTS 的較早 .Net Core 版本。除非您已為專案鎖定 SDK 版本,否則 5.x SDK 可能會雀屏中選,而相較於早期版本,其可能會有中斷性行為。您可以在這裡深入了解這些中斷性變更: https://docs.microsoft.com/en-us/dotnet/core/tools/ 和 https://docs.microsoft.com/en-us/dotnet/core/compatibility/。若要深入了解這些變更及疑難排解,請參閱這裡: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "loc.messages.Net5NugetVersionCompat": ".NET 5 和一些舊版 Nuget (<=5.7) 有相容性問題,所以如果使用較舊的 Nuget 版本 (不是 dotnet cli) 還原,則依賴這些還原套件的 dotnet cli 命令 (例如 dotnet build) 可能會失敗。為減少此類錯誤,您可以使用以下任一方法: (1) – 使用 dotnet cli 還原,(2) – 使用 Nuget 5.8 版還原,(3) – 使用使用舊版 sdk (<=3) 的 global.json 建置", + "loc.messages.DeprecatedDotnet2_2_And_3_0": "資訊: .NET Core SDK/執行階段 2.2 及 3.0 目前已停產 (EOL),並自所有裝載的代理程式中移除。如果您在裝載的代理程式上使用這些 SDK/執行階段,請升級至未停產的較新版本,或使用 UseDotNet 工作安裝必要的版本。", + "loc.messages.Warning_IncludeNuGetOrgEnabled": "目前已為此工作啟用 IncludeNugetOrg。若要解决此警告,請編輯建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。", + "loc.messages.Error_IncludeNuGetOrgEnabled": "無法還原封裝。編輯您的建置工作並將 'includeNuGetOrg' 設定為 'false' 或取消選取 'Use packages from NuGet.org'。" +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/DotnetMockHelper.ts b/_generated/DotNetCoreCLIV2/Tests/DotnetMockHelper.ts new file mode 100644 index 000000000000..5acf159dd52c --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/DotnetMockHelper.ts @@ -0,0 +1,167 @@ +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import VersionInfoVersion from 'azure-pipelines-tasks-packaging-common/pe-parser/VersionInfoVersion' +import { VersionInfo } from 'azure-pipelines-tasks-packaging-common/pe-parser/VersionResource' + +import * as pkgMock from 'azure-pipelines-tasks-packaging-common/Tests/MockHelper'; + +export class DotnetMockHelper { + private defaultNugetVersion = '4.0.0'; + private defaultNugetVersionInfo = [4, 0, 0, 0]; + + constructor(private tmr: tmrm.TaskMockRunner) { + process.env['AGENT_HOMEDIRECTORY'] = "c:\\agent\\home\\directory"; + process.env['AGENT.TEMPDIRECTORY'] = "c:\\agent\\home\\temp"; + process.env['BUILD_SOURCESDIRECTORY'] = "c:\\agent\\home\\directory\\sources"; + process.env['ENDPOINT_AUTH_SYSTEMVSSCONNECTION'] = "{\"parameters\":{\"AccessToken\":\"token\"},\"scheme\":\"OAuth\"}"; + process.env['ENDPOINT_URL_SYSTEMVSSCONNECTION'] = "https://example.visualstudio.com/defaultcollection"; + process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] = "c:\\agent\\home\\directory"; + process.env['SYSTEM_TEAMFOUNDATIONCOLLECTIONURI'] = "https://example.visualstudio.com/defaultcollection"; + process.env['BUILD_BUILDID'] = "1"; + + pkgMock.registerLocationHelpersMock(tmr); + } + + public setNugetVersionInputDefault() { + } + + public registerDefaultNugetVersionMock() { + this.registerNugetVersionMock(this.defaultNugetVersion, this.defaultNugetVersionInfo); + this.registerNugetToolGetterMock(); + } + + public registerNugetToolGetterMock() { + this.tmr.registerMock('azure-pipelines-tasks-packaging-common/nuget/NuGetToolGetter', { + getNuGet: function (versionSpec) { + return "c:\\from\\tool\\installer\\nuget.exe"; + }, + }) + } + + public registerNugetVersionMock(productVersion: string, versionInfoVersion: number[]) { + this.registerNugetVersionMockInternal(productVersion, versionInfoVersion); + this.registerMockWithMultiplePaths(['azure-pipelines-tasks-packaging-common/pe-parser', './pe-parser'], { + getFileVersionInfoAsync: function (nuGetExePath) { + let result: VersionInfo = { strings: {} }; + result.fileVersion = new VersionInfoVersion(versionInfoVersion[0], versionInfoVersion[1], versionInfoVersion[2], versionInfoVersion[3]); + result.strings['ProductVersion'] = productVersion; + return result; + } + }) + } + + public setOnPremServerUris() { + process.env['SYSTEM_TEAMFOUNDATIONCOLLECTIONURI'] = "https://example.privatedomain.com/defaultcollection"; + process.env['ENDPOINT_URL_SYSTEMVSSCONNECTION'] = "https://example.privatedomain.com/defaultcollection"; + } + + private registerNugetVersionMockInternal(productVersion: string, versionInfoVersion: number[]) { + this.registerMockWithMultiplePaths(['azure-pipelines-tasks-packaging-common/pe-parser/index', './pe-parser/index'], { + getFileVersionInfoAsync: function (nuGetExePath) { + let result: VersionInfo = { strings: {} }; + result.fileVersion = new VersionInfoVersion(versionInfoVersion[0], versionInfoVersion[1], versionInfoVersion[2], versionInfoVersion[3]); + result.productVersion = new VersionInfoVersion(versionInfoVersion[0], versionInfoVersion[1], versionInfoVersion[2], versionInfoVersion[3]); + result.strings['ProductVersion'] = productVersion; + return result; + } + }) + } + + public registerNugetUtilityMock(projectFile: string[]) { + this.tmr.registerMock('azure-pipelines-tasks-packaging-common/nuget/Utility', { + getPatternsArrayFromInput: function (input) { + return [`fromMockedUtility-${input}`]; + }, + resolveFilterSpec: function (filterSpec, basePath?, allowEmptyMatch?) { + return projectFile; + }, + stripLeadingAndTrailingQuotes: function (path) { + return path; + }, + getNuGetFeedRegistryUrl( + packagingCollectionUrl: string, + feedId: string, + project: string, + nuGetVersion: VersionInfo, + accessToken?: string, + useSession?: boolean) { + if (project) { + console.log("Using project scope " + project); + } + if (useSession) { + console.log("Using session registry url"); + } + else { + console.log("Using feed registry url"); + } + return 'https://vsts/packagesource'; + } + }); + + this.tmr.registerMock('./Utility', { + resolveToolPath: function (path) { + return path; + } + }); + } + + public registerVstsNuGetPushRunnerMock() { + this.tmr.registerMock('./Common/VstsNuGetPushToolUtilities', { + getBundledVstsNuGetPushLocation: function () { + return 'c:\\agent\\home\\directory\\externals\\nuget\\VstsNuGetPush.exe'; + } + }); + } + + public registerNuGetPackUtilsMock() { + this.tmr.registerMock("azure-pipelines-tasks-packaging-common/PackUtilities", { + getUtcDateString: function () { + return 'YYYYMMDD-HHMMSS'; + } + }); + } + + public registerNugetConfigMock() { + var nchm = require('./NuGetConfigHelper-mock'); + this.tmr.registerMock('azure-pipelines-tasks-packaging-common/nuget/NuGetConfigHelper2', nchm); + } + + public registerToolRunnerMock() { + var mtt = require('azure-pipelines-task-lib/mock-toolrunner'); + this.tmr.registerMock('azure-pipelines-task-lib/toolrunner', mtt); + } + + public RegisterLocationServiceMocks() { + this.tmr.registerMock('azure-devops-node-api/WebApi', { + getBearerHandler: function (token) { + return {}; + }, + WebApi: function (url, handler) { + return { + getCoreApi: function () { + return { + vsoClient: { + getVersioningData: function (ApiVersion, PackagingAreaName, PackageAreaId, Obj) { + return { requestUrl: "foobar" } + } + } + }; + } + }; + } + }) + } + + public setAnswers(a) { + a.osType["osType"] = "Windows_NT"; + a.exist["c:\\agent\\home\\directory\\externals\\nuget\\nuget.exe"] = true; + a.exist["c:\\from\\tool\\installer\\nuget.exe"] = true; + a.exist["c:\\agent\\home\\directory\\externals\\nuget\\CredentialProvider\\CredentialProvider.TeamBuild.exe"] = true; + this.tmr.setAnswers(a); + } + + private registerMockWithMultiplePaths(paths: string[], mock: any) { + for (let i = 0; i < paths.length; i++) { + this.tmr.registerMock(paths[i], mock); + } + } +} diff --git a/_generated/DotNetCoreCLIV2/Tests/L0.ts b/_generated/DotNetCoreCLIV2/Tests/L0.ts new file mode 100644 index 000000000000..a0d74a6e13b0 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/L0.ts @@ -0,0 +1,628 @@ +import * as assert from 'assert'; +import * as path from 'path'; +import * as ttm from 'azure-pipelines-task-lib/mock-test'; + +import os = require('os'); +import fs = require('fs'); + +describe('DotNetCoreExe Suite', function () { + this.timeout(10000); + before(() => { + }); + + after(function () { + }); + + it('fails if the dotnet tool is not found', (done: MochaDone) => { + let tp = path.join(__dirname, 'dotnetExeNotFound.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 0, 'should not have invoked any tool'); + assert(tr.failed, 'task should have failed'); + assert(tr.errorIssues.length > 0, "error reason should have been recorded"); + done(); + }); + + it('restore fails when zero match found', (done: MochaDone) => { + process.env["__projects__"] = "*fail*/project.json"; + process.env["__command__"] = "restore"; + let tp = path.join(__dirname, 'validInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + assert(tr.invokedToolCount == 0, 'should not have invoked tool'); + assert(tr.failed, 'task should have failed'); + done(); + }); + + it('restore passes when zero match found with empty string', (done: MochaDone) => { + process.env["__projects__"] = ""; + process.env["__command__"] = "restore"; + let tp = path.join(__dirname, './RestoreTests/emptyProjectField.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked tool'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + it('restore single solution', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/singleProject.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore nocache', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/singleProject.js') + process.env["__nocache__"] = "true"; + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config --no-cache'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output, no-cache'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + process.env["__nocache__"] = undefined; + done(); + }); + + it('restore verbosity Detailed', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/singleProject.js') + process.env["__verbosity__"] = "Detailed"; + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config --verbosity Detailed'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output, verbosity Detailed'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + process.env["__verbosity__"] = undefined; + done(); + }); + + it('restore verbosity - omits switch', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/singleProject.js') + process.env["__verbosity__"] = "-"; + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + process.env["__verbosity__"] = undefined; + done(); + }); + + it('restore with config file', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/singleProjectConfigFile.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore with packages directory', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/packagesDirectory.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --packages path\\to\\packages --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore with vsts feed', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/selectSourceVsts.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('adding package source uri: https://vsts/packagesource'), 'it should have added vsts source to config'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.stdOutContained('Using project scope 98320bea-3915-4ef2-9333-908d3290289c'), "should have used project scope"); + assert(tr.stdOutContained("Using feed registry url"), "should have used feed url, not session url"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore select nuget.org source', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/selectSourceNuGetOrg.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('adding package source uri: https://api.nuget.org/v3/index.json'), "should have added nuget.org source to config"); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore single solution with nuget config and multiple service connections', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/multipleServiceConnections.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet with ConfigFile specified'); + assert(tr.stdOutContained('adding token auth entry for feed https://endpoint1.visualstudio.com/path'), 'it should have added auth entry for endpoint 1'); + assert(tr.stdOutContained('adding token auth entry for feed https://endpoint2.visualstudio.com/path'), 'it should have added auth entry for endpoint 2'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore select nuget.org source warns', (done: Mocha.Done) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/nugetOrgBehaviorWarn.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('adding package source uri: https://api.nuget.org/v3/index.json'), "should have added nuget.org source to config"); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded with issues'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('restore select nuget.org source fails', (done: Mocha.Done) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/nugetOrgBehaviorFail.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 0, 'should not run dotnet once'); + assert(tr.failed, 'should have Failed'); + assert.equal(tr.errorIssues.length, 2, "should have 2 errors"); + done(); + }); + + it('restore select nuget.org source on nuget config succeeds', (done: Mocha.Done) => { + this.timeout(1000); + + let tp = path.join(__dirname, './RestoreTests/nugetOrgBehaviorOnConfig.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('build fails when zero match found', (done: MochaDone) => { + process.env["__projects__"] = "*fail*/project.json"; + process.env["__command__"] = "build"; + let tp = path.join(__dirname, 'validInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 0, 'should not have invoked tool'); + assert(tr.failed, 'task should have failed'); + done(); + }); + + it('test throws warning when zero match found', (done: MochaDone) => { + process.env["__projects__"] = "*fail*/project.json"; + process.env["__command__"] = "test"; + let tp = path.join(__dirname, 'validInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 0, 'should not have invoked tool'); + assert(tr.succeeded, 'task should have succeeded'); + assert(tr.warningIssues && tr.warningIssues.length, 'Should have thrown a warning in the stream'); + done(); + }); + + it('publish works with explicit project files setting modifyoutput to false', (done: MochaDone) => { + + process.env["__projects__"] = '*customoutput/project.json'; + process.env["__arguments__"] = "--configuration release --output /usr/out"; + process.env["modifyOutput"] = "false"; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 2, 'should have invoked tool'); + assert(tr.stdOutContained("published web3 without adding project name to path"), "shouldn't have appended the project name"); + assert(tr.stdOutContained("published lib2 without adding project name to path"), "shouldn't have appended the project name"); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + it('publish works with explicit project files', (done: MochaDone) => { + + process.env["__projects__"] = '**/project.json'; + process.env["modifyOutput"] = "true"; + process.env["__arguments__"] = " "; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 4, 'should have invoked tool'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + it('publish works with no project file is specified', (done: MochaDone) => { + + process.env["__projects__"] = ""; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked tool'); + assert(tr.succeeded, 'task should have suceeded'); + + done(); + }); + + it('publish fails with when the dotnet publish fails', (done: MochaDone) => { + + process.env["__projects__"] = "dummy/project.json"; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked tool once'); + assert(tr.failed, 'task should have failed'); + done(); + }); + + it('publish fails with error when the project file pattern return zero match', (done: MochaDone) => { + process.env["__projects__"] = "*fail*/project.json" + process.env["__publishWebProjects__"] = "false"; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 0, 'should not have invoked tool'); + assert(tr.failed, 'task should have failed'); + assert(tr.errorIssues && tr.errorIssues.length, "No error was reported for this issue."); + done(); + }); + + + it('publish works with publishWebProjects option', (done: MochaDone) => { + + process.env["__projects__"] = ""; + process.env["__publishWebProjects__"] = "true"; + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked been invoked once'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + + it('publish works with publishWebProjects option if .csproj have Microsoft.Net.Sdk.Web', (done: MochaDone) => { + process.env["__projects__"] = "validateWebProject.csproj"; + process.env["workingDirectory"] = "."; + process.env["__publishWebProject__"] = "true"; + let tp = path.join(__dirname, 'validateWebProject.js'); + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked been invoked once'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }) + + it('publish updates the output with the project name appended', (done: MochaDone) => { + process.env["__projects__"] = "*customoutput/project.json"; + process.env["__publishWebProjects__"] = "false"; + process.env["__arguments__"] = "--configuration release --output /usr/out" + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 2, 'should have invoked tool two times'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + it('publish works with zipAfterPublish option', (done: MochaDone) => { + // TODO + done(); + }); + + it('publish fails with zipAfterPublish and publishWebProjects option with no project file specified', (done: MochaDone) => { + process.env["__projects__"] = ""; + process.env["__publishWebProjects__"] = "false"; + process.env["__arguments__"] = "--configuration release --output /usr/out" + let tp = path.join(__dirname, 'publishInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + // TODO: Add Zip + assert(tr.invokedToolCount == 1, 'should have invoked tool'); + assert(tr.succeeded, 'task should have succeeded'); + done(); + }); + + it('packs with prerelease', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PackTests/packPrerelease.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe pack -p:NuspecFile=c:\\agent\\home\\directory\\foo.nuspec --output C:\\out\\dir /p:PackageVersion=x.y.z-CI-YYYYMMDD-HHMMSS'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('packs with env var', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PackTests/packEnvVar.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe pack -p:NuspecFile=c:\\agent\\home\\directory\\foo.nuspec --output C:\\out\\dir /p:PackageVersion=XX.YY.ZZ'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('packs with build number', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PackTests/packBuildNumber.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe pack c:\\agent\\home\\directory\\single.csproj --output C:\\out\\dir /p:PackageVersion=1.2.3'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('pack fails no files are found', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PackTests/noProjectsFound.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 0, 'should not have run dotnet'); + assert(tr.failed, 'should have fai;ed'); + assert.equal(tr.errorIssues.length, 1, "should have thrown an error"); + done(); + }); + + it('pushes successfully to internal hosted feed', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PushTests/internalFeed.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run() + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe nuget push c:\\agent\\home\\directory\\foo.nupkg --source https://vsts/packagesource --api-key VSTS'), 'it should have run dotnet'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.stdOutContained("Using project scope ProjectId"), "should have used project scope"); + assert(tr.stdOutContained("Using session registry url"), "should have set up a session"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('push fails when projects are not found', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './PushTests/noProjectsFound.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 0, 'should not have run dotnet'); + assert(tr.failed, 'should have failed'); + assert.equal(tr.errorIssues.length, 1, "should have thrown an error"); + done(); + }); + + it('test command with publish test results should call trx logger and publish test results', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './TestCommandTests/publishtests.js'); + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp'), 'it should have run dotnet test'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.stdOutContained('vso[results.publish type=VSTest;mergeResults=false;publishRunAttachments=true;resultFiles=c:\\agent\\home\\temp\\sample.trx;]'), "should publish trx"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, 'should have no errors'); + done(); + }); + + it('test command with publish test results directory containing spaces should call trx logger and publish test results', (done: MochaDone) => { + this.timeout(1000); + + let tp = path.join(__dirname, './TestCommandTests/publishtestsWithSpaceDir.js'); + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe test c:\\agent new\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent new\\home\\temp'), 'it should have run dotnet test'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.stdOutContained('vso[results.publish type=VSTest;mergeResults=false;publishRunAttachments=true;resultFiles=c:\\agent new\\home\\temp\\sample.trx;]'), "should publish trx"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, 'should have no errors'); + done(); + }); + + it('test command with publish test results should call trx logger and publish test results without build props', (done: MochaDone) => { + this.timeout(1000); + + const tp = path.join(__dirname, './TestCommandTests/publishtestsWithoutBuildConfig.js'); + const tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp'), 'it should have run dotnet test'); + assert(tr.stdOutContained('dotnet output'), "should have dotnet output"); + assert(tr.stdOutContained('vso[results.publish type=VSTest;mergeResults=false;publishRunAttachments=true;resultFiles=c:\\agent\\home\\temp\\sample.trx;]'), "should publish trx"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('test command with publish test results should call trx logger and publish test results with failed dotnet test', (done: MochaDone) => { + this.timeout(1000); + + const tp = path.join(__dirname, './TestCommandTests/publishtestsWithFailedTestCommand.js'); + const tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount == 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp'), 'it should have run dotnet test'); + assert(tr.stdOutContained('dotnet error'), "should have dotnet output"); + assert(tr.stdOutContained('vso[results.publish type=VSTest;mergeResults=false;publishRunAttachments=true;resultFiles=c:\\agent\\home\\temp\\sample.trx;]'), "should publish trx"); + assert(tr.failed, 'should have failed'); + done(); + }); + + it('test command without publish test results', (done: MochaDone) => { + this.timeout(1000); + + const tp = path.join(__dirname, './TestCommandTests/runTestsWithoutPublish.js'); + const tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + + tr.run(); + assert(tr.invokedToolCount === 1, 'should have run dotnet once'); + assert(tr.ran('c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj'), 'it should have run dotnet test'); + assert(tr.stdOutContained('dotnet output'), 'should have dotnet output'); + assert(!tr.stdOutContained('vso[results.publish'), 'it shouldnt contain publish command'); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, 'should have no errors'); + done(); + }); + + it('custom command fails when no project match found', (done: MochaDone) => { + process.env["__command__"] = "custom"; + process.env["__custom__"] = "test"; + process.env["__projects__"] = "*nomatch*/project.json"; + + let tp = path.join(__dirname, 'customInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 0, 'should not have invoked tool'); + assert(tr.failed, 'task should have failed'); + assert.equal(tr.errorIssues.length, 1, "should have thrown an error"); + done(); + }); + + it('custom command executes without projects if none supplied', (done: MochaDone) => { + process.env["__command__"] = "custom"; + process.env["__custom__"] = "vstest"; + process.env["__projects__"] = ""; + process.env["__arguments__"] = "supplied/in/arguments.dll --framework netcoreapp2.0" + + let tp = path.join(__dirname, 'customInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked tool'); + assert(tr.ran('c:\\path\\dotnet.exe vstest supplied/in/arguments.dll --framework netcoreapp2.0'), 'it should have run dotnet with expected arguments'); + assert(tr.stdOutContained('vstest succeeded'), "should have dotnet output"); + assert(tr.succeeded, 'should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + + it('custom command fails if dotnet returns error', (done: MochaDone) => { + process.env["__command__"] = "custom"; + process.env["__custom__"] = "test"; + process.env["__projects__"] = "fails/project.json"; + process.env["__arguments__"] = "--no-build --no-restore" + + let tp = path.join(__dirname, 'customInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 1, 'should have invoked tool'); + assert(tr.ran('c:\\path\\dotnet.exe test fails/project.json --no-build --no-restore'), 'it should have run dotnet with expected arguments'); + assert(tr.stdOutContained('test failed'), "should have dotnet output"); + assert(tr.failed, 'task should have failed'); + assert(tr.errorIssues.length > 0, "error reason should have been recorded"); + done(); + }); + + it('custom command runs once for each matched project', (done: MochaDone) => { + process.env["__command__"] = "custom"; + process.env["__custom__"] = "test"; + process.env["__projects__"] = "**/project.json"; + process.env["__arguments__"] = "" + + let tp = path.join(__dirname, 'customInputs.js') + let tr: ttm.MockTestRunner = new ttm.MockTestRunner(tp); + tr.run(); + + assert(tr.invokedToolCount == 4, 'should not have invoked tool 4 times'); + assert(tr.succeeded, 'task should have succeeded'); + assert.equal(tr.errorIssues.length, 0, "should have no errors"); + done(); + }); + +}); diff --git a/_generated/DotNetCoreCLIV2/Tests/NuGetConfigHelper-mock.ts b/_generated/DotNetCoreCLIV2/Tests/NuGetConfigHelper-mock.ts new file mode 100644 index 000000000000..e8a85791c5e2 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/NuGetConfigHelper-mock.ts @@ -0,0 +1,23 @@ +import * as tl from "azure-pipelines-task-lib/task"; + +export class NuGetConfigHelper2 { + tempNugetConfigPath = NuGetConfigHelper2.getTempNuGetConfigBasePath() + "\\NuGet\\tempNuGet_.config"; + + setAuthForSourcesInTempNuGetConfig() { + tl.debug("setting up auth for the sources configured in the helper"); + } + + addSourcesToTempNuGetConfig(packageSources) { + packageSources.forEach((source) => { + tl.debug(`adding package source uri: ${source.feedUri}`); + }); + } + + static getTempNuGetConfigBasePath() { + return tl.getVariable("Agent.HomeDirectory"); + } + + backupExistingRootNuGetFiles() {} + + restoreBackupRootNuGetFiles() {} +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/PackTests/noProjectsFound.ts b/_generated/DotNetCoreCLIV2/Tests/PackTests/noProjectsFound.ts new file mode 100644 index 000000000000..754e8ddbcaa6 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PackTests/noProjectsFound.ts @@ -0,0 +1,55 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'pack'); +tmr.setInput('searchPatternPack', 'foo.nuspec'); +tmr.setInput('outputDir', 'C:\\out\\dir'); +tmr.setInput('versioningScheme', 'byPrereleaseNumber'); +tmr.setInput('requestedMajorVersion', 'x'); +tmr.setInput('requestedMinorVersion', 'y'); +tmr.setInput('requestedPatchVersion', 'z'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nuspec": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe pack --output C:\\out\\dir /p:PackageVersion=x.y.z-CI-YYYYMMDD-HHMMSS": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "C:\\out\\dir": true + }, + "stats": { + "c:\\agent\\home\\directory\\foo.nuspec": { + "isFile": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nuspec" : [] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nuspec"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.registerNuGetPackUtilsMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PackTests/packBuildNumber.ts b/_generated/DotNetCoreCLIV2/Tests/PackTests/packBuildNumber.ts new file mode 100644 index 000000000000..cf1020bd67e8 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PackTests/packBuildNumber.ts @@ -0,0 +1,53 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'pack'); +tmr.setInput('searchPatternPack', 'single.csproj'); +tmr.setInput('outputDir', 'C:\\out\\dir'); +tmr.setInput('versioningScheme', 'byBuildNumber'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe pack c:\\agent\\home\\directory\\single.csproj --output C:\\out\\dir /p:PackageVersion=1.2.3": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "C:\\out\\dir": true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "findMatch": { + "fromMockedUtility-single.csproj": ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +process.env['BUILD_BUILDNUMBER'] = '1.2.3' +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.registerNuGetPackUtilsMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PackTests/packEnvVar.ts b/_generated/DotNetCoreCLIV2/Tests/PackTests/packEnvVar.ts new file mode 100644 index 000000000000..18d9492971dd --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PackTests/packEnvVar.ts @@ -0,0 +1,54 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'pack'); +tmr.setInput('searchPatternPack', 'foo.nuspec'); +tmr.setInput('outputDir', 'C:\\out\\dir'); +tmr.setInput('versioningScheme', 'byEnvVar'); +tmr.setInput('versionEnvVar', 'FOOBARVERSIONENVVAR'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nuspec": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe pack -p:NuspecFile=c:\\agent\\home\\directory\\foo.nuspec --output C:\\out\\dir /p:PackageVersion=XX.YY.ZZ": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "C:\\out\\dir": true + }, + "stats": { + "c:\\agent\\home\\directory\\foo.nuspec": { + "isFile": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nuspec" : ["c:\\agent\\home\\directory\\foo.nuspec"] + } +}; +nmh.setAnswers(a); + +process.env['FOOBARVERSIONENVVAR'] = 'XX.YY.ZZ' +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nuspec"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.registerNuGetPackUtilsMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PackTests/packPrerelease.ts b/_generated/DotNetCoreCLIV2/Tests/PackTests/packPrerelease.ts new file mode 100644 index 000000000000..e658e1151d5f --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PackTests/packPrerelease.ts @@ -0,0 +1,55 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'pack'); +tmr.setInput('searchPatternPack', 'foo.nuspec'); +tmr.setInput('outputDir', 'C:\\out\\dir'); +tmr.setInput('versioningScheme', 'byPrereleaseNumber'); +tmr.setInput('requestedMajorVersion', 'x'); +tmr.setInput('requestedMinorVersion', 'y'); +tmr.setInput('requestedPatchVersion', 'z'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nuspec": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe pack -p:NuspecFile=c:\\agent\\home\\directory\\foo.nuspec --output C:\\out\\dir /p:PackageVersion=x.y.z-CI-YYYYMMDD-HHMMSS": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "C:\\out\\dir": true + }, + "stats": { + "c:\\agent\\home\\directory\\foo.nuspec": { + "isFile": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nuspec" : ["c:\\agent\\home\\directory\\foo.nuspec"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nuspec"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.registerNuGetPackUtilsMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeed.ts b/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeed.ts new file mode 100644 index 000000000000..4a88d2f20515 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeed.ts @@ -0,0 +1,56 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'push'); +tmr.setInput('searchPatternPush', 'foo.nupkg'); +tmr.setInput('nuGetFeedType', 'internal'); +tmr.setInput('feedPublish', 'ProjectId/FeedFooId'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nupkg": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe nuget push c:\\agent\\home\\directory\\foo.nupkg --source https://vsts/packagesource --api-key VSTS": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": {}, + "stats": { + "c:\\agent\\home\\directory\\foo.nupkg": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet_1": { + "success": true + }, + "c:\\agent\\home\\directory/NuGet_1": { + "success": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nupkg" : ["c:\\agent\\home\\directory\\foo.nupkg"] + } +}; +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nupkg"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.RegisterLocationServiceMocks(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeedOnPrem.ts b/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeedOnPrem.ts new file mode 100644 index 000000000000..e365a91de5a7 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PushTests/internalFeedOnPrem.ts @@ -0,0 +1,60 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +nmh.setOnPremServerUris(); +tmr.setInput('command', 'push'); +tmr.setInput('searchPatternPush', 'foo.nupkg'); +tmr.setInput('nuGetFeedType', 'internal'); +tmr.setInput('feedPublish', 'FeedFooId'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nupkg": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe nuget push c:\\agent\\home\\directory\\foo.nupkg --source https://vsts/packagesource --api-key VSTS": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": {}, + "stats": { + "c:\\agent\\home\\directory\\foo.nupkg": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet_1": { + "success": true + }, + "c:\\agent\\home\\directory/NuGet_1": { + "success": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nupkg" : ["c:\\agent\\home\\directory\\foo.nupkg"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nupkg"]); +process.env["SYSTEM_SERVERTYPE"] = "OnPremises"; +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.RegisterLocationServiceMocks(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/PushTests/noProjectsFound.ts b/_generated/DotNetCoreCLIV2/Tests/PushTests/noProjectsFound.ts new file mode 100644 index 000000000000..be9694774ca5 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/PushTests/noProjectsFound.ts @@ -0,0 +1,58 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'push'); +tmr.setInput('searchPatternPush', 'foo.nupkg'); +tmr.setInput('nuGetFeedType', 'internal'); +tmr.setInput('feedPublish', 'FeedFooId'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\foo.nupkg": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe nuget push --source https://vsts/packagesource --api-key VSTS": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": {}, + "stats": { + "c:\\agent\\home\\directory\\foo.nupkg": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet_1": { + "success": true + }, + "c:\\agent\\home\\directory/NuGet_1": { + "success": true + } + }, + "findMatch": { + "fromMockedUtility-foo.nupkg": [] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\foo.nupkg"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +nmh.RegisterLocationServiceMocks(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/emptyProjectField.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/emptyProjectField.ts new file mode 100644 index 000000000000..3d04899588ea --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/emptyProjectField.ts @@ -0,0 +1,56 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', ''); +tmr.setInput('selectOrConfig', 'select'); +tmr.setInput('includeNuGetOrg', 'True'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget": true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "": [] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock([""]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/multipleServiceConnections.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/multipleServiceConnections.ts new file mode 100644 index 000000000000..9bb022729565 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/multipleServiceConnections.ts @@ -0,0 +1,67 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +process.env['ENDPOINT_URL_ENDPOINT1'] = "https://endpoint1.visualstudio.com/path"; +process.env['ENDPOINT_AUTH_ENDPOINT1'] = "{\"parameters\":{\"apitoken\":\"mytoken123\"},\"scheme\":\"token\"}"; +process.env["ENDPOINT_AUTH_SCHEME_ENDPOINT1"] = "token"; +process.env['ENDPOINT_AUTH_PARAMETER_ENDPOINT1_APITOKEN'] = "mytoken123"; +process.env['ENDPOINT_URL_ENDPOINT2'] = "https://endpoint2.visualstudio.com/path"; +process.env['ENDPOINT_AUTH_ENDPOINT2'] = "{\"parameters\":{\"apitoken\":\"mytoken123\"},\"scheme\":\"token\"}"; +process.env["ENDPOINT_AUTH_SCHEME_ENDPOINT2"] = "token"; +process.env['ENDPOINT_AUTH_PARAMETER_ENDPOINT1_APITOKEN'] = "mytoken123"; + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'config'); +tmr.setInput('nugetConfigPath', 'c:\\agent\\home\\directory\\nuget.config'); +tmr.setInput('externalEndpoints', "ENDPOINT1,ENDPOINT2"); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\nuget.config": true, + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget": true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj": ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerNugetConfigMock(); +nmh.registerToolRunnerMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorFail.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorFail.ts new file mode 100644 index 000000000000..6c823f07216f --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorFail.ts @@ -0,0 +1,57 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'select'); +tmr.setInput('includeNuGetOrg', 'True'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +process.env["INCLUDE_NUGETORG_BEHAVIOR"] = "Fail"; +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorOnConfig.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorOnConfig.ts new file mode 100644 index 000000000000..c898ce5126b7 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorOnConfig.ts @@ -0,0 +1,57 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'config'); +tmr.setInput('includeNuGetOrg', 'True'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +process.env["INCLUDE_NUGETORG_BEHAVIOR"] = "Fail"; +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorWarn.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorWarn.ts new file mode 100644 index 000000000000..1f80296e71b2 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/nugetOrgBehaviorWarn.ts @@ -0,0 +1,57 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'select'); +tmr.setInput('includeNuGetOrg', 'True'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +process.env["INCLUDE_NUGETORG_BEHAVIOR"] = "Warn"; +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/packagesDirectory.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/packagesDirectory.ts new file mode 100644 index 000000000000..31d6b428d346 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/packagesDirectory.ts @@ -0,0 +1,53 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'config'); +tmr.setInput('nugetConfigPath', 'c:\\agent\\home\\directory\\nuget.config'); +tmr.setInput('packagesDirectory', 'path\\to\\packages') + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\nuget.config": true, + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --packages path\\to\\packages --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceNuGetOrg.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceNuGetOrg.ts new file mode 100644 index 000000000000..489a9abf1a90 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceNuGetOrg.ts @@ -0,0 +1,56 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'select'); +tmr.setInput('includeNuGetOrg', 'True'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceVsts.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceVsts.ts new file mode 100644 index 000000000000..5d966d7123fe --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/selectSourceVsts.ts @@ -0,0 +1,57 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'select'); +tmr.setInput('feedRestore', '98320bea-3915-4ef2-9333-908d3290289c/b7fb1a0d-637d-4dc0-978c-a5e43d8e0a98'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "rmRF": { + "c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "success": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +process.env["NuGet_ForceEnableCredentialConfig"] = "false"; +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProject.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProject.ts new file mode 100644 index 000000000000..4b589bc45859 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProject.ts @@ -0,0 +1,66 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'select'); +if(process.env["__nocache__"]) { + tmr.setInput('noCache', process.env["__nocache__"]); + } +if(process.env["__verbosity__"]) { + tmr.setInput('verbosityRestore', process.env["__verbosity__"]) +} + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + }, + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config --no-cache": { + "code": 0, + "stdout": "dotnet output, no-cache", + "stderr": "" + }, + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config --verbosity Detailed": { + "code": 0, + "stdout": "dotnet output, verbosity Detailed", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProjectConfigFile.ts b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProjectConfigFile.ts new file mode 100644 index 000000000000..1b3b4e195cab --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/RestoreTests/singleProjectConfigFile.ts @@ -0,0 +1,52 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +let taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'restore'); +tmr.setInput('projects', 'single.csproj'); +tmr.setInput('selectOrConfig', 'config'); +tmr.setInput('nugetConfigPath', 'c:\\agent\\home\\directory\\nuget.config'); + +let a: ma.TaskLibAnswers = { + "osType": {}, + "checkPath": { + "c:\\agent\\home\\directory\\nuget.config": true, + "c:\\agent\\home\\directory\\single.csproj": true, + "c:\\path\\dotnet.exe": true + }, + "which": { + "dotnet": "c:\\path\\dotnet.exe" + }, + "exec": { + "c:\\path\\dotnet.exe restore c:\\agent\\home\\directory\\single.csproj --configfile c:\\agent\\home\\directory\\NuGet\\tempNuGet_.config": { + "code": 0, + "stdout": "dotnet output", + "stderr": "" + } + }, + "exist": { + "D:\\src\\github\\vsts-tasks\\Tests\\Nuget" : true + }, + "stats": { + "c:\\agent\\home\\directory\\single.csproj": { + "isFile": true + } + }, + "findMatch": { + "single.csproj" : ["c:\\agent\\home\\directory\\single.csproj"] + } +}; +nmh.setAnswers(a); + +nmh.registerNugetUtilityMock(["c:\\agent\\home\\directory\\single.csproj"]); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); + +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtests.ts b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtests.ts new file mode 100644 index 000000000000..c28e95624b89 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtests.ts @@ -0,0 +1,72 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +const taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +const tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +const nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'test'); +tmr.setInput('projects', 'temp.csproj'); +tmr.setInput('BuildConfiguration', 'config'); +tmr.setInput('BuildPlatform', 'x86'); +tmr.setInput('publishTestResults', 'true'); + +const a: ma.TaskLibAnswers = { + 'osType': {}, + 'checkPath': { + 'c:\\agent\\home\\directory\\temp.csproj': true, + 'c:\\path\\dotnet.exe': true + }, + 'which': { + 'dotnet': 'c:\\path\\dotnet.exe' + }, + 'exec': { + 'c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp': { + 'code': 0, + 'stdout': 'dotnet output', + 'stderr': '' + } + }, + 'exist': { + 'D:\\src\\github\\vsts-tasks\\Tests\\Nuget': true + }, + 'stats': { + 'c:\\agent\\home\\directory\\temp.csproj': { + 'isFile': true + } + }, + 'findMatch': { + 'temp.csproj': ['c:\\agent\\home\\directory\\temp.csproj'], + '**/*.trx': ['c:\\agent\\home\\temp\\sample.trx'] + }, + "rmRF": { + "c:\\agent\\home\\temp\\sample.trx": { + "success": true + } + } +}; + +// Create mock for getVariable +const tl = require('azure-pipelines-task-lib/mock-task'); +const tlClone = Object.assign({}, tl); +tlClone.getVariable = function(variable: string) { + if (variable.toUpperCase() === "Agent.TempDirectory".toUpperCase()) + { + return process.env[variable.toUpperCase()]; + } + else + { + return tl.getVariable(variable); + } +}; +tmr.registerMock('azure-pipelines-task-lib/mock-task', tlClone); + +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(['c:\\agent\\home\\directory\\temp.csproj']); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithFailedTestCommand.ts b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithFailedTestCommand.ts new file mode 100644 index 000000000000..1841d3b346ba --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithFailedTestCommand.ts @@ -0,0 +1,72 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +const taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +const tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +const nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'test'); +tmr.setInput('projects', 'temp.csproj'); +tmr.setInput('BuildConfiguration', 'config'); +tmr.setInput('BuildPlatform', 'x86'); +tmr.setInput('publishTestResults', 'true'); + +const a: ma.TaskLibAnswers = { + 'osType': {}, + 'checkPath': { + 'c:\\agent\\home\\directory\\temp.csproj': true, + 'c:\\path\\dotnet.exe': true + }, + 'which': { + 'dotnet': 'c:\\path\\dotnet.exe' + }, + 'exec': { + 'c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp': { + 'code': 1, + 'stdout': '', + 'stderr': 'dotnet error' + } + }, + 'exist': { + 'D:\\src\\github\\vsts-tasks\\Tests\\Nuget': true + }, + 'stats': { + 'c:\\agent\\home\\directory\\temp.csproj': { + 'isFile': true + } + }, + 'findMatch': { + 'temp.csproj': ['c:\\agent\\home\\directory\\temp.csproj'], + '**/*.trx': ['c:\\agent\\home\\temp\\sample.trx'] + }, + "rmRF": { + "c:\\agent\\home\\temp\\sample.trx": { + "success": true + } + } +}; + +// Create mock for getVariable +const tl = require('azure-pipelines-task-lib/mock-task'); +const tlClone = Object.assign({}, tl); +tlClone.getVariable = function(variable: string) { + if (variable.toUpperCase() === "Agent.TempDirectory".toUpperCase()) + { + return process.env[variable.toUpperCase()]; + } + else + { + return tl.getVariable(variable); + } +}; +tmr.registerMock('azure-pipelines-task-lib/mock-task', tlClone); + +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(['c:\\agent\\home\\directory\\temp.csproj']); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithSpaceDir.ts b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithSpaceDir.ts new file mode 100644 index 000000000000..a0d28847f1df --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithSpaceDir.ts @@ -0,0 +1,78 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +const taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +const tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +const nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'test'); +tmr.setInput('projects', 'temp.csproj'); +tmr.setInput('BuildConfiguration', 'config'); +tmr.setInput('BuildPlatform', 'x86'); +tmr.setInput('publishTestResults', 'true'); + +process.env['AGENT_HOMEDIRECTORY'] = "c:\\agent new\\home\\directory"; +process.env['BUILD_SOURCESDIRECTORY'] = "c:\\agent new\\home\\directory\\sources", +process.env['AGENT.TEMPDIRECTORY'] = "c:\\agent new\\home\\temp"; +process.env['SYSTEM_DEFAULTWORKINGDIRECTORY'] = "c:\\agent new\\home\\directory"; +process.env['TASK_TEST_TRACE'] = "1"; + +const a: ma.TaskLibAnswers = { + 'osType': {}, + 'checkPath': { + 'c:\\agent new\\home\\directory\\temp.csproj': true, + 'c:\\path\\dotnet.exe': true + }, + 'which': { + 'dotnet': 'c:\\path\\dotnet.exe' + }, + 'exec': { + 'c:\\path\\dotnet.exe test c:\\agent new\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent new\\home\\temp': { + 'code': 0, + 'stdout': 'dotnet output', + 'stderr': '' + } + }, + 'exist': { + 'D:\\src\\github\\vsts-tasks\\Tests\\Nuget': true + }, + 'stats': { + 'c:\\agent new\\home\\directory\\temp.csproj': { + 'isFile': true + } + }, + 'findMatch': { + 'temp.csproj': ['c:\\agent new\\home\\directory\\temp.csproj'], + '**/*.trx': ['c:\\agent new\\home\\temp\\sample.trx'] + }, + "rmRF": { + "c:\\agent new\\home\\temp\\sample.trx": { + "success": true + } + } +}; + +// Create mock for getVariable +const tl = require('azure-pipelines-task-lib/mock-task'); +const tlClone = Object.assign({}, tl); +tlClone.getVariable = function(variable: string) { + if (variable.toUpperCase() === "Agent.TempDirectory".toUpperCase()) + { + return process.env[variable.toUpperCase()]; + } + else + { + return tl.getVariable(variable); + } +}; +tmr.registerMock('azure-pipelines-task-lib/mock-task', tlClone); + +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(['c:\\agent new\\home\\directory\\temp.csproj']); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithoutBuildConfig.ts b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithoutBuildConfig.ts new file mode 100644 index 000000000000..69ab25c1d669 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/publishtestsWithoutBuildConfig.ts @@ -0,0 +1,70 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +const taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +const tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +const nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'test'); +tmr.setInput('projects', 'temp.csproj'); +tmr.setInput('publishTestResults', 'true'); + +const a: ma.TaskLibAnswers = { + 'osType': {}, + 'checkPath': { + 'c:\\agent\\home\\directory\\temp.csproj': true, + 'c:\\path\\dotnet.exe': true + }, + 'which': { + 'dotnet': 'c:\\path\\dotnet.exe' + }, + 'exec': { + 'c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj --logger trx --results-directory c:\\agent\\home\\temp': { + 'code': 0, + 'stdout': 'dotnet output', + 'stderr': '' + } + }, + 'exist': { + 'D:\\src\\github\\vsts-tasks\\Tests\\Nuget': true + }, + 'stats': { + 'c:\\agent\\home\\directory\\temp.csproj': { + 'isFile': true + } + }, + 'findMatch': { + 'temp.csproj': ['c:\\agent\\home\\directory\\temp.csproj'], + '**/*.trx': ['c:\\agent\\home\\temp\\sample.trx'] + }, + "rmRF": { + "c:\\agent\\home\\temp\\sample.trx": { + "success": true + } + } +}; + +// Create mock for getVariable +const tl = require('azure-pipelines-task-lib/mock-task'); +const tlClone = Object.assign({}, tl); +tlClone.getVariable = function(variable: string) { + if (variable.toUpperCase() === "Agent.TempDirectory".toUpperCase()) + { + return process.env[variable.toUpperCase()]; + } + else + { + return tl.getVariable(variable); + } +}; +tmr.registerMock('azure-pipelines-task-lib/mock-task', tlClone); + +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(['c:\\agent\\home\\directory\\temp.csproj']); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/runTestsWithoutPublish.ts b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/runTestsWithoutPublish.ts new file mode 100644 index 000000000000..5871d2635a01 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/TestCommandTests/runTestsWithoutPublish.ts @@ -0,0 +1,48 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('../DotnetMockHelper'); + +const taskPath = path.join(__dirname, '../..', 'dotnetcore.js'); +const tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +const nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +nmh.setNugetVersionInputDefault(); +tmr.setInput('command', 'test'); +tmr.setInput('projects', 'temp.csproj'); +tmr.setInput('publishTestResults', 'false'); + +const a: ma.TaskLibAnswers = { + 'osType': {}, + 'checkPath': { + 'c:\\agent\\home\\directory\\temp.csproj': true, + 'c:\\path\\dotnet.exe': true + }, + 'which': { + 'dotnet': 'c:\\path\\dotnet.exe' + }, + 'exec': { + 'c:\\path\\dotnet.exe test c:\\agent\\home\\directory\\temp.csproj': { + 'code': 0, + 'stdout': 'dotnet output', + 'stderr': '' + } + }, + 'exist': { + 'D:\\src\\github\\vsts-tasks\\Tests\\Nuget': true + }, + 'stats': { + 'c:\\agent\\home\\directory\\temp.csproj': { + 'isFile': true + } + }, + 'findMatch': { + 'temp.csproj': ['c:\\agent\\home\\directory\\temp.csproj'] + } +}; +nmh.setAnswers(a); +nmh.registerNugetUtilityMock(['c:\\agent\\home\\directory\\temp.csproj']); +nmh.registerDefaultNugetVersionMock(); +nmh.registerToolRunnerMock(); +nmh.registerNugetConfigMock(); +tmr.run(); diff --git a/_generated/DotNetCoreCLIV2/Tests/customInputs.ts b/_generated/DotNetCoreCLIV2/Tests/customInputs.ts new file mode 100644 index 000000000000..7d9afb509988 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/customInputs.ts @@ -0,0 +1,61 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); + +let taskPath = path.join(__dirname, '..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tmr.setInput('command', "custom"); +tmr.setInput('custom', process.env["__custom__"]); +tmr.setInput('projects', process.env["__projects__"]); +tmr.setInput('arguments', process.env["__arguments__"] ? process.env["__arguments__"] : ""); + +let a: ma.TaskLibAnswers = { + "which": { "dotnet": "c:\\path\\dotnet.exe" }, + "checkPath": { "c:\\path\\dotnet.exe": true }, + "exec": { + "c:\\path\\dotnet.exe test web/project.json": { + "code": 0, + "stdout": "test succeeded", + "stderr": "" + }, + "c:\\path\\dotnet.exe test web2/project.json": { + "code": 0, + "stdout": "test succeeded", + "stderr": "" + }, + "c:\\path\\dotnet.exe test web.tests/project.json": { + "code": 0, + "stdout": "test succeeded", + "stderr": "" + }, + "c:\\path\\dotnet.exe test lib/project.json": { + "code": 0, + "stdout": "test succeeded", + "stderr": "" + }, + "c:\\path\\dotnet.exe test fails/project.json --no-build --no-restore": { + "code": 1, + "stdout": "test failed", + "stderr": "" + }, + "c:\\path\\dotnet.exe vstest supplied/in/arguments.dll --framework netcoreapp2.0": { + "code": 0, + "stdout": "vstest succeeded", + "stderr": "" + } + }, + "findMatch": { + "**/project.json": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/project.json;**/*.csproj;**/*.vbproj": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "*nomatch*/project.json": [], + "fails/project.json": ["fails/project.json"], + "withArguments/project.json": ["withArguments/project.json"], + "" : [] + } +}; + +tmr.setAnswers(a); +tmr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); + +tmr.run(); \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/dotnetExeNotFound.ts b/_generated/DotNetCoreCLIV2/Tests/dotnetExeNotFound.ts new file mode 100644 index 000000000000..4ed6dbd6115a --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/dotnetExeNotFound.ts @@ -0,0 +1,18 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); + +let taskPath = path.join(__dirname, '..', 'dotnetexe.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tmr.setInput('command', 'restore'); + +let a: ma.TaskLibAnswers = { + "which": { "dotnet": "dotnet"}, + "checkPath": {"dotnet": false} +}; + +tmr.setAnswers(a); +tmr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); + +tmr.run(); \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/publishInputs.ts b/_generated/DotNetCoreCLIV2/Tests/publishInputs.ts new file mode 100644 index 000000000000..2c5eab33babb --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/publishInputs.ts @@ -0,0 +1,109 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); + +let taskPath = path.join(__dirname, '..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tmr.setInput('command', "publish"); +tmr.setInput('projects', process.env["__projects__"]); +tmr.setInput('publishWebProjects', process.env["__publishWebProjects__"] && process.env["__publishWebProjects__"] == "true" ? "true" : "false"); +tmr.setInput('arguments', process.env["__arguments__"] ? process.env["__arguments__"] : ""); +tmr.setInput('modifyOutputPath', process.env["modifyOutput"] == "false" ? "false" : "true"); + +let a: ma.TaskLibAnswers = { + "which": { "dotnet": "dotnet" }, + "checkPath": { "dotnet": true }, + "exist": { + "web/web.config": true, + "web2/wwwroot": true, + }, + "exec": { + "dotnet publish web/project.json": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web/project.csproj": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web2/project.json": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web.tests/project.json": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish lib/project.json": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web3/project.json --configuration release --output /usr/out/web3": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish lib2/project.json --configuration release --output /usr/out/lib2": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web3/project.json --configuration release --output /usr/out": { + "code": 0, + "stdout": "published web3 without adding project name to path\n", + "stderr": "" + }, + "dotnet publish lib2/project.json --configuration release --output /usr/out": { + "code": 0, + "stdout": "published lib2 without adding project name to path\n", + "stderr": "" + }, + "dotnet publish --configuration release --output /usr/out": { + "code": 0, + "stdout": "published without adding project name to path\n", + "stderr": "" + }, + "dotnet publish": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish web/project.csproj --configuration release --output /usr/out/web": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish lib/project.csproj --configuration release --output /usr/out": { + "code": 0, + "stdout": "published", + "stderr": "" + }, + "dotnet publish dummy/project.json": { + "code": 1, + "stdout": "not published", + "stderr": "" + } + }, + "findMatch": { + "**/project.json": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/project.json;**/*.csproj": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/project.json;**/*.csproj;**/*.vbproj": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/*.csproj\n**/*.vbproj\n**/*.fsproj": ["web/project.csproj"], + "*fail*/project.json": [], + "*customoutput/project.json": ["web3/project.json", "lib2/project.json"], + "dummy/project.json": ["dummy/project.json"], + "" : [] + } +}; + +process.env["MOCK_NORMALIZE_SLASHES"] = "true"; +tmr.setAnswers(a); +tmr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); + +tmr.run(); \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/validInputs.ts b/_generated/DotNetCoreCLIV2/Tests/validInputs.ts new file mode 100644 index 000000000000..5b8c4a39731d --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/validInputs.ts @@ -0,0 +1,66 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); +import util = require('./DotnetMockHelper'); + +let taskPath = path.join(__dirname, '..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); +let nmh: util.DotnetMockHelper = new util.DotnetMockHelper(tmr); + +tmr.setInput('command', process.env["__command__"]); +tmr.setInput('projects', process.env["__projects__"]); + +let a: ma.TaskLibAnswers = { + "which": { "dotnet": "dotnet" }, + "checkPath": { "dotnet": true }, + "exec": { + "dotnet restore web/project.json": { + "code": 0, + "stdout": "restored", + "stderr": "" + }, + "dotnet restore web2/project.json": { + "code": 0, + "stdout": "restored", + "stderr": "" + }, + "dotnet restore web.tests/project.json": { + "code": 0, + "stdout": "restored", + "stderr": "" + }, + "dotnet restore lib/project.json": { + "code": 0, + "stdout": "restored", + "stderr": "" + }, + "dotnet restore": { + "code": 0, + "stdout": "restored", + "stderr": "" + }, + "dotnet restore dummy/project.json": { + "code": 1, + "stdout": "not restored", + "stderr": "" + }, + "dotnet build": { + "code": 0, + "stdout": "built", + "stderr": "" + }, + }, + "findMatch": { + "**/project.json": ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/project.json;**/*.csproj" :["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "**/project.json;**/*.csproj;**/*.vbproj" : ["web/project.json", "web2/project.json", "web.tests/project.json", "lib/project.json"], + "*fail*/project.json": [], + "*customoutput/project.json": ["web3/project.json", "lib2/project.json"], + "dummy/project.json" : ["dummy/project.json"], + "" : [] + } +}; +tmr.setAnswers(a); +tmr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); + +tmr.run(); \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/Tests/validateWebProject.csproj b/_generated/DotNetCoreCLIV2/Tests/validateWebProject.csproj new file mode 100644 index 000000000000..8fc9f6a49bc2 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/validateWebProject.csproj @@ -0,0 +1,17 @@ + + + + netcoreapp2.1 + + + + + + + + + + + + + diff --git a/_generated/DotNetCoreCLIV2/Tests/validateWebProject.ts b/_generated/DotNetCoreCLIV2/Tests/validateWebProject.ts new file mode 100644 index 000000000000..0c9044dc1f00 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/Tests/validateWebProject.ts @@ -0,0 +1,42 @@ +import ma = require('azure-pipelines-task-lib/mock-answer'); +import tmrm = require('azure-pipelines-task-lib/mock-run'); +import path = require('path'); + +let taskPath = path.join(__dirname, '..', 'dotnetcore.js'); +let tmr: tmrm.TaskMockRunner = new tmrm.TaskMockRunner(taskPath); + +tmr.setInput('command', "publish"); +tmr.setInput('projects', process.env["__projects__"]); +tmr.setInput('publishWebProjects', process.env["__publishWebProjects__"] && process.env["__publishWebProjects__"] == "true" ? "true" : "false"); +tmr.setInput('arguments', process.env["__arguments__"] ? process.env["__arguments__"] : ""); +tmr.setInput('modifyOutputPath', process.env["modifyOutput"] == "false" ? "false" : "true"); +tmr.setInput('zipAfterPublish', process.env["zipAfterPublish"] ? process.env["zipAfterPublish"] : "false"); +tmr.setInput('workingDirectory', process.env["workingDirectory"] ? process.env["workingDirectory"] : ""); + +process.env['TASK_TEST_TRACE'] = "true"; + +var projectFile = path.join(__dirname, process.env["__projects__"]); +var execCommand = "dotnet publish " + projectFile + +let a: ma.TaskLibAnswers = { + "which": { + "dotnet": "dotnet", + }, + "checkPath": { "dotnet": true }, + "exec": {}, + "findMatch": { + "**/*.csproj\n**/*.vbproj\n**/*.fsproj": [projectFile] + } +} + +a['exec'][execCommand] = { + "code": 0, + "stdout": "published", + "stderr": "" +} + +process.env["MOCK_NORMALIZE_SLASHES"] = "true"; +tmr.setAnswers(a) +tmr.registerMock('azure-pipelines-task-lib/toolrunner', require('azure-pipelines-task-lib/mock-toolrunner')); + +tmr.run(); \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/ThirdPartyNotices.txt b/_generated/DotNetCoreCLIV2/ThirdPartyNotices.txt new file mode 100644 index 000000000000..c568077f87f2 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/ThirdPartyNotices.txt @@ -0,0 +1,1245 @@ + +THIRD-PARTY SOFTWARE NOTICES AND INFORMATION +Do Not Translate or Localize + +.NET Core task - (DotNetCoreCLI) incorporates third party material from the projects listed below. The original copyright notice and the license under which Microsoft received such third party material are set forth below. Microsoft reserves all other rights not expressly granted, whether by implication, estoppel or otherwise. + +1. Archiver (https://github.com/archiverjs/node-archiver) +2. archiver-utils (https://github.com/archiverjs/archiver-utils) +3. async (https://github.com/caolan/async) +4. balanced-match (https://github.com/juliangruber/balanced-match) +5. bl (Buffer List) (https://github.com/rvagg/bl) +6. brace-expansion (https://github.com/juliangruber/brace-expansion) +7. buffer-crc32 (https://github.com/brianloveswords/buffer-crc32) +8. buffer-shims (https://github.com/calvinmetcalf/buffer-shims) +9. compress-commons (https://github.com/archiverjs/node-compress-commons) +10. concat-map (https://github.com/substack/node-concat-map) +11. core-util-is (https://github.com/isaacs/core-util-is) +12. Crc32-stream (https://github.com/archiverjs/node-crc32-stream) +13. end-of-stream (https://github.com/mafintosh/end-of-stream) +14. fs.realpath (https://github.com/isaacs/fs.realpath) +15. Glob (https://github.com/isaacs/node-glob) +16. graceful-fs (https://github.com/isaacs/node-graceful-fs) +17. inflight (https://github.com/npm/inflight) +18. inherits (https://github.com/isaacs/inherits) +19. isarray (https://github.com/juliangruber/isarray/) +20. lazystream (https://github.com/jpommerening/node-lazystream) +21. lodash (https://lodash.com/) + Includes:File(s) copyright John Resig (http://ejohn.org/blog/javascript-micro-templating/) + Includes:File(s) copyright Laura Doktorova (https://github.com/olado/doT) +22. ltx (https://github.com/node-xmpp/ltx) +23. minimatch (https://github.com/isaacs/minimatch) +24. node-xmlreader (https://github.com/SamDecrock/node-xmlreader/) +25. normalize-path (https://github.com/jonschlinkert/normalize-path) +26. once (https://github.com/isaacs/once) +27. path-is-absolute (https://github.com/sindresorhus/path-is-absolute) +28. process-nextick-args (https://github.com/calvinmetcalf/process-nextick-args) +29. q (https://github.com/kriskowal/q) +30. readable-stream (https://github.com/isaacs/readable-stream) +31. safe-buffer (https://github.com/feross/safe-buffer) +32. sax js (https://github.com/isaacs/sax-js) +33. semver (https://github.com/npm/node-semver/) +34. semver-compare (https://github.com/substack/semver-compare) +35. ShellJS (https://github.com/shelljs/shelljs) +36. string_decoder (https://github.com/rvagg/string_decoder) +37. tar-stream (https://github.com/mafintosh/tar-stream) +38. tunnel (https://github.com/koichik/node-tunnel) +39. underscore.js (http://underscorejs.org/; https://github.com/jashkenas/underscore) +40. util-deprecate (https://github.com/TooTallNate/util-deprecate) +41. vso-node-api (https://github.com/Microsoft/vsts-node-api) +42. VSTS-task-lib (https://github.com/Microsoft/vsts-task-lib) +43. wrappy (https://github.com/npm/wrappy) +44. xtend (https://github.com/Raynos/xtend) +45. zip-stream (https://github.com/archiverjs/node-zip-stream) + + +%% Archiver NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012-2014 Chris Talkington, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF Archiver NOTICES, INFORMATION, AND LICENSE + +%% archiver-utils NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2015 Chris Talkington. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF archiver-utils NOTICES, INFORMATION, AND LICENSE + +%% async NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= + +Copyright (c) 2010-2016 Caolan McMahon + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF async NOTICES, INFORMATION, AND LICENSE + +%% balanced-match NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF balanced-match NOTICES, INFORMATION, AND LICENSE + +%% bl (Buffer List) NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) +Copyright (c) 2014 bl contributors + +bl contributors listed at https://github.com/rvagg/bl#contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF bl (Buffer List) NOTICES, INFORMATION, AND LICENSE + +%% brace-expansion NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF brace-expansion NOTICES, INFORMATION, AND LICENSE + +%% buffer-crc32 NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License + +Copyright (c) 2013 Brian J. Brennan + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the +Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, +INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR +PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE +FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF buffer-crc32 NOTICES, INFORMATION, AND LICENSE + +%% buffer-shims NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +# Copyright (c) 2016 Calvin Metcalf + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +**THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE.** + +========================================= +END OF buffer-shims NOTICES, INFORMATION, AND LICENSE + +%% compress-commons NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2014 Chris Talkington, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF compress-commons NOTICES, INFORMATION, AND LICENSE + +%% concat-map NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) James Halliday/substack + +This software is released under the MIT license: + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF concat-map NOTICES, INFORMATION, AND LICENSE + +%% core-util-is NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright Node.js contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF core-util-is NOTICES, INFORMATION, AND LICENSE + +%% Crc32-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2014 Chris Talkington, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF Crc32-stream NOTICES, INFORMATION, AND LICENSE + +%% end-of-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF end-of-stream NOTICES, INFORMATION, AND LICENSE + +%% fs.realpath NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +---- + +This library bundles a version of the `fs.realpath` and `fs.realpathSync` +methods from Node.js v0.10 under the terms of the Node.js MIT license, as follows: + + Copyright Joyent, Inc. and other Node contributors. + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + +========================================= +END OF fs.realpath NOTICES, INFORMATION, AND LICENSE + +%% Glob NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF Glob NOTICES, INFORMATION, AND LICENSE + +%% graceful-fs NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED AS IS AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF graceful-fs NOTICES, INFORMATION, AND LICENSE + +%% inflight NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inflight NOTICES, INFORMATION, AND LICENSE + +%% inherits NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF inherits NOTICES, INFORMATION, AND LICENSE + +%% isarray NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(MIT) + +Copyright (c) 2013 Julian Gruber + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF isarray NOTICES, INFORMATION, AND LICENSE + +%% lazystream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2013 J. Pommerening, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF lazystream NOTICES, INFORMATION, AND LICENSE + +%% lodash NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright jQuery Foundation and other contributors + +Based on Underscore.js, copyright Jeremy Ashkenas, +DocumentCloud and Investigative Reporters & Editors + +This software consists of voluntary contributions made by many +individuals. For exact contribution history, see the revision history +available at https://github.com/lodash/lodash + +The following license applies to all parts of this software except as +documented below: + +==== + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +==== + +Copyright and related rights for sample code are waived via CC0. Sample +code is defined as all source code displayed within the prose of the +documentation. + +CC0: http://creativecommons.org/publicdomain/zero/1.0/ + +==== + +Files located in the node_modules and vendor directories are externally +maintained libraries used by this software which have their own +licenses; we recommend you read them, as their terms may differ from the +terms above. + +========================================= +// Based on John Resig's `tmpl` implementation (http://ejohn.org/blog/javascript-micro-templating/) + +Copyright 2008 John Resig + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +========================================= +// Based on Laura Doktorova's doT.js (https://github.com/olado/doT). + +Copyright (c) 2011 Laura Doktorova + +Software includes portions from jQote2 Copyright (c) 2010 aefxx, +http://aefxx.com/ licensed under the MIT license. + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF lodash NOTICES, INFORMATION, AND LICENSE + +%% Ltx NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2010 Stephan Maka + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +========================================= +END OF Ltx NOTICES, INFORMATION, AND LICENSE + +%% minimatch NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF minimatch NOTICES, INFORMATION, AND LICENSE + +%% node-xmlreader NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2013 Sam Decrock + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF node-xmlreader NOTICES, INFORMATION, AND LICENSE + +%% normalize-path NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014-2015, Jon Schlinkert. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF normalize-path NOTICES, INFORMATION, AND LICENSE + +%% once NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF once NOTICES, INFORMATION, AND LICENSE + +%% path-is-absolute NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +path-is-absolute + +The MIT License (MIT) + +Copyright (c) Sindre Sorhus (sindresorhus.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +node.js: + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +Software), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF path-is-absolute NOTICES, INFORMATION, AND LICENSE + +%% process-nextick-args NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2015 Calvin Metcalf + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF process-nextick-args NOTICES, INFORMATION, AND LICENSE + +%% q NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright 2009–2017 Kristopher Michael Kowal. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF q NOTICES, INFORMATION, AND LICENSE + +%% readable-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright Joyent, Inc. and other Node contributors. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to +deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or +sell copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +IN THE SOFTWARE. +========================================= +END OF readable-stream NOTICES, INFORMATION, AND LICENSE + +%% safe-buffer NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Feross Aboukhadijeh + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF safe-buffer NOTICES, INFORMATION, AND LICENSE + +%% sax js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +==== + +`String.fromCodePoint` by Mathias Bynens used according to terms of MIT +License, as follows: + + Copyright Mathias Bynens + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF sax js NOTICES, INFORMATION, AND LICENSE + +%% semver NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF semver NOTICES, INFORMATION, AND LICENSE + +%% semver-compare NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2014 James Halliday + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF semver-compare NOTICES, INFORMATION, AND LICENSE + +%% ShellJS NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012, Artur Adib +All rights reserved. + +You may use this project under the terms of the New BSD license as follows: + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + * Neither the name of Artur Adib nor the + names of the contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL ARTUR ADIB BE LIABLE FOR ANY +DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +========================================= +END OF ShellJS NOTICES, INFORMATION, AND LICENSE + +%% string_decoder NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= + +Copyright Joyent, Inc. and other Node contributors. + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +Software), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the +following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF string_decoder NOTICES, INFORMATION, AND LICENSE + +%% tar-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2014 Mathias Buus + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF tar-stream NOTICES, INFORMATION, AND LICENSE + +%% tunnel NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) 2012 Koichi Kobayashi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF tunnel NOTICES, INFORMATION, AND LICENSE + +%% underscore.js NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2009-2017 Jeremy Ashkenas, DocumentCloud and Investigative +Reporters & Editors + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +========================================= +END OF underscore.js NOTICES, INFORMATION, AND LICENSE + +%% util-deprecate NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +(The MIT License) + +Copyright (c) 2014 Nathan Rajlich + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the Software), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF util-deprecate NOTICES, INFORMATION, AND LICENSE + +%% vso-node-api NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) Microsoft Corporation + +All rights reserved. + +MIT License + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED *AS IS*, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT +LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF vso-node-api NOTICES, INFORMATION, AND LICENSE + +%% VSTS-task-lib NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The MIT License (MIT) + +Copyright (c) Microsoft Corporation. All rights reserved. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +========================================= +END OF VSTS-task-lib NOTICES, INFORMATION, AND LICENSE + +%% wrappy NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +The ISC License + +Copyright (c) Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +========================================= +END OF wrappy NOTICES, INFORMATION, AND LICENSE + +%% xtend NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2012-2014 Raynos. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the Software), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. +========================================= +END OF xtend NOTICES, INFORMATION, AND LICENSE + +%% zip-stream NOTICES, INFORMATION, AND LICENSE BEGIN HERE +========================================= +Copyright (c) 2014 Chris Talkington, contributors. + +Permission is hereby granted, free of charge, to any person +obtaining a copy of this software and associated documentation +files (the "Software"), to deal in the Software without +restriction, including without limitation the rights to use, +copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the +Software is furnished to do so, subject to the following +conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES +OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT +HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. +========================================= +END OF zip-stream NOTICES, INFORMATION, AND LICENSE + diff --git a/_generated/DotNetCoreCLIV2/dotnetcore.ts b/_generated/DotNetCoreCLIV2/dotnetcore.ts new file mode 100644 index 000000000000..633cf3e33259 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/dotnetcore.ts @@ -0,0 +1,461 @@ +import tl = require("azure-pipelines-task-lib/task"); +import tr = require("azure-pipelines-task-lib/toolrunner"); +import path = require("path"); +import fs = require("fs"); +import ltx = require("ltx"); +var archiver = require('archiver'); +var uuidV4 = require('uuid/v4'); + +import * as packCommand from './packcommand'; +import * as pushCommand from './pushcommand'; +import * as restoreCommand from './restorecommand'; +import * as utility from './Common/utility'; +import * as telemetry from "azure-pipelines-tasks-utility-common/telemetry"; + +export class dotNetExe { + private command: string; + private projects: string[]; + private arguments: string; + private publishWebProjects: boolean; + private zipAfterPublish: boolean; + private outputArgument: string = ""; + private outputArgumentIndex: number = 0; + private workingDirectory: string; + private testRunSystem: string = "VSTS - dotnet"; + + constructor() { + this.command = tl.getInput("command"); + this.projects = tl.getDelimitedInput("projects", "\n", false); + this.arguments = tl.getInput("arguments", false) || ""; + this.publishWebProjects = tl.getBoolInput("publishWebProjects", false); + this.zipAfterPublish = tl.getBoolInput("zipAfterPublish", false); + this.workingDirectory = tl.getPathInput("workingDirectory", false); + } + + public async execute() { + tl.setResourcePath(path.join(__dirname, "node_modules", "azure-pipelines-tasks-packaging-common", "module.json")); + tl.setResourcePath(path.join(__dirname, "task.json")); + + this.setConsoleCodePage(); + + try { + switch (this.command) { + case "build": + case "publish": + case "run": + await this.executeBasicCommand(); + break; + case "custom": + this.command = tl.getInput("custom", true); + await this.executeBasicCommand(); + break; + case "test": + await this.executeTestCommand(); + break; + case "restore": + this.logRestoreStartUpVariables(); + await restoreCommand.run(); + break; + case "pack": + await packCommand.run(); + break; + case "push": + await pushCommand.run(); + break; + default: + throw tl.loc("Error_CommandNotRecognized", this.command); + } + } + finally { + console.log(tl.loc('Net5Update')); + } + } + + private setConsoleCodePage() { + // set the console code page to "UTF-8" + if (tl.osType() === 'Windows_NT') { + try { + tl.execSync(path.resolve(process.env.windir, "system32", "chcp.com"), ["65001"]); + } + catch (ex) { + tl.warning(tl.loc("CouldNotSetCodePaging", JSON.stringify(ex))) + } + } + } + + private async executeBasicCommand() { + var dotnetPath = tl.which("dotnet", true); + + console.log(tl.loc('DeprecatedDotnet2_2_And_3_0')); + + this.extractOutputArgument(); + + // Use empty string when no project file is specified to operate on the current directory + var projectFiles = this.getProjectFiles(); + if (projectFiles.length === 0) { + throw tl.loc("noProjectFilesFound"); + } + var failedProjects: string[] = []; + for (const fileIndex of Object.keys(projectFiles)) { + var projectFile = projectFiles[fileIndex]; + var dotnet = tl.tool(dotnetPath); + dotnet.arg(this.command); + if (this.isRunCommand()) { + if (!!projectFile) { + dotnet.arg("--project"); + dotnet.arg(projectFile); + } + } else { + dotnet.arg(projectFile); + } + if (this.isBuildCommand()) { + var loggerAssembly = path.join(__dirname, 'dotnet-build-helpers/Microsoft.TeamFoundation.DistributedTask.MSBuild.Logger.dll'); + dotnet.arg(`-dl:CentralLogger,\"${loggerAssembly}\"*ForwardingLogger,\"${loggerAssembly}\"`); + } + var dotnetArguments = this.arguments; + if (this.isPublishCommand() && this.outputArgument && tl.getBoolInput("modifyOutputPath")) { + var output = dotNetExe.getModifiedOutputForProjectFile(this.outputArgument, projectFile); + dotnetArguments = this.replaceOutputArgument(output); + } + dotnet.line(dotnetArguments); + try { + var result = await dotnet.exec({ + cwd: this.workingDirectory + }); + await this.zipAfterPublishIfRequired(projectFile); + } catch (err) { + tl.error(err); + failedProjects.push(projectFile); + } + } + if (failedProjects.length > 0) { + if (this.command === 'build' || this.command === 'publish' || this.command === 'run') { + tl.warning(tl.loc('Net5NugetVersionCompat')); + } + throw tl.loc("dotnetCommandFailed", failedProjects); + } + } + + private async executeTestCommand(): Promise { + const dotnetPath = tl.which('dotnet', true); + console.log(tl.loc('DeprecatedDotnet2_2_And_3_0')); + const enablePublishTestResults: boolean = tl.getBoolInput('publishTestResults', false) || false; + const resultsDirectory = tl.getVariable('Agent.TempDirectory'); + if (enablePublishTestResults && enablePublishTestResults === true) { + this.arguments = ` --logger trx --results-directory "${resultsDirectory}" `.concat(this.arguments); + } + + // Remove old trx files + if (enablePublishTestResults && enablePublishTestResults === true) { + this.removeOldTestResultFiles(resultsDirectory); + } + + // Use empty string when no project file is specified to operate on the current directory + const projectFiles = this.getProjectFiles(); + if (projectFiles.length === 0) { + tl.warning(tl.loc('noProjectFilesFound')); + return; + } + + const failedProjects: string[] = []; + for (const fileIndex of Object.keys(projectFiles)) { + const projectFile = projectFiles[fileIndex]; + const dotnet = tl.tool(dotnetPath); + dotnet.arg(this.command); + dotnet.arg(projectFile); + dotnet.line(this.arguments); + try { + const result = await dotnet.exec({ + cwd: this.workingDirectory + }); + } catch (err) { + tl.error(err); + failedProjects.push(projectFile); + } + } + if (enablePublishTestResults && enablePublishTestResults === true) { + this.publishTestResults(resultsDirectory); + } + if (failedProjects.length > 0) { + tl.warning(tl.loc('Net5NugetVersionCompat')); + throw tl.loc('dotnetCommandFailed', failedProjects); + } + } + + private publishTestResults(resultsDir: string): void { + const buildConfig = tl.getVariable('BuildConfiguration'); + const buildPlaform = tl.getVariable('BuildPlatform'); + const testRunTitle = tl.getInput("testRunTitle", false) || ""; + const matchingTestResultsFiles: string[] = tl.findMatch(resultsDir, '**/*.trx'); + if (!matchingTestResultsFiles || matchingTestResultsFiles.length === 0) { + tl.warning('No test result files were found.'); + } else { + const tp: tl.TestPublisher = new tl.TestPublisher('VSTest'); + tp.publish(matchingTestResultsFiles, 'false', buildPlaform, buildConfig, testRunTitle, 'true', this.testRunSystem); + //refer https://github.com/Microsoft/vsts-task-lib/blob/master/node/task.ts#L1620 + } + } + + private removeOldTestResultFiles(resultsDir: string): void { + const matchingTestResultsFiles: string[] = tl.findMatch(resultsDir, '**/*.trx'); + if (!matchingTestResultsFiles || matchingTestResultsFiles.length === 0) { + tl.debug("No old result files found."); + return; + } + for (const fileIndex of Object.keys(matchingTestResultsFiles)) { + const resultFile = matchingTestResultsFiles[fileIndex]; + tl.rmRF(resultFile) + tl.debug("Successfuly removed: " + resultFile); + } + } + + private replaceOutputArgument(modifiedOutput: string) { + var str = this.arguments; + var index = this.outputArgumentIndex; + return str.substr(0, index) + str.substr(index).replace(this.outputArgument, modifiedOutput); + } + + private async zipAfterPublishIfRequired(projectFile: string) { + if (this.isPublishCommand() && this.zipAfterPublish) { + var outputSource: string = ""; + var moveZipToOutputSource = false; + if (this.outputArgument) { + if (tl.getBoolInput("modifyOutputPath") && projectFile) { + outputSource = dotNetExe.getModifiedOutputForProjectFile(this.outputArgument, projectFile); + } else { + outputSource = this.outputArgument; + moveZipToOutputSource = true; + } + + } + else { + var pattern = "**/publish"; + var files = tl.findMatch(path.dirname(projectFile), pattern); + for (var fileIndex in files) { + var file = files[fileIndex]; + if (fs.lstatSync(file).isDirectory) { + outputSource = file; + break; + } + } + } + + tl.debug("Zip Source: " + outputSource); + if (outputSource) { + var outputTarget = outputSource + ".zip"; + await this.zip(outputSource, outputTarget); + tl.rmRF(outputSource); + if (moveZipToOutputSource) { + fs.mkdirSync(outputSource); + fs.renameSync(outputTarget, path.join(outputSource, path.basename(outputTarget))); + } + } + else { + throw tl.loc("noPublishFolderFoundToZip", projectFile); + } + } + } + + private zip(source: string, target: string) { + tl.debug("Zip arguments: Source: " + source + " , target: " + target); + + return new Promise((resolve, reject) => { + var output = fs.createWriteStream(target); + + output.on('close', function () { + tl.debug('Successfully created archive ' + target); + resolve(target); + }); + + output.on('error', function (error) { + reject(error); + }); + + var archive = archiver('zip'); + archive.pipe(output); + archive.directory(source, '/'); + archive.finalize(); + }); + } + + private extractOutputArgument(): void { + if (!this.arguments || !this.arguments.trim()) { + return; + } + + var argString = this.arguments.trim(); + var isOutputOption = false; + var inQuotes = false; + var escaped = false; + var arg = ''; + var i = 0; + var append = function (c) { + // we only escape double quotes. + if (escaped && c !== '"') { + arg += '\\'; + } + arg += c; + escaped = false; + }; + var nextArg = function () { + arg = ''; + for (; i < argString.length; i++) { + var c = argString.charAt(i); + if (c === '"') { + if (!escaped) { + inQuotes = !inQuotes; + } + else { + append(c); + } + continue; + } + if (c === "\\" && inQuotes && !escaped) { + escaped = true; + continue; + } + if (c === ' ' && !inQuotes) { + if (arg.length > 0) { + return arg.trim(); + } + continue; + } + append(c); + } + + if (arg.length > 0) { + return arg.trim(); + } + + return null; + } + + var token = nextArg(); + while (token) { + var tokenUpper = token.toUpperCase(); + if (this.isPublishCommand() && (tokenUpper === "--OUTPUT" || tokenUpper === "-O")) { + isOutputOption = true; + this.outputArgumentIndex = i; + } + else if (isOutputOption) { + this.outputArgument = token; + isOutputOption = false; + } + + token = nextArg(); + } + } + + private getProjectFiles(): string[] { + var projectPattern = this.projects; + var searchWebProjects = this.isPublishCommand() && this.publishWebProjects; + if (searchWebProjects) { + projectPattern = ["**/*.csproj", "**/*.vbproj", "**/*.fsproj"]; + } + + var projectFiles = utility.getProjectFiles(projectPattern); + var resolvedProjectFiles: string[] = []; + + if (searchWebProjects) { + resolvedProjectFiles = projectFiles.filter(function (file, index, files): boolean { + var directory = path.dirname(file); + return tl.exist(path.join(directory, "web.config")) + || tl.exist(path.join(directory, "wwwroot")); + }); + + if (!resolvedProjectFiles.length) { + var projectFilesUsingWebSdk = projectFiles.filter(this.isWebSdkUsed); + if (!projectFilesUsingWebSdk.length) { + tl.error(tl.loc("noWebProjectFound")); + } + return projectFilesUsingWebSdk; + } + return resolvedProjectFiles; + } + return projectFiles; + } + + private isWebSdkUsed(projectfile: string): boolean { + if (projectfile.endsWith('.vbproj')) return false + + try { + var fileBuffer: Buffer = fs.readFileSync(projectfile); + var webConfigContent: string; + + var fileEncodings:Array = ['utf8', 'utf16le']; + + for (var i = 0; i < fileEncodings.length; i++) { + tl.debug("Trying to decode with " + fileEncodings[i]); + webConfigContent = fileBuffer.toString(fileEncodings[i]); + try { + var projectSdkUsed: string = ltx.parse(webConfigContent).getAttr("sdk") || ltx.parse(webConfigContent).getAttr("Sdk"); + return projectSdkUsed && projectSdkUsed.toLowerCase() == "microsoft.net.sdk.web"; + } catch (error) { } + } + } catch (error) { + tl.warning(error); + } + return false; + } + + private isBuildCommand(): boolean { + return this.command === "build"; + } + + private isPublishCommand(): boolean { + return this.command === "publish"; + } + + private isRunCommand(): boolean { + return this.command === "run"; + } + + private static getModifiedOutputForProjectFile(outputBase: string, projectFile: string): string { + return path.join(outputBase, path.basename(path.dirname(projectFile))); + } + + private logRestoreStartUpVariables() { + try { + const nugetfeedtype = tl.getInput("nugetfeedtype"); + let externalendpoint = null; + if (nugetfeedtype != null && nugetfeedtype === "external") { + const epId = tl.getInput("externalendpoint"); + if (epId) { + externalendpoint = { + feedName: tl.getEndpointUrl(epId, false).replace(/\W/g, ""), + feedUri: tl.getEndpointUrl(epId, false), + }; + } + } + + let externalendpoints = tl.getDelimitedInput("externalendpoints", ","); + if (externalendpoints) { + externalendpoints = externalendpoints.reduce((ary, id) => { + const te = { + feedName: tl.getEndpointUrl(id, false).replace(/\W/g, ""), + feedUri: tl.getEndpointUrl(id, false), + }; + ary.push(te); + return ary; + }, []); + } + const nugetTelem = { + "command": tl.getInput("command"), + "System.TeamFoundationCollectionUri": tl.getVariable("System.TeamFoundationCollectionUri"), + "includenugetorg": tl.getInput("includenugetorg"), + "nocache": tl.getInput("nocache"), + "nugetconfigpath": tl.getInput("nugetconfigpath"), + "nugetfeedtype": nugetfeedtype, + "selectorconfig": tl.getInput("selectorconfig"), + "projects": tl.getInput("projects"), + "verbosityrestore": tl.getInput("verbosityrestore") + }; + telemetry.emitTelemetry("Packaging", "DotNetCoreCLIRestore", nugetTelem); + } catch (err) { + tl.debug(`Unable to log NuGet task init telemetry. Err:( ${err} )`); + } + } +} + +var exe = new dotNetExe(); +exe.execute().catch((reason) => tl.setResult(tl.TaskResult.Failed, reason)); diff --git a/_generated/DotNetCoreCLIV2/icon.png b/_generated/DotNetCoreCLIV2/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e954ccf8d2820a60f1fff71f900f2d222f7cdf3 GIT binary patch literal 14924 zcmeI3ZERCj7{?Ecz!+~sQHgx11r>z$_O|P~UfaT0fer1LV~d-JaCdvU-L1X1^xn~~ zF>yg9Xh2>SgpDogR0wK71_4C)AWQgwCSXJ~hPQyQ7=Z{5G)B*DyY{r}IAHjAnzVg- z&j0^B=l;%1@0a^lMftojd5`A-0LGM+x+~GQPJ8DLN1sYGdJ}z(43^d^0E~KAdk+Cy z+a>}~G*zssQENQUbAlW&@?N*QwDsn=_TlCQ*d1%k;!l9FJDC^8W~$goBelg;E6lAd65$R8V; zS74wY2B4%W$j4^&1sh~lRvP3%N+!DpEsW;G<4M-eI^IAaYiUKDvm7BvAkFGjs#=1O zsf3E$91`H1<>*o-XS;e;^ra>zEtA$W=-6RI9K@#e#BH&q5T79jx>l|v1bI~sRmrm7 z6<=i){Rnj>CEBX8>85&kL6kJE(;Q5uDK+D%e9+CS(4~0|CY!-rSjE~o*2)#wrkkvs z#e^k^D>HIrp(NNc954>`FqNOYq30Df%D0s0I#~l0ACN8 zpj7W*QjM50xvsbp*)NCCu%OH0V6ru1uGm`R$|ObQB>|SXU8un*ie9eBTU2NE*)0ZM zu$c@6&|)*#ZAEnk2#cVPFDw-7b!-fx$AjAkq;|_fv$kInslE4^8nX{by&xo_vyS&; z8g2CVTOv!E0i{Ys1+CB)Y~`Z$8#~Pw!e!~L{T+TWb}9w=kOH+m=hXLay5upIJf$>G zZ0~Zspq*zfLE940>tNDaQ^QI+6E^YxPGCGgW*@vpxB*Ic+feaTG1cHn6xpYS`4B9w zM{DBVc6&T;x-qkWgVFv0{9^i4#9Py6sDI54oKc5%uyJTLppo&hSwIVXKwGMETwkNj zs=qm=x0y}o#jx6E!isliT5Ioa#k(`DDQC4LsxEV)T1GSG(oWy_!LShBC_q=C)oQUi zn9Sx(M}-)H{u;N4cCezYOAD$L^JI2pHP#Mh#5xkj_*7wk>9LuNx1t*cbg#lBZ&uPL zIk^=caFDv92b>sBM~mPzh%v=QM1%_{E}RB2rnrcRZ~?`I(;&ta7ZDLIptx`v#F*kD zBEkg}7fyp1Q(QzuxPaoqX%J(Ii--spP+T|-VoY%n5#a)g3#UPhDJ~)+TtIQ*G>9?9 zMMQ)PC@!1^F{ZePh;RYLh0`F$6c-T@E}*z@8pN35A|k>C6c2p9G-wbpY=Ci@vV{ z&};&rcPRke762ZTH!L|e7l0w#%iP6Pk)M9s#7bs1|IM>2SLxf|om8{8>hjRy_pV&o z)z%sawO-2odc}dE&Nb7c*G8^epC71c+`0Lw<$EqH=xf?sH}9o0lkc>+PHeM+uX1h= zJNnL%1>oATzRQpN^G(<7kFOfGpY$C$E9|bhIkXtGm4D)BFE8j(oug(R_nOb251wo6 z?j3#ZYIyqG56AahWTpL!`W~Iy6>)VOc-i>(?xp*GUgqiuFK%1=$E2}f+=y8Z!CIFz zqHgu4JA02@$!(pTyE4Dj`~|G7od3SEVebzo?VFWr&UR%rYwp?d9avgjeWy+Nz5H}^ z#IA1t)|Hj>pXoBU_HBP+*w9XP<&+)WzSZlitH*?@~IY)o} zet6e}-h(|iBL41qO>1sN$ABND{Qyk6w76;GpV7nnzI`MA`k|f)CyWC*M}Y}UX?LI1GFb;-T(jq literal 0 HcmV?d00001 diff --git a/_generated/DotNetCoreCLIV2/icon.svg b/_generated/DotNetCoreCLIV2/icon.svg new file mode 100644 index 000000000000..8cc980aff2d1 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/_generated/DotNetCoreCLIV2/make.json b/_generated/DotNetCoreCLIV2/make.json new file mode 100644 index 000000000000..c2f0f4a75b20 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/make.json @@ -0,0 +1,10 @@ +{ + "externals": { + "archivePackages": [ + { + "url": "https://vstsagenttools.blob.core.windows.net/tools/msbuildlogger/3/msbuildlogger.zip", + "dest": "./dotnet-build-helpers/" + } + ] + } +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/package-lock.json b/_generated/DotNetCoreCLIV2/package-lock.json new file mode 100644 index 000000000000..887af235969d --- /dev/null +++ b/_generated/DotNetCoreCLIV2/package-lock.json @@ -0,0 +1,1020 @@ +{ + "name": "vsts-tasks-dotnetcoreexe", + "version": "2.129.4", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@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/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/ini": { + "version": "1.3.30", + "resolved": "https://registry.npmjs.org/@types/ini/-/ini-1.3.30.tgz", + "integrity": "sha512-2+iF8zPSbpU83UKE+PNd4r/MhwNAdyGpk3H+VMgEH3EhjFZq1kouLgRoZrmIcmoGX97xFvqdS44DkICR5Nz3tQ==" + }, + "@types/ltx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@types/ltx/-/ltx-2.8.0.tgz", + "integrity": "sha512-qHnPVD0FFquypl7Yy8qqvDjhnX3c7toUYjjALK+bug7MfR2WCRTIjw+GUMfehRi/Mbhj5rLAQerPTnTCUzSCWg==", + "requires": { + "@types/node": "*" + } + }, + "@types/mocha": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-5.2.7.tgz", + "integrity": "sha512-NYrtPht0wGzhwe9+/idPaBB+TqkY9AhTvOLMkThm0IoEfLaiVQZwBwyJ5puCkO3AUCWrmcoePjp2mbFocKy4SQ==" + }, + "@types/mockery": { + "version": "1.4.29", + "resolved": "https://registry.npmjs.org/@types/mockery/-/mockery-1.4.29.tgz", + "integrity": "sha512-SwFMxO68Z6ERGFpPYBdmgfS5LloELzY16h/PMAhnxMog91JcHI5AJjW0HN56cGUPhV0nDb8xNWsJkhuDzr4lAQ==" + }, + "@types/node": { + "version": "16.18.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.4.tgz", + "integrity": "sha512-9qGjJ5GyShZjUfx2ArBIGM+xExdfLvvaCyQR0t6yRXKPcWCVYF/WemtX/uIU3r7FYECXRXkIiw2Vnhn6y8d+pw==" + }, + "@types/q": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", + "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==" + }, + "@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==" + }, + "@types/semver": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-5.5.0.tgz", + "integrity": "sha512-41qEJgBH/TWgo5NFSvBCJ1qkoi3Q6ONSF2avrHq1LVEZfYpdHmj0y9SuTK+u9ZhG1sYQKBL1AWXKyLWP4RaUoQ==" + }, + "@types/uuid": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-3.4.9.tgz", + "integrity": "sha512-XDwyIlt/47l2kWLTzw/mtrpLdB+GPSskR2n/PIcPn+VYhVO77rGhRncIR5GPU0KRzXuqkDO+J5qqrG0Y8P6jzQ==" + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" + }, + "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" + } + }, + "archiver": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.2.0.tgz", + "integrity": "sha1-+1xq9UQ7P6akJjRHU7rSp7REqt0=", + "requires": { + "archiver-utils": "^1.3.0", + "async": "^2.0.0", + "buffer-crc32": "^0.2.1", + "glob": "^7.0.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0", + "tar-stream": "^1.5.0", + "zip-stream": "^1.1.0" + } + }, + "archiver-utils": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-1.3.0.tgz", + "integrity": "sha1-5QtMCccL89aA4y/xt5lOn52JUXQ=", + "requires": { + "glob": "^7.0.0", + "graceful-fs": "^4.1.0", + "lazystream": "^1.0.0", + "lodash": "^4.8.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + }, + "dependencies": { + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + } + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "async": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", + "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", + "requires": { + "lodash": "^4.17.14" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "azure-devops-node-api": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", + "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + }, + "azure-pipelines-task-lib": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-task-lib/-/azure-pipelines-task-lib-4.1.0.tgz", + "integrity": "sha512-8CNC9PcP+4eS76QcIDmPmBfrrao9xpy/M0Uts4TWk3chfr3uOXFGf0DYHVTJGF9180g51kyVXYTObicouq0KZQ==", + "requires": { + "minimatch": "3.0.5", + "mockery": "^2.1.0", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "sync-request": "6.1.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "azure-pipelines-tasks-packaging-common": { + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", + "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", + "requires": { + "@types/ini": "1.3.30", + "@types/ltx": "2.8.0", + "@types/mocha": "^5.2.6", + "@types/mockery": "1.4.29", + "@types/node": "^16.11.39", + "@types/q": "1.5.2", + "adm-zip": "^0.4.11", + "azure-devops-node-api": "10.2.2", + "azure-pipelines-task-lib": "^4.0.0-preview", + "azure-pipelines-tool-lib": "^2.0.7", + "ini": "^1.3.8", + "ip-address": "^5.8.9", + "ltx": "^2.6.2", + "q": "^1.5.0", + "semver": "^5.5.0", + "typed-rest-client": "1.8.4" + }, + "dependencies": { + "azure-devops-node-api": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-10.2.2.tgz", + "integrity": "sha512-4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==", + "requires": { + "tunnel": "0.0.6", + "typed-rest-client": "^1.8.4" + } + } + } + }, + "azure-pipelines-tasks-utility-common": { + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.230.0.tgz", + "integrity": "sha512-d84LeflxFdXSFiWic+OIm2ObQtjdnuy2R9tKLq7mUs47mEP8ARWTP+0kOX6nmc4l7R2dhupStcWeltroj12ijg==", + "requires": { + "@types/node": "^16.11.39", + "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-tool-lib": "^2.0.7", + "js-yaml": "3.13.1", + "semver": "^5.4.1" + }, + "dependencies": { + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "azure-pipelines-task-lib": { + "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", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "azure-pipelines-tool-lib": { + "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": "^4.1.0", + "semver": "^5.7.0", + "semver-compare": "^1.0.0", + "typed-rest-client": "^1.8.6", + "uuid": "^3.3.2" + }, + "dependencies": { + "typed-rest-client": { + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + } + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "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": "1.2.3", + "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", + "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "requires": { + "readable-stream": "^2.3.5", + "safe-buffer": "^5.1.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=" + }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=" + }, + "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==" + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "compress-commons": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-1.2.2.tgz", + "integrity": "sha1-UkqfEJA/OoEzibAiXSfEi7dRiQ8=", + "requires": { + "buffer-crc32": "^0.2.1", + "crc32-stream": "^2.0.0", + "normalize-path": "^2.0.0", + "readable-stream": "^2.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "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" + } + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "crc": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/crc/-/crc-3.8.0.tgz", + "integrity": "sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==", + "requires": { + "buffer": "^5.1.0" + } + }, + "crc32-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-2.0.0.tgz", + "integrity": "sha1-483TtN8xaN10494/u8t7KX/pCPQ=", + "requires": { + "crc": "^3.4.4", + "readable-stream": "^2.0.0" + } + }, + "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==", + "requires": { + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "requires": { + "once": "^1.4.0" + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "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==" + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, + "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" + } + }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-port": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-3.2.0.tgz", + "integrity": "sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==" + }, + "glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.2.6", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.6.tgz", + "integrity": "sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==" + }, + "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-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==", + "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==" + } + } + }, + "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": { + "agent-base": "6", + "debug": "4" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "ip-address": { + "version": "5.9.4", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-5.9.4.tgz", + "integrity": "sha512-dHkI3/YNJq4b/qQaz+c8LuarD3pY24JqZWfjB8aZx1gtpc2MDILu9L9jpZe1sHpzo/yWFweQVn+U//FhazUxmw==", + "requires": { + "jsbn": "1.1.0", + "lodash": "^4.17.15", + "sprintf-js": "1.1.2" + } + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "js-yaml": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", + "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==" + }, + "lazystream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz", + "integrity": "sha1-9plf4PggOS9hOWvolGJAe7dxaOQ=", + "requires": { + "readable-stream": "^2.0.5" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "ltx": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-2.10.0.tgz", + "integrity": "sha512-RB4zR6Mrp/0wTNS9WxMvpgfht/7u/8QAC9DpPD19opL/4OASPa28uoliFqeDkLUU8pQ4aeAfATBZmz1aSAHkMw==", + "requires": { + "inherits": "^2.0.4" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mockery": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", + "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==" + }, + "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": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "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==" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "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.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "requires": { + "asap": "~2.0.6" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.11.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.1.tgz", + "integrity": "sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==", + "requires": { + "side-channel": "^1.0.4" + } + }, + "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" + } + }, + "rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "requires": { + "resolve": "^1.1.6" + } + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "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==" + }, + "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": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=" + }, + "shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "requires": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + } + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==" + }, + "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" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "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": "1.6.2", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", + "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "requires": { + "bl": "^1.0.0", + "buffer-alloc": "^1.2.0", + "end-of-stream": "^1.0.0", + "fs-constants": "^1.0.0", + "readable-stream": "^2.3.0", + "to-buffer": "^1.1.1", + "xtend": "^4.0.0" + } + }, + "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==" + } + } + }, + "to-buffer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + }, + "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" + } + }, + "tunnel": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", + "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" + }, + "typed-rest-client": { + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.4.tgz", + "integrity": "sha512-MyfKKYzk3I6/QQp6e1T50py4qg+c+9BzOEl2rBmQIpStwNUoqQ73An+Tkfy9YuV7O+o2mpVVJpe+fH//POZkbg==", + "requires": { + "qs": "^6.9.1", + "tunnel": "0.0.6", + "underscore": "^1.12.1" + }, + "dependencies": { + "underscore": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz", + "integrity": "sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==" + } + } + }, + "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.0.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.2.tgz", + "integrity": "sha512-e4ERvRV2wb+rRZ/IQeb3jm2VxBsirQLpQhdxplZ2MEzGvDkkMmPglecnNDfSUBivMjP93vRbngYYDQqQ/78bcQ==", + "dev": true + }, + "underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==" + }, + "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": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "uuid": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.2.1.tgz", + "integrity": "sha512-jZnMwlb9Iku/O3smGWvZhauCf6cvvpKi4BKRiliS3cxnI+Gz9j5MEpTz2UFuXiKPJocb7gnsLHwiS05ige5BEA==" + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "zip-stream": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-1.2.0.tgz", + "integrity": "sha1-qLxF9MG0lpnGuQGYuqyqzbzUugQ=", + "requires": { + "archiver-utils": "^1.3.0", + "compress-commons": "^1.2.0", + "lodash": "^4.8.0", + "readable-stream": "^2.0.0" + } + } + } +} diff --git a/_generated/DotNetCoreCLIV2/package.json b/_generated/DotNetCoreCLIV2/package.json new file mode 100644 index 000000000000..a435e3dc9d49 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/package.json @@ -0,0 +1,32 @@ +{ + "name": "vsts-tasks-dotnetcoreexe", + "version": "2.129.4", + "description": "Dotnet core exe", + "main": "dotnetcore.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+ssh://git@github.com/Microsoft/azure-pipelines-tasks.git" + }, + "author": "Microsoft Corporation", + "license": "MIT", + "bugs": { + "url": "https://github.com/Microsoft/azure-pipelines-tasks/issues" + }, + "homepage": "https://github.com/Microsoft/azure-pipelines-tasks#readme", + "dependencies": { + "@types/mocha": "^5.2.7", + "@types/node": "^16.11.39", + "archiver": "1.2.0", + "azure-devops-node-api": "11.2.0", + "azure-pipelines-task-lib": "^4.1.0", + "azure-pipelines-tasks-packaging-common": "^3.230.0", + "azure-pipelines-tasks-utility-common": "^3.230.0", + "uuid": "3.2.1" + }, + "devDependencies": { + "typescript": "4.0.2" + } +} diff --git a/_generated/DotNetCoreCLIV2/packcommand.ts b/_generated/DotNetCoreCLIV2/packcommand.ts new file mode 100644 index 000000000000..7c0af28e933e --- /dev/null +++ b/_generated/DotNetCoreCLIV2/packcommand.ts @@ -0,0 +1,179 @@ +import * as ngToolRunner from "azure-pipelines-tasks-packaging-common/nuget/NuGetToolRunner2"; +import * as nutil from "azure-pipelines-tasks-packaging-common/nuget/Utility"; +import * as path from "path"; +import * as tl from "azure-pipelines-task-lib/task"; +import * as utility from "azure-pipelines-tasks-packaging-common/PackUtilities"; + +import { IExecOptions } from "azure-pipelines-task-lib/toolrunner"; + +export async function run(): Promise { + + let searchPatternInput = tl.getPathInput("searchPatternPack", true); + let configuration = tl.getInput("configurationToPack"); + let versioningScheme = tl.getInput("versioningScheme"); + let versionEnvVar = tl.getInput("versionEnvVar"); + let majorVersion = tl.getInput("requestedMajorVersion"); + let minorVersion = tl.getInput("requestedMinorVersion"); + let patchVersion = tl.getInput("requestedPatchVersion"); + let propertiesInput = tl.getInput("buildProperties"); + let verbosity = tl.getInput("verbosityPack"); + let nobuild = tl.getBoolInput("nobuild"); + let includeSymbols = tl.getBoolInput("includesymbols"); + let includeSource = tl.getBoolInput("includesource"); + let outputDir = undefined; + + try { + // If outputDir is not provided then the root working directory is set by default. + // By requiring it, it will throw an error if it is not provided and we can set it to undefined. + outputDir = tl.getPathInput("outputDir", true); + } + catch (error) { + outputDir = undefined; + } + + try { + let version: string = undefined; + switch (versioningScheme) { + case "off": + break; + case "byPrereleaseNumber": + tl.debug(`Getting prerelease number`); + + let nowUtcString = utility.getUtcDateString(new Date()); + version = `${majorVersion}.${minorVersion}.${patchVersion}-CI-${nowUtcString}`; + break; + case "byEnvVar": + tl.debug(`Getting version from env var: ${versionEnvVar}`); + version = tl.getVariable(versionEnvVar); + if (!version) { + tl.setResult(tl.TaskResult.Failed, tl.loc("Error_NoValueFoundForEnvVar")); + break; + } + break; + case "byBuildNumber": + tl.debug("Getting version number from build number") + + if (tl.getVariable("SYSTEM_HOSTTYPE") === "release") { + tl.setResult(tl.TaskResult.Failed, tl.loc("Error_AutomaticallyVersionReleases")); + return; + } + + let buildNumber: string = tl.getVariable("BUILD_BUILDNUMBER"); + tl.debug(`Build number: ${buildNumber}`); + + let versionRegex = /\d+\.\d+\.\d+(?:\.\d+)?/; + let versionMatches = buildNumber.match(versionRegex); + if (!versionMatches) { + tl.setResult(tl.TaskResult.Failed, tl.loc("Error_NoVersionFoundInBuildNumber")); + return; + } + + if (versionMatches.length > 1) { + tl.warning(tl.loc("Warning_MoreThanOneVersionInBuildNumber")) + } + + version = versionMatches[0]; + break; + } + + tl.debug(`Version to use: ${version}`); + + if (outputDir && !tl.exist(outputDir)) { + tl.debug(`Creating output directory: ${outputDir}`); + tl.mkdirP(outputDir); + } + + let useLegacyFind: boolean = tl.getVariable("NuGet.UseLegacyFindFiles") === "true"; + let filesList: string[] = []; + if (!searchPatternInput) { + // Use empty string when no project file is specified to operate on the current directory + filesList = [""]; + } else { + if (!useLegacyFind) { + let findOptions: tl.FindOptions = {}; + let matchOptions: tl.MatchOptions = {}; + let searchPatterns: string[] = nutil.getPatternsArrayFromInput(searchPatternInput); + filesList = tl.findMatch(undefined, searchPatterns, findOptions, matchOptions); + } + else { + filesList = nutil.resolveFilterSpec(searchPatternInput); + } + } + + if (!filesList || !filesList.length) { + tl.setResult(tl.TaskResult.Failed, tl.loc("Info_NoFilesMatchedTheSearchPattern")); + return; + } + + tl.debug(`Found ${filesList.length} files`); + filesList.forEach(file => { + tl.debug(`--File: ${file}`); + }); + + let props: string[] = []; + if (configuration && configuration !== "$(BuildConfiguration)") { + props.push(`Configuration=${configuration}`); + } + if (propertiesInput) { + props = props.concat(propertiesInput.split(";")); + } + + let environmentSettings: ngToolRunner.NuGetEnvironmentSettings = { + credProviderFolder: null, + extensionsDisabled: true + }; + + const dotnetPath = tl.which("dotnet", true); + + for (const file of filesList) { + await dotnetPackAsync(dotnetPath, file, outputDir, nobuild, includeSymbols, includeSource, version, props, verbosity); + } + } catch (err) { + tl.warning(tl.loc('Net5NugetVersionCompat')); + tl.error(err); + tl.setResult(tl.TaskResult.Failed, tl.loc("Error_PackageFailure")); + } +} + +function dotnetPackAsync(dotnetPath: string, packageFile: string, outputDir: string, nobuild: boolean, includeSymbols: boolean, includeSource: boolean, version: string, properties: string[], verbosity: string): Q.Promise { + let dotnet = tl.tool(dotnetPath); + + dotnet.arg("pack"); + + if(packageFile.endsWith(".nuspec")) { + dotnet.arg("-p:NuspecFile="+packageFile); + } + else dotnet.arg(packageFile); + + if (outputDir) { + dotnet.arg("--output"); + dotnet.arg(outputDir); + } + + if (nobuild) { + dotnet.arg("--no-build"); + } + + if (includeSymbols) { + dotnet.arg("--include-symbols"); + } + + if (includeSource) { + dotnet.arg("--include-source"); + } + + if (properties && properties.length > 0) { + dotnet.arg("/p:" + properties.join(";")); + } + + if (version) { + dotnet.arg("/p:PackageVersion=" + version); + } + + if (verbosity && verbosity !== "-") { + dotnet.arg("--verbosity"); + dotnet.arg(verbosity); + } + + return dotnet.exec({ cwd: path.dirname(packageFile) } as IExecOptions); +} diff --git a/_generated/DotNetCoreCLIV2/pushcommand.ts b/_generated/DotNetCoreCLIV2/pushcommand.ts new file mode 100644 index 000000000000..8f5da99584bb --- /dev/null +++ b/_generated/DotNetCoreCLIV2/pushcommand.ts @@ -0,0 +1,184 @@ +import * as Q from 'q'; +import * as auth from 'azure-pipelines-tasks-packaging-common/nuget/Authentication'; +import * as commandHelper from 'azure-pipelines-tasks-packaging-common/nuget/CommandHelper'; +import * as nutil from 'azure-pipelines-tasks-packaging-common/nuget/Utility'; +import * as path from 'path'; +import * as tl from 'azure-pipelines-task-lib/task'; + +import { IExecOptions } from 'azure-pipelines-task-lib/toolrunner'; +import { NuGetConfigHelper2 } from 'azure-pipelines-tasks-packaging-common/nuget/NuGetConfigHelper2'; +import * as ngRunner from 'azure-pipelines-tasks-packaging-common/nuget/NuGetToolRunner2'; +import * as pkgLocationUtils from 'azure-pipelines-tasks-packaging-common/locationUtilities'; +import { getProjectAndFeedIdFromInputParam, logError } from 'azure-pipelines-tasks-packaging-common/util'; + +export async function run(): Promise { + let packagingLocation: pkgLocationUtils.PackagingLocation; + try { + packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.NuGet); + } catch (error) { + tl.debug('Unable to get packaging URIs'); + logError(error); + throw error; + } + + const buildIdentityDisplayName: string = null; + const buildIdentityAccount: string = null; + try { + // Get list of files to publish + const searchPatternInput = tl.getPathInput('searchPatternPush', true, false); + const findOptions: tl.FindOptions = {}; + const matchOptions: tl.MatchOptions = {}; + const searchPatterns: string[] = nutil.getPatternsArrayFromInput(searchPatternInput); + const filesList = tl.findMatch(undefined, searchPatterns, findOptions, matchOptions); + + filesList.forEach(packageFile => { + if (!tl.stats(packageFile).isFile()) { + throw new Error(tl.loc('Error_PushNotARegularFile', packageFile)); + } + }); + + if (filesList.length < 1) { + tl.setResult(tl.TaskResult.Failed, tl.loc('Info_NoPackagesMatchedTheSearchPattern')); + return; + } + + // Get the info the type of feed + let nugetFeedType = tl.getInput('nuGetFeedType') || 'internal'; + + // Make sure the feed type is an expected one + const normalizedNuGetFeedType = ['internal', 'external'].find(x => nugetFeedType.toUpperCase() === x.toUpperCase()); + if (!normalizedNuGetFeedType) { + throw new Error(tl.loc('UnknownFeedType', nugetFeedType)); + } + nugetFeedType = normalizedNuGetFeedType; + + const serviceUri = tl.getEndpointUrl('SYSTEMVSSCONNECTION', false); + let urlPrefixes = packagingLocation.PackagingUris; + tl.debug(`discovered URL prefixes: ${urlPrefixes}`); + + // Note to readers: This variable will be going away once we have a fix for the location service for + // customers behind proxies + const testPrefixes = tl.getVariable('DotNetCoreCLITask.ExtraUrlPrefixesForTesting'); + if (testPrefixes) { + urlPrefixes = urlPrefixes.concat(testPrefixes.split(';')); + tl.debug(`all URL prefixes: ${urlPrefixes}`); + } + + // Setting up auth info + const accessToken = pkgLocationUtils.getSystemAccessToken(); + const isInternalFeed: boolean = nugetFeedType === 'internal'; + const internalAuthInfo = new auth.InternalAuthInfo(urlPrefixes, accessToken, /*useCredProvider*/ null, true); + + let configFile = null; + let apiKey: string; + let credCleanup = () => { return; }; + + // dotnet nuget push does not currently accept a --config-file parameter + // so we are going to work around this by creating a temporary working directory for dotnet with + // a nuget config file it will load by default. + const tempNuGetConfigDirectory = path.join(NuGetConfigHelper2.getTempNuGetConfigBasePath(), 'NuGet_' + tl.getVariable('build.buildId')); + const tempNuGetPath = path.join(tempNuGetConfigDirectory, 'nuget.config'); + tl.mkdirP(tempNuGetConfigDirectory); + + let feedUri: string = undefined; + + let authInfo: auth.NuGetExtendedAuthInfo; + let nuGetConfigHelper: NuGetConfigHelper2; + + if (isInternalFeed) { + authInfo = new auth.NuGetExtendedAuthInfo(internalAuthInfo); + nuGetConfigHelper = new NuGetConfigHelper2( + null, + null, /* nugetConfigPath */ + authInfo, + { credProviderFolder: null, extensionsDisabled: true }, + tempNuGetPath, + false /* useNugetToModifyConfigFile */); + + const feed = getProjectAndFeedIdFromInputParam('feedPublish'); + + feedUri = await nutil.getNuGetFeedRegistryUrl(packagingLocation.DefaultPackagingUri, feed.feedId, feed.projectId, null, accessToken, /* useSession */ true); + nuGetConfigHelper.addSourcesToTempNuGetConfig([{ feedName: feed.feedId, feedUri: feedUri, isInternal: true }]); + configFile = nuGetConfigHelper.tempNugetConfigPath; + credCleanup = () => { tl.rmRF(tempNuGetConfigDirectory); }; + + apiKey = 'VSTS'; + } else { + const externalAuthArr = commandHelper.GetExternalAuthInfoArray('externalEndpoint'); + authInfo = new auth.NuGetExtendedAuthInfo(internalAuthInfo, externalAuthArr); + nuGetConfigHelper = new NuGetConfigHelper2( + null, + null, /* nugetConfigPath */ + authInfo, + { credProviderFolder: null, extensionsDisabled: true }, + tempNuGetPath, + false /* useNugetToModifyConfigFile */); + + const externalAuth = externalAuthArr[0]; + + if (!externalAuth) { + tl.setResult(tl.TaskResult.Failed, tl.loc('Error_NoSourceSpecifiedForPush')); + return; + } + + nuGetConfigHelper.addSourcesToTempNuGetConfig([externalAuth.packageSource]); + feedUri = externalAuth.packageSource.feedUri; + configFile = nuGetConfigHelper.tempNugetConfigPath; + credCleanup = () => { tl.rmRF(tempNuGetConfigDirectory); }; + + const authType: auth.ExternalAuthType = externalAuth.authType; + switch (authType) { + case (auth.ExternalAuthType.UsernamePassword): + case (auth.ExternalAuthType.Token): + apiKey = 'RequiredApiKey'; + break; + case (auth.ExternalAuthType.ApiKey): + const apiKeyAuthInfo = externalAuth as auth.ApiKeyExternalAuthInfo; + apiKey = apiKeyAuthInfo.apiKey; + break; + default: + break; + } + } + // Setting creds in the temp NuGet.config if needed + nuGetConfigHelper.setAuthForSourcesInTempNuGetConfig(); + const dotnetPath = tl.which('dotnet', true); + try { + for (const packageFile of filesList) { + await dotNetNuGetPushAsync(dotnetPath, packageFile, feedUri, apiKey, configFile, tempNuGetConfigDirectory); + } + } finally { + credCleanup(); + } + + tl.setResult(tl.TaskResult.Succeeded, tl.loc('PackagesPublishedSuccessfully')); + + } catch (err) { + tl.error(err); + + if (buildIdentityDisplayName || buildIdentityAccount) { + tl.warning(tl.loc('BuildIdentityPermissionsHint', buildIdentityDisplayName, buildIdentityAccount)); + } + + tl.setResult(tl.TaskResult.Failed, tl.loc('PackagesFailedToPublish')); + } +} + +function dotNetNuGetPushAsync(dotnetPath: string, packageFile: string, feedUri: string, apiKey: string, configFile: string, workingDirectory: string): Q.Promise { + const dotnet = tl.tool(dotnetPath); + + dotnet.arg('nuget'); + dotnet.arg('push'); + + dotnet.arg(packageFile); + + dotnet.arg('--source'); + dotnet.arg(feedUri); + + dotnet.arg('--api-key'); + dotnet.arg(apiKey); + + // dotnet.exe v1 and v2 do not accept the --verbosity parameter for the "nuget push"" command, although it does for other commands + const envWithProxy = ngRunner.setNuGetProxyEnvironment(process.env, /*configFile*/ null, feedUri); + return dotnet.exec({ cwd: workingDirectory, env: envWithProxy } as IExecOptions); +} diff --git a/_generated/DotNetCoreCLIV2/restorecommand.ts b/_generated/DotNetCoreCLIV2/restorecommand.ts new file mode 100644 index 000000000000..b0c36911d088 --- /dev/null +++ b/_generated/DotNetCoreCLIV2/restorecommand.ts @@ -0,0 +1,197 @@ +import * as tl from 'azure-pipelines-task-lib/task'; +import * as Q from 'q'; +import * as utility from './Common/utility'; +import * as auth from 'azure-pipelines-tasks-packaging-common/nuget/Authentication'; +import { NuGetConfigHelper2 } from 'azure-pipelines-tasks-packaging-common/nuget/NuGetConfigHelper2'; +import * as ngRunner from 'azure-pipelines-tasks-packaging-common/nuget/NuGetToolRunner2'; +import * as path from 'path'; +import { IExecOptions } from 'azure-pipelines-task-lib/toolrunner'; +import * as nutil from 'azure-pipelines-tasks-packaging-common/nuget/Utility'; +import * as commandHelper from 'azure-pipelines-tasks-packaging-common/nuget/CommandHelper'; +import * as pkgLocationUtils from 'azure-pipelines-tasks-packaging-common/locationUtilities'; +import { getProjectAndFeedIdFromInputParam, logError } from 'azure-pipelines-tasks-packaging-common/util'; + +export async function run(): Promise { + console.log(tl.loc('DeprecatedDotnet2_2_And_3_0')); + let packagingLocation: pkgLocationUtils.PackagingLocation; + try { + packagingLocation = await pkgLocationUtils.getPackagingUris(pkgLocationUtils.ProtocolType.NuGet); + } catch (error) { + tl.debug('Unable to get packaging URIs'); + logError(error); + throw error; + } + const buildIdentityDisplayName: string = null; + const buildIdentityAccount: string = null; + + try { + const projectSearch = tl.getDelimitedInput('projects', '\n', false); + + // if no projectSearch strings are given, use "" to operate on the current directory + const projectFiles = utility.getProjectFiles(projectSearch); + + if (projectFiles.length === 0) { + tl.setResult(tl.TaskResult.Failed, tl.loc('Info_NoFilesMatchedTheSearchPattern')); + return; + } + const noCache = tl.getBoolInput('noCache'); + const verbosity = tl.getInput('verbosityRestore'); + let packagesDirectory = tl.getPathInput('packagesDirectory'); + if (!tl.filePathSupplied('packagesDirectory')) { + packagesDirectory = null; + } + + // Setting up auth-related variables + tl.debug('Setting up auth'); + const serviceUri = tl.getEndpointUrl('SYSTEMVSSCONNECTION', false); + let urlPrefixes = packagingLocation.PackagingUris; + tl.debug(`Discovered URL prefixes: ${urlPrefixes}`); + + // Note to readers: This variable will be going away once we have a fix for the location service for + // customers behind proxies + const testPrefixes = tl.getVariable('DotNetCoreCLITask.ExtraUrlPrefixesForTesting'); + if (testPrefixes) { + urlPrefixes = urlPrefixes.concat(testPrefixes.split(';')); + tl.debug(`All URL prefixes: ${urlPrefixes}`); + } + + const accessToken = pkgLocationUtils.getSystemAccessToken(); + + const externalAuthArr: auth.ExternalAuthInfo[] = commandHelper.GetExternalAuthInfoArray('externalEndpoints'); + const authInfo = new auth.NuGetExtendedAuthInfo(new auth.InternalAuthInfo(urlPrefixes, accessToken, /*useCredProvider*/ null, /*useCredConfig*/ true), externalAuthArr); + // Setting up sources, either from provided config file or from feed selection + tl.debug('Setting up sources'); + let nuGetConfigPath: string = undefined; + const selectOrConfig = tl.getInput('selectOrConfig'); + + // This IF is here in order to provide a value to nuGetConfigPath (if option selected, if user provided it) + // and then pass it into the config helper + if (selectOrConfig === 'config') { + nuGetConfigPath = tl.getPathInput('nugetConfigPath', false, true); + if (!tl.filePathSupplied('nugetConfigPath')) { + nuGetConfigPath = undefined; + } + } + + // If there was no nuGetConfigPath, NuGetConfigHelper will create one + const nuGetConfigHelper = new NuGetConfigHelper2( + null, + nuGetConfigPath, + authInfo, + { credProviderFolder: null, extensionsDisabled: true }, + null /* tempConfigPath */, + false /* useNugetToModifyConfigFile */); + + let credCleanup = () => { return; }; + + let isNugetOrgBehaviorWarn = false; + + // Now that the NuGetConfigHelper was initialized with all the known information we can proceed + // and check if the user picked the 'select' option to fill out the config file if needed + if (selectOrConfig === 'select') { + const sources: Array = new Array(); + const feed = getProjectAndFeedIdFromInputParam('feedRestore'); + + if (feed.feedId) { + const feedUrl: string = await nutil.getNuGetFeedRegistryUrl(packagingLocation.DefaultPackagingUri, feed.feedId, feed.projectId, null, accessToken); + sources.push( + { + feedName: feed.feedId, + feedUri: feedUrl, + isInternal: true + }); + } + + const includeNuGetOrg = tl.getBoolInput('includeNuGetOrg', false); + if (includeNuGetOrg) { + // If includeNuGetOrg is true, check the INCLUDE_NUGETORG_BEHAVIOR env variable to determine task result + // this allows compliance checks to warn or break the task if consuming from nuget.org directly + const nugetOrgBehavior = includeNuGetOrg ? tl.getVariable("INCLUDE_NUGETORG_BEHAVIOR") : undefined; + tl.debug(`NugetOrgBehavior: ${nugetOrgBehavior}`); + + if(nugetOrgBehavior?.toLowerCase() == "fail"){ + throw new Error(tl.loc("Error_IncludeNuGetOrgEnabled")); + } else if (nugetOrgBehavior?.toLowerCase() == "warn"){ + isNugetOrgBehaviorWarn = true; + } + + sources.push(auth.NuGetOrgV3PackageSource); + } + + // Creating NuGet.config for the user + if (sources.length > 0) { + tl.debug(`Adding the following sources to the config file: ${sources.map(x => x.feedName).join(';')}`); + nuGetConfigHelper.addSourcesToTempNuGetConfig(sources); + credCleanup = () => { tl.rmRF(nuGetConfigHelper.tempNugetConfigPath); }; + nuGetConfigPath = nuGetConfigHelper.tempNugetConfigPath; + } else { + tl.debug('No sources were added to the temp NuGet.config file'); + } + } + + // Setting creds in the temp NuGet.config if needed + nuGetConfigHelper.setAuthForSourcesInTempNuGetConfig(); + + const configFile = nuGetConfigHelper.tempNugetConfigPath; + + nuGetConfigHelper.backupExistingRootNuGetFiles(); + + const dotnetPath = tl.which('dotnet', true); + + try { + const additionalRestoreArguments = tl.getInput('restoreArguments', false); + for (const projectFile of projectFiles) { + await dotNetRestoreAsync(dotnetPath, projectFile, packagesDirectory, configFile, noCache, verbosity, additionalRestoreArguments); + } + } finally { + credCleanup(); + nuGetConfigHelper.restoreBackupRootNuGetFiles(); + } + + isNugetOrgBehaviorWarn + ? tl.setResult(tl.TaskResult.SucceededWithIssues, tl.loc("Warning_IncludeNuGetOrgEnabled")) + : tl.setResult(tl.TaskResult.Succeeded, tl.loc("PackagesInstalledSuccessfully")); + } catch (err) { + + tl.error(err); + + if (buildIdentityDisplayName || buildIdentityAccount) { + tl.warning(tl.loc('BuildIdentityPermissionsHint', buildIdentityDisplayName, buildIdentityAccount)); + } + + tl.setResult(tl.TaskResult.Failed, tl.loc('PackagesFailedToInstall')); + } +} + +function dotNetRestoreAsync(dotnetPath: string, projectFile: string, packagesDirectory: string, configFile: string, noCache: boolean, verbosity: string, additionalRestoreArguments?: string): Q.Promise { + const dotnet = tl.tool(dotnetPath); + dotnet.arg('restore'); + + if (projectFile) { + dotnet.arg(projectFile); + } + + if (packagesDirectory) { + dotnet.arg('--packages'); + dotnet.arg(packagesDirectory); + } + + dotnet.arg('--configfile'); + dotnet.arg(configFile); + + if (noCache) { + dotnet.arg('--no-cache'); + } + + if (verbosity && verbosity !== '-') { + dotnet.arg('--verbosity'); + dotnet.arg(verbosity); + } + + if (additionalRestoreArguments) { + dotnet.line(additionalRestoreArguments); + } + + const envWithProxy = ngRunner.setNuGetProxyEnvironment(process.env, configFile, null); + return dotnet.exec({ cwd: path.dirname(projectFile), env: envWithProxy } as IExecOptions); +} diff --git a/_generated/DotNetCoreCLIV2/task.json b/_generated/DotNetCoreCLIV2/task.json new file mode 100644 index 000000000000..b6127b892b2d --- /dev/null +++ b/_generated/DotNetCoreCLIV2/task.json @@ -0,0 +1,588 @@ +{ + "id": "5541a522-603c-47ad-91fc-a4b1d163081b", + "name": "DotNetCoreCLI", + "friendlyName": ".NET Core", + "description": "Build, test, package, or publish a dotnet application, or run a custom dotnet command", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli", + "helpMarkDown": "[Learn more about this task](https://go.microsoft.com/fwlink/?linkid=832194) or [see the .NET Core documentation](https://docs.microsoft.com/dotnet/core/)", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent" + ], + "demands": [], + "version": { + "Major": 2, + "Minor": 232, + "Patch": 0 + }, + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "dotnet $(command)", + "groups": [ + { + "name": "restoreAuth", + "displayName": "Feeds and authentication", + "isExpanded": true, + "visibleRule": "command = restore" + }, + { + "name": "restoreAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = restore" + }, + { + "name": "pushAuth", + "displayName": "Destination feed and authentication", + "isExpanded": true, + "visibleRule": "command = push" + }, + { + "name": "pushAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = push" + }, + { + "name": "packOptions", + "displayName": "Pack options", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "packAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "generalAdvanced", + "displayName": "Advanced", + "isExpanded": false, + "visibleRule": "command != pack && command != push && command != restore" + } + ], + "inputs": [ + { + "name": "command", + "type": "pickList", + "label": "Command", + "defaultValue": "build", + "required": true, + "helpMarkDown": "The dotnet command to run. Select 'Custom' to add arguments or use a command not listed here.", + "options": { + "build": "build", + "push": "nuget push", + "pack": "pack", + "publish": "publish", + "restore": "restore", + "run": "run", + "test": "test", + "custom": "custom" + }, + "properties": { + "EditableOptions": "False" + } + }, + { + "name": "publishWebProjects", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Publish web projects", + "defaultValue": "true", + "required": true, + "helpMarkDown": "If true, the task will try to find the web projects in the repository and run the publish command on them. Web projects are identified by presence of either a web.config file or wwwroot folder in the directory." + }, + { + "name": "projects", + "type": "multiLine", + "label": "Path to project(s)", + "defaultValue": "", + "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", + "required": false, + "helpMarkDown": "The path to the csproj file(s) to use. You can use wildcards (e.g. **/*.csproj for all .csproj files in all subfolders). **This field follows glob pattern, and is run against root of the repository at all times irrespective of Working Directory.**" + }, + { + "name": "custom", + "type": "string", + "label": "Custom command", + "defaultValue": "", + "helpMarkDown": "The command to pass to dotnet.exe for execution.", + "required": true, + "visibleRule": "command = custom" + }, + { + "name": "arguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "visibleRule": "command = build || command = publish || command = run || command = test || command = custom", + "required": false, + "helpMarkDown": "Arguments to the selected command. For example, build configuration, output folder, runtime. The arguments depend on the command selected." + }, + { + "name": "restoreArguments", + "type": "string", + "label": "Arguments", + "defaultValue": "", + "visibleRule": "command = restore", + "required": false, + "helpMarkDown": "Write the additional arguments to be passed to **restore** command." + }, + { + "name": "publishTestResults", + "type": "boolean", + "label": "Publish test results and code coverage", + "defaultValue": "true", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "Enabling this option will generate a test results TRX file in `$(Agent.TempDirectory)` and results will be published to the server.
This option appends `--logger trx --results-directory $(Agent.TempDirectory)` to the command line arguments.

Code coverage can be collected by adding `--collect \"Code coverage\"` option to the command line arguments. This is currently only available on the Windows platform." + }, + { + "name": "testRunTitle", + "type": "string", + "label": "Test run title", + "defaultValue": "", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "Provide a name for the test run." + }, + { + "name": "zipAfterPublish", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Zip published projects", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If true, folder created by the publish command will be zipped." + }, + { + "name": "modifyOutputPath", + "type": "boolean", + "visibleRule": "command = publish", + "label": "Add project's folder name to publish path", + "defaultValue": "true", + "required": false, + "helpMarkDown": "If true, folders created by the publish command will have project's folder name prefixed to their folder names when output path is specified explicitly in arguments. This is useful if you want to publish multiple projects to the same folder." + }, + { + "name": "selectOrConfig", + "aliases": [ + "feedsToUse" + ], + "type": "radio", + "label": "Feeds to use", + "defaultValue": "select", + "helpMarkDown": "You can either select a feed from Azure Artifacts and/or NuGet.org here, or commit a nuget.config file to your source code repository and set its path here.", + "required": "true", + "options": { + "select": "Feed(s) I select here", + "config": "Feeds in my NuGet.config" + }, + "groupName": "restoreAuth" + }, + { + "name": "feedRestore", + "aliases": [ + "vstsFeed" + ], + "type": "pickList", + "label": "Use packages from this Azure Artifacts feed", + "defaultValue": "", + "helpMarkDown": "Include the selected feed in the generated NuGet.config. You must have Azure Artifacts installed and licensed to select a feed here.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "includeNuGetOrg", + "type": "boolean", + "label": "Use packages from NuGet.org", + "defaultValue": "true", + "helpMarkDown": "Include NuGet.org in the generated NuGet.config.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select" + }, + { + "name": "nugetConfigPath", + "type": "filePath", + "label": "Path to NuGet.config", + "defaultValue": "", + "helpMarkDown": "The NuGet.config in your repository that specifies the feeds from which to restore packages.", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "externalEndpoints", + "aliases": [ + "externalFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "Credentials for feeds outside this organization/collection", + "required": false, + "helpMarkDown": "Credentials to use for external registries located in the selected NuGet.config. For feeds in this organization/collection, leave this blank; the build’s credentials are used automatically.", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "True" + }, + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "noCache", + "type": "boolean", + "label": "Disable local cache", + "defaultValue": "false", + "helpMarkDown": "Prevents NuGet from using packages from local machine caches.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "packagesDirectory", + "aliases": [ + "restoreDirectory" + ], + "type": "string", + "label": "Destination directory", + "defaultValue": "", + "helpMarkDown": "Specifies the folder in which packages are installed. If no folder is specified, packages are restored into the default NuGet package cache.", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "verbosityRestore", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "restoreAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "searchPatternPush", + "aliases": [ + "packagesToPush" + ], + "type": "filePath", + "label": "Path to NuGet package(s) to publish", + "defaultValue": "$(Build.ArtifactStagingDirectory)/*.nupkg", + "helpMarkDown": "The pattern to match or path to nupkg files to be uploaded. Multiple patterns can be separated by a semicolon.", + "required": true, + "visibleRule": "command = push" + }, + { + "name": "nuGetFeedType", + "type": "radio", + "label": "Target feed location", + "required": true, + "defaultValue": "internal", + "options": { + "internal": "This organization/collection", + "external": "External NuGet server (including other organizations/collections)" + }, + "visibleRule": "command = push" + }, + { + "name": "feedPublish", + "aliases": [ + "publishVstsFeed" + ], + "type": "pickList", + "label": "Target feed", + "defaultValue": "", + "required": true, + "helpMarkDown": "Select a feed hosted in this organization. You must have Azure Artifacts installed and licensed to select a feed here.", + "visibleRule": "command = push && nuGetFeedType = internal", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "publishPackageMetadata", + "groupName": "pushAdvanced", + "type": "boolean", + "label": "Publish pipeline metadata", + "defaultValue": true, + "helpMarkDown": "Associate this build/release pipeline’s metadata (run #, source code information) with the package", + "visibleRule": "command = push && nuGetFeedType = internal" + }, + { + "name": "externalEndpoint", + "aliases": [ + "publishFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "NuGet server", + "required": true, + "helpMarkDown": "The NuGet service connection that contains the external NuGet server’s credentials.", + "visibleRule": "command = push && nuGetFeedType = external" + }, + { + "name": "searchPatternPack", + "aliases": [ + "packagesToPack" + ], + "type": "filePath", + "label": "Path to csproj or nuspec file(s) to pack", + "defaultValue": "**/*.csproj", + "helpMarkDown": "Pattern to search for csproj or nuspec files to pack.\n\nYou can separate multiple patterns with a semicolon, and you can make a pattern negative by prefixing it with '!'. Example: `**/*.csproj;!**/*.Tests.csproj`", + "required": true, + "visibleRule": "command = pack" + }, + { + "name": "configurationToPack", + "aliases": [ + "configuration" + ], + "type": "string", + "label": "Configuration to Package", + "defaultValue": "$(BuildConfiguration)", + "helpMarkDown": "When using a csproj file this specifies the configuration to package", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "outputDir", + "aliases": [ + "packDirectory" + ], + "type": "filePath", + "label": "Package Folder", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "Folder where packages will be created. If empty, packages will be created alongside the csproj file.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "nobuild", + "type": "boolean", + "label": "Do not build", + "defaultValue": "false", + "helpMarkDown": "Don't build the project before packing. Corresponds to the --no-build command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesymbols", + "type": "boolean", + "label": "Include Symbols", + "defaultValue": "false", + "helpMarkDown": "Additionally creates symbol NuGet packages. Corresponds to the --include-symbols command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesource", + "type": "boolean", + "label": "Include Source", + "defaultValue": "false", + "helpMarkDown": "Includes source code in the package. Corresponds to the --include-source command line parameter.", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "versioningScheme", + "type": "pickList", + "label": "Automatic package versioning", + "defaultValue": "off", + "helpMarkDown": "Cannot be used with include referenced projects. If you choose 'Use the date and time', this will generate a [SemVer](http://semver.org/spec/v1.0.0.html)-compliant version formatted as `X.Y.Z-ci-datetime` where you choose X, Y, and Z.\n\nIf you choose 'Use an environment variable', you must select an environment variable and ensure it contains the version number you want to use.\n\nIf you choose 'Use the build number', this will use the build number to version your package. **Note:** Under Options set the build number format to be '[$(BuildDefinitionName)_$(Year:yyyy).$(Month).$(DayOfMonth)$(Rev:.r)](https://go.microsoft.com/fwlink/?LinkID=627416)'.", + "required": true, + "groupName": "packOptions", + "options": { + "off": "Off", + "byPrereleaseNumber": "Use the date and time", + "byEnvVar": "Use an environment variable", + "byBuildNumber": "Use the build number" + } + }, + { + "name": "versionEnvVar", + "type": "string", + "label": "Environment variable", + "defaultValue": "", + "helpMarkDown": "Enter the variable name without $, $env, or %.", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byEnvVar" + }, + { + "name": "requestedMajorVersion", + "aliases": [ + "majorVersion" + ], + "type": "string", + "label": "Major", + "defaultValue": "1", + "helpMarkDown": "The 'X' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedMinorVersion", + "aliases": [ + "minorVersion" + ], + "type": "string", + "label": "Minor", + "defaultValue": "0", + "helpMarkDown": "The 'Y' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedPatchVersion", + "aliases": [ + "patchVersion" + ], + "type": "string", + "label": "Patch", + "defaultValue": "0", + "helpMarkDown": "The 'Z' in version [X.Y.Z](http://semver.org/spec/v1.0.0.html)", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "buildProperties", + "type": "string", + "label": "Additional build properties", + "defaultValue": "", + "required": false, + "helpMarkDown": "Specifies a list of token = value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Values can be strings in quotation marks.", + "groupName": "packAdvanced" + }, + { + "name": "verbosityPack", + "type": "pickList", + "label": "Verbosity", + "defaultValue": "Detailed", + "helpMarkDown": "Specifies the amount of detail displayed in the output.", + "required": "false", + "groupName": "packAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "Working directory", + "helpMarkDown": "Current working directory where the script is run. Empty is the root of the repo (build) or artifacts (release), which is $(System.DefaultWorkingDirectory). The project search pattern is **NOT** relative to working directory.", + "required": "false", + "groupName": "generalAdvanced", + "visibleRule": "command != restore && command != push && command != pack" + } + ], + "dataSourceBindings": [ + { + "target": "feedRestore", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + }, + { + "target": "feedPublish", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "execution": { + "Node10": { + "target": "dotnetcore.js", + "argumentFormat": "" + }, + "Node16": { + "target": "dotnetcore.js", + "argumentFormat": "" + } + }, + "messages": { + "BuildIdentityPermissionsHint": "For internal feeds, make sure the build service identity '%s' [%s] has access to the feed.", + "CouldNotSetCodePaging": "Could not set the code paging of due to following error: %s", + "Error_AutomaticallyVersionReleases": "Autoversion: Getting version number from build option is not supported in releases", + "Error_CommandNotRecognized": "The command %s was not recognized.", + "Error_NoSourceSpecifiedForPush": "No source was specified for push", + "Error_NoValueFoundForEnvVar": "No value was found for the provided environment variable.", + "Error_NoVersionFoundInBuildNumber": "Could not find version number data in the following environment variable: BUILD_BUILDNUMBER. The value of the variable should contain a substring with the following formats: X.Y.Z or X.Y.Z.A where A, X, Y, and Z are positive integers.", + "Error_PackageFailure": "An error occurred while trying to pack the files.", + "Error_PushNotARegularFile": "%s is not a file. Check the 'Path/Pattern to nupkg' property of the task.", + "Info_AttemptingToPackFile": "Attempting to pack file: ", + "Info_NoPackagesMatchedTheSearchPattern": "No packages matched the search pattern.", + "Info_NoFilesMatchedTheSearchPattern": "No files matched the search pattern.", + "PackagesFailedToInstall": "Packages failed to restore", + "PackagesFailedToPublish": "Packages failed to publish", + "PackagesInstalledSuccessfully": "Packages were restored successfully", + "PackagesPublishedSuccessfully": "Packages were published successfully", + "UnknownFeedType": "Unknown feed type '%s'", + "Warning_AutomaticallyVersionReferencedProjects": "The automatic package versioning and include referenced projects options do not work together. Referenced projects will not inherit the custom version provided by the automatic versioning settings.", + "Warning_MoreThanOneVersionInBuildNumber": "Found more than one instance of version data in BUILD_BUILDNUMBER.Assuming first instance is version.", + "dotnetCommandFailed": "Dotnet command failed with non-zero exit code on the following projects : %s", + "noProjectFilesFound": "Project file(s) matching the specified pattern were not found.", + "noPublishFolderFoundToZip": "A publish folder could not be found to zip for project file: %s.", + "noWebProjectFound": "No web project was found in the repository. Web projects are identified by presence of either a web.config file, wwwroot folder in the directory, or by the usage of Microsoft.Net.Web.Sdk in your project file. You can set Publish web projects property to false (publishWebProjects: false in yml) if your project doesn't follow this convention or if you want to publish projects other than web projects.", + "zipFailed": "Zip failed with error: %s", + "Error_ApiKeyNotSupported": "DotNetCore currently does not support using an encrypted Api Key.", + "Error_ExpectedConfigurationElement": "Invalid xml. Expected element named 'configuration'.", + "Error_NoMatchingFilesFoundForPattern": "No matching files were found with search pattern: %s", + "Error_NoUrlWasFoundWhichMatches": "No download URL was found for %s", + "Error_NoVersionWasFoundWhichMatches": "No version was found which matches the input %s", + "Error_NuGetToolInstallerFailer": "Tool install failed: %s", + "Info_AvailableVersions": "The available versions are: %s", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "You are using a query match on the version string. Behavior changes or breaking changes might occur as NuGet updates to a new version.", + "Info_MatchingUrlWasFoundSettingAuth": "Using authentication information for the following URI: ", + "Info_ResolvedToolFromCache": "Resolved from tool cache: %s", + "Info_SavingTempConfig": "Saving NuGet.config to a temporary config file.", + "Info_UsingToolPath": "Using tool path: %s", + "Info_UsingVersion": "Using version: %s", + "NGCommon_AddingSources": "Setting credentials in NuGet.config", + "NGCommon_AreaNotFoundInSps": "Unable to locate the '%s' [%s] area. The service containing that area may not be available in your region.", + "NGCommon_DetectedNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable): %s", + "NGCommon_DetectedNuGetVersion": "Detected NuGet version %s / %s", + "NGCommon_IgnoringNuGetExtensionsPath": "Detected NuGet extensions loader path (NUGET_EXTENSIONS_PATH environment variable). Extensions are ignored when using the built-in NuGet client", + "NGCommon_NoSourcesFoundInConfig": "No package sources were found in the NuGet.config file at %s", + "NGCommon_NuGetConfigIsInvalid": "The NuGet.config at %s is invalid.", + "NGCommon_NuGetConfigIsPackagesConfig": "Expected a NuGet.config file at %s, but its contents appear to be a packages.config. Check the settings for the %s task and confirm you selected NuGet.config rather than packages.config.", + "NGCommon_RemovingSources": "Preparing to set credentials in NuGet.config", + "NGCommon_SpsNotFound": "Unable to find the '%s' [%s] area. There may be a problem with your Team Foundation Server installation.", + "NGCommon_UnabletoDetectNuGetVersion": "Unknown NuGet version selected.", + "NGCommon_UnableToFindTool": "Unable to find tool %s", + "Warning_SessionCreationFailed": "Could not create provenance session: %s", + "Warning_UpdatingNuGetVersion": "Updating version of NuGet.exe to %s from %s. Behavior changes or breaking changes might occur as NuGet updates to a new version. If this is not desired, deselect the 'Check for Latest Version' option in the task.", + "Net5Update": "Info: Azure Pipelines hosted agents have been updated and now contain .Net 5.x SDK/Runtime along with the older .Net Core version which are currently lts. Unless you have locked down a SDK version for your project(s), 5.x SDK might be picked up which might have breaking behavior as compared to previous versions. You can learn more about the breaking changes here: https://docs.microsoft.com/en-us/dotnet/core/tools/ and https://docs.microsoft.com/en-us/dotnet/core/compatibility/ . To learn about more such changes and troubleshoot, refer here: https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/build/dotnet-core-cli?view=azure-devops#troubleshooting", + "Net5NugetVersionCompat": ".NET 5 has some compatibility issues with older Nuget versions(<=5.7), so if you are using an older Nuget version(and not dotnet cli) to restore, then the dotnet cli commands (e.g. dotnet build) which rely on such restored packages might fail. To mitigate such error, you can either: (1) - Use dotnet cli to restore, (2) - Use Nuget version 5.8 to restore, (3) - Use global.json using an older sdk version(<=3) to build", + "DeprecatedDotnet2_2_And_3_0": "Info: .NET Core SDK/runtime 2.2 and 3.0 are now End of Life(EOL) and have been removed from all hosted agents. If you're using these SDK/runtimes on hosted agents, kindly upgrade to newer versions which are not EOL, or else use UseDotNet task to install the required version.", + "Warning_IncludeNuGetOrgEnabled": "IncludeNugetOrg is currently enabled for this task. To resolve this warning, edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'.", + "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'." + }, + "_buildConfigMapping": { + "Default": "2.232.0", + "Node20_229_2": "2.232.1" + } +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/task.loc.json b/_generated/DotNetCoreCLIV2/task.loc.json new file mode 100644 index 000000000000..8a1ff494807a --- /dev/null +++ b/_generated/DotNetCoreCLIV2/task.loc.json @@ -0,0 +1,588 @@ +{ + "id": "5541a522-603c-47ad-91fc-a4b1d163081b", + "name": "DotNetCoreCLI", + "friendlyName": "ms-resource:loc.friendlyName", + "description": "ms-resource:loc.description", + "author": "Microsoft Corporation", + "helpUrl": "https://docs.microsoft.com/azure/devops/pipelines/tasks/build/dotnet-core-cli", + "helpMarkDown": "ms-resource:loc.helpMarkDown", + "category": "Build", + "visibility": [ + "Build", + "Release" + ], + "runsOn": [ + "Agent" + ], + "demands": [], + "version": { + "Major": 2, + "Minor": 232, + "Patch": 0 + }, + "minimumAgentVersion": "2.144.0", + "instanceNameFormat": "ms-resource:loc.instanceNameFormat", + "groups": [ + { + "name": "restoreAuth", + "displayName": "ms-resource:loc.group.displayName.restoreAuth", + "isExpanded": true, + "visibleRule": "command = restore" + }, + { + "name": "restoreAdvanced", + "displayName": "ms-resource:loc.group.displayName.restoreAdvanced", + "isExpanded": false, + "visibleRule": "command = restore" + }, + { + "name": "pushAuth", + "displayName": "ms-resource:loc.group.displayName.pushAuth", + "isExpanded": true, + "visibleRule": "command = push" + }, + { + "name": "pushAdvanced", + "displayName": "ms-resource:loc.group.displayName.pushAdvanced", + "isExpanded": false, + "visibleRule": "command = push" + }, + { + "name": "packOptions", + "displayName": "ms-resource:loc.group.displayName.packOptions", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "packAdvanced", + "displayName": "ms-resource:loc.group.displayName.packAdvanced", + "isExpanded": false, + "visibleRule": "command = pack" + }, + { + "name": "generalAdvanced", + "displayName": "ms-resource:loc.group.displayName.generalAdvanced", + "isExpanded": false, + "visibleRule": "command != pack && command != push && command != restore" + } + ], + "inputs": [ + { + "name": "command", + "type": "pickList", + "label": "ms-resource:loc.input.label.command", + "defaultValue": "build", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.command", + "options": { + "build": "build", + "push": "nuget push", + "pack": "pack", + "publish": "publish", + "restore": "restore", + "run": "run", + "test": "test", + "custom": "custom" + }, + "properties": { + "EditableOptions": "False" + } + }, + { + "name": "publishWebProjects", + "type": "boolean", + "visibleRule": "command = publish", + "label": "ms-resource:loc.input.label.publishWebProjects", + "defaultValue": "true", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.publishWebProjects" + }, + { + "name": "projects", + "type": "multiLine", + "label": "ms-resource:loc.input.label.projects", + "defaultValue": "", + "visibleRule": "command = build || command = restore || command = run || command = test || command = custom || publishWebProjects = false", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.projects" + }, + { + "name": "custom", + "type": "string", + "label": "ms-resource:loc.input.label.custom", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.custom", + "required": true, + "visibleRule": "command = custom" + }, + { + "name": "arguments", + "type": "string", + "label": "ms-resource:loc.input.label.arguments", + "defaultValue": "", + "visibleRule": "command = build || command = publish || command = run || command = test || command = custom", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.arguments" + }, + { + "name": "restoreArguments", + "type": "string", + "label": "ms-resource:loc.input.label.restoreArguments", + "defaultValue": "", + "visibleRule": "command = restore", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.restoreArguments" + }, + { + "name": "publishTestResults", + "type": "boolean", + "label": "ms-resource:loc.input.label.publishTestResults", + "defaultValue": "true", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.publishTestResults" + }, + { + "name": "testRunTitle", + "type": "string", + "label": "ms-resource:loc.input.label.testRunTitle", + "defaultValue": "", + "visibleRule": "command = test", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.testRunTitle" + }, + { + "name": "zipAfterPublish", + "type": "boolean", + "visibleRule": "command = publish", + "label": "ms-resource:loc.input.label.zipAfterPublish", + "defaultValue": "true", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.zipAfterPublish" + }, + { + "name": "modifyOutputPath", + "type": "boolean", + "visibleRule": "command = publish", + "label": "ms-resource:loc.input.label.modifyOutputPath", + "defaultValue": "true", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.modifyOutputPath" + }, + { + "name": "selectOrConfig", + "aliases": [ + "feedsToUse" + ], + "type": "radio", + "label": "ms-resource:loc.input.label.selectOrConfig", + "defaultValue": "select", + "helpMarkDown": "ms-resource:loc.input.help.selectOrConfig", + "required": "true", + "options": { + "select": "Feed(s) I select here", + "config": "Feeds in my NuGet.config" + }, + "groupName": "restoreAuth" + }, + { + "name": "feedRestore", + "aliases": [ + "vstsFeed" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.feedRestore", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.feedRestore", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "includeNuGetOrg", + "type": "boolean", + "label": "ms-resource:loc.input.label.includeNuGetOrg", + "defaultValue": "true", + "helpMarkDown": "ms-resource:loc.input.help.includeNuGetOrg", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = select" + }, + { + "name": "nugetConfigPath", + "type": "filePath", + "label": "ms-resource:loc.input.label.nugetConfigPath", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.nugetConfigPath", + "required": "false", + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "externalEndpoints", + "aliases": [ + "externalFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "ms-resource:loc.input.label.externalEndpoints", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.externalEndpoints", + "properties": { + "EditableOptions": "False", + "MultiSelectFlatList": "True" + }, + "groupName": "restoreAuth", + "visibleRule": "selectOrConfig = config" + }, + { + "name": "noCache", + "type": "boolean", + "label": "ms-resource:loc.input.label.noCache", + "defaultValue": "false", + "helpMarkDown": "ms-resource:loc.input.help.noCache", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "packagesDirectory", + "aliases": [ + "restoreDirectory" + ], + "type": "string", + "label": "ms-resource:loc.input.label.packagesDirectory", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.packagesDirectory", + "required": "false", + "groupName": "restoreAdvanced" + }, + { + "name": "verbosityRestore", + "type": "pickList", + "label": "ms-resource:loc.input.label.verbosityRestore", + "defaultValue": "Detailed", + "helpMarkDown": "ms-resource:loc.input.help.verbosityRestore", + "required": "false", + "groupName": "restoreAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "searchPatternPush", + "aliases": [ + "packagesToPush" + ], + "type": "filePath", + "label": "ms-resource:loc.input.label.searchPatternPush", + "defaultValue": "$(Build.ArtifactStagingDirectory)/*.nupkg", + "helpMarkDown": "ms-resource:loc.input.help.searchPatternPush", + "required": true, + "visibleRule": "command = push" + }, + { + "name": "nuGetFeedType", + "type": "radio", + "label": "ms-resource:loc.input.label.nuGetFeedType", + "required": true, + "defaultValue": "internal", + "options": { + "internal": "This organization/collection", + "external": "External NuGet server (including other organizations/collections)" + }, + "visibleRule": "command = push" + }, + { + "name": "feedPublish", + "aliases": [ + "publishVstsFeed" + ], + "type": "pickList", + "label": "ms-resource:loc.input.label.feedPublish", + "defaultValue": "", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.feedPublish", + "visibleRule": "command = push && nuGetFeedType = internal", + "properties": { + "EditableOptions": "True" + } + }, + { + "name": "publishPackageMetadata", + "groupName": "pushAdvanced", + "type": "boolean", + "label": "ms-resource:loc.input.label.publishPackageMetadata", + "defaultValue": true, + "helpMarkDown": "ms-resource:loc.input.help.publishPackageMetadata", + "visibleRule": "command = push && nuGetFeedType = internal" + }, + { + "name": "externalEndpoint", + "aliases": [ + "publishFeedCredentials" + ], + "type": "connectedService:ExternalNuGetFeed", + "label": "ms-resource:loc.input.label.externalEndpoint", + "required": true, + "helpMarkDown": "ms-resource:loc.input.help.externalEndpoint", + "visibleRule": "command = push && nuGetFeedType = external" + }, + { + "name": "searchPatternPack", + "aliases": [ + "packagesToPack" + ], + "type": "filePath", + "label": "ms-resource:loc.input.label.searchPatternPack", + "defaultValue": "**/*.csproj", + "helpMarkDown": "ms-resource:loc.input.help.searchPatternPack", + "required": true, + "visibleRule": "command = pack" + }, + { + "name": "configurationToPack", + "aliases": [ + "configuration" + ], + "type": "string", + "label": "ms-resource:loc.input.label.configurationToPack", + "defaultValue": "$(BuildConfiguration)", + "helpMarkDown": "ms-resource:loc.input.help.configurationToPack", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "outputDir", + "aliases": [ + "packDirectory" + ], + "type": "filePath", + "label": "ms-resource:loc.input.label.outputDir", + "defaultValue": "$(Build.ArtifactStagingDirectory)", + "helpMarkDown": "ms-resource:loc.input.help.outputDir", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "nobuild", + "type": "boolean", + "label": "ms-resource:loc.input.label.nobuild", + "defaultValue": "false", + "helpMarkDown": "ms-resource:loc.input.help.nobuild", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesymbols", + "type": "boolean", + "label": "ms-resource:loc.input.label.includesymbols", + "defaultValue": "false", + "helpMarkDown": "ms-resource:loc.input.help.includesymbols", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "includesource", + "type": "boolean", + "label": "ms-resource:loc.input.label.includesource", + "defaultValue": "false", + "helpMarkDown": "ms-resource:loc.input.help.includesource", + "required": false, + "visibleRule": "command = pack" + }, + { + "name": "versioningScheme", + "type": "pickList", + "label": "ms-resource:loc.input.label.versioningScheme", + "defaultValue": "off", + "helpMarkDown": "ms-resource:loc.input.help.versioningScheme", + "required": true, + "groupName": "packOptions", + "options": { + "off": "Off", + "byPrereleaseNumber": "Use the date and time", + "byEnvVar": "Use an environment variable", + "byBuildNumber": "Use the build number" + } + }, + { + "name": "versionEnvVar", + "type": "string", + "label": "ms-resource:loc.input.label.versionEnvVar", + "defaultValue": "", + "helpMarkDown": "ms-resource:loc.input.help.versionEnvVar", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byEnvVar" + }, + { + "name": "requestedMajorVersion", + "aliases": [ + "majorVersion" + ], + "type": "string", + "label": "ms-resource:loc.input.label.requestedMajorVersion", + "defaultValue": "1", + "helpMarkDown": "ms-resource:loc.input.help.requestedMajorVersion", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedMinorVersion", + "aliases": [ + "minorVersion" + ], + "type": "string", + "label": "ms-resource:loc.input.label.requestedMinorVersion", + "defaultValue": "0", + "helpMarkDown": "ms-resource:loc.input.help.requestedMinorVersion", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "requestedPatchVersion", + "aliases": [ + "patchVersion" + ], + "type": "string", + "label": "ms-resource:loc.input.label.requestedPatchVersion", + "defaultValue": "0", + "helpMarkDown": "ms-resource:loc.input.help.requestedPatchVersion", + "required": true, + "groupName": "packOptions", + "visibleRule": "versioningScheme = byPrereleaseNumber" + }, + { + "name": "buildProperties", + "type": "string", + "label": "ms-resource:loc.input.label.buildProperties", + "defaultValue": "", + "required": false, + "helpMarkDown": "ms-resource:loc.input.help.buildProperties", + "groupName": "packAdvanced" + }, + { + "name": "verbosityPack", + "type": "pickList", + "label": "ms-resource:loc.input.label.verbosityPack", + "defaultValue": "Detailed", + "helpMarkDown": "ms-resource:loc.input.help.verbosityPack", + "required": "false", + "groupName": "packAdvanced", + "options": { + "-": "-", + "Quiet": "Quiet", + "Minimal": "Minimal", + "Normal": "Normal", + "Detailed": "Detailed", + "Diagnostic": "Diagnostic" + } + }, + { + "name": "workingDirectory", + "type": "filePath", + "label": "ms-resource:loc.input.label.workingDirectory", + "helpMarkDown": "ms-resource:loc.input.help.workingDirectory", + "required": "false", + "groupName": "generalAdvanced", + "visibleRule": "command != restore && command != push && command != pack" + } + ], + "dataSourceBindings": [ + { + "target": "feedRestore", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + }, + { + "target": "feedPublish", + "endpointId": "tfs:feed", + "endpointUrl": "{{endpoint.url}}/_apis/packaging/feeds?includeUrls=False", + "resultSelector": "jsonpath:$.value[*]", + "resultTemplate": "{ \"Value\" : \"{{#if project}}{{{project.id}}}\\/{{/if}}{{{id}}}\", \"DisplayValue\" : \"{{{name}}}\" }" + } + ], + "execution": { + "Node10": { + "target": "dotnetcore.js", + "argumentFormat": "" + }, + "Node16": { + "target": "dotnetcore.js", + "argumentFormat": "" + } + }, + "messages": { + "BuildIdentityPermissionsHint": "ms-resource:loc.messages.BuildIdentityPermissionsHint", + "CouldNotSetCodePaging": "ms-resource:loc.messages.CouldNotSetCodePaging", + "Error_AutomaticallyVersionReleases": "ms-resource:loc.messages.Error_AutomaticallyVersionReleases", + "Error_CommandNotRecognized": "ms-resource:loc.messages.Error_CommandNotRecognized", + "Error_NoSourceSpecifiedForPush": "ms-resource:loc.messages.Error_NoSourceSpecifiedForPush", + "Error_NoValueFoundForEnvVar": "ms-resource:loc.messages.Error_NoValueFoundForEnvVar", + "Error_NoVersionFoundInBuildNumber": "ms-resource:loc.messages.Error_NoVersionFoundInBuildNumber", + "Error_PackageFailure": "ms-resource:loc.messages.Error_PackageFailure", + "Error_PushNotARegularFile": "ms-resource:loc.messages.Error_PushNotARegularFile", + "Info_AttemptingToPackFile": "ms-resource:loc.messages.Info_AttemptingToPackFile", + "Info_NoPackagesMatchedTheSearchPattern": "ms-resource:loc.messages.Info_NoPackagesMatchedTheSearchPattern", + "Info_NoFilesMatchedTheSearchPattern": "ms-resource:loc.messages.Info_NoFilesMatchedTheSearchPattern", + "PackagesFailedToInstall": "ms-resource:loc.messages.PackagesFailedToInstall", + "PackagesFailedToPublish": "ms-resource:loc.messages.PackagesFailedToPublish", + "PackagesInstalledSuccessfully": "ms-resource:loc.messages.PackagesInstalledSuccessfully", + "PackagesPublishedSuccessfully": "ms-resource:loc.messages.PackagesPublishedSuccessfully", + "UnknownFeedType": "ms-resource:loc.messages.UnknownFeedType", + "Warning_AutomaticallyVersionReferencedProjects": "ms-resource:loc.messages.Warning_AutomaticallyVersionReferencedProjects", + "Warning_MoreThanOneVersionInBuildNumber": "ms-resource:loc.messages.Warning_MoreThanOneVersionInBuildNumber", + "dotnetCommandFailed": "ms-resource:loc.messages.dotnetCommandFailed", + "noProjectFilesFound": "ms-resource:loc.messages.noProjectFilesFound", + "noPublishFolderFoundToZip": "ms-resource:loc.messages.noPublishFolderFoundToZip", + "noWebProjectFound": "ms-resource:loc.messages.noWebProjectFound", + "zipFailed": "ms-resource:loc.messages.zipFailed", + "Error_ApiKeyNotSupported": "ms-resource:loc.messages.Error_ApiKeyNotSupported", + "Error_ExpectedConfigurationElement": "ms-resource:loc.messages.Error_ExpectedConfigurationElement", + "Error_NoMatchingFilesFoundForPattern": "ms-resource:loc.messages.Error_NoMatchingFilesFoundForPattern", + "Error_NoUrlWasFoundWhichMatches": "ms-resource:loc.messages.Error_NoUrlWasFoundWhichMatches", + "Error_NoVersionWasFoundWhichMatches": "ms-resource:loc.messages.Error_NoVersionWasFoundWhichMatches", + "Error_NuGetToolInstallerFailer": "ms-resource:loc.messages.Error_NuGetToolInstallerFailer", + "Info_AvailableVersions": "ms-resource:loc.messages.Info_AvailableVersions", + "Info_ExpectBehaviorChangeWhenUsingVersionQuery": "ms-resource:loc.messages.Info_ExpectBehaviorChangeWhenUsingVersionQuery", + "Info_MatchingUrlWasFoundSettingAuth": "ms-resource:loc.messages.Info_MatchingUrlWasFoundSettingAuth", + "Info_ResolvedToolFromCache": "ms-resource:loc.messages.Info_ResolvedToolFromCache", + "Info_SavingTempConfig": "ms-resource:loc.messages.Info_SavingTempConfig", + "Info_UsingToolPath": "ms-resource:loc.messages.Info_UsingToolPath", + "Info_UsingVersion": "ms-resource:loc.messages.Info_UsingVersion", + "NGCommon_AddingSources": "ms-resource:loc.messages.NGCommon_AddingSources", + "NGCommon_AreaNotFoundInSps": "ms-resource:loc.messages.NGCommon_AreaNotFoundInSps", + "NGCommon_DetectedNuGetExtensionsPath": "ms-resource:loc.messages.NGCommon_DetectedNuGetExtensionsPath", + "NGCommon_DetectedNuGetVersion": "ms-resource:loc.messages.NGCommon_DetectedNuGetVersion", + "NGCommon_IgnoringNuGetExtensionsPath": "ms-resource:loc.messages.NGCommon_IgnoringNuGetExtensionsPath", + "NGCommon_NoSourcesFoundInConfig": "ms-resource:loc.messages.NGCommon_NoSourcesFoundInConfig", + "NGCommon_NuGetConfigIsInvalid": "ms-resource:loc.messages.NGCommon_NuGetConfigIsInvalid", + "NGCommon_NuGetConfigIsPackagesConfig": "ms-resource:loc.messages.NGCommon_NuGetConfigIsPackagesConfig", + "NGCommon_RemovingSources": "ms-resource:loc.messages.NGCommon_RemovingSources", + "NGCommon_SpsNotFound": "ms-resource:loc.messages.NGCommon_SpsNotFound", + "NGCommon_UnabletoDetectNuGetVersion": "ms-resource:loc.messages.NGCommon_UnabletoDetectNuGetVersion", + "NGCommon_UnableToFindTool": "ms-resource:loc.messages.NGCommon_UnableToFindTool", + "Warning_SessionCreationFailed": "ms-resource:loc.messages.Warning_SessionCreationFailed", + "Warning_UpdatingNuGetVersion": "ms-resource:loc.messages.Warning_UpdatingNuGetVersion", + "Net5Update": "ms-resource:loc.messages.Net5Update", + "Net5NugetVersionCompat": "ms-resource:loc.messages.Net5NugetVersionCompat", + "DeprecatedDotnet2_2_And_3_0": "ms-resource:loc.messages.DeprecatedDotnet2_2_And_3_0", + "Warning_IncludeNuGetOrgEnabled": "ms-resource:loc.messages.Warning_IncludeNuGetOrgEnabled", + "Error_IncludeNuGetOrgEnabled": "ms-resource:loc.messages.Error_IncludeNuGetOrgEnabled" + }, + "_buildConfigMapping": { + "Default": "2.232.0", + "Node20_229_2": "2.232.1" + } +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2/tsconfig.json b/_generated/DotNetCoreCLIV2/tsconfig.json new file mode 100644 index 000000000000..0438b79f69ac --- /dev/null +++ b/_generated/DotNetCoreCLIV2/tsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2_Node20/Tests/L0.ts b/_generated/DotNetCoreCLIV2_Node20/Tests/L0.ts index a032211f31ed..a0d74a6e13b0 100644 --- a/_generated/DotNetCoreCLIV2_Node20/Tests/L0.ts +++ b/_generated/DotNetCoreCLIV2_Node20/Tests/L0.ts @@ -6,7 +6,7 @@ import os = require('os'); import fs = require('fs'); describe('DotNetCoreExe Suite', function () { - this.timeout(5000); + this.timeout(10000); before(() => { }); diff --git a/_generated/DotNetCoreCLIV2_Node20/package-lock.json b/_generated/DotNetCoreCLIV2_Node20/package-lock.json index 01f6e1e2b077..7f5b1fdd29fd 100644 --- a/_generated/DotNetCoreCLIV2_Node20/package-lock.json +++ b/_generated/DotNetCoreCLIV2_Node20/package-lock.json @@ -44,9 +44,9 @@ "integrity": "sha512-SwFMxO68Z6ERGFpPYBdmgfS5LloELzY16h/PMAhnxMog91JcHI5AJjW0HN56cGUPhV0nDb8xNWsJkhuDzr4lAQ==" }, "@types/node": { - "version": "20.8.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.9.tgz", - "integrity": "sha512-UzykFsT3FhHb1h7yD4CA4YhBHq545JC0YnEz41xkipN88eKQtL6rSgocL5tbAP6Ola9Izm/Aw4Ora8He4x0BHg==", + "version": "20.10.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.1.tgz", + "integrity": "sha512-T2qwhjWwGH81vUEx4EXmBKsTJRXFXNZTL4v0gi01+zyBmCwzE6TyHszqX01m+QHTEq+EZNo13NeJIdEqf+Myrg==", "requires": { "undici-types": "~5.26.4" } @@ -76,6 +76,14 @@ "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==" }, + "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" + } + }, "archiver": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/archiver/-/archiver-1.2.0.tgz", @@ -171,9 +179,9 @@ } }, "azure-pipelines-tasks-packaging-common": { - "version": "3.214.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.214.0.tgz", - "integrity": "sha512-TLn0BDm/igBwmKbEoLuGUUeijpDKRBVbi5hU72RvsAuAAFV3PHZgg/l0yHvPKS8BDDQ5zUS6g/Yo+9t8mSg09A==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-packaging-common/-/azure-pipelines-tasks-packaging-common-3.230.0.tgz", + "integrity": "sha512-aR+pQsQYeAVbGYEDzhO96pn8PZ8FrhyHUtO0mA5iJRyM/xg8+LUqe3iO63N1FEK82U/hKHznY1+qbgf0IIK0xA==", "requires": { "@types/ini": "1.3.30", "@types/ltx": "2.8.0", @@ -184,7 +192,7 @@ "adm-zip": "^0.4.11", "azure-devops-node-api": "10.2.2", "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-tool-lib": "^2.0.7", "ini": "^1.3.8", "ip-address": "^5.8.9", "ltx": "^2.6.2", @@ -194,9 +202,9 @@ }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", + "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" }, "azure-devops-node-api": { "version": "10.2.2", @@ -206,67 +214,64 @@ "tunnel": "0.0.6", "typed-rest-client": "^1.8.4" } - }, - "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", - "requires": { - "@types/semver": "^5.3.0", - "@types/uuid": "^3.4.5", - "azure-pipelines-task-lib": "^4.0.0-preview", - "semver": "^5.7.0", - "semver-compare": "^1.0.0", - "typed-rest-client": "^1.8.6", - "uuid": "^3.3.2" - }, - "dependencies": { - "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", - "requires": { - "qs": "^6.9.1", - "tunnel": "0.0.6", - "underscore": "^1.12.1" - } - } - } - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" } } }, "azure-pipelines-tasks-utility-common": { - "version": "3.212.0", - "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.212.0.tgz", - "integrity": "sha512-8vz51N7SOyprBHUjJz0HttVjk9+p9Y9wI/VO2ighotfdHvmgK3RB+1u6rsC6mHeVbGdpT51Luu9J6BMRMOXSig==", + "version": "3.230.0", + "resolved": "https://registry.npmjs.org/azure-pipelines-tasks-utility-common/-/azure-pipelines-tasks-utility-common-3.230.0.tgz", + "integrity": "sha512-d84LeflxFdXSFiWic+OIm2ObQtjdnuy2R9tKLq7mUs47mEP8ARWTP+0kOX6nmc4l7R2dhupStcWeltroj12ijg==", "requires": { "@types/node": "^16.11.39", - "azure-pipelines-task-lib": "^4.0.0-preview", - "azure-pipelines-tool-lib": "^2.0.0-preview", + "azure-pipelines-task-lib": "^4.4.0", + "azure-pipelines-tool-lib": "^2.0.7", "js-yaml": "3.13.1", "semver": "^5.4.1" }, "dependencies": { "@types/node": { - "version": "16.18.59", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.59.tgz", - "integrity": "sha512-PJ1w2cNeKUEdey4LiPra0ZuxZFOGvetswE8qHRriV/sUkL5Al4tTmPV9D2+Y/TPIxTHHgxTfRjZVKWhPw/ORhQ==" + "version": "16.18.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-16.18.66.tgz", + "integrity": "sha512-sePmD/imfKvC4re/Wwos1NEcXYm6O96CAG5gQVY53nmDb8ePQ4qPku6uruN7n6TJ0t5FhcoUc2+yvE2/UZVDZw==" + }, + "adm-zip": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.10.tgz", + "integrity": "sha512-x0HvcHqVJNTPk/Bw8JbLWlWoo6Wwnsug0fnYYro1HBrjxZ3G7/AZk7Ahv8JwDe1uIcz8eBqvu86FuF1POiG7vQ==" + }, + "azure-pipelines-task-lib": { + "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", + "nodejs-file-downloader": "^4.11.1", + "q": "^1.5.1", + "semver": "^5.1.0", + "shelljs": "^0.8.5", + "uuid": "^3.0.1" + } + }, + "minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", + "requires": { + "brace-expansion": "^1.1.7" + } } } }, "azure-pipelines-tool-lib": { - "version": "2.0.0-preview", - "resolved": "https://registry.npmjs.org/azure-pipelines-tool-lib/-/azure-pipelines-tool-lib-2.0.0-preview.tgz", - "integrity": "sha512-OeivwKLpLMsvGpZ2H+2UPxFwwqNkV8TzfKByqjYAllzGDAw4BvciAdjCMwkpGdTOnzfPbRpr33sy48kn7RqfKA==", + "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": "^4.0.0-preview", + "azure-pipelines-task-lib": "^4.1.0", "semver": "^5.7.0", "semver-compare": "^1.0.0", "typed-rest-client": "^1.8.6", @@ -274,9 +279,9 @@ }, "dependencies": { "typed-rest-client": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.9.tgz", - "integrity": "sha512-uSmjE38B80wjL85UFX3sTYEUlvZ1JgCRhsWj/fJ4rZ0FqDUFoIuodtiVeE+cUqiVTOKPdKrp/sdftD15MDek6g==", + "version": "1.8.11", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-1.8.11.tgz", + "integrity": "sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==", "requires": { "qs": "^6.9.1", "tunnel": "0.0.6", @@ -300,6 +305,14 @@ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" }, + "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": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", @@ -427,6 +440,23 @@ "readable-stream": "^2.0.0" } }, + "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==", + "requires": { + "ms": "2.1.2" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -445,6 +475,16 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, + "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==" + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==" + }, "form-data": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", @@ -542,6 +582,15 @@ } } }, + "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": { + "agent-base": "6", + "debug": "4" + } + }, "ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -655,6 +704,27 @@ "resolved": "https://registry.npmjs.org/mockery/-/mockery-2.1.0.tgz", "integrity": "sha512-9VkOmxKlWXoDO/h1jDZaS4lH33aWfRiJiNT/tKj+8OGzrcFDLo8d0syGdbsc3Bc4GvRXPb+NMMvojotmuGJTvA==" }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "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==" + }, + "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": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", @@ -759,6 +829,14 @@ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, + "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": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", @@ -869,6 +947,14 @@ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" }, + "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" + } + }, "tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", @@ -912,6 +998,11 @@ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "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", diff --git a/_generated/DotNetCoreCLIV2_Node20/package.json b/_generated/DotNetCoreCLIV2_Node20/package.json index cb0b11bf2442..a8477f32aac6 100644 --- a/_generated/DotNetCoreCLIV2_Node20/package.json +++ b/_generated/DotNetCoreCLIV2_Node20/package.json @@ -22,8 +22,8 @@ "archiver": "1.2.0", "azure-devops-node-api": "11.2.0", "azure-pipelines-task-lib": "^4.1.0", - "azure-pipelines-tasks-packaging-common": "^3.214.0", - "azure-pipelines-tasks-utility-common": "^3.212.0", + "azure-pipelines-tasks-packaging-common": "^3.230.0", + "azure-pipelines-tasks-utility-common": "^3.230.0", "uuid": "3.2.1" }, "devDependencies": { diff --git a/_generated/DotNetCoreCLIV2_Node20/task.json b/_generated/DotNetCoreCLIV2_Node20/task.json index 2d5184651835..52edc2aff4a3 100644 --- a/_generated/DotNetCoreCLIV2_Node20/task.json +++ b/_generated/DotNetCoreCLIV2_Node20/task.json @@ -17,8 +17,8 @@ "demands": [], "version": { "Major": 2, - "Minor": 231, - "Patch": 0 + "Minor": 232, + "Patch": 1 }, "minimumAgentVersion": "2.144.0", "instanceNameFormat": "dotnet $(command)", @@ -586,7 +586,7 @@ "Error_IncludeNuGetOrgEnabled": "Packages failed to restore. Edit your build task and set 'includeNuGetOrg' to 'false' or deselect 'Use packages from NuGet.org'." }, "_buildConfigMapping": { - "Default": "2.221.0", - "Node20_229_2": "2.231.0" + "Default": "2.232.0", + "Node20_229_2": "2.232.1" } } \ No newline at end of file diff --git a/_generated/DotNetCoreCLIV2_Node20/task.loc.json b/_generated/DotNetCoreCLIV2_Node20/task.loc.json index c3c60cffff7c..21ce50e91cb3 100644 --- a/_generated/DotNetCoreCLIV2_Node20/task.loc.json +++ b/_generated/DotNetCoreCLIV2_Node20/task.loc.json @@ -17,8 +17,8 @@ "demands": [], "version": { "Major": 2, - "Minor": 231, - "Patch": 0 + "Minor": 232, + "Patch": 1 }, "minimumAgentVersion": "2.144.0", "instanceNameFormat": "ms-resource:loc.instanceNameFormat", @@ -586,7 +586,7 @@ "Error_IncludeNuGetOrgEnabled": "ms-resource:loc.messages.Error_IncludeNuGetOrgEnabled" }, "_buildConfigMapping": { - "Default": "2.221.0", - "Node20_229_2": "2.231.0" + "Default": "2.232.0", + "Node20_229_2": "2.232.1" } } \ No newline at end of file