artifact-engine 1.2.0 → 1.4.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.
Files changed (77) hide show
  1. package/Engine/artifactEngine.d.ts +12 -12
  2. package/Engine/artifactEngine.js +166 -166
  3. package/Engine/artifactEngineOptions.d.ts +8 -8
  4. package/Engine/artifactEngineOptions.js +13 -15
  5. package/Engine/cilogger.d.ts +6 -6
  6. package/Engine/cilogger.js +44 -46
  7. package/Engine/index.d.ts +2 -2
  8. package/Engine/index.js +6 -8
  9. package/Engine/logger.d.ts +13 -13
  10. package/Engine/logger.js +109 -112
  11. package/Engine/worker.d.ts +10 -10
  12. package/Engine/worker.js +49 -51
  13. package/Models/artifactDownloadTicket.d.ts +11 -11
  14. package/Models/artifactDownloadTicket.js +5 -7
  15. package/Models/artifactItem.d.ts +12 -12
  16. package/Models/artifactItem.js +8 -10
  17. package/Models/artifactprovider.d.ts +10 -11
  18. package/Models/artifactprovider.js +2 -3
  19. package/Models/constants.d.ts +3 -3
  20. package/Models/constants.js +6 -8
  21. package/Models/index.d.ts +6 -6
  22. package/Models/index.js +12 -14
  23. package/Models/itemType.d.ts +5 -5
  24. package/Models/itemType.js +8 -10
  25. package/Models/ticketState.d.ts +7 -7
  26. package/Models/ticketState.js +10 -12
  27. package/Providers/filesystemProvider.d.ts +14 -15
  28. package/Providers/filesystemProvider.js +123 -123
  29. package/Providers/index.d.ts +4 -4
  30. package/Providers/index.js +10 -12
  31. package/Providers/stubProvider.d.ts +20 -21
  32. package/Providers/stubProvider.js +85 -88
  33. package/Providers/typed-rest-client/Handlers.d.ts +4 -4
  34. package/Providers/typed-rest-client/Handlers.js +10 -12
  35. package/Providers/typed-rest-client/HttpClient.d.ts +84 -77
  36. package/Providers/typed-rest-client/HttpClient.js +351 -328
  37. package/Providers/typed-rest-client/Index.d.ts +0 -1
  38. package/Providers/typed-rest-client/Index.js +2 -3
  39. package/Providers/typed-rest-client/Interfaces.d.ts +39 -38
  40. package/Providers/typed-rest-client/Interfaces.js +3 -4
  41. package/Providers/typed-rest-client/RestClient.d.ts +73 -27
  42. package/Providers/typed-rest-client/RestClient.js +186 -134
  43. package/Providers/typed-rest-client/Util.d.ts +7 -1
  44. package/Providers/typed-rest-client/Util.js +24 -18
  45. package/Providers/typed-rest-client/handlers/basiccreds.d.ts +9 -9
  46. package/Providers/typed-rest-client/handlers/basiccreds.js +23 -20
  47. package/Providers/typed-rest-client/handlers/bearertoken.d.ts +8 -8
  48. package/Providers/typed-rest-client/handlers/bearertoken.js +22 -19
  49. package/Providers/typed-rest-client/handlers/ntlm.d.ts +13 -13
  50. package/Providers/typed-rest-client/handlers/ntlm.js +115 -96
  51. package/Providers/typed-rest-client/handlers/personalaccesstoken.d.ts +8 -8
  52. package/Providers/typed-rest-client/handlers/personalaccesstoken.js +22 -19
  53. package/Providers/typed-rest-client/opensource/node-http-ntlm/readme.txt +6 -0
  54. package/Providers/webClient.d.ts +8 -8
  55. package/Providers/webClient.js +60 -60
  56. package/Providers/webClientFactory.d.ts +5 -5
  57. package/Providers/webClientFactory.js +59 -55
  58. package/Providers/webProvider.d.ts +22 -22
  59. package/Providers/webProvider.js +128 -116
  60. package/Providers/zipProvider.d.ts +15 -16
  61. package/Providers/zipProvider.js +53 -55
  62. package/Store/artifactItemStore.d.ts +18 -18
  63. package/Store/artifactItemStore.js +94 -96
  64. package/Store/index.d.ts +1 -1
  65. package/Store/index.js +4 -6
  66. package/Strings/resources.resjson/de-DE/resources.resjson +11 -11
  67. package/Strings/resources.resjson/en-US/resources.resjson +11 -11
  68. package/Strings/resources.resjson/es-ES/resources.resjson +11 -11
  69. package/Strings/resources.resjson/fr-FR/resources.resjson +11 -11
  70. package/Strings/resources.resjson/it-IT/resources.resjson +11 -11
  71. package/Strings/resources.resjson/ja-JP/resources.resjson +11 -11
  72. package/Strings/resources.resjson/ko-KR/resources.resjson +11 -11
  73. package/Strings/resources.resjson/ru-RU/resources.resjson +11 -11
  74. package/Strings/resources.resjson/zh-CN/resources.resjson +11 -11
  75. package/Strings/resources.resjson/zh-TW/resources.resjson +11 -11
  76. package/npm-shrinkwrap.json +176 -68
  77. package/package.json +2 -2
@@ -1,12 +1,12 @@
1
- import * as models from '../Models';
2
- import { ArtifactEngineOptions } from "./artifactEngineOptions";
3
- export declare class ArtifactEngine {
4
- processItems(sourceProvider: models.IArtifactProvider, destProvider: models.IArtifactProvider, artifactEngineOptions?: ArtifactEngineOptions): Promise<models.ArtifactDownloadTicket[]>;
5
- processArtifactItem(sourceProvider: models.IArtifactProvider, item: models.ArtifactItem, destProvider: models.IArtifactProvider, artifactEngineOptions: ArtifactEngineOptions): Promise<void>;
6
- processArtifactItemImplementation(sourceProvider: models.IArtifactProvider, item: models.ArtifactItem, destProvider: models.IArtifactProvider, artifactEngineOptions: ArtifactEngineOptions, resolve: any, reject: any, retryCount?: number): void;
7
- private getRetryIntervalInSeconds;
8
- createPatternList(artifactEngineOptions: ArtifactEngineOptions): void;
9
- private artifactItemStore;
10
- private logger;
11
- private patternList;
12
- }
1
+ import * as models from '../Models';
2
+ import { ArtifactEngineOptions } from "./artifactEngineOptions";
3
+ export declare class ArtifactEngine {
4
+ processItems(sourceProvider: models.IArtifactProvider, destProvider: models.IArtifactProvider, artifactEngineOptions?: ArtifactEngineOptions): Promise<models.ArtifactDownloadTicket[]>;
5
+ processArtifactItem(sourceProvider: models.IArtifactProvider, item: models.ArtifactItem, destProvider: models.IArtifactProvider, artifactEngineOptions: ArtifactEngineOptions): Promise<void>;
6
+ processArtifactItemImplementation(sourceProvider: models.IArtifactProvider, item: models.ArtifactItem, destProvider: models.IArtifactProvider, artifactEngineOptions: ArtifactEngineOptions, resolve: any, reject: any, retryCount?: number): void;
7
+ private getRetryIntervalInSeconds(baseRetryInterval, retryCount);
8
+ createPatternList(artifactEngineOptions: ArtifactEngineOptions): void;
9
+ private artifactItemStore;
10
+ private logger;
11
+ private patternList;
12
+ }
@@ -1,166 +1,166 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactEngine = void 0;
4
- const path = require("path");
5
- var tl = require('azure-pipelines-task-lib/task');
6
- const models = require("../Models");
7
- const ci = require("./cilogger");
8
- const artifactItemStore_1 = require("../Store/artifactItemStore");
9
- const artifactEngineOptions_1 = require("./artifactEngineOptions");
10
- const logger_1 = require("./logger");
11
- const worker_1 = require("./worker");
12
- class ArtifactEngine {
13
- constructor() {
14
- this.artifactItemStore = new artifactItemStore_1.ArtifactItemStore();
15
- }
16
- processItems(sourceProvider, destProvider, artifactEngineOptions) {
17
- var artifactDownloadTicketsPromise = new Promise((resolve, reject) => {
18
- const workers = [];
19
- artifactEngineOptions = artifactEngineOptions || new artifactEngineOptions_1.ArtifactEngineOptions();
20
- this.createPatternList(artifactEngineOptions);
21
- this.artifactItemStore.flush();
22
- logger_1.Logger.verbose = artifactEngineOptions.verbose;
23
- this.logger = new logger_1.Logger(this.artifactItemStore);
24
- this.logger.logProgress();
25
- sourceProvider.artifactItemStore = this.artifactItemStore;
26
- destProvider.artifactItemStore = this.artifactItemStore;
27
- sourceProvider.getRootItems().then((itemsToProcess) => {
28
- this.artifactItemStore.addItems(itemsToProcess);
29
- for (let i = 0; i < artifactEngineOptions.parallelProcessingLimit; ++i) {
30
- var worker = new worker_1.Worker(i + 1, item => this.processArtifactItem(sourceProvider, item, destProvider, artifactEngineOptions), () => this.artifactItemStore.getNextItemToProcess(), () => !this.artifactItemStore.itemsPendingProcessing(), () => this.artifactItemStore.hasDownloadFailed());
31
- workers.push(worker.init());
32
- }
33
- Promise.all(workers).then(() => {
34
- this.logger.logSummary();
35
- sourceProvider.dispose();
36
- destProvider.dispose();
37
- resolve(this.artifactItemStore.getTickets());
38
- }, (err) => {
39
- ci.publishEvent('reliability', { issueType: 'error', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
40
- sourceProvider.dispose();
41
- destProvider.dispose();
42
- reject(err);
43
- });
44
- }, (err) => {
45
- ci.publishEvent('reliability', { issueType: 'error', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
46
- sourceProvider.dispose();
47
- destProvider.dispose();
48
- reject(err);
49
- });
50
- });
51
- return artifactDownloadTicketsPromise;
52
- }
53
- processArtifactItem(sourceProvider, item, destProvider, artifactEngineOptions) {
54
- return new Promise((resolve, reject) => {
55
- this.processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject);
56
- });
57
- }
58
- processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject, retryCount) {
59
- var retryIfRequired = (err) => {
60
- if (retryCount === artifactEngineOptions.retryLimit - 1) {
61
- this.artifactItemStore.updateState(item, models.TicketState.Failed);
62
- reject(err);
63
- }
64
- else {
65
- this.artifactItemStore.increaseRetryCount(item);
66
- logger_1.Logger.logMessage(tl.loc("RetryingDownload", item.path, (retryCount + 1)));
67
- setTimeout(() => this
68
- .processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject, retryCount + 1), this.getRetryIntervalInSeconds(artifactEngineOptions.retryIntervalInSeconds, retryCount) * 1000);
69
- }
70
- };
71
- retryCount = retryCount ? retryCount : 0;
72
- if (item.itemType === models.ItemType.File) {
73
- var pathToMatch = item.path.replace(/\\/g, '/');
74
- var matchOptions = {
75
- debug: false,
76
- nobrace: true,
77
- noglobstar: false,
78
- dot: true,
79
- noext: false,
80
- nocase: false,
81
- nonull: false,
82
- matchBase: false,
83
- nocomment: false,
84
- nonegate: false,
85
- flipNegate: false
86
- };
87
- if (tl.match([pathToMatch], this.patternList, null, matchOptions).length > 0) {
88
- logger_1.Logger.logInfo("Processing " + item.path);
89
- sourceProvider.getArtifactItem(item).then((contentStream) => {
90
- logger_1.Logger.logInfo("Got download stream for item: " + item.path);
91
- destProvider.putArtifactItem(item, contentStream)
92
- .then((item) => {
93
- this.artifactItemStore.updateState(item, models.TicketState.Processed);
94
- resolve();
95
- }, (err) => {
96
- logger_1.Logger.logInfo("Error placing file " + item.path + ": " + err);
97
- retryIfRequired(err);
98
- });
99
- }, (err) => {
100
- logger_1.Logger.logInfo("Error getting file " + item.path + ": " + err);
101
- retryIfRequired(err);
102
- });
103
- }
104
- else {
105
- logger_1.Logger.logMessage(tl.loc("SkippingItem", pathToMatch));
106
- this.artifactItemStore.updateState(item, models.TicketState.Skipped);
107
- resolve();
108
- }
109
- }
110
- else {
111
- sourceProvider.getArtifactItems(item).then((items) => {
112
- items = items.map((value, index) => {
113
- if (!value.path.toLowerCase().startsWith(item.path.toLowerCase())) {
114
- value.path = path.join(item.path, value.path);
115
- }
116
- return value;
117
- });
118
- if (items.length > 0) {
119
- this.artifactItemStore.addItems(items);
120
- this.artifactItemStore.updateState(item, models.TicketState.Processed);
121
- }
122
- else {
123
- destProvider.putArtifactItem(item, null)
124
- .then((item) => {
125
- this.artifactItemStore.updateState(item, models.TicketState.Processed);
126
- resolve();
127
- }, (err) => {
128
- logger_1.Logger.logInfo("Error creating folder " + item.path + ": " + err);
129
- retryIfRequired(err);
130
- });
131
- }
132
- logger_1.Logger.logInfo("Enqueued " + items.length + " for processing.");
133
- resolve();
134
- }, (err) => {
135
- logger_1.Logger.logInfo("Error getting " + item.path + ":" + err);
136
- retryIfRequired(err);
137
- });
138
- }
139
- }
140
- getRetryIntervalInSeconds(baseRetryInterval, retryCount) {
141
- let MaxRetryLimitInSeconds = 360;
142
- var exponentialBackOff = baseRetryInterval * Math.pow(3, (retryCount + 1));
143
- return exponentialBackOff < MaxRetryLimitInSeconds ? exponentialBackOff : MaxRetryLimitInSeconds;
144
- }
145
- createPatternList(artifactEngineOptions) {
146
- if (!artifactEngineOptions.itemPattern) {
147
- this.patternList = ['**'];
148
- }
149
- else {
150
- this.patternList = artifactEngineOptions.itemPattern.split('\n');
151
- }
152
- }
153
- }
154
- exports.ArtifactEngine = ArtifactEngine;
155
- tl.setResourcePath(path.join(path.dirname(__dirname), 'lib.json'));
156
- process.on('unhandledRejection', (err) => {
157
- ci.publishEvent('reliability', { issueType: 'unhandledRejection', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
158
- logger_1.Logger.logError(tl.loc("UnhandledRejection", err));
159
- throw err;
160
- });
161
- process.on('uncaughtException', (err) => {
162
- ci.publishEvent('reliability', { issueType: 'uncaughtException', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
163
- logger_1.Logger.logError(tl.loc("UnhandledException", err));
164
- throw err;
165
- });
166
- //# sourceMappingURL=artifactEngine.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const path = require("path");
4
+ var tl = require('azure-pipelines-task-lib/task');
5
+ const models = require("../Models");
6
+ const ci = require("./cilogger");
7
+ const artifactItemStore_1 = require("../Store/artifactItemStore");
8
+ const artifactEngineOptions_1 = require("./artifactEngineOptions");
9
+ const logger_1 = require("./logger");
10
+ const worker_1 = require("./worker");
11
+ class ArtifactEngine {
12
+ constructor() {
13
+ this.artifactItemStore = new artifactItemStore_1.ArtifactItemStore();
14
+ }
15
+ processItems(sourceProvider, destProvider, artifactEngineOptions) {
16
+ var artifactDownloadTicketsPromise = new Promise((resolve, reject) => {
17
+ const workers = [];
18
+ artifactEngineOptions = artifactEngineOptions || new artifactEngineOptions_1.ArtifactEngineOptions();
19
+ this.createPatternList(artifactEngineOptions);
20
+ this.artifactItemStore.flush();
21
+ logger_1.Logger.verbose = artifactEngineOptions.verbose;
22
+ this.logger = new logger_1.Logger(this.artifactItemStore);
23
+ this.logger.logProgress();
24
+ sourceProvider.artifactItemStore = this.artifactItemStore;
25
+ destProvider.artifactItemStore = this.artifactItemStore;
26
+ sourceProvider.getRootItems().then((itemsToProcess) => {
27
+ this.artifactItemStore.addItems(itemsToProcess);
28
+ for (let i = 0; i < artifactEngineOptions.parallelProcessingLimit; ++i) {
29
+ var worker = new worker_1.Worker(i + 1, item => this.processArtifactItem(sourceProvider, item, destProvider, artifactEngineOptions), () => this.artifactItemStore.getNextItemToProcess(), () => !this.artifactItemStore.itemsPendingProcessing(), () => this.artifactItemStore.hasDownloadFailed());
30
+ workers.push(worker.init());
31
+ }
32
+ Promise.all(workers).then(() => {
33
+ this.logger.logSummary();
34
+ sourceProvider.dispose();
35
+ destProvider.dispose();
36
+ resolve(this.artifactItemStore.getTickets());
37
+ }, (err) => {
38
+ ci.publishEvent('reliability', { issueType: 'error', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
39
+ sourceProvider.dispose();
40
+ destProvider.dispose();
41
+ reject(err);
42
+ });
43
+ }, (err) => {
44
+ ci.publishEvent('reliability', { issueType: 'error', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
45
+ sourceProvider.dispose();
46
+ destProvider.dispose();
47
+ reject(err);
48
+ });
49
+ });
50
+ return artifactDownloadTicketsPromise;
51
+ }
52
+ processArtifactItem(sourceProvider, item, destProvider, artifactEngineOptions) {
53
+ return new Promise((resolve, reject) => {
54
+ this.processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject);
55
+ });
56
+ }
57
+ processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject, retryCount) {
58
+ var retryIfRequired = (err) => {
59
+ if (retryCount === artifactEngineOptions.retryLimit - 1) {
60
+ this.artifactItemStore.updateState(item, models.TicketState.Failed);
61
+ reject(err);
62
+ }
63
+ else {
64
+ this.artifactItemStore.increaseRetryCount(item);
65
+ logger_1.Logger.logMessage(tl.loc("RetryingDownload", item.path, (retryCount + 1)));
66
+ // retry interval sequence 5s 15s 45s 135s
67
+ // 2 min is the time limit for freeing of ports
68
+ setTimeout(() => this
69
+ .processArtifactItemImplementation(sourceProvider, item, destProvider, artifactEngineOptions, resolve, reject, retryCount + 1), this.getRetryIntervalInSeconds(artifactEngineOptions.retryIntervalInSeconds, retryCount) * 1000);
70
+ }
71
+ };
72
+ retryCount = retryCount ? retryCount : 0;
73
+ if (item.itemType === models.ItemType.File) {
74
+ var pathToMatch = item.path.replace(/\\/g, '/');
75
+ var matchOptions = {
76
+ debug: false,
77
+ nobrace: true,
78
+ noglobstar: false,
79
+ dot: true,
80
+ noext: false,
81
+ nocase: false,
82
+ nonull: false,
83
+ matchBase: false,
84
+ nocomment: false,
85
+ nonegate: false,
86
+ flipNegate: false
87
+ };
88
+ if (tl.match([pathToMatch], this.patternList, null, matchOptions).length > 0) {
89
+ logger_1.Logger.logInfo("Processing " + item.path);
90
+ sourceProvider.getArtifactItem(item).then((contentStream) => {
91
+ logger_1.Logger.logInfo("Got download stream for item: " + item.path);
92
+ destProvider.putArtifactItem(item, contentStream)
93
+ .then((item) => {
94
+ this.artifactItemStore.updateState(item, models.TicketState.Processed);
95
+ resolve();
96
+ }, (err) => {
97
+ logger_1.Logger.logInfo("Error placing file " + item.path + ": " + err);
98
+ retryIfRequired(err);
99
+ });
100
+ }, (err) => {
101
+ logger_1.Logger.logInfo("Error getting file " + item.path + ": " + err);
102
+ retryIfRequired(err);
103
+ });
104
+ }
105
+ else {
106
+ logger_1.Logger.logMessage(tl.loc("SkippingItem", pathToMatch));
107
+ this.artifactItemStore.updateState(item, models.TicketState.Skipped);
108
+ resolve();
109
+ }
110
+ }
111
+ else {
112
+ sourceProvider.getArtifactItems(item).then((items) => {
113
+ items = items.map((value, index) => {
114
+ if (!value.path.toLowerCase().startsWith(item.path.toLowerCase())) {
115
+ value.path = path.join(item.path, value.path);
116
+ }
117
+ return value;
118
+ });
119
+ if (items.length > 0) {
120
+ this.artifactItemStore.addItems(items);
121
+ this.artifactItemStore.updateState(item, models.TicketState.Processed);
122
+ }
123
+ else {
124
+ destProvider.putArtifactItem(item, null)
125
+ .then((item) => {
126
+ this.artifactItemStore.updateState(item, models.TicketState.Processed);
127
+ resolve();
128
+ }, (err) => {
129
+ logger_1.Logger.logInfo("Error creating folder " + item.path + ": " + err);
130
+ retryIfRequired(err);
131
+ });
132
+ }
133
+ logger_1.Logger.logInfo("Enqueued " + items.length + " for processing.");
134
+ resolve();
135
+ }, (err) => {
136
+ logger_1.Logger.logInfo("Error getting " + item.path + ":" + err);
137
+ retryIfRequired(err);
138
+ });
139
+ }
140
+ }
141
+ getRetryIntervalInSeconds(baseRetryInterval, retryCount) {
142
+ let MaxRetryLimitInSeconds = 360;
143
+ var exponentialBackOff = baseRetryInterval * Math.pow(3, (retryCount + 1));
144
+ return exponentialBackOff < MaxRetryLimitInSeconds ? exponentialBackOff : MaxRetryLimitInSeconds;
145
+ }
146
+ createPatternList(artifactEngineOptions) {
147
+ if (!artifactEngineOptions.itemPattern) {
148
+ this.patternList = ['**'];
149
+ }
150
+ else {
151
+ this.patternList = artifactEngineOptions.itemPattern.split('\n');
152
+ }
153
+ }
154
+ }
155
+ exports.ArtifactEngine = ArtifactEngine;
156
+ tl.setResourcePath(path.join(path.dirname(__dirname), 'lib.json'));
157
+ process.on('unhandledRejection', (err) => {
158
+ ci.publishEvent('reliability', { issueType: 'unhandledRejection', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
159
+ logger_1.Logger.logError(tl.loc("UnhandledRejection", err));
160
+ throw err;
161
+ });
162
+ process.on('uncaughtException', (err) => {
163
+ ci.publishEvent('reliability', { issueType: 'uncaughtException', errorMessage: JSON.stringify(err, Object.getOwnPropertyNames(err)) });
164
+ logger_1.Logger.logError(tl.loc("UnhandledException", err));
165
+ throw err;
166
+ });
@@ -1,8 +1,8 @@
1
- export declare class ArtifactEngineOptions {
2
- retryLimit: number;
3
- retryIntervalInSeconds: number;
4
- fileProcessingTimeoutInMinutes: number;
5
- parallelProcessingLimit: number;
6
- itemPattern: string;
7
- verbose: boolean;
8
- }
1
+ export declare class ArtifactEngineOptions {
2
+ retryLimit: number;
3
+ retryIntervalInSeconds: number;
4
+ fileProcessingTimeoutInMinutes: number;
5
+ parallelProcessingLimit: number;
6
+ itemPattern: string;
7
+ verbose: boolean;
8
+ }
@@ -1,15 +1,13 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactEngineOptions = void 0;
4
- class ArtifactEngineOptions {
5
- constructor() {
6
- this.retryLimit = 5;
7
- this.retryIntervalInSeconds = 5;
8
- this.fileProcessingTimeoutInMinutes = 5;
9
- this.parallelProcessingLimit = 4;
10
- this.itemPattern = '**';
11
- this.verbose = false;
12
- }
13
- }
14
- exports.ArtifactEngineOptions = ArtifactEngineOptions;
15
- //# sourceMappingURL=artifactEngineOptions.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ class ArtifactEngineOptions {
4
+ constructor() {
5
+ this.retryLimit = 5;
6
+ this.retryIntervalInSeconds = 5;
7
+ this.fileProcessingTimeoutInMinutes = 5;
8
+ this.parallelProcessingLimit = 4;
9
+ this.itemPattern = '**';
10
+ this.verbose = false;
11
+ }
12
+ }
13
+ exports.ArtifactEngineOptions = ArtifactEngineOptions;
@@ -1,6 +1,6 @@
1
- export declare function publishEvent(feature: any, properties: any | IReliabilityData): void;
2
- export interface IReliabilityData {
3
- issueType: string;
4
- errorMessage: string;
5
- stack: string;
6
- }
1
+ export declare function publishEvent(feature: any, properties: any | IReliabilityData): void;
2
+ export interface IReliabilityData {
3
+ issueType: string;
4
+ errorMessage: string;
5
+ stack: string;
6
+ }
@@ -1,46 +1,44 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.publishEvent = void 0;
4
- var tl = require('azure-pipelines-task-lib');
5
- var packagejson = require('../package.json');
6
- const area = 'artifact-engine';
7
- function getDefaultProps() {
8
- var hostType = (tl.getVariable('SYSTEM.HOSTTYPE') || "").toLowerCase();
9
- var isReleaseHost = hostType === 'release' || hostType === "deployment";
10
- return {
11
- hostType: hostType,
12
- definitionName: '[NonEmail:' + (isReleaseHost ? tl.getVariable('RELEASE.DEFINITIONNAME') : tl.getVariable('BUILD.DEFINITIONNAME')) + ']',
13
- processId: isReleaseHost ? tl.getVariable('RELEASE.RELEASEID') : tl.getVariable('BUILD.BUILDID'),
14
- processUrl: isReleaseHost ? tl.getVariable('RELEASE.RELEASEWEBURL') : (tl.getVariable('SYSTEM.TEAMFOUNDATIONSERVERURI') + tl.getVariable('SYSTEM.TEAMPROJECT') + '/_build?buildId=' + tl.getVariable('BUILD.BUILDID')),
15
- taskDisplayName: tl.getVariable('TASK.DISPLAYNAME'),
16
- jobid: tl.getVariable('SYSTEM.JOBID'),
17
- agentVersion: tl.getVariable('AGENT.VERSION'),
18
- agentOS: tl.getVariable('AGENT.OS'),
19
- agentName: tl.getVariable('AGENT.NAME'),
20
- version: packagejson.version
21
- };
22
- }
23
- function publishEvent(feature, properties) {
24
- try {
25
- var splitVersion = (process.env.AGENT_VERSION || '').split('.');
26
- var major = parseInt(splitVersion[0] || '0');
27
- var minor = parseInt(splitVersion[1] || '0');
28
- let telemetry = '';
29
- if (major > 2 || (major == 2 && minor >= 120)) {
30
- telemetry = `##vso[telemetry.publish area=${area};feature=${feature}]${JSON.stringify(Object.assign(getDefaultProps(), properties))}`;
31
- }
32
- else {
33
- if (feature === 'reliability') {
34
- let reliabilityData = properties;
35
- telemetry = "##vso[task.logissue type=error;code=" + reliabilityData.issueType + ";agentVersion=" + tl.getVariable('Agent.Version') + ";taskId=" + area + "-" + packagejson.version + ";]" + reliabilityData.errorMessage;
36
- }
37
- }
38
- console.log(telemetry);
39
- ;
40
- }
41
- catch (err) {
42
- tl.warning("Failed to log telemetry, error: " + err);
43
- }
44
- }
45
- exports.publishEvent = publishEvent;
46
- //# sourceMappingURL=cilogger.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var tl = require('azure-pipelines-task-lib');
4
+ var packagejson = require('../package.json');
5
+ const area = 'artifact-engine';
6
+ function getDefaultProps() {
7
+ var hostType = (tl.getVariable('SYSTEM.HOSTTYPE') || "").toLowerCase();
8
+ var isReleaseHost = hostType === 'release' || hostType === "deployment";
9
+ return {
10
+ hostType: hostType,
11
+ definitionName: '[NonEmail:' + (isReleaseHost ? tl.getVariable('RELEASE.DEFINITIONNAME') : tl.getVariable('BUILD.DEFINITIONNAME')) + ']',
12
+ processId: isReleaseHost ? tl.getVariable('RELEASE.RELEASEID') : tl.getVariable('BUILD.BUILDID'),
13
+ processUrl: isReleaseHost ? tl.getVariable('RELEASE.RELEASEWEBURL') : (tl.getVariable('SYSTEM.TEAMFOUNDATIONSERVERURI') + tl.getVariable('SYSTEM.TEAMPROJECT') + '/_build?buildId=' + tl.getVariable('BUILD.BUILDID')),
14
+ taskDisplayName: tl.getVariable('TASK.DISPLAYNAME'),
15
+ jobid: tl.getVariable('SYSTEM.JOBID'),
16
+ agentVersion: tl.getVariable('AGENT.VERSION'),
17
+ agentOS: tl.getVariable('AGENT.OS'),
18
+ agentName: tl.getVariable('AGENT.NAME'),
19
+ version: packagejson.version
20
+ };
21
+ }
22
+ function publishEvent(feature, properties) {
23
+ try {
24
+ var splitVersion = (process.env.AGENT_VERSION || '').split('.');
25
+ var major = parseInt(splitVersion[0] || '0');
26
+ var minor = parseInt(splitVersion[1] || '0');
27
+ let telemetry = '';
28
+ if (major > 2 || (major == 2 && minor >= 120)) {
29
+ telemetry = `##vso[telemetry.publish area=${area};feature=${feature}]${JSON.stringify(Object.assign(getDefaultProps(), properties))}`;
30
+ }
31
+ else {
32
+ if (feature === 'reliability') {
33
+ let reliabilityData = properties;
34
+ telemetry = "##vso[task.logissue type=error;code=" + reliabilityData.issueType + ";agentVersion=" + tl.getVariable('Agent.Version') + ";taskId=" + area + "-" + packagejson.version + ";]" + reliabilityData.errorMessage;
35
+ }
36
+ }
37
+ console.log(telemetry);
38
+ ;
39
+ }
40
+ catch (err) {
41
+ tl.warning("Failed to log telemetry, error: " + err);
42
+ }
43
+ }
44
+ exports.publishEvent = publishEvent;
package/Engine/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export { ArtifactEngineOptions } from "./artifactEngineOptions";
2
- export { ArtifactEngine } from "./artifactEngine";
1
+ export { ArtifactEngineOptions } from "./artifactEngineOptions";
2
+ export { ArtifactEngine } from "./artifactEngine";
package/Engine/index.js CHANGED
@@ -1,8 +1,6 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactEngine = exports.ArtifactEngineOptions = void 0;
4
- var artifactEngineOptions_1 = require("./artifactEngineOptions");
5
- Object.defineProperty(exports, "ArtifactEngineOptions", { enumerable: true, get: function () { return artifactEngineOptions_1.ArtifactEngineOptions; } });
6
- var artifactEngine_1 = require("./artifactEngine");
7
- Object.defineProperty(exports, "ArtifactEngine", { enumerable: true, get: function () { return artifactEngine_1.ArtifactEngine; } });
8
- //# sourceMappingURL=index.js.map
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var artifactEngineOptions_1 = require("./artifactEngineOptions");
4
+ exports.ArtifactEngineOptions = artifactEngineOptions_1.ArtifactEngineOptions;
5
+ var artifactEngine_1 = require("./artifactEngine");
6
+ exports.ArtifactEngine = artifactEngine_1.ArtifactEngine;
@@ -1,13 +1,13 @@
1
- import { ArtifactItemStore } from '../Store/artifactItemStore';
2
- export declare class Logger {
3
- constructor(store: ArtifactItemStore);
4
- static logInfo(message: string): void;
5
- static logError(message: string): void;
6
- static logMessage(message: string): void;
7
- logProgress(): void;
8
- logSummary(): void;
9
- private padText;
10
- static verbose: boolean;
11
- private store;
12
- private startTime;
13
- }
1
+ import { ArtifactItemStore } from '../Store/artifactItemStore';
2
+ export declare class Logger {
3
+ constructor(store: ArtifactItemStore);
4
+ static logInfo(message: string): void;
5
+ static logError(message: string): void;
6
+ static logMessage(message: string): void;
7
+ logProgress(): void;
8
+ logSummary(): void;
9
+ private padText(textToPad, maxTextLength, padChar?);
10
+ static verbose: boolean;
11
+ private store;
12
+ private startTime;
13
+ }