azure-pipelines-tasks-azurermdeploycommon 3.256.0 → 3.268.1

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.
@@ -1,5 +1,5 @@
1
- import { AzureEndpoint } from '../azure-arm-rest/azureModels';
2
1
  export declare var nock: any;
2
+ import { AzureEndpoint } from '../azure-arm-rest/azureModels';
3
3
  export declare function getMockEndpoint(scheme?: string, msiClientId?: string): AzureEndpoint;
4
4
  export declare function mockAzureARMAppInsightsWebTests(): void;
5
5
  export declare function mockAzureApplicationInsightsTests(): void;
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.mockAzureARMResourcesTests = exports.mockKuduServiceTests = exports.mockAzureAppServiceTests = exports.mockAzureApplicationInsightsTests = exports.mockAzureARMAppInsightsWebTests = exports.getMockEndpoint = exports.nock = void 0;
4
4
  const querystring = require("querystring");
5
- const azure_arm_common_1 = require("../azure-arm-rest/azure-arm-common");
6
5
  exports.nock = require('nock');
6
+ const azure_arm_common_1 = require("../azure-arm-rest/azure-arm-common");
7
7
  function getMockEndpoint(scheme, msiClientId) {
8
8
  process.env["AZURE_HTTP_USER_AGENT"] = "TEST_AGENT";
9
9
  var endpoint = {
@@ -260,8 +260,8 @@ function mockAzureAppServiceTests() {
260
260
  }
261
261
  }).post("/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/Microsoft.Web/sites/MOCK_APP_SERVICE_NAME/publishxml?api-version=2016-08-01")
262
262
  .reply(200, `<publishData>
263
- <publishProfile profileName="MOCK_APP_SERVICE_NAME - Web Deploy" publishMethod="MSDeploy"
264
- publishUrl="MOCK_APP_SERVICE_NAME.scm.azurewebsites.net:443" msdeploySite="MOCK_APP_SERVICE_NAME"
263
+ <publishProfile profileName="MOCK_APP_SERVICE_NAME - Web Deploy" publishMethod="MSDeploy"
264
+ publishUrl="MOCK_APP_SERVICE_NAME.scm.azurewebsites.net:443" msdeploySite="MOCK_APP_SERVICE_NAME"
265
265
  userName="$MOCK_APP_SERVICE_NAME" userPWD="MOCK_APP_SERVICE_MSDEPLOY_PASSWORD" destinationAppUrl="http://MOCK_APP_SERVICE_NAME.azurewebsites.net">
266
266
  </publishProfile>
267
267
  </publishData>`).persist();
@@ -1,8 +1,10 @@
1
- import { AzureEndpoint, WebTest, Scheme } from '../azure-arm-rest/azureModels';
2
- import * as querystring from "querystring";
3
- import { ApplicationTokenCredentials } from '../azure-arm-rest/azure-arm-common';
1
+ import * as querystring from 'querystring';
2
+
4
3
  export var nock = require('nock');
5
4
 
5
+ import { AzureEndpoint } from '../azure-arm-rest/azureModels';
6
+ import { ApplicationTokenCredentials } from '../azure-arm-rest/azure-arm-common';
7
+
6
8
  export function getMockEndpoint(scheme?: string, msiClientId?: string) {
7
9
  process.env["AZURE_HTTP_USER_AGENT"] = "TEST_AGENT";
8
10
 
@@ -20,7 +22,7 @@ export function getMockEndpoint(scheme?: string, msiClientId?: string) {
20
22
  applicationTokenCredentials: new ApplicationTokenCredentials("MOCK_SPN_ID", "MOCK_TENANT_ID", "MOCK_SPN_KEY", "https://management.azure.com/",
21
23
  "https://login.windows.net/", "https://management.azure.com/", false, scheme, msiClientId)
22
24
  }
23
-
25
+
24
26
  nock("https://login.windows.net", {
25
27
  reqheaders: {
26
28
  "content-type": "application/x-www-form-urlencoded; charset=utf-8"
@@ -32,9 +34,9 @@ export function getMockEndpoint(scheme?: string, msiClientId?: string) {
32
34
  grant_type: "client_credentials",
33
35
  client_secret: "MOCK_SPN_KEY"
34
36
  }))
35
- .reply(200, {
37
+ .reply(200, {
36
38
  access_token: "DUMMY_ACCESS_TOKEN"
37
- }).persist();
39
+ }).persist();
38
40
 
39
41
  let apiVersion = "2018-02-01";
40
42
  let msiClientIdUrl = msiClientId ? "&client_id=" + msiClientId : "";
@@ -45,7 +47,7 @@ export function getMockEndpoint(scheme?: string, msiClientId?: string) {
45
47
  }
46
48
  })
47
49
  .get("/oauth2/token?resource=https://management.azure.com/")
48
- .reply(200, {
50
+ .reply(200, {
49
51
  access_token: "DUMMY_ACCESS_TOKEN"
50
52
  }).persist();
51
53
 
@@ -60,7 +62,7 @@ export function mockAzureARMAppInsightsWebTests() {
60
62
  name: 'MOCK_TEST_1',
61
63
  id: "hidden-link:/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_1".toLowerCase()
62
64
  };
63
-
65
+
64
66
  var MockWebTest2 = {
65
67
  type: '',
66
68
  location: '',
@@ -104,8 +106,8 @@ export function mockAzureApplicationInsightsTests() {
104
106
  "content-type": "application/json; charset=utf-8"
105
107
  }
106
108
  }).get("/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME?api-version=2015-05-01")
107
- .reply(200, {
108
- id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME",
109
+ .reply(200, {
110
+ id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME",
109
111
  name: "MOCK_APP_INSIGHTS_NAME",
110
112
  type: "microsoft.insights/components",
111
113
  tags: {},
@@ -127,8 +129,8 @@ export function mockAzureApplicationInsightsTests() {
127
129
  "content-type": "application/json; charset=utf-8"
128
130
  }
129
131
  }).put("/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME?api-version=2015-05-01")
130
- .reply(200, {
131
- id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME",
132
+ .reply(200, {
133
+ id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.insights/components/MOCK_APP_INSIGHTS_NAME",
132
134
  name: "MOCK_APP_INSIGHTS_NAME",
133
135
  type: "microsoft.insights/components",
134
136
  tags: {},
@@ -231,7 +233,7 @@ export function mockAzureAppServiceTests() {
231
233
  state: "Running"
232
234
  }
233
235
  }).persist();;
234
-
236
+
235
237
  nock('https://management.azure.com', {
236
238
  reqheaders: {
237
239
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -257,7 +259,7 @@ export function mockAzureAppServiceTests() {
257
259
  state: "Stopped"
258
260
  }
259
261
  }).persist();;
260
-
262
+
261
263
  nock('https://management.azure.com', {
262
264
  reqheaders: {
263
265
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -283,12 +285,12 @@ export function mockAzureAppServiceTests() {
283
285
  }
284
286
  }).post("/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/Microsoft.Web/sites/MOCK_APP_SERVICE_NAME/publishxml?api-version=2016-08-01")
285
287
  .reply(200,`<publishData>
286
- <publishProfile profileName="MOCK_APP_SERVICE_NAME - Web Deploy" publishMethod="MSDeploy"
287
- publishUrl="MOCK_APP_SERVICE_NAME.scm.azurewebsites.net:443" msdeploySite="MOCK_APP_SERVICE_NAME"
288
+ <publishProfile profileName="MOCK_APP_SERVICE_NAME - Web Deploy" publishMethod="MSDeploy"
289
+ publishUrl="MOCK_APP_SERVICE_NAME.scm.azurewebsites.net:443" msdeploySite="MOCK_APP_SERVICE_NAME"
288
290
  userName="$MOCK_APP_SERVICE_NAME" userPWD="MOCK_APP_SERVICE_MSDEPLOY_PASSWORD" destinationAppUrl="http://MOCK_APP_SERVICE_NAME.azurewebsites.net">
289
291
  </publishProfile>
290
292
  </publishData>`).persist();
291
-
293
+
292
294
  nock('https://management.azure.com', {
293
295
  reqheaders: {
294
296
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -315,7 +317,7 @@ export function mockAzureAppServiceTests() {
315
317
  scmUri: "https://$v:MOCK_APP_SERVICE_MSDEPLOY_PASSWORD@MOCK_APP_SERVICE_NAME.scm.azurewebsites.net"
316
318
  }
317
319
  }).persist();;
318
-
320
+
319
321
  nock('https://management.azure.com', {
320
322
  reqheaders: {
321
323
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -341,7 +343,7 @@ export function mockAzureAppServiceTests() {
341
343
  "MSDEPLOY_RENAME_LOCKED_FILES": "1"
342
344
  }
343
345
  }).persist();;
344
-
346
+
345
347
  nock('https://management.azure.com', {
346
348
  reqheaders: {
347
349
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -379,7 +381,7 @@ export function mockAzureAppServiceTests() {
379
381
  "MSDEPLOY_RENAME_LOCKED_FILES": "0"
380
382
  }
381
383
  }).persist();;
382
-
384
+
383
385
  nock('https://management.azure.com', {
384
386
  reqheaders: {
385
387
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -404,7 +406,7 @@ export function mockAzureAppServiceTests() {
404
406
  "alwaysOn": false
405
407
  }
406
408
  }).persist();;
407
-
409
+
408
410
  nock('https://management.azure.com', {
409
411
  reqheaders: {
410
412
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -440,7 +442,7 @@ export function mockAzureAppServiceTests() {
440
442
  "alwaysOn": true
441
443
  }
442
444
  }).persist();;
443
-
445
+
444
446
  nock('https://management.azure.com', {
445
447
  reqheaders: {
446
448
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -490,7 +492,7 @@ export function mockAzureAppServiceTests() {
490
492
  "VSTSRM_ReleaseDefinitionId": 1
491
493
  }
492
494
  }).persist();
493
-
495
+
494
496
  nock('https://management.azure.com', {
495
497
  reqheaders: {
496
498
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -498,7 +500,7 @@ export function mockAzureAppServiceTests() {
498
500
  }
499
501
  }).post("/subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/Microsoft.Web/sites/MOCK_APP_SERVICE_NAME/slots/MOCK_SLOT_NAME/config/metadata/list?api-version=2016-08-01")
500
502
  .reply(501, 'internal error occurred').persist();
501
-
503
+
502
504
  nock('https://management.azure.com', {
503
505
  reqheaders: {
504
506
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -515,7 +517,7 @@ export function mockAzureAppServiceTests() {
515
517
  "VSTSRM_ReleaseDefinitionId": 1
516
518
  }
517
519
  }).persist();
518
-
520
+
519
521
  nock('https://management.azure.com', {
520
522
  reqheaders: {
521
523
  "authorization": "Bearer DUMMY_ACCESS_TOKEN",
@@ -547,16 +549,16 @@ export function mockKuduServiceTests() {
547
549
  nock('http://MOCK_SCM_WEBSITE').
548
550
  post('/api/continuouswebjobs/MOCK_JOB_NAME/start')
549
551
  .reply(200, {name: "CONT_2", status: "Running", runCommand: "hello.cmd", type: "continuous"});
550
-
551
-
552
+
553
+
552
554
  nock('http://FAIL_MOCK_SCM_WEBSITE').
553
555
  post('/api/continuouswebjobs/MOCK_JOB_NAME/start').reply(501, 'Internal error occured');
554
556
 
555
557
  nock('http://MOCK_SCM_WEBSITE').
556
558
  post('/api/continuouswebjobs/MOCK_JOB_NAME/stop')
557
559
  .reply(200, {name: "CONT_1", status: "Stopped", runCommand: "hello.cmd", type: "continuous"});
558
-
559
-
560
+
561
+
560
562
  nock('http://FAIL_MOCK_SCM_WEBSITE').
561
563
  post('/api/continuouswebjobs/MOCK_JOB_NAME/stop').reply(501, 'Internal error occured');
562
564
 
@@ -665,8 +667,8 @@ export function mockAzureARMResourcesTests() {
665
667
  }
666
668
  }).get("/subscriptions/MOCK_SUBSCRIPTION_ID/resources?$filter=resourceType%20EQ%20%27Microsoft.Web%2Fsites%27%20AND%20name%20EQ%20%27g%C3%B6m-mig-fr%C3%A5n-omv%C3%A4rlden%27&api-version=2016-07-01")
667
669
  .reply(200, {
668
- value: [{
669
- id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.web/sites/göm-mig-från-omvär",
670
+ value: [{
671
+ id: "subscriptions/MOCK_SUBSCRIPTION_ID/resourceGroups/MOCK_RESOURCE_GROUP_NAME/providers/microsoft.web/sites/göm-mig-från-omvär",
670
672
  name: "MOCK_APP_INSIGHTS_NAME",
671
673
  type: "microsoft.insights/components",
672
674
  tags: {},
@@ -1,4 +1,5 @@
1
1
  import tl = require('azure-pipelines-task-lib/task');
2
+
2
3
  import msRestAzure = require("./azure-arm-common");
3
4
  import webClient = require("./webClient");
4
5
 
@@ -144,7 +145,7 @@ export class ServiceClient {
144
145
  || exceptionString.indexOf("unable to verify the first certificate") != -1
145
146
  || exceptionString.indexOf("unable to get local issuer certificate") != -1) {
146
147
  tl.warning(tl.loc('ASE_SSLIssueRecommendation'));
147
- }
148
+ }
148
149
 
149
150
  throw exception;
150
151
  }
@@ -261,7 +262,7 @@ export class ServiceClient {
261
262
  public getFormattedError(error: any): string {
262
263
  if(error && error.message) {
263
264
  if(error.statusCode) {
264
- var errorMessage = typeof error.message.valueOf() == 'string' ? error.message
265
+ var errorMessage = typeof error.message.valueOf() == 'string' ? error.message
265
266
  : (error.message.Code || error.message.code) + " - " + (error.message.Message || error.message.message)
266
267
  error.message = `${errorMessage} (CODE: ${error.statusCode})`
267
268
  }
@@ -1,4 +1,4 @@
1
- import { AzureEndpoint } from "./azureModels";
1
+ import { AzureEndpoint } from './azureModels';
2
2
  export declare class AzureRMEndpoint {
3
3
  endpoint: AzureEndpoint;
4
4
  private _connectedServiceName;
@@ -10,13 +10,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.dispose = exports.AzureRMEndpoint = void 0;
13
+ const fs = require("fs");
14
+ const path = require("path");
13
15
  const tl = require("azure-pipelines-task-lib/task");
14
16
  const Q = require("q");
15
- const webClient = require("./webClient");
16
17
  const azure_arm_common_1 = require("./azure-arm-common");
17
18
  const constants = require("./constants");
18
- const fs = require("fs");
19
- const path = require("path");
19
+ const webClient = require("./webClient");
20
20
  const certFilePath = path.join(tl.getVariable('Agent.TempDirectory'), 'spnCert.pem');
21
21
  class AzureRMEndpoint {
22
22
  constructor(connectedServiceName) {
@@ -1,11 +1,14 @@
1
+ import fs = require('fs');
2
+ import path = require('path');
3
+
1
4
  import tl = require('azure-pipelines-task-lib/task');
2
5
  import Q = require('q');
3
- import webClient = require("./webClient");
4
- import { AzureEndpoint } from "./azureModels";
6
+
7
+ import { AzureEndpoint } from './azureModels';
5
8
  import { ApplicationTokenCredentials } from './azure-arm-common';
6
9
  import constants = require('./constants');
7
- import fs = require('fs');
8
- import path = require('path');
10
+ import webClient = require('./webClient');
11
+
9
12
  const certFilePath: string = path.join(tl.getVariable('Agent.TempDirectory'), 'spnCert.pem');
10
13
 
11
14
  export class AzureRMEndpoint {
@@ -36,7 +39,7 @@ export class AzureRMEndpoint {
36
39
  if (resourceIdSplit.length < 9) {
37
40
  throw new Error(tl.loc('SpecifiedAzureRmEndpointIsInvalid', ''));
38
41
  }
39
-
42
+
40
43
  this.endpoint = {
41
44
  subscriptionName: tl.getEndpointDataParameter(this._connectedServiceName, 'subscriptionname', true),
42
45
  tenantID: tl.getEndpointAuthorizationParameter(this._connectedServiceName, 'tenantid', false),
@@ -10,10 +10,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.Deployments = exports.ResourceGroups = exports.Resources = exports.ResourceManagementClient = void 0;
13
+ const tl = require("azure-pipelines-task-lib/task");
13
14
  const AzureServiceClient_1 = require("./AzureServiceClient");
14
15
  const azureServiceClient = require("./AzureServiceClient");
15
16
  const webClient = require("./webClient");
16
- const tl = require("azure-pipelines-task-lib/task");
17
17
  class ResourceManagementClient extends azureServiceClient.ServiceClient {
18
18
  constructor(credentials, subscriptionId, options) {
19
19
  super(credentials, subscriptionId);
@@ -1,10 +1,10 @@
1
+ import tl = require('azure-pipelines-task-lib/task');
2
+
1
3
  import { ToError, ServiceClient } from './AzureServiceClient';
2
4
  import { AzureEndpoint } from './azureModels';
3
5
  import msRestAzure = require('./azure-arm-common');
4
6
  import azureServiceClient = require('./AzureServiceClient');
5
7
  import webClient = require('./webClient');
6
- import tl = require('azure-pipelines-task-lib/task');
7
- import Q = require('q');
8
8
 
9
9
  export class ResourceManagementClient extends azureServiceClient.ServiceClient {
10
10
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "azure-pipelines-tasks-azurermdeploycommon",
3
- "version": "3.256.0",
3
+ "version": "3.268.1",
4
4
  "description": "Common Lib for Azure ARM REST apis",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,7 +22,7 @@
22
22
  "@types/q": "1.0.7",
23
23
  "archiver": "2.1.1",
24
24
  "azure-pipelines-task-lib": "^4.17.0",
25
- "jsonwebtoken": "^9.0.2",
25
+ "jsonwebtoken": "^9.0.3",
26
26
  "ltx": "2.6.2",
27
27
  "node-stream-zip": "1.7.0",
28
28
  "q": "1.5.1",
@@ -4,7 +4,6 @@ exports.addWebConfigFile = exports.generateWebConfigFile = void 0;
4
4
  const tl = require("azure-pipelines-task-lib/task");
5
5
  const fs = require("fs");
6
6
  const path = require("path");
7
- const util = require("util");
8
7
  function generateWebConfigFile(webConfigTargetPath, appType, substitutionParameters) {
9
8
  // Get the template path for the given appType
10
9
  var webConfigTemplatePath = path.join(__dirname, '../WebConfigTemplates', appType.toLowerCase());
@@ -93,16 +92,16 @@ function addWebConfigFile(folderPath, webConfigParameters, rootDirectoryPath) {
93
92
  }
94
93
  }
95
94
  else if (appType == 'Go') {
96
- if (util.isNullOrUndefined(webConfigParameters['GoExeFileName'])
97
- || util.isNullOrUndefined(webConfigParameters['GoExeFileName'].value)
95
+ if (webConfigParameters['GoExeFileName'] === null || webConfigParameters['GoExeFileName'] === undefined
96
+ || webConfigParameters['GoExeFileName'].value === null || webConfigParameters['GoExeFileName'].value === undefined
98
97
  || webConfigParameters['GoExeFileName'].value.length <= 0) {
99
98
  throw Error(tl.loc('GoExeNameNotPresent'));
100
99
  }
101
100
  selectedAppTypeParams['GoExeFilePath'] = rootDirectoryPath + "\\" + webConfigParameters['GoExeFileName'].value;
102
101
  }
103
102
  else if (appType == 'java_springboot') {
104
- if (util.isNullOrUndefined(webConfigParameters['JAR_PATH'])
105
- || util.isNullOrUndefined(webConfigParameters['JAR_PATH'].value)
103
+ if (webConfigParameters['JAR_PATH'] === null || webConfigParameters['JAR_PATH'] === undefined
104
+ || webConfigParameters['JAR_PATH'].value === null || webConfigParameters['JAR_PATH'].value === undefined
106
105
  || webConfigParameters['JAR_PATH'].value.length <= 0) {
107
106
  throw Error(tl.loc('JarPathNotPresent'));
108
107
  }
@@ -94,15 +94,15 @@ export function addWebConfigFile(folderPath: any, webConfigParameters, rootDirec
94
94
  selectedAppTypeParams['DJANGO_SETTINGS_MODULE'] = getDjangoSettingsFile(folderPath);
95
95
  }
96
96
  } else if(appType == 'Go') {
97
- if (util.isNullOrUndefined(webConfigParameters['GoExeFileName'])
98
- || util.isNullOrUndefined(webConfigParameters['GoExeFileName'].value)
97
+ if (webConfigParameters['GoExeFileName'] === null || webConfigParameters['GoExeFileName'] === undefined
98
+ || webConfigParameters['GoExeFileName'].value === null || webConfigParameters['GoExeFileName'].value === undefined
99
99
  || webConfigParameters['GoExeFileName'].value.length <=0) {
100
100
  throw Error(tl.loc('GoExeNameNotPresent'));
101
101
  }
102
102
  selectedAppTypeParams['GoExeFilePath'] = rootDirectoryPath + "\\" + webConfigParameters['GoExeFileName'].value;
103
103
  } else if(appType == 'java_springboot') {
104
- if (util.isNullOrUndefined(webConfigParameters['JAR_PATH'])
105
- || util.isNullOrUndefined(webConfigParameters['JAR_PATH'].value)
104
+ if (webConfigParameters['JAR_PATH'] === null || webConfigParameters['JAR_PATH'] === undefined
105
+ || webConfigParameters['JAR_PATH'].value === null || webConfigParameters['JAR_PATH'].value === undefined
106
106
  || webConfigParameters['JAR_PATH'].value.length <= 0) {
107
107
  throw Error(tl.loc('JarPathNotPresent'));
108
108
  }