azure-pipelines-task-lib 4.8.2 → 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/mock-task.js CHANGED
@@ -60,6 +60,7 @@ module.exports.getInput = task.getInput;
60
60
  module.exports.getInputRequired = task.getInputRequired;
61
61
  module.exports.getBoolInput = task.getBoolInput;
62
62
  module.exports.getBoolFeatureFlag = task.getBoolFeatureFlag;
63
+ module.exports.getPipelineFeature = task.getPipelineFeature;
63
64
  module.exports.getDelimitedInput = task.getDelimitedInput;
64
65
  module.exports.filePathSupplied = task.filePathSupplied;
65
66
  function getPathInput(name, required, check) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azure-pipelines-task-lib",
3
- "version": "4.8.2",
3
+ "version": "4.9.0",
4
4
  "description": "Azure Pipelines Task SDK",
5
5
  "main": "./task.js",
6
6
  "typings": "./task.d.ts",
package/task.d.ts CHANGED
@@ -135,12 +135,20 @@ export declare function getInputRequired(name: string): string;
135
135
  export declare function getBoolInput(name: string, required?: boolean): boolean;
136
136
  /**
137
137
  * Gets the value of an feature flag and converts to a bool.
138
- *
138
+ * @IMPORTANT This method is only for internal Microsoft development. Do not use it for external tasks.
139
139
  * @param name name of the feature flag to get.
140
140
  * @param defaultValue default value of the feature flag in case it's not found in env. (optional. Default value = false)
141
141
  * @returns boolean
142
+ * @deprecated Don't use this for new development. Use getPipelineFeature instead.
142
143
  */
143
144
  export declare function getBoolFeatureFlag(ffName: string, defaultValue?: boolean): boolean;
145
+ /**
146
+ * Gets the value of an task feature and converts to a bool.
147
+ * @IMPORTANT This method is only for internal Microsoft development. Do not use it for external tasks.
148
+ * @param name name of the feature to get.
149
+ * @returns boolean
150
+ */
151
+ export declare function getPipelineFeature(featureName: string): boolean;
144
152
  /**
145
153
  * Gets the value of an input and splits the value using a delimiter (space, comma, etc).
146
154
  * Empty values are removed. This function is useful for splitting an input containing a simple
package/task.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateReleaseName = exports.addBuildTag = exports.updateBuildNumber = exports.uploadBuildLog = exports.associateArtifact = exports.uploadArtifact = exports.logIssue = exports.logDetail = exports.setProgress = exports.setEndpoint = exports.addAttachment = exports.uploadSummary = exports.prependPath = exports.uploadFile = exports.CodeCoverageEnabler = exports.CodeCoveragePublisher = exports.TestPublisher = exports.getHttpCertConfiguration = exports.getHttpProxyConfiguration = exports.findMatch = exports.filter = exports.match = exports.tool = exports.execSync = exports.exec = exports.execAsync = exports.rmRF = exports.legacyFindFiles = exports.find = exports.retry = exports.mv = exports.cp = exports.ls = exports.which = exports.resolve = exports.mkdirP = exports.popd = exports.pushd = exports.cd = exports.checkPath = exports.cwd = exports.getAgentMode = exports.getNodeMajorVersion = exports.getPlatform = exports.osType = exports.writeFile = exports.exist = exports.stats = exports.debug = exports.error = exports.warning = exports.command = exports.setTaskVariable = exports.getTaskVariable = exports.getSecureFileTicket = exports.getSecureFileName = exports.getEndpointAuthorization = exports.getEndpointAuthorizationParameterRequired = exports.getEndpointAuthorizationParameter = exports.getEndpointAuthorizationSchemeRequired = exports.getEndpointAuthorizationScheme = exports.getEndpointDataParameterRequired = exports.getEndpointDataParameter = exports.getEndpointUrlRequired = exports.getEndpointUrl = exports.getPathInputRequired = exports.getPathInput = exports.filePathSupplied = exports.getDelimitedInput = exports.getBoolFeatureFlag = exports.getBoolInput = exports.getInputRequired = exports.getInput = exports.setSecret = exports.setVariable = exports.getVariables = exports.assertAgent = exports.getVariable = exports.loc = exports.setResourcePath = exports.setResult = exports.setErrStream = exports.setStdStream = exports.AgentHostedMode = exports.Platform = exports.IssueSource = exports.FieldType = exports.ArtifactType = exports.IssueType = exports.TaskState = exports.TaskResult = void 0;
3
+ exports.updateReleaseName = exports.addBuildTag = exports.updateBuildNumber = exports.uploadBuildLog = exports.associateArtifact = exports.uploadArtifact = exports.logIssue = exports.logDetail = exports.setProgress = exports.setEndpoint = exports.addAttachment = exports.uploadSummary = exports.prependPath = exports.uploadFile = exports.CodeCoverageEnabler = exports.CodeCoveragePublisher = exports.TestPublisher = exports.getHttpCertConfiguration = exports.getHttpProxyConfiguration = exports.findMatch = exports.filter = exports.match = exports.tool = exports.execSync = exports.exec = exports.execAsync = exports.rmRF = exports.legacyFindFiles = exports.find = exports.retry = exports.mv = exports.cp = exports.ls = exports.which = exports.resolve = exports.mkdirP = exports.popd = exports.pushd = exports.cd = exports.checkPath = exports.cwd = exports.getAgentMode = exports.getNodeMajorVersion = exports.getPlatform = exports.osType = exports.writeFile = exports.exist = exports.stats = exports.debug = exports.error = exports.warning = exports.command = exports.setTaskVariable = exports.getTaskVariable = exports.getSecureFileTicket = exports.getSecureFileName = exports.getEndpointAuthorization = exports.getEndpointAuthorizationParameterRequired = exports.getEndpointAuthorizationParameter = exports.getEndpointAuthorizationSchemeRequired = exports.getEndpointAuthorizationScheme = exports.getEndpointDataParameterRequired = exports.getEndpointDataParameter = exports.getEndpointUrlRequired = exports.getEndpointUrl = exports.getPathInputRequired = exports.getPathInput = exports.filePathSupplied = exports.getDelimitedInput = exports.getPipelineFeature = exports.getBoolFeatureFlag = exports.getBoolInput = exports.getInputRequired = exports.getInput = exports.setSecret = exports.setVariable = exports.getVariables = exports.assertAgent = exports.getVariable = exports.loc = exports.setResourcePath = exports.setResult = exports.setErrStream = exports.setStdStream = exports.AgentHostedMode = exports.Platform = exports.IssueSource = exports.FieldType = exports.ArtifactType = exports.IssueType = exports.TaskState = exports.TaskResult = void 0;
4
4
  var shell = require("shelljs");
5
5
  var childProcess = require("child_process");
6
6
  var fs = require("fs");
@@ -240,10 +240,11 @@ function getBoolInput(name, required) {
240
240
  exports.getBoolInput = getBoolInput;
241
241
  /**
242
242
  * Gets the value of an feature flag and converts to a bool.
243
- *
243
+ * @IMPORTANT This method is only for internal Microsoft development. Do not use it for external tasks.
244
244
  * @param name name of the feature flag to get.
245
245
  * @param defaultValue default value of the feature flag in case it's not found in env. (optional. Default value = false)
246
246
  * @returns boolean
247
+ * @deprecated Don't use this for new development. Use getPipelineFeature instead.
247
248
  */
248
249
  function getBoolFeatureFlag(ffName, defaultValue) {
249
250
  if (defaultValue === void 0) { defaultValue = false; }
@@ -256,6 +257,24 @@ function getBoolFeatureFlag(ffName, defaultValue) {
256
257
  return ffValue.toLowerCase() === "true";
257
258
  }
258
259
  exports.getBoolFeatureFlag = getBoolFeatureFlag;
260
+ /**
261
+ * Gets the value of an task feature and converts to a bool.
262
+ * @IMPORTANT This method is only for internal Microsoft development. Do not use it for external tasks.
263
+ * @param name name of the feature to get.
264
+ * @returns boolean
265
+ */
266
+ function getPipelineFeature(featureName) {
267
+ var variableName = im._getVariableKey("DistributedTask.Tasks." + featureName);
268
+ var featureValue = process.env[variableName];
269
+ if (!featureValue) {
270
+ exports.debug("Feature '" + featureName + "' not found. Returning false as default.");
271
+ return false;
272
+ }
273
+ var boolValue = featureValue.toLowerCase() === "true";
274
+ exports.debug("Feature '" + featureName + "' = '" + featureValue + "'. Processed as '" + boolValue + "'.");
275
+ return boolValue;
276
+ }
277
+ exports.getPipelineFeature = getPipelineFeature;
259
278
  /**
260
279
  * Gets the value of an input and splits the value using a delimiter (space, comma, etc).
261
280
  * Empty values are removed. This function is useful for splitting an input containing a simple
@@ -708,7 +727,7 @@ function mkdirP(p) {
708
727
  var testDir = p;
709
728
  while (true) {
710
729
  // validate the loop is not out of control
711
- if (stack.length >= (process.env['TASKLIB_TEST_MKDIRP_FAILSAFE'] || 1000)) {
730
+ if (stack.length >= Number(process.env['TASKLIB_TEST_MKDIRP_FAILSAFE'] || 1000)) {
712
731
  // let the framework throw
713
732
  exports.debug('loop is out of control');
714
733
  fs.mkdirSync(p);