@salesforce/plugin-devops-center 0.1.0-beta.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.
- package/LICENSE.txt +12 -0
- package/README.md +245 -0
- package/lib/commands/deploy/pipeline/report.d.ts +15 -0
- package/lib/commands/deploy/pipeline/report.js +42 -0
- package/lib/commands/deploy/pipeline/report.js.map +1 -0
- package/lib/commands/deploy/pipeline/resume.d.ts +12 -0
- package/lib/commands/deploy/pipeline/resume.js +28 -0
- package/lib/commands/deploy/pipeline/resume.js.map +1 -0
- package/lib/commands/deploy/pipeline.d.ts +26 -0
- package/lib/commands/deploy/pipeline.js +50 -0
- package/lib/commands/deploy/pipeline.js.map +1 -0
- package/lib/common/base/abstractPromote.d.ts +69 -0
- package/lib/common/base/abstractPromote.js +173 -0
- package/lib/common/base/abstractPromote.js.map +1 -0
- package/lib/common/base/abstractReportOnPromote.d.ts +17 -0
- package/lib/common/base/abstractReportOnPromote.js +64 -0
- package/lib/common/base/abstractReportOnPromote.js.map +1 -0
- package/lib/common/base/abstractResume.d.ts +37 -0
- package/lib/common/base/abstractResume.js +90 -0
- package/lib/common/base/abstractResume.js.map +1 -0
- package/lib/common/constants.d.ts +9 -0
- package/lib/common/constants.js +20 -0
- package/lib/common/constants.js.map +1 -0
- package/lib/common/deployPipelineCache.d.ts +39 -0
- package/lib/common/deployPipelineCache.js +81 -0
- package/lib/common/deployPipelineCache.js.map +1 -0
- package/lib/common/flags/flags.d.ts +19 -0
- package/lib/common/flags/flags.js +84 -0
- package/lib/common/flags/flags.js.map +1 -0
- package/lib/common/flags/promote/promoteFlags.d.ts +12 -0
- package/lib/common/flags/promote/promoteFlags.js +52 -0
- package/lib/common/flags/promote/promoteFlags.js.map +1 -0
- package/lib/common/index.d.ts +2 -0
- package/lib/common/index.js +18 -0
- package/lib/common/index.js.map +1 -0
- package/lib/common/outputColumns.d.ts +17 -0
- package/lib/common/outputColumns.js +24 -0
- package/lib/common/outputColumns.js.map +1 -0
- package/lib/common/outputService/aorOutputService.d.ts +43 -0
- package/lib/common/outputService/aorOutputService.js +50 -0
- package/lib/common/outputService/aorOutputService.js.map +1 -0
- package/lib/common/outputService/deployCommandOutputService.d.ts +12 -0
- package/lib/common/outputService/deployCommandOutputService.js +28 -0
- package/lib/common/outputService/deployCommandOutputService.js.map +1 -0
- package/lib/common/outputService/deploySummaryBuilder.d.ts +32 -0
- package/lib/common/outputService/deploySummaryBuilder.js +185 -0
- package/lib/common/outputService/deploySummaryBuilder.js.map +1 -0
- package/lib/common/outputService/deploymentResultOutputService.d.ts +23 -0
- package/lib/common/outputService/deploymentResultOutputService.js +18 -0
- package/lib/common/outputService/deploymentResultOutputService.js.map +1 -0
- package/lib/common/outputService/index.d.ts +6 -0
- package/lib/common/outputService/index.js +20 -0
- package/lib/common/outputService/index.js.map +1 -0
- package/lib/common/outputService/outputService.d.ts +27 -0
- package/lib/common/outputService/outputService.js +30 -0
- package/lib/common/outputService/outputService.js.map +1 -0
- package/lib/common/outputService/outputServiceFactory.d.ts +27 -0
- package/lib/common/outputService/outputServiceFactory.js +39 -0
- package/lib/common/outputService/outputServiceFactory.js.map +1 -0
- package/lib/common/outputService/outputUtils.d.ts +3 -0
- package/lib/common/outputService/outputUtils.js +26 -0
- package/lib/common/outputService/outputUtils.js.map +1 -0
- package/lib/common/outputService/promoteOutputService.d.ts +30 -0
- package/lib/common/outputService/promoteOutputService.js +55 -0
- package/lib/common/outputService/promoteOutputService.js.map +1 -0
- package/lib/common/outputService/reportOutputService.d.ts +21 -0
- package/lib/common/outputService/reportOutputService.js +54 -0
- package/lib/common/outputService/reportOutputService.js.map +1 -0
- package/lib/common/outputService/resumeCommandOutputService.d.ts +12 -0
- package/lib/common/outputService/resumeCommandOutputService.js +30 -0
- package/lib/common/outputService/resumeCommandOutputService.js.map +1 -0
- package/lib/common/outputService/resumeOutputService.d.ts +15 -0
- package/lib/common/outputService/resumeOutputService.js +19 -0
- package/lib/common/outputService/resumeOutputService.js.map +1 -0
- package/lib/common/selectors/asyncOperationResultsSelector.d.ts +7 -0
- package/lib/common/selectors/asyncOperationResultsSelector.js +21 -0
- package/lib/common/selectors/asyncOperationResultsSelector.js.map +1 -0
- package/lib/common/selectors/deployComponentsSelector.d.ts +3 -0
- package/lib/common/selectors/deployComponentsSelector.js +18 -0
- package/lib/common/selectors/deployComponentsSelector.js.map +1 -0
- package/lib/common/selectors/deployProgressSummarySelector.d.ts +13 -0
- package/lib/common/selectors/deployProgressSummarySelector.js +24 -0
- package/lib/common/selectors/deployProgressSummarySelector.js.map +1 -0
- package/lib/common/selectors/deploymentResultsSelector.d.ts +7 -0
- package/lib/common/selectors/deploymentResultsSelector.js +24 -0
- package/lib/common/selectors/deploymentResultsSelector.js.map +1 -0
- package/lib/common/selectors/environmentSelector.d.ts +11 -0
- package/lib/common/selectors/environmentSelector.js +22 -0
- package/lib/common/selectors/environmentSelector.js.map +1 -0
- package/lib/common/selectors/namedCredentialSelector.d.ts +6 -0
- package/lib/common/selectors/namedCredentialSelector.js +24 -0
- package/lib/common/selectors/namedCredentialSelector.js.map +1 -0
- package/lib/common/selectors/pipelineStageSelector.d.ts +7 -0
- package/lib/common/selectors/pipelineStageSelector.js +22 -0
- package/lib/common/selectors/pipelineStageSelector.js.map +1 -0
- package/lib/common/selectors/workItemSelector.d.ts +11 -0
- package/lib/common/selectors/workItemSelector.js +22 -0
- package/lib/common/selectors/workItemSelector.js.map +1 -0
- package/lib/common/types.d.ts +98 -0
- package/lib/common/types.js +24 -0
- package/lib/common/types.js.map +1 -0
- package/lib/common/utils.d.ts +75 -0
- package/lib/common/utils.js +176 -0
- package/lib/common/utils.js.map +1 -0
- package/lib/configMeta.d.ts +13 -0
- package/lib/configMeta.js +28 -0
- package/lib/configMeta.js.map +1 -0
- package/lib/streamer/doceMonitor.d.ts +7 -0
- package/lib/streamer/doceMonitor.js +9 -0
- package/lib/streamer/doceMonitor.js.map +1 -0
- package/lib/streamer/doceStream.d.ts +20 -0
- package/lib/streamer/doceStream.js +33 -0
- package/lib/streamer/doceStream.js.map +1 -0
- package/lib/streamer/processors/asyncOpStream.d.ts +20 -0
- package/lib/streamer/processors/asyncOpStream.js +48 -0
- package/lib/streamer/processors/asyncOpStream.js.map +1 -0
- package/lib/streamer/sObjectStream.d.ts +22 -0
- package/lib/streamer/sObjectStream.js +40 -0
- package/lib/streamer/sObjectStream.js.map +1 -0
- package/messages/aorOperations.output.md +8 -0
- package/messages/cache.md +3 -0
- package/messages/commonErrors.md +31 -0
- package/messages/commonFlags.md +53 -0
- package/messages/config.md +3 -0
- package/messages/deploy.output.md +31 -0
- package/messages/deploy.pipeline.md +37 -0
- package/messages/deploy.pipeline.report.md +49 -0
- package/messages/deploy.pipeline.resume.md +23 -0
- package/messages/promoteFlags.md +53 -0
- package/messages/resume.output.md +4 -0
- package/oclif.manifest.json +247 -0
- package/package.json +115 -0
- package/schemas/deploy-pipeline-report.json +25 -0
- package/schemas/deploy-pipeline-resume.json +25 -0
- package/schemas/deploy-pipeline.json +25 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.concise = exports.verbose = exports.useMostRecent = exports.jobId = exports.requiredDoceOrgFlag = exports.wait = exports.devopsCenterProjectName = void 0;
|
|
10
|
+
const core_1 = require("@salesforce/core");
|
|
11
|
+
const kit_1 = require("@salesforce/kit");
|
|
12
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
13
|
+
const core_2 = require("@oclif/core");
|
|
14
|
+
const configMeta_1 = require("../../configMeta");
|
|
15
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-devops-center', 'commonFlags');
|
|
17
|
+
exports.devopsCenterProjectName = sf_plugins_core_1.Flags.string({
|
|
18
|
+
char: 'p',
|
|
19
|
+
summary: messages.getMessage('flags.devops-center-project-name.summary'),
|
|
20
|
+
required: true,
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Wait flag
|
|
24
|
+
* This is used to determine how many minutes we are going to stream results before giving back the control of the terminal to the user.
|
|
25
|
+
*/
|
|
26
|
+
exports.wait = sf_plugins_core_1.Flags.duration({
|
|
27
|
+
unit: 'minutes',
|
|
28
|
+
char: 'w',
|
|
29
|
+
summary: messages.getMessage('flags.wait.summary'),
|
|
30
|
+
description: messages.getMessage('flags.wait.description'),
|
|
31
|
+
defaultValue: 33,
|
|
32
|
+
default: kit_1.Duration.minutes(33),
|
|
33
|
+
helpValue: '<minutes>',
|
|
34
|
+
min: 3,
|
|
35
|
+
exclusive: ['async'],
|
|
36
|
+
});
|
|
37
|
+
/**
|
|
38
|
+
* Custom flag for the target devops center org.
|
|
39
|
+
* Makes this flag required and validates that passed in alias/username corresponds to an authenticated org.
|
|
40
|
+
* If no value is passed in, then it looks for the alias/username set in the --target-devops-center config variable.
|
|
41
|
+
*/
|
|
42
|
+
exports.requiredDoceOrgFlag = core_2.Flags.custom({
|
|
43
|
+
char: 'c',
|
|
44
|
+
summary: messages.getMessage('flags.targetDoceOrg.summary'),
|
|
45
|
+
parse: async (input) => getOrgOrThrow(input),
|
|
46
|
+
default: async () => getOrgOrThrow(),
|
|
47
|
+
defaultHelp: async () => (await getOrgOrThrow())?.getUsername(),
|
|
48
|
+
required: true,
|
|
49
|
+
});
|
|
50
|
+
exports.jobId = sf_plugins_core_1.Flags.salesforceId({
|
|
51
|
+
char: 'i',
|
|
52
|
+
description: messages.getMessage('flags.job-id.description'),
|
|
53
|
+
summary: messages.getMessage('flags.job-id.summary'),
|
|
54
|
+
exactlyOne: ['use-most-recent', 'job-id'],
|
|
55
|
+
});
|
|
56
|
+
exports.useMostRecent = sf_plugins_core_1.Flags.boolean({
|
|
57
|
+
char: 'r',
|
|
58
|
+
description: messages.getMessage('flags.use-most-recent.description'),
|
|
59
|
+
summary: messages.getMessage('flags.use-most-recent.summary'),
|
|
60
|
+
exactlyOne: ['use-most-recent', 'job-id'],
|
|
61
|
+
});
|
|
62
|
+
exports.verbose = sf_plugins_core_1.Flags.boolean({
|
|
63
|
+
summary: messages.getMessage('flags.verbose.summary'),
|
|
64
|
+
});
|
|
65
|
+
exports.concise = sf_plugins_core_1.Flags.boolean({
|
|
66
|
+
summary: messages.getMessage('flags.concise.summary'),
|
|
67
|
+
exclusive: ['verbose'],
|
|
68
|
+
});
|
|
69
|
+
/**
|
|
70
|
+
*
|
|
71
|
+
* @param input alias/username of an org
|
|
72
|
+
* @returns instance of an Org that correspons to the alias/username passed in
|
|
73
|
+
* or to the alias/username set in --target-devops-center config variable.
|
|
74
|
+
*/
|
|
75
|
+
const getOrgOrThrow = async (input) => {
|
|
76
|
+
const aggregator = await core_1.ConfigAggregator.create({ customConfigMeta: configMeta_1.default });
|
|
77
|
+
const alias = input ? input : aggregator.getInfo(configMeta_1.ConfigVars.TARGET_DEVOPS_CENTER)?.value?.toString();
|
|
78
|
+
if (!alias) {
|
|
79
|
+
throw messages.createError('errors.NoDefaultDoceEnv');
|
|
80
|
+
}
|
|
81
|
+
const org = await core_1.Org.create({ aliasOrUsername: alias });
|
|
82
|
+
return org;
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=flags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flags.js","sourceRoot":"","sources":["../../../src/common/flags/flags.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAAmE;AACnE,yCAA2C;AAC3C,iEAAoD;AACpD,sCAAkD;AAElD,iDAA0D;AAE1D,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,kCAAkC,EAAE,aAAa,CAAC,CAAC;AAE7E,QAAA,uBAAuB,GAAuB,uBAAK,CAAC,MAAM,CAAC;IACtE,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,0CAA0C,CAAC;IACxE,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,IAAI,GAAyB,uBAAK,CAAC,QAAQ,CAAC;IACvD,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,oBAAoB,CAAC;IAClD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;IAC1D,YAAY,EAAE,EAAE;IAChB,OAAO,EAAE,cAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;IAC7B,SAAS,EAAE,WAAW;IACtB,GAAG,EAAE,CAAC;IACN,SAAS,EAAE,CAAC,OAAO,CAAC;CACrB,CAAC,CAAC;AAEH;;;;GAIG;AACU,QAAA,mBAAmB,GAAG,YAAU,CAAC,MAAM,CAAC;IACnD,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;IAC3D,KAAK,EAAE,KAAK,EAAE,KAAyB,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC;IAChE,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,aAAa,EAAE;IACpC,WAAW,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,EAAE,WAAW,EAAE;IAC/D,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEU,QAAA,KAAK,GAAmC,uBAAK,CAAC,YAAY,CAAC;IACtE,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,0BAA0B,CAAC;IAC5D,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;IACpD,UAAU,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;CAC1C,CAAC,CAAC;AAEU,QAAA,aAAa,GAAyB,uBAAK,CAAC,OAAO,CAAC;IAC/D,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,mCAAmC,CAAC;IACrE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,+BAA+B,CAAC;IAC7D,UAAU,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC;CAC1C,CAAC,CAAC;AAEU,QAAA,OAAO,GAAyB,uBAAK,CAAC,OAAO,CAAC;IACzD,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;CACtD,CAAC,CAAC;AAEU,QAAA,OAAO,GAAyB,uBAAK,CAAC,OAAO,CAAC;IACzD,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;IACrD,SAAS,EAAE,CAAC,SAAS,CAAC;CACvB,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,KAAc,EAAgB,EAAE;IAC3D,MAAM,UAAU,GAAG,MAAM,uBAAgB,CAAC,MAAM,CAAC,EAAE,gBAAgB,EAAE,oBAAU,EAAE,CAAC,CAAC;IACnF,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,uBAAU,CAAC,oBAAoB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACrG,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,QAAQ,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;KACvD;IACD,MAAM,GAAG,GAAQ,MAAM,UAAG,CAAC,MAAM,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;IAC9D,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { BooleanFlag, OptionFlag } from '@oclif/core/lib/interfaces';
|
|
2
|
+
import { TestLevel } from '../..';
|
|
3
|
+
export declare const branchName: OptionFlag<string>;
|
|
4
|
+
/**
|
|
5
|
+
* Custom flag for the test level.
|
|
6
|
+
* Validates that the passed in value is a valid test level.
|
|
7
|
+
*/
|
|
8
|
+
export declare const testLevel: import("@oclif/core/lib/interfaces/parser").FlagDefinition<TestLevel, Record<string, unknown>>;
|
|
9
|
+
export declare const specificTests: OptionFlag<string[] | undefined>;
|
|
10
|
+
export declare const deployAll: BooleanFlag<boolean>;
|
|
11
|
+
export declare const bundleVersionName: OptionFlag<string | undefined>;
|
|
12
|
+
export declare const async: BooleanFlag<boolean>;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.async = exports.bundleVersionName = exports.deployAll = exports.specificTests = exports.testLevel = exports.branchName = void 0;
|
|
10
|
+
const core_1 = require("@salesforce/core");
|
|
11
|
+
const sf_plugins_core_1 = require("@salesforce/sf-plugins-core");
|
|
12
|
+
const core_2 = require("@oclif/core");
|
|
13
|
+
const __1 = require("../..");
|
|
14
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
15
|
+
const messages = core_1.Messages.loadMessages('@salesforce/plugin-devops-center', 'promoteFlags');
|
|
16
|
+
exports.branchName = sf_plugins_core_1.Flags.string({
|
|
17
|
+
char: 'b',
|
|
18
|
+
summary: messages.getMessage('promote.branch-name.summary'),
|
|
19
|
+
required: true,
|
|
20
|
+
});
|
|
21
|
+
/**
|
|
22
|
+
* Custom flag for the test level.
|
|
23
|
+
* Validates that the passed in value is a valid test level.
|
|
24
|
+
*/
|
|
25
|
+
exports.testLevel = core_2.Flags.custom({
|
|
26
|
+
char: 'l',
|
|
27
|
+
parse: (input) => Promise.resolve(input),
|
|
28
|
+
options: Object.values(__1.TestLevel),
|
|
29
|
+
description: messages.getMessage('promote.test-level.description'),
|
|
30
|
+
summary: messages.getMessage('promote.test-level.summary'),
|
|
31
|
+
});
|
|
32
|
+
exports.specificTests = sf_plugins_core_1.Flags.string({
|
|
33
|
+
char: 't',
|
|
34
|
+
multiple: true,
|
|
35
|
+
description: messages.getMessage('promote.tests.description'),
|
|
36
|
+
summary: messages.getMessage('promote.tests.summary'),
|
|
37
|
+
});
|
|
38
|
+
exports.deployAll = sf_plugins_core_1.Flags.boolean({
|
|
39
|
+
char: 'a',
|
|
40
|
+
description: messages.getMessage('promote.deploy-all.description'),
|
|
41
|
+
summary: messages.getMessage('promote.deploy-all.summary'),
|
|
42
|
+
});
|
|
43
|
+
exports.bundleVersionName = sf_plugins_core_1.Flags.string({
|
|
44
|
+
char: 'v',
|
|
45
|
+
summary: messages.getMessage('promote.bundle-version-name.summary'),
|
|
46
|
+
description: messages.getMessage('promote.bundle-version-name.description'),
|
|
47
|
+
});
|
|
48
|
+
exports.async = sf_plugins_core_1.Flags.boolean({
|
|
49
|
+
description: messages.getMessage('promote.async.description'),
|
|
50
|
+
summary: messages.getMessage('promote.async.summary'),
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=promoteFlags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"promoteFlags.js","sourceRoot":"","sources":["../../../../src/common/flags/promote/promoteFlags.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4C;AAC5C,iEAAoD;AACpD,sCAAkD;AAElD,6BAAkC;AAElC,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,QAAQ,GAAG,eAAQ,CAAC,YAAY,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;AAE9E,QAAA,UAAU,GAAuB,uBAAK,CAAC,MAAM,CAAC;IACzD,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,6BAA6B,CAAC;IAC3D,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEH;;;GAGG;AACU,QAAA,SAAS,GAAG,YAAU,CAAC,MAAM,CAAY;IACpD,IAAI,EAAE,GAAG;IACT,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAkB,CAAC;IACrD,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,aAAS,CAAC;IACjC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,gCAAgC,CAAC;IAClE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;CAC3D,CAAC,CAAC;AAEU,QAAA,aAAa,GAAqC,uBAAK,CAAC,MAAM,CAAC;IAC1E,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,IAAI;IACd,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;IAC7D,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;CACtD,CAAC,CAAC;AAEU,QAAA,SAAS,GAAyB,uBAAK,CAAC,OAAO,CAAC;IAC3D,IAAI,EAAE,GAAG;IACT,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,gCAAgC,CAAC;IAClE,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4BAA4B,CAAC;CAC3D,CAAC,CAAC;AAEU,QAAA,iBAAiB,GAAmC,uBAAK,CAAC,MAAM,CAAC;IAC5E,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qCAAqC,CAAC;IACnE,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,yCAAyC,CAAC;CAC5E,CAAC,CAAC;AAEU,QAAA,KAAK,GAAyB,uBAAK,CAAC,OAAO,CAAC;IACvD,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,2BAA2B,CAAC;IAC7D,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,uBAAuB,CAAC;CACtD,CAAC,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { ApiError, AsyncOperationResult, AsyncOperationStatus, DeploymentResult, PipelineStage, PromoteOptions, PromotePipelineResult, TestLevel, DeployComponent, } from './types';
|
|
2
|
+
export { fetchAndValidatePipelineStage, fetchAsyncOperationResult, getAsyncOperationStreamer, validateTestFlags, } from './utils';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateTestFlags = exports.getAsyncOperationStreamer = exports.fetchAsyncOperationResult = exports.fetchAndValidatePipelineStage = exports.TestLevel = exports.AsyncOperationStatus = void 0;
|
|
4
|
+
/*
|
|
5
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
6
|
+
* All rights reserved.
|
|
7
|
+
* Licensed under the BSD 3-Clause license.
|
|
8
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
9
|
+
*/
|
|
10
|
+
var types_1 = require("./types");
|
|
11
|
+
Object.defineProperty(exports, "AsyncOperationStatus", { enumerable: true, get: function () { return types_1.AsyncOperationStatus; } });
|
|
12
|
+
Object.defineProperty(exports, "TestLevel", { enumerable: true, get: function () { return types_1.TestLevel; } });
|
|
13
|
+
var utils_1 = require("./utils");
|
|
14
|
+
Object.defineProperty(exports, "fetchAndValidatePipelineStage", { enumerable: true, get: function () { return utils_1.fetchAndValidatePipelineStage; } });
|
|
15
|
+
Object.defineProperty(exports, "fetchAsyncOperationResult", { enumerable: true, get: function () { return utils_1.fetchAsyncOperationResult; } });
|
|
16
|
+
Object.defineProperty(exports, "getAsyncOperationStreamer", { enumerable: true, get: function () { return utils_1.getAsyncOperationStreamer; } });
|
|
17
|
+
Object.defineProperty(exports, "validateTestFlags", { enumerable: true, get: function () { return utils_1.validateTestFlags; } });
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,iCAUiB;AAPf,6GAAA,oBAAoB,OAAA;AAKpB,kGAAA,SAAS,OAAA;AAGX,iCAKiB;AAJf,sHAAA,6BAA6B,OAAA;AAC7B,kHAAA,yBAAyB,OAAA;AACzB,kHAAA,yBAAyB,OAAA;AACzB,0GAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare const DeployComponentsTable: {
|
|
2
|
+
columns: {
|
|
3
|
+
sf_devops__Operation__c: {
|
|
4
|
+
header: string;
|
|
5
|
+
};
|
|
6
|
+
Name: {
|
|
7
|
+
header: string;
|
|
8
|
+
};
|
|
9
|
+
Type: {
|
|
10
|
+
header: string;
|
|
11
|
+
};
|
|
12
|
+
sf_devops__File_Path__c: {
|
|
13
|
+
header: string;
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
title: string;
|
|
17
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2022, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DeployComponentsTable = void 0;
|
|
10
|
+
const core_1 = require("@salesforce/core");
|
|
11
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
12
|
+
const tableElements = core_1.Messages.loadMessages('@salesforce/plugin-devops-center', 'deploy.pipeline');
|
|
13
|
+
exports.DeployComponentsTable = {
|
|
14
|
+
columns: {
|
|
15
|
+
// eslint-disable-next-line camelcase
|
|
16
|
+
sf_devops__Operation__c: { header: tableElements.getMessage('deployComponent.operation.column') },
|
|
17
|
+
Name: { header: tableElements.getMessage('deployComponent.name.column') },
|
|
18
|
+
Type: { header: tableElements.getMessage('deployComponent.type.column') },
|
|
19
|
+
// eslint-disable-next-line camelcase
|
|
20
|
+
sf_devops__File_Path__c: { header: tableElements.getMessage('deployComponent.path.column') },
|
|
21
|
+
},
|
|
22
|
+
title: tableElements.getMessage('deployComponent.table.title'),
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=outputColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outputColumns.js","sourceRoot":"","sources":["../../src/common/outputColumns.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,2CAA4C;AAE5C,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,aAAa,GAAG,eAAQ,CAAC,YAAY,CAAC,kCAAkC,EAAE,iBAAiB,CAAC,CAAC;AAEtF,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE;QACP,qCAAqC;QACrC,uBAAuB,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,kCAAkC,CAAC,EAAE;QACjG,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzE,IAAI,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE;QACzE,qCAAqC;QACrC,uBAAuB,EAAE,EAAE,MAAM,EAAE,aAAa,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE;KAC7F;IACD,KAAK,EAAE,aAAa,CAAC,UAAU,CAAC,6BAA6B,CAAC;CAC/D,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { AsyncOperationResult, AsyncOperationStatus } from '../types';
|
|
2
|
+
import { AbstractOutputService, OutputFlags, OutputService } from './outputService';
|
|
3
|
+
export type AorOutputFlags = {
|
|
4
|
+
async?: boolean;
|
|
5
|
+
} & OutputFlags;
|
|
6
|
+
/**
|
|
7
|
+
* Service interface for printing the output of async operations
|
|
8
|
+
*
|
|
9
|
+
* @author JuanStenghele-sf
|
|
10
|
+
*/
|
|
11
|
+
export interface AorOutputService extends OutputService {
|
|
12
|
+
/**
|
|
13
|
+
* Prints the status of the given aor
|
|
14
|
+
*/
|
|
15
|
+
printAorStatus(aor: AsyncOperationResult): void;
|
|
16
|
+
/**
|
|
17
|
+
* Prints the aor id
|
|
18
|
+
*/
|
|
19
|
+
printAorId(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Sets the aor id
|
|
22
|
+
*/
|
|
23
|
+
setAorId(aorId: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Sets the aor id
|
|
26
|
+
*/
|
|
27
|
+
getStatus(): AsyncOperationStatus | undefined;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Abstract class that implements AorOutputService interface
|
|
31
|
+
*
|
|
32
|
+
* @author JuanStenghele-sf
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class AbstractAorOutputService<T extends AorOutputFlags> extends AbstractOutputService<T> implements AorOutputService {
|
|
35
|
+
protected aorId: string;
|
|
36
|
+
protected status: AsyncOperationStatus | undefined;
|
|
37
|
+
constructor(flags: T, aorId: string);
|
|
38
|
+
printAorStatus(aor: AsyncOperationResult): void;
|
|
39
|
+
printAorId(): void;
|
|
40
|
+
setAorId(aorId: string): void;
|
|
41
|
+
getStatus(): AsyncOperationStatus | undefined;
|
|
42
|
+
abstract printOpSummary(): void;
|
|
43
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.AbstractAorOutputService = void 0;
|
|
10
|
+
/* eslint-disable no-console, class-methods-use-this */
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const chalk_1 = require("chalk");
|
|
13
|
+
const types_1 = require("../types");
|
|
14
|
+
const outputService_1 = require("./outputService");
|
|
15
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
16
|
+
const output = core_1.Messages.loadMessages('@salesforce/plugin-devops-center', 'aorOperations.output');
|
|
17
|
+
/**
|
|
18
|
+
* Abstract class that implements AorOutputService interface
|
|
19
|
+
*
|
|
20
|
+
* @author JuanStenghele-sf
|
|
21
|
+
*/
|
|
22
|
+
class AbstractAorOutputService extends outputService_1.AbstractOutputService {
|
|
23
|
+
constructor(flags, aorId) {
|
|
24
|
+
super(flags);
|
|
25
|
+
this.aorId = aorId;
|
|
26
|
+
}
|
|
27
|
+
printAorStatus(aor) {
|
|
28
|
+
if (aor.sf_devops__Status__c === undefined || aor.sf_devops__Status__c === types_1.AsyncOperationStatus.InProgress) {
|
|
29
|
+
console.log(aor.sf_devops__Message__c);
|
|
30
|
+
}
|
|
31
|
+
else if (aor.sf_devops__Status__c === types_1.AsyncOperationStatus.Completed) {
|
|
32
|
+
console.log((0, chalk_1.green)(aor.sf_devops__Message__c));
|
|
33
|
+
}
|
|
34
|
+
else if (aor.sf_devops__Status__c === types_1.AsyncOperationStatus.Error && aor.sf_devops__Error_Details__c) {
|
|
35
|
+
console.log((0, chalk_1.red)(output.getMessage('output.aor-error-status', [aor.sf_devops__Message__c, aor.sf_devops__Error_Details__c])));
|
|
36
|
+
}
|
|
37
|
+
this.status = aor.sf_devops__Status__c;
|
|
38
|
+
}
|
|
39
|
+
printAorId() {
|
|
40
|
+
console.log(output.getMessage('output.aor-id', [this.aorId]));
|
|
41
|
+
}
|
|
42
|
+
setAorId(aorId) {
|
|
43
|
+
this.aorId = aorId;
|
|
44
|
+
}
|
|
45
|
+
getStatus() {
|
|
46
|
+
return this.status;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.AbstractAorOutputService = AbstractAorOutputService;
|
|
50
|
+
//# sourceMappingURL=aorOutputService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"aorOutputService.js","sourceRoot":"","sources":["../../../src/common/outputService/aorOutputService.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH,uDAAuD;AAEvD,2CAA4C;AAC5C,iCAAmC;AACnC,oCAAsE;AACtE,mDAAoF;AAEpF,eAAQ,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;AAC5C,MAAM,MAAM,GAAG,eAAQ,CAAC,YAAY,CAAC,kCAAkC,EAAE,sBAAsB,CAAC,CAAC;AAiCjG;;;;GAIG;AACH,MAAsB,wBACpB,SAAQ,qCAAwB;IAMhC,YAAmB,KAAQ,EAAE,KAAa;QACxC,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,cAAc,CAAC,GAAyB;QAC7C,IAAI,GAAG,CAAC,oBAAoB,KAAK,SAAS,IAAI,GAAG,CAAC,oBAAoB,KAAK,4BAAoB,CAAC,UAAU,EAAE;YAC1G,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;SACxC;aAAM,IAAI,GAAG,CAAC,oBAAoB,KAAK,4BAAoB,CAAC,SAAS,EAAE;YACtE,OAAO,CAAC,GAAG,CAAC,IAAA,aAAK,EAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;SAC/C;aAAM,IAAI,GAAG,CAAC,oBAAoB,KAAK,4BAAoB,CAAC,KAAK,IAAI,GAAG,CAAC,2BAA2B,EAAE;YACrG,OAAO,CAAC,GAAG,CACT,IAAA,WAAG,EAAC,MAAM,CAAC,UAAU,CAAC,yBAAyB,EAAE,CAAC,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAChH,CAAC;SACH;QAED,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,oBAAoB,CAAC;IACzC,CAAC;IAEM,UAAU;QACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IAEM,QAAQ,CAAC,KAAa;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CAGF;AAvCD,4DAuCC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Connection } from '@salesforce/core';
|
|
2
|
+
import { SfCommand } from '@salesforce/sf-plugins-core';
|
|
3
|
+
import { Flags } from '../base/abstractPromote';
|
|
4
|
+
import { AbstractPromoteOutputService } from './promoteOutputService';
|
|
5
|
+
/**
|
|
6
|
+
* Service class to print the deploy output
|
|
7
|
+
*
|
|
8
|
+
* @author JuanStenghele-sf
|
|
9
|
+
*/
|
|
10
|
+
export declare class DeployCommandOutputService extends AbstractPromoteOutputService {
|
|
11
|
+
constructor(flags: Flags<typeof SfCommand>, con: Connection);
|
|
12
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DeployCommandOutputService = void 0;
|
|
10
|
+
const deploySummaryBuilder_1 = require("./deploySummaryBuilder");
|
|
11
|
+
const promoteOutputService_1 = require("./promoteOutputService");
|
|
12
|
+
/**
|
|
13
|
+
* Service class to print the deploy output
|
|
14
|
+
*
|
|
15
|
+
* @author JuanStenghele-sf
|
|
16
|
+
*/
|
|
17
|
+
class DeployCommandOutputService extends promoteOutputService_1.AbstractPromoteOutputService {
|
|
18
|
+
constructor(flags, con) {
|
|
19
|
+
super({
|
|
20
|
+
async: flags['async'],
|
|
21
|
+
branch: flags['branch-name'],
|
|
22
|
+
concise: flags['concise'],
|
|
23
|
+
verbose: flags['verbose'],
|
|
24
|
+
}, new deploySummaryBuilder_1.DeploySummaryBuilder(con), con);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.DeployCommandOutputService = DeployCommandOutputService;
|
|
28
|
+
//# sourceMappingURL=deployCommandOutputService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deployCommandOutputService.js","sourceRoot":"","sources":["../../../src/common/outputService/deployCommandOutputService.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAOH,iEAA8D;AAC9D,iEAAsE;AAEtE;;;;GAIG;AACH,MAAa,0BAA2B,SAAQ,mDAA4B;IAC1E,YAAmB,KAA8B,EAAE,GAAe;QAChE,KAAK,CACH;YACE,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,MAAM,EAAE,KAAK,CAAC,aAAa,CAAC;YAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;YACzB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;SAC1B,EACD,IAAI,2CAAoB,CAAC,GAAG,CAAC,EAC7B,GAAG,CACJ,CAAC;IACJ,CAAC;CACF;AAbD,gEAaC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Connection } from '@salesforce/core';
|
|
2
|
+
import { AbstractOutputService, OutputFlags, OutputService } from './outputService';
|
|
3
|
+
/**
|
|
4
|
+
* Builds the appropiate DeploySummaryOutputService
|
|
5
|
+
*
|
|
6
|
+
* @author JuanStenghele-sf
|
|
7
|
+
*/
|
|
8
|
+
export declare class DeploySummaryBuilder {
|
|
9
|
+
private con;
|
|
10
|
+
constructor(con: Connection);
|
|
11
|
+
/**
|
|
12
|
+
* Builds the appropiate DeploySummaryOutputService
|
|
13
|
+
*/
|
|
14
|
+
build(branch: string, aorId: string, flags: OutputFlags): Promise<OutputService | undefined>;
|
|
15
|
+
}
|
|
16
|
+
export declare abstract class DeploySummaryOutputService<T extends OutputFlags> extends AbstractOutputService<T> {
|
|
17
|
+
protected con: Connection;
|
|
18
|
+
protected branch: string;
|
|
19
|
+
protected stageName: string;
|
|
20
|
+
protected orgUrl: string;
|
|
21
|
+
constructor(con: Connection, branch: string, flags: T);
|
|
22
|
+
printOpSummary(): Promise<void>;
|
|
23
|
+
protected printConciseSummary(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Gets all the attributes needed to call printSummary()
|
|
26
|
+
*/
|
|
27
|
+
protected abstract buildSummary(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Prints the specific summary for this deploy type
|
|
30
|
+
*/
|
|
31
|
+
protected abstract printSummary(): void;
|
|
32
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright (c) 2023, salesforce.com, inc.
|
|
4
|
+
* All rights reserved.
|
|
5
|
+
* Licensed under the BSD 3-Clause license.
|
|
6
|
+
* For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DeploySummaryOutputService = exports.DeploySummaryBuilder = void 0;
|
|
10
|
+
/* eslint-disable no-console, @typescript-eslint/no-non-null-assertion */
|
|
11
|
+
const core_1 = require("@salesforce/core");
|
|
12
|
+
const constants_1 = require("../constants");
|
|
13
|
+
const deployProgressSummarySelector_1 = require("../selectors/deployProgressSummarySelector");
|
|
14
|
+
const environmentSelector_1 = require("../selectors/environmentSelector");
|
|
15
|
+
const namedCredentialSelector_1 = require("../selectors/namedCredentialSelector");
|
|
16
|
+
const workItemSelector_1 = require("../selectors/workItemSelector");
|
|
17
|
+
const outputService_1 = require("./outputService");
|
|
18
|
+
core_1.Messages.importMessagesDirectory(__dirname);
|
|
19
|
+
const output = core_1.Messages.loadMessages('@salesforce/plugin-devops-center', 'deploy.output');
|
|
20
|
+
/**
|
|
21
|
+
* Builds the appropiate DeploySummaryOutputService
|
|
22
|
+
*
|
|
23
|
+
* @author JuanStenghele-sf
|
|
24
|
+
*/
|
|
25
|
+
class DeploySummaryBuilder {
|
|
26
|
+
constructor(con) {
|
|
27
|
+
this.con = con;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Builds the appropiate DeploySummaryOutputService
|
|
31
|
+
*/
|
|
32
|
+
async build(branch, aorId, flags) {
|
|
33
|
+
// We get the operation from this query
|
|
34
|
+
const queryResp = await (0, deployProgressSummarySelector_1.selectDeployAORSummaryDataById)(this.con, aorId);
|
|
35
|
+
switch (queryResp.sf_devops__Operation__c) {
|
|
36
|
+
case constants_1.AsyncOperationType.AD_HOC_PROMOTE:
|
|
37
|
+
return new AdHocDeploySummaryOutputService(queryResp.sf_devops__Work_Item_Promotes__r.records, this.con, branch, flags);
|
|
38
|
+
case constants_1.AsyncOperationType.VERSIONED_PROMOTE:
|
|
39
|
+
return new VersionedDeploySummaryOutputService(queryResp.sf_devops__Change_Bundle_Installs__r.records, this.con, branch, flags);
|
|
40
|
+
case constants_1.AsyncOperationType.SOUP_PROMOTE:
|
|
41
|
+
return new SoupDeploySummaryOutputService(queryResp.sf_devops__Change_Bundle_Installs__r.records, queryResp.sf_devops__Work_Items__r.records, this.con, branch, flags);
|
|
42
|
+
default:
|
|
43
|
+
break;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
exports.DeploySummaryBuilder = DeploySummaryBuilder;
|
|
48
|
+
class DeploySummaryOutputService extends outputService_1.AbstractOutputService {
|
|
49
|
+
constructor(con, branch, flags) {
|
|
50
|
+
super(flags);
|
|
51
|
+
this.con = con;
|
|
52
|
+
this.branch = branch;
|
|
53
|
+
}
|
|
54
|
+
async printOpSummary() {
|
|
55
|
+
await this.buildSummary();
|
|
56
|
+
if (this.flags.concise) {
|
|
57
|
+
this.printConciseSummary();
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
this.printSummary();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// eslint-disable-next-line class-methods-use-this
|
|
64
|
+
printConciseSummary() {
|
|
65
|
+
console.log(output.getMessage('output.concise.summary', [this.stageName, this.branch, this.orgUrl]));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.DeploySummaryOutputService = DeploySummaryOutputService;
|
|
69
|
+
/**
|
|
70
|
+
* Service class used to print the operation summary of an Ad Hoc deploy
|
|
71
|
+
*
|
|
72
|
+
* @author JuanStenghele-sf
|
|
73
|
+
*/
|
|
74
|
+
class AdHocDeploySummaryOutputService extends DeploySummaryOutputService {
|
|
75
|
+
constructor(workItemsPromote, con, branch, flags) {
|
|
76
|
+
super(con, branch, flags);
|
|
77
|
+
this.workItemsPromote = workItemsPromote;
|
|
78
|
+
}
|
|
79
|
+
async buildSummary() {
|
|
80
|
+
this.stageName = this.workItemsPromote[0].sf_devops__Pipeline_Stage__r.Name;
|
|
81
|
+
this.workItems = this.workItemsPromote.map((workItem) => workItem.sf_devops__Work_Item__r.Name);
|
|
82
|
+
const namedCredential = this.workItemsPromote[0].sf_devops__Pipeline_Stage__r.sf_devops__Environment__r.sf_devops__Named_Credential__c;
|
|
83
|
+
this.orgUrl = (await (0, namedCredentialSelector_1.selectNamedCredentialByName)(this.con, namedCredential)).Endpoint;
|
|
84
|
+
}
|
|
85
|
+
printSummary() {
|
|
86
|
+
const itemsLabel = this.workItems.length === 1 ? output.getMessage('output.item') : output.getMessage('output.items');
|
|
87
|
+
const workItems = this.workItems.join(', ');
|
|
88
|
+
console.log(output.getMessage('output.adhoc-deploy-summary', [
|
|
89
|
+
this.stageName,
|
|
90
|
+
itemsLabel,
|
|
91
|
+
workItems,
|
|
92
|
+
this.branch,
|
|
93
|
+
this.orgUrl,
|
|
94
|
+
]));
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Abstract class with some common logic for versioned and soup summary output services
|
|
99
|
+
*
|
|
100
|
+
* @author JuanStenghele-sf
|
|
101
|
+
*/
|
|
102
|
+
class VersionedOrSoupSummaryOutputService extends DeploySummaryOutputService {
|
|
103
|
+
constructor(changeBundleInstalls, con, branch, flags) {
|
|
104
|
+
super(con, branch, flags);
|
|
105
|
+
this.changeBundleInstalls = changeBundleInstalls;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Common logic for soup and versioned deploy output services
|
|
109
|
+
*/
|
|
110
|
+
async buildCommonSummary() {
|
|
111
|
+
// We get the stage name and the org url
|
|
112
|
+
const envId = this.changeBundleInstalls[this.changeBundleInstalls.length - 1].sf_devops__Environment__r.Id;
|
|
113
|
+
const envQueryResp = await (0, environmentSelector_1.selectPipelineStageByEnvironment)(this.con, envId);
|
|
114
|
+
this.stageName = envQueryResp.sf_devops__Pipeline_Stages__r.records[0].Name;
|
|
115
|
+
const namedCredential = envQueryResp.sf_devops__Named_Credential__c;
|
|
116
|
+
this.orgUrl = (await (0, namedCredentialSelector_1.selectNamedCredentialByName)(this.con, namedCredential)).Endpoint;
|
|
117
|
+
}
|
|
118
|
+
printSummary() {
|
|
119
|
+
const bundlesSummary = [];
|
|
120
|
+
this.workItems.forEach((workItems, bundleVersionName) => {
|
|
121
|
+
const itemsLabel = workItems.length === 1 ? output.getMessage('output.item') : output.getMessage('output.items');
|
|
122
|
+
bundlesSummary.push(output.getMessage('output.version-or-soup-deploy-summary-wis', [
|
|
123
|
+
itemsLabel,
|
|
124
|
+
workItems.join(', '),
|
|
125
|
+
bundleVersionName,
|
|
126
|
+
]));
|
|
127
|
+
});
|
|
128
|
+
console.log(output.getMessage('output.version-or-soup-deploy-summary', [
|
|
129
|
+
this.stageName,
|
|
130
|
+
bundlesSummary.join('; '),
|
|
131
|
+
this.branch,
|
|
132
|
+
this.orgUrl,
|
|
133
|
+
]));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Service class used to print the operation summary of a Versioned deploy
|
|
138
|
+
*
|
|
139
|
+
* @author JuanStenghele-sf
|
|
140
|
+
*/
|
|
141
|
+
class VersionedDeploySummaryOutputService extends VersionedOrSoupSummaryOutputService {
|
|
142
|
+
async buildSummary() {
|
|
143
|
+
// We need to get the stage name and the org url first
|
|
144
|
+
await this.buildCommonSummary();
|
|
145
|
+
// Then we need to get the WIs for every CB
|
|
146
|
+
// We will create a map that stores CB.Id -> CB.versionName
|
|
147
|
+
const changeBundles = new Map();
|
|
148
|
+
for (const changeBundleInstall of this.changeBundleInstalls) {
|
|
149
|
+
const changeBundle = changeBundleInstall.sf_devops__Change_Bundle__r;
|
|
150
|
+
changeBundles.set(changeBundle.Id, changeBundle.sf_devops__Version_Name__c);
|
|
151
|
+
}
|
|
152
|
+
// Next we will create a map that stores CB.versionName -> WIs.Name
|
|
153
|
+
// For that we will need to query the WIs associated with the CBs
|
|
154
|
+
const workItemsQueryResp = await (0, workItemSelector_1.selectWorkItemsByChangeBundles)(this.con, Array.from(changeBundles.keys()));
|
|
155
|
+
const workItems = new Map();
|
|
156
|
+
for (const record of workItemsQueryResp) {
|
|
157
|
+
const versionName = changeBundles.get(record.Id);
|
|
158
|
+
if (versionName) {
|
|
159
|
+
workItems.set(versionName, record.sf_devops__Work_Items__r.records.map((wi) => wi.Name));
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
this.workItems = workItems;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Service class used to print the operation summary of a soup deploy
|
|
167
|
+
*
|
|
168
|
+
* @author JuanStenghele-sf
|
|
169
|
+
*/
|
|
170
|
+
class SoupDeploySummaryOutputService extends VersionedOrSoupSummaryOutputService {
|
|
171
|
+
constructor(changeBundleInstalls, workItems, con, branch, flags) {
|
|
172
|
+
super(changeBundleInstalls, con, branch, flags);
|
|
173
|
+
this.rawWorkItems = workItems;
|
|
174
|
+
}
|
|
175
|
+
async buildSummary() {
|
|
176
|
+
// We need to get the stage name and the org url first
|
|
177
|
+
await this.buildCommonSummary();
|
|
178
|
+
const changeBundle = this.changeBundleInstalls[0].sf_devops__Change_Bundle__r;
|
|
179
|
+
// Then we build a map with the version name -> WIs to match the versioned case
|
|
180
|
+
const workItems = new Map();
|
|
181
|
+
workItems.set(changeBundle.sf_devops__Version_Name__c, this.rawWorkItems.map((wi) => wi.Name));
|
|
182
|
+
this.workItems = workItems;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=deploySummaryBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploySummaryBuilder.js","sourceRoot":"","sources":["../../../src/common/outputService/deploySummaryBuilder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { DeploymentResult } from '../types';
|
|
2
|
+
import { AbstractOutputService, OutputFlags, OutputService } from './outputService';
|
|
3
|
+
/**
|
|
4
|
+
* Service interface for printing the output of a deployment result.
|
|
5
|
+
*/
|
|
6
|
+
export interface DeploymentResultOutputService extends OutputService {
|
|
7
|
+
/**
|
|
8
|
+
* Prints the deployment result.
|
|
9
|
+
*/
|
|
10
|
+
printDeploymentResult(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class AbstractDeploymentResultOutputService<T extends OutputFlags> extends AbstractOutputService<T> implements DeploymentResultOutputService {
|
|
13
|
+
protected deploymentResult: DeploymentResult;
|
|
14
|
+
constructor(flags: T, deploymentResult: DeploymentResult);
|
|
15
|
+
/**
|
|
16
|
+
* Prints a report of the operation.
|
|
17
|
+
*/
|
|
18
|
+
abstract printOpSummary(): void;
|
|
19
|
+
/**
|
|
20
|
+
* Prints the deployment result.
|
|
21
|
+
*/
|
|
22
|
+
abstract printDeploymentResult(): void;
|
|
23
|
+
}
|