projen-pipelines 0.0.56 → 0.0.58
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/.jsii +660 -83
- package/API.md +464 -1
- package/lib/awscdk/base.d.ts +6 -10
- package/lib/awscdk/base.js +3 -18
- package/lib/awscdk/bash.d.ts +2 -0
- package/lib/awscdk/bash.js +14 -2
- package/lib/awscdk/github.d.ts +10 -0
- package/lib/awscdk/github.js +33 -8
- package/lib/awscdk/gitlab.d.ts +2 -0
- package/lib/awscdk/gitlab.js +35 -10
- package/lib/engine.d.ts +12 -0
- package/lib/engine.js +19 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/steps/index.d.ts +1 -0
- package/lib/steps/index.js +14 -0
- package/lib/steps/step.d.ts +77 -0
- package/lib/steps/step.js +66 -0
- package/package.json +4 -4
package/lib/awscdk/gitlab.js
CHANGED
|
@@ -5,6 +5,7 @@ exports.GitlabCDKPipeline = void 0;
|
|
|
5
5
|
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
6
|
const projen_1 = require("projen");
|
|
7
7
|
const base_1 = require("./base");
|
|
8
|
+
const engine_1 = require("../engine");
|
|
8
9
|
/**
|
|
9
10
|
* The GitlabCDKPipeline class extends CDKPipeline to provide a way to configure and execute
|
|
10
11
|
* AWS CDK deployment pipelines within GitLab CI/CD environments. It integrates IAM role management,
|
|
@@ -103,11 +104,27 @@ awslogin() {
|
|
|
103
104
|
if (this.options.iamRoleArns?.synth) {
|
|
104
105
|
script.push(`awslogin '${this.options.iamRoleArns.synth}'`);
|
|
105
106
|
}
|
|
107
|
+
const extensions = ['.aws_base', '.artifacts_cdk'];
|
|
108
|
+
const needs = [];
|
|
109
|
+
const preInstallSteps = (this.options.preInstallSteps ?? []).map(s => s.toGitlab());
|
|
110
|
+
script.push(...preInstallSteps.flatMap(s => s.commands));
|
|
111
|
+
extensions.push(...preInstallSteps.flatMap(s => s.extensions));
|
|
112
|
+
needs.push(...preInstallSteps.flatMap(s => s.needs));
|
|
113
|
+
script.push(...this.renderInstallCommands());
|
|
114
|
+
const preSynthSteps = (this.options.preSynthSteps ?? []).map(s => s.toGitlab());
|
|
115
|
+
script.push(...preSynthSteps.flatMap(s => s.commands));
|
|
116
|
+
extensions.push(...preSynthSteps.flatMap(s => s.extensions));
|
|
117
|
+
needs.push(...preSynthSteps.flatMap(s => s.needs));
|
|
106
118
|
script.push(...this.renderSynthCommands());
|
|
119
|
+
const postSynthSteps = (this.options.postSynthSteps ?? []).map(s => s.toGitlab());
|
|
120
|
+
script.push(...postSynthSteps.flatMap(s => s.commands));
|
|
121
|
+
extensions.push(...postSynthSteps.flatMap(s => s.extensions));
|
|
122
|
+
needs.push(...postSynthSteps.flatMap(s => s.needs));
|
|
107
123
|
this.config.addStages('synth');
|
|
108
124
|
this.config.addJobs({
|
|
109
125
|
synth: {
|
|
110
|
-
extends:
|
|
126
|
+
extends: extensions,
|
|
127
|
+
needs: needs,
|
|
111
128
|
stage: 'synth',
|
|
112
129
|
tags: this.options.runnerTags?.synth ?? this.options.runnerTags?.default,
|
|
113
130
|
script,
|
|
@@ -125,14 +142,17 @@ awslogin() {
|
|
|
125
142
|
if (this.options.iamRoleArns?.assetPublishing) {
|
|
126
143
|
script.push(`awslogin '${this.options.iamRoleArns.assetPublishing}'`);
|
|
127
144
|
}
|
|
145
|
+
const preInstallSteps = (this.options.preInstallSteps ?? []).map(s => s.toGitlab());
|
|
146
|
+
script.push(...preInstallSteps.flatMap(s => s.commands));
|
|
147
|
+
script.push(...this.renderInstallCommands());
|
|
128
148
|
script.push(...this.getAssetUploadCommands(this.needsVersionedArtifacts));
|
|
129
149
|
this.config.addStages('publish_assets');
|
|
130
150
|
this.config.addJobs({
|
|
131
151
|
publish_assets: {
|
|
132
|
-
extends: ['.aws_base'],
|
|
152
|
+
extends: ['.aws_base', ...preInstallSteps.flatMap(s => s.extensions)],
|
|
133
153
|
stage: 'publish_assets',
|
|
134
154
|
tags: this.options.runnerTags?.assetPublishing ?? this.options.runnerTags?.default,
|
|
135
|
-
needs: [{ job: 'synth', artifacts: true }],
|
|
155
|
+
needs: [{ job: 'synth', artifacts: true }, ...preInstallSteps.flatMap(s => s.needs)],
|
|
136
156
|
script,
|
|
137
157
|
},
|
|
138
158
|
});
|
|
@@ -146,13 +166,11 @@ awslogin() {
|
|
|
146
166
|
* @param {DeploymentStage} stage - The deployment stage configuration to set up.
|
|
147
167
|
*/
|
|
148
168
|
createDeployment(stage) {
|
|
149
|
-
const
|
|
150
|
-
script.push(`awslogin '${this.options.iamRoleArns?.deployment?.[stage.name] ?? this.options.iamRoleArns?.default}'`);
|
|
151
|
-
script.push(...this.renderInstallCommands());
|
|
169
|
+
const preInstallSteps = (this.options.preInstallSteps ?? []).map(s => s.toGitlab());
|
|
152
170
|
this.config.addStages(stage.name);
|
|
153
171
|
this.config.addJobs({
|
|
154
172
|
[`diff-${stage.name}`]: {
|
|
155
|
-
extends: ['.aws_base'],
|
|
173
|
+
extends: ['.aws_base', ...preInstallSteps.flatMap(s => s.extensions)],
|
|
156
174
|
stage: stage.name,
|
|
157
175
|
tags: this.options.runnerTags?.diff?.[stage.name] ?? this.options.runnerTags?.deployment?.[stage.name] ?? this.options.runnerTags?.default,
|
|
158
176
|
only: {
|
|
@@ -161,15 +179,17 @@ awslogin() {
|
|
|
161
179
|
needs: [
|
|
162
180
|
{ job: 'synth', artifacts: true },
|
|
163
181
|
{ job: 'publish_assets' },
|
|
182
|
+
...preInstallSteps.flatMap(s => s.needs),
|
|
164
183
|
],
|
|
165
184
|
script: [
|
|
166
185
|
`awslogin '${this.options.iamRoleArns?.diff?.[stage.name] ?? this.options.iamRoleArns?.deployment?.[stage.name] ?? this.options.iamRoleArns?.default}'`,
|
|
186
|
+
...preInstallSteps.flatMap(s => s.commands),
|
|
167
187
|
...this.renderInstallCommands(),
|
|
168
188
|
...this.renderDiffCommands(stage.name),
|
|
169
189
|
],
|
|
170
190
|
},
|
|
171
191
|
[`deploy-${stage.name}`]: {
|
|
172
|
-
extends: ['.aws_base', '.artifacts_cdkdeploy'],
|
|
192
|
+
extends: ['.aws_base', '.artifacts_cdkdeploy', ...preInstallSteps.flatMap(s => s.extensions)],
|
|
173
193
|
stage: stage.name,
|
|
174
194
|
tags: this.options.runnerTags?.deployment?.[stage.name] ?? this.options.runnerTags?.default,
|
|
175
195
|
...stage.manualApproval && {
|
|
@@ -182,9 +202,11 @@ awslogin() {
|
|
|
182
202
|
{ job: 'synth', artifacts: true },
|
|
183
203
|
{ job: 'publish_assets' },
|
|
184
204
|
{ job: `diff-${stage.name}` },
|
|
205
|
+
...preInstallSteps.flatMap(s => s.needs),
|
|
185
206
|
],
|
|
186
207
|
script: [
|
|
187
208
|
`awslogin '${this.options.iamRoleArns?.deployment?.[stage.name] ?? this.options.iamRoleArns?.default}'`,
|
|
209
|
+
...preInstallSteps.flatMap(s => s.commands),
|
|
188
210
|
...this.renderInstallCommands(),
|
|
189
211
|
...this.renderDeployCommands(stage.name),
|
|
190
212
|
],
|
|
@@ -192,8 +214,11 @@ awslogin() {
|
|
|
192
214
|
});
|
|
193
215
|
this.deploymentStages.push(stage.name);
|
|
194
216
|
}
|
|
217
|
+
engineType() {
|
|
218
|
+
return engine_1.PipelineEngine.GITLAB;
|
|
219
|
+
}
|
|
195
220
|
}
|
|
196
221
|
exports.GitlabCDKPipeline = GitlabCDKPipeline;
|
|
197
222
|
_a = JSII_RTTI_SYMBOL_1;
|
|
198
|
-
GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.0.
|
|
199
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRsYWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFDeEMsaUNBQTBFO0FBbUQxRTs7OztHQUlHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxrQkFBVztJQWNoRDs7Ozs7O09BTUc7SUFDSCxZQUFZLEdBQStCLEVBQVUsT0FBaUM7UUFDcEYsS0FBSyxDQUFDLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUQrQixZQUFPLEdBQVAsT0FBTyxDQUEwQjtRQVZ0Riw0Q0FBNEM7UUFDcEMscUJBQWdCLEdBQWEsRUFBRSxDQUFDO1FBWXRDLHVDQUF1QztRQUN2QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksZUFBTSxDQUFDLG1CQUFtQixDQUFDLEdBQUcsRUFBRTtZQUNoRCxNQUFNLEVBQUUsRUFBRTtZQUNWLElBQUksRUFBRSxFQUFFO1NBQ1QsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQyxDQUFDLDZDQUE2QztRQUNuRixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksNkNBQTZDLENBQUM7UUFFL0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBRXJCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVuQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6QixLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUU7WUFDbEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzlCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDTyxhQUFhO1FBQ3JCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDO1lBQ2xCLGdCQUFnQixFQUFFO2dCQUNoQixTQUFTLEVBQUU7b0JBQ1QsSUFBSSxFQUFFLGVBQU0sQ0FBQyxTQUFT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QUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxPQUFPLEdBQUc7b0JBQ3ZHLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFO29CQUMvQixHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO2lCQUN6QzthQUNGO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekMsQ0FBQzs7QUE3TUgsOENBK01DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBnaXRsYWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBJQU0gcm9sZXMgdXNlZCB3aXRoaW4gdGhlIEdpdExhYiBDSS9DRCBwaXBlbGluZSBmb3IgdmFyaW91cyBzdGFnZXMuXG4gKiBBbGxvd3Mgc3BlY2lmeWluZyBkaWZmZXJlbnQgSUFNIHJvbGVzIGZvciBzeW50aGVzaXMsIGFzc2V0IHB1Ymxpc2hpbmcsIGFuZCBkZXBsb3ltZW50IHN0YWdlcyxcbiAqIHByb3ZpZGluZyBncmFudWxhciBjb250cm9sIG92ZXIgcGVybWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0bGFiSWFtUm9sZUNvbmZpZyB7XG4gIC8qKiBEZWZhdWx0IElBTSByb2xlIEFSTiB1c2VkIGlmIHNwZWNpZmljIHN0YWdlIHJvbGUgaXMgbm90IHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2UuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZz86IHN0cmluZztcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkaWZmIG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGlmZj86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkZXBsb3ltZW50IG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudD86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBHaXRMYWIgcnVubmVyIHRhZ3MgdXNlZCB3aXRoaW4gdGhlIENJL0NEIHBpcGVsaW5lIGZvciB2YXJpb3VzIHN0YWdlcy5cbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWZ5aW5nIGRpZmZlcmVudCBydW5uZXJzIGJhc2VkIG9uIHRoZSB0YWdzIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJSdW5uZXJUYWdzIHtcbiAgLyoqIERlZmF1bHQgcnVubmVyIHRhZ3MgdXNlZCBpZiBzcGVjaWZpYyBzdGFnZSB0YWdzIGFyZSBub3QgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmdbXTtcbiAgLyoqIFJ1bm5lciB0YWdzIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZ1tdO1xuICAvKiogUnVubmVyIHRhZ3MgZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmdbXTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGlmZiBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRpZmY/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGVwbG95bWVudCBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgR2l0TGFiIENESyBwaXBlbGluZSwgZXh0ZW5kaW5nIHRoZSBiYXNlIENESyBwaXBlbGluZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8qKiBJQU0gcm9sZSBBUk5zIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybnM6IEdpdGxhYklhbVJvbGVDb25maWc7XG4gIC8qKiBSdW5uZXIgdGFncyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBHaXRsYWJSdW5uZXJUYWdzO1xuICAvKiogVGhlIERvY2tlciBpbWFnZSB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHBpcGVsaW5lIGpvYnMuICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIHJlYWRvbmx5IHB1Ymxpc2hlZENsb3VkQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEdpdGxhYkNES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgQ0RLUGlwZWxpbmUgdG8gcHJvdmlkZSBhIHdheSB0byBjb25maWd1cmUgYW5kIGV4ZWN1dGVcbiAqIEFXUyBDREsgZGVwbG95bWVudCBwaXBlbGluZXMgd2l0aGluIEdpdExhYiBDSS9DRCBlbnZpcm9ubWVudHMuIEl0IGludGVncmF0ZXMgSUFNIHJvbGUgbWFuYWdlbWVudCxcbiAqIHJ1bm5lciBjb25maWd1cmF0aW9uLCBhbmQgZGVmaW5lcyBzdGFnZXMgYW5kIGpvYnMgZm9yIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93LlxuICovXG5leHBvcnQgY2xhc3MgR2l0bGFiQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSByZXF1aXJlZC4gQ3VycmVudGx5IHNldCB0byBmYWxzZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgRG9ja2VyIGltYWdlIHVzZWQgZm9yIHBpcGVsaW5lIGpvYnMuIERlZmF1bHRzIHRvIGEgc3BlY2lmaWVkIGltYWdlIG9yIGEgZGVmYXVsdCB2YWx1ZS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkltYWdlOiBzdHJpbmc7XG5cbiAgLyoqIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uIG9iamVjdC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgYXMgc3RyaW5ncy4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGluc3RhbmNlIG9mIEdpdGxhYkNES1BpcGVsaW5lLCBpbml0aWFsaXppbmcgdGhlIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uXG4gICAqIGFuZCBzZXR0aW5nIHVwIHRoZSBuZWNlc3Nhcnkgc3RhZ2VzIGFuZCBqb2JzIGZvciBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHB9IGFwcCAtIFRoZSBBV1MgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0ge0dpdGxhYkNES1BpcGVsaW5lT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRsYWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIG9wdGlvbnMpO1xuXG4gICAgLy8gVE9ETyB1c2UgZXhpc3RpbmcgY29uZmlnIGlmIHBvc3NpYmxlXG4gICAgdGhpcy5jb25maWcgPSBuZXcgZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb24oYXBwLCB7XG4gICAgICBzdGFnZXM6IFtdLFxuICAgICAgam9iczoge30sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gZmFsc2U7IC8vIG9wdGlvbnMucHVibGlzaGVkQ2xvdWRBc3NlbWJsaWVzID8/IGZhbHNlO1xuICAgIHRoaXMuam9iSW1hZ2UgPSBvcHRpb25zLmltYWdlID8/ICdpbWFnZToganNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW0tbm9kZTE4JztcblxuICAgIHRoaXMuc2V0dXBTbmlwcGV0cygpO1xuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCBiYXNlIGpvYiBzbmlwcGV0cyBmb3IgYXJ0aWZhY3QgaGFuZGxpbmcgYW5kIEFXUyBjb25maWd1cmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBkZWZpbmVzIHJldXNhYmxlIGpvYiBjb25maWd1cmF0aW9ucyB0byBiZSBleHRlbmRlZCBieSBzcGVjaWZpYyBwaXBlbGluZSBqb2JzLFxuICAgKiBmYWNpbGl0YXRpbmcgYXJ0aWZhY3QgY2FjaGluZyBhbmQgQVdTIGF1dGhlbnRpY2F0aW9uIHNldHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldHVwU25pcHBldHMoKSB7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICAnLmFydGlmYWN0c19jZGsnOiB7XG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5DYWNoZVdoZW4uT05fU1VDQ0VTUyxcbiAgICAgICAgICBleHBpcmVJbjogJzMwIGRheXMnLFxuICAgICAgICAgIG5hbWU6ICdDREsgQXNzZW1ibHkgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGsub3V0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJy5hcnRpZmFjdHNfY2RrZGVwbG95Jzoge1xuICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICB3aGVuOiBnaXRsYWIuQ2FjaGVXaGVuLk9OX1NVQ0NFU1MsXG4gICAgICAgICAgZXhwaXJlSW46ICczMCBkYXlzJyxcbiAgICAgICAgICBuYW1lOiAnQ0RLIE91dHB1dHMgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGstb3V0cHV0cy0qLmpzb24nXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnLmF3c19iYXNlJzoge1xuICAgICAgICBpbWFnZTogeyBuYW1lOiB0aGlzLmpvYkltYWdlIH0sXG4gICAgICAgIGlkVG9rZW5zOiB7XG4gICAgICAgICAgQVdTX1RPS0VOOiB7XG4gICAgICAgICAgICBhdWQ6ICdodHRwczovL3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC8vIE5QTV9SRUdJU1RSWTogJ3h4eCdcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlU2NyaXB0OiBbXG4gICAgICAgICAgYGNoZWNrX3ZhcmlhYmxlc19kZWZpbmVkKCkge1xuICBmb3IgdmFyIGluIFwiJEBcIjsgZG9cbiAgICBpZiBbIC16IFwiJChldmFsIFwiZWNobyBcXFxcJCR2YXJcIilcIiBdOyB0aGVuXG4gICAgICBsb2dfZmF0YWwgXCJcXCR7dmFyfSBub3QgZGVmaW5lZFwiO1xuICAgIGZpXG4gIGRvbmVcbn1cblxuYXdzbG9naW4oKSB7XG4gIHJvbGVBcm49XFwkezE6IC1cXCR7QVdTX1JPTEVfQVJOfX1cbiAgY2hlY2tfdmFyaWFibGVzX2RlZmluZWQgcm9sZUFybiBBV1NfVE9LRU5cbiAgZXhwb3J0ICQocHJpbnRmIFwiQVdTX0FDQ0VTU19LRVlfSUQ9JXMgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZPSVzIEFXU19TRVNTSU9OX1RPS0VOPSVzXCIgJChhd3Mgc3RzIGFzc3VtZS1yb2xlLXdpdGgtd2ViLWlkZW50aXR5IC0tcm9sZS1hcm4gXFwke3JvbGVBcm59IC0tcm9sZS1zZXNzaW9uLW5hbWUgXCJHaXRMYWJSdW5uZXItXFwke0NJX1BST0pFQ1RfSUR9LVxcJHtDSV9QSVBFTElORV9JRH1cIiAtLXdlYi1pZGVudGl0eS10b2tlbiBcXCR7QVdTX1RPS0VOfSAtLWR1cmF0aW9uLXNlY29uZHMgMzYwMCAtLXF1ZXJ5ICdDcmVkZW50aWFscy5bQWNjZXNzS2V5SWQsU2VjcmV0QWNjZXNzS2V5LFNlc3Npb25Ub2tlbl0nIC0tb3V0cHV0IHRleHQpKVxuICAjIFRPRE8gQ09ERSBBUlRJRkFDVFxufVxuYCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgJ3N5bnRoJyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUgdG8gc3ludGhlc2l6ZSBBV1MgQ0RLIGFwcGxpY2F0aW9ucy5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyB0aGUgam9iIHRvIGV4ZWN1dGUgQ0RLIHN5bnRoZXNpcywgYXBwbHlpbmcgdGhlIGFwcHJvcHJpYXRlIElBTSByb2xlXG4gICAqIGZvciBBV1MgY29tbWFuZHMgYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MgZm9yIGpvYiBleGVjdXRpb24uIFRoZSBzeW50aGVzaXplZCBvdXRwdXRzIGFyZVxuICAgKiBjb25maWd1cmVkIHRvIGJlIGNhY2hlZCBhcyBhcnRpZmFjdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gWydlY2hvIFwiUnVubmluZyBDREsgc3ludGhcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LnN5bnRoKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLnN5bnRofSdgKTtcbiAgICB9XG4gICAgc2NyaXB0LnB1c2goLi4udGhpcy5yZW5kZXJTeW50aENvbW1hbmRzKCkpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKCdzeW50aCcpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgc3ludGg6IHtcbiAgICAgICAgZXh0ZW5kczogWycuYXdzX2Jhc2UnLCAnLmFydGlmYWN0c19jZGsnXSxcbiAgICAgICAgc3RhZ2U6ICdzeW50aCcsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5zeW50aCA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVmYXVsdCxcbiAgICAgICAgc2NyaXB0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlIG9mIHRoZSBwaXBlbGluZS5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyBhIGpvYiB0byB1cGxvYWQgc3ludGhlc2l6ZWQgYXNzZXRzIHRvIEFXUywgaGFuZGxpbmcgSUFNIHJvbGVcbiAgICogYXV0aGVudGljYXRpb24gYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MuIEl0IGRlcGVuZHMgb24gdGhlIHN1Y2Nlc3NmdWwgY29tcGxldGlvblxuICAgKiBvZiB0aGUgJ3N5bnRoJyBzdGFnZSwgZW5zdXJpbmcgYXNzZXRzIGFyZSBvbmx5IHB1Ymxpc2hlZCBhZnRlciBzdWNjZXNzZnVsIHN5bnRoZXNpcy5cbiAgICovXG4gIHByb3RlY3RlZCBjcmVhdGVBc3NldFVwbG9hZCgpOiB2b2lkIHtcbiAgICBjb25zdCBzY3JpcHQgPSBbJ2VjaG8gXCJQdWJsaXNoIGFzc2V0cyB0byBBV1NcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmFzc2V0UHVibGlzaGluZykge1xuICAgICAgc2NyaXB0LnB1c2goYGF3c2xvZ2luICcke3RoaXMub3B0aW9ucy5pYW1Sb2xlQXJucy5hc3NldFB1Ymxpc2hpbmd9J2ApO1xuICAgIH1cbiAgICBzY3JpcHQucHVzaCguLi50aGlzLmdldEFzc2V0VXBsb2FkQ29tbWFuZHModGhpcy5uZWVkc1ZlcnNpb25lZEFydGlmYWN0cykpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKCdwdWJsaXNoX2Fzc2V0cycpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgcHVibGlzaF9hc3NldHM6IHtcbiAgICAgICAgZXh0ZW5kczogWycuYXdzX2Jhc2UnXSxcbiAgICAgICAgc3RhZ2U6ICdwdWJsaXNoX2Fzc2V0cycsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5hc3NldFB1Ymxpc2hpbmcgPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG5lZWRzOiBbeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9XSxcbiAgICAgICAgc2NyaXB0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGRlcGxveW1lbnQgc3RhZ2VzIGJhc2VkIG9uIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBlYWNoIHByb3ZpZGVkIGRlcGxveW1lbnQgc3RhZ2UsIHRoaXMgbWV0aG9kIHNldHMgdXAgam9icyBmb3IgJ2RpZmYnIGFuZCAnZGVwbG95JyBhY3Rpb25zLFxuICAgKiBhcHBseWluZyB0aGUgY29ycmVjdCBJQU0gcm9sZXMgYW5kIHJ1bm5lciB0YWdzLiBJdCBzdXBwb3J0cyBjb25kaXRpb25hbCBtYW51YWwgYXBwcm92YWwgZm9yXG4gICAqIGRlcGxveW1lbnQgc3RhZ2VzLCBwcm92aWRpbmcgZmxleGliaWxpdHkgaW4gdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVwbG95bWVudFN0YWdlfSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IFtdO1xuICAgIHNjcmlwdC5wdXNoKGBhd3Nsb2dpbiAnJHt0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHR9J2ApO1xuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCkpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgW2BkaWZmLSR7c3RhZ2UubmFtZX1gXToge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZSddLFxuICAgICAgICBzdGFnZTogc3RhZ2UubmFtZSxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRpZmY/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICBvbmx5OiB7XG4gICAgICAgICAgcmVmczogW3RoaXMuYnJhbmNoTmFtZV0sXG4gICAgICAgIH0sXG4gICAgICAgIG5lZWRzOiBbXG4gICAgICAgICAgeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LFxuICAgICAgICAgIHsgam9iOiAncHVibGlzaF9hc3NldHMnIH0sXG4gICAgICAgIF0sXG4gICAgICAgIHNjcmlwdDogW1xuICAgICAgICAgIGBhd3Nsb2dpbiAnJHt0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRpZmY/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlcGxveW1lbnQ/LltzdGFnZS5uYW1lXSA/PyB0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LmRlZmF1bHR9J2AsXG4gICAgICAgICAgLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKSxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckRpZmZDb21tYW5kcyhzdGFnZS5uYW1lKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBbYGRlcGxveS0ke3N0YWdlLm5hbWV9YF06IHtcbiAgICAgICAgZXh0ZW5kczogWycuYXdzX2Jhc2UnLCAnLmFydGlmYWN0c19jZGtkZXBsb3knXSxcbiAgICAgICAgc3RhZ2U6IHN0YWdlLm5hbWUsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIC4uLnN0YWdlLm1hbnVhbEFwcHJvdmFsICYmIHtcbiAgICAgICAgICB3aGVuOiBnaXRsYWIuSm9iV2hlbi5NQU5VQUwsXG4gICAgICAgIH0sXG4gICAgICAgIG9ubHk6IHtcbiAgICAgICAgICByZWZzOiBbdGhpcy5icmFuY2hOYW1lXSxcbiAgICAgICAgfSxcbiAgICAgICAgbmVlZHM6IFtcbiAgICAgICAgICB7IGpvYjogJ3N5bnRoJywgYXJ0aWZhY3RzOiB0cnVlIH0sXG4gICAgICAgICAgeyBqb2I6ICdwdWJsaXNoX2Fzc2V0cycgfSxcbiAgICAgICAgICB7IGpvYjogYGRpZmYtJHtzdGFnZS5uYW1lfWAgfSxcbiAgICAgICAgXSxcbiAgICAgICAgc2NyaXB0OiBbXG4gICAgICAgICAgYGF3c2xvZ2luICcke3RoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdH0nYCxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpLFxuICAgICAgICAgIC4uLnRoaXMucmVuZGVyRGVwbG95Q29tbWFuZHMoc3RhZ2UubmFtZSksXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0pO1xuICAgIHRoaXMuZGVwbG95bWVudFN0YWdlcy5wdXNoKHN0YWdlLm5hbWUpO1xuICB9XG5cbn1cblxuIl19
|
|
223
|
+
GitlabCDKPipeline[_a] = { fqn: "projen-pipelines.GitlabCDKPipeline", version: "0.0.58" };
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0bGFiLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9naXRsYWIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxtQ0FBd0M7QUFDeEMsaUNBQTBFO0FBQzFFLHNDQUEyQztBQW1EM0M7Ozs7R0FJRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsa0JBQVc7SUFjaEQ7Ozs7OztPQU1HO0lBQ0gsWUFBWSxHQUErQixFQUFVLE9BQWlDO1FBQ3BGLEtBQUssQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFEK0IsWUFBTyxHQUFQLE9BQU8sQ0FBMEI7UUFWdEYsNENBQTRDO1FBQ3BDLHFCQUFnQixHQUFhLEVBQUUsQ0FBQztRQVl0Qyx1Q0FBdUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGVBQU0sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLEVBQUU7WUFDaEQsTUFBTSxFQUFFLEVBQUU7WUFDVixJQUFJLEVBQUUsRUFBRTtTQUNULENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx1QkFBdUIsR0FBRyxLQUFLLENBQUMsQ0FBQyw2Q0FBNkM7UUFDbkYsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsS0FBSyxJQUFJLDZDQUE2QyxDQUFDO1FBRS9FLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUVyQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFFekIsS0FBSyxNQUFNLEtBQUssSUFBSSxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM5QjtJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYTtRQUNyQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztZQUNsQixnQkFBZ0IsRUFBRTtnQkFDaEIsU0FBUyxFQUFFO29CQUNULElBQUksRUFBRSxl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O2lCQUN4QjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUU7b0JBQ2pDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFO29CQUN6QixFQUFFLEdBQUcsRUFBRSxRQUFRLEtBQUssQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDN0IsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDekM7Z0JBQ0QsTUFBTSxFQUFFO29CQUNOLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLE9BQU8sR0FBRztvQkFDdkcsR0FBRyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztvQkFDM0MsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUU7b0JBQy9CLEdBQUcsSUFBSSxDQUFDLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7aUJBQ3pDO2FBQ0Y7U0FDRixDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRU0sVUFBVTtRQUNmLE9BQU8sdUJBQWMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsQ0FBQzs7QUE3T0gsOENBK09DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXdzY2RrLCBnaXRsYWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQ0RLUGlwZWxpbmUsIENES1BpcGVsaW5lT3B0aW9ucywgRGVwbG95bWVudFN0YWdlIH0gZnJvbSAnLi9iYXNlJztcbmltcG9ydCB7IFBpcGVsaW5lRW5naW5lIH0gZnJvbSAnLi4vZW5naW5lJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBJQU0gcm9sZXMgdXNlZCB3aXRoaW4gdGhlIEdpdExhYiBDSS9DRCBwaXBlbGluZSBmb3IgdmFyaW91cyBzdGFnZXMuXG4gKiBBbGxvd3Mgc3BlY2lmeWluZyBkaWZmZXJlbnQgSUFNIHJvbGVzIGZvciBzeW50aGVzaXMsIGFzc2V0IHB1Ymxpc2hpbmcsIGFuZCBkZXBsb3ltZW50IHN0YWdlcyxcbiAqIHByb3ZpZGluZyBncmFudWxhciBjb250cm9sIG92ZXIgcGVybWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2l0bGFiSWFtUm9sZUNvbmZpZyB7XG4gIC8qKiBEZWZhdWx0IElBTSByb2xlIEFSTiB1c2VkIGlmIHNwZWNpZmljIHN0YWdlIHJvbGUgaXMgbm90IHByb3ZpZGVkLiAqL1xuICByZWFkb25seSBkZWZhdWx0Pzogc3RyaW5nO1xuICAvKiogSUFNIHJvbGUgQVJOIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZztcbiAgLyoqIElBTSByb2xlIEFSTiBmb3IgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2UuICovXG4gIHJlYWRvbmx5IGFzc2V0UHVibGlzaGluZz86IHN0cmluZztcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkaWZmIG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGlmZj86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIElBTSByb2xlIEFSTnMgZm9yIHRoZSBkZXBsb3ltZW50IG9wZXJhdGlvbi4gKi9cbiAgcmVhZG9ubHkgZGVwbG95bWVudD86IHsgW3N0YWdlOiBzdHJpbmddOiBzdHJpbmcgfTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBHaXRMYWIgcnVubmVyIHRhZ3MgdXNlZCB3aXRoaW4gdGhlIENJL0NEIHBpcGVsaW5lIGZvciB2YXJpb3VzIHN0YWdlcy5cbiAqIFRoaXMgYWxsb3dzIGZvciBzcGVjaWZ5aW5nIGRpZmZlcmVudCBydW5uZXJzIGJhc2VkIG9uIHRoZSB0YWdzIGZvciBkaWZmZXJlbnQgc3RhZ2VzIG9mIHRoZSBwaXBlbGluZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJSdW5uZXJUYWdzIHtcbiAgLyoqIERlZmF1bHQgcnVubmVyIHRhZ3MgdXNlZCBpZiBzcGVjaWZpYyBzdGFnZSB0YWdzIGFyZSBub3QgcHJvdmlkZWQuICovXG4gIHJlYWRvbmx5IGRlZmF1bHQ/OiBzdHJpbmdbXTtcbiAgLyoqIFJ1bm5lciB0YWdzIGZvciB0aGUgc3ludGhlc2lzIHN0YWdlLiAqL1xuICByZWFkb25seSBzeW50aD86IHN0cmluZ1tdO1xuICAvKiogUnVubmVyIHRhZ3MgZm9yIHRoZSBhc3NldCBwdWJsaXNoaW5nIHN0YWdlLiAqL1xuICByZWFkb25seSBhc3NldFB1Ymxpc2hpbmc/OiBzdHJpbmdbXTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGlmZiBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRpZmY/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbiAgLyoqIEEgbWFwIG9mIHN0YWdlIG5hbWVzIHRvIHJ1bm5lciB0YWdzIGZvciB0aGUgZGVwbG95bWVudCBvcGVyYXRpb24uICovXG4gIHJlYWRvbmx5IGRlcGxveW1lbnQ/OiB7IFtzdGFnZTogc3RyaW5nXTogc3RyaW5nW10gfTtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBjb25maWd1cmluZyB0aGUgR2l0TGFiIENESyBwaXBlbGluZSwgZXh0ZW5kaW5nIHRoZSBiYXNlIENESyBwaXBlbGluZSBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdGxhYkNES1BpcGVsaW5lT3B0aW9ucyBleHRlbmRzIENES1BpcGVsaW5lT3B0aW9ucyB7XG4gIC8qKiBJQU0gcm9sZSBBUk5zIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwaXBlbGluZS4gKi9cbiAgcmVhZG9ubHkgaWFtUm9sZUFybnM6IEdpdGxhYklhbVJvbGVDb25maWc7XG4gIC8qKiBSdW5uZXIgdGFncyBjb25maWd1cmF0aW9uIGZvciB0aGUgcGlwZWxpbmUuICovXG4gIHJlYWRvbmx5IHJ1bm5lclRhZ3M/OiBHaXRsYWJSdW5uZXJUYWdzO1xuICAvKiogVGhlIERvY2tlciBpbWFnZSB0byB1c2UgZm9yIHJ1bm5pbmcgdGhlIHBpcGVsaW5lIGpvYnMuICovXG4gIHJlYWRvbmx5IGltYWdlPzogc3RyaW5nO1xuXG4gIC8vIHJlYWRvbmx5IHB1Ymxpc2hlZENsb3VkQXNzZW1ibGllcz86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIEdpdGxhYkNES1BpcGVsaW5lIGNsYXNzIGV4dGVuZHMgQ0RLUGlwZWxpbmUgdG8gcHJvdmlkZSBhIHdheSB0byBjb25maWd1cmUgYW5kIGV4ZWN1dGVcbiAqIEFXUyBDREsgZGVwbG95bWVudCBwaXBlbGluZXMgd2l0aGluIEdpdExhYiBDSS9DRCBlbnZpcm9ubWVudHMuIEl0IGludGVncmF0ZXMgSUFNIHJvbGUgbWFuYWdlbWVudCxcbiAqIHJ1bm5lciBjb25maWd1cmF0aW9uLCBhbmQgZGVmaW5lcyBzdGFnZXMgYW5kIGpvYnMgZm9yIHRoZSBkZXBsb3ltZW50IHdvcmtmbG93LlxuICovXG5leHBvcnQgY2xhc3MgR2l0bGFiQ0RLUGlwZWxpbmUgZXh0ZW5kcyBDREtQaXBlbGluZSB7XG5cbiAgLyoqIEluZGljYXRlcyBpZiB2ZXJzaW9uZWQgYXJ0aWZhY3RzIGFyZSByZXF1aXJlZC4gQ3VycmVudGx5IHNldCB0byBmYWxzZSAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzOiBib29sZWFuO1xuXG4gIC8qKiBUaGUgRG9ja2VyIGltYWdlIHVzZWQgZm9yIHBpcGVsaW5lIGpvYnMuIERlZmF1bHRzIHRvIGEgc3BlY2lmaWVkIGltYWdlIG9yIGEgZGVmYXVsdCB2YWx1ZS4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGpvYkltYWdlOiBzdHJpbmc7XG5cbiAgLyoqIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uIG9iamVjdC4gKi9cbiAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb247XG5cbiAgLyoqIExpc3Qgb2YgZGVwbG95bWVudCBzdGFnZXMgYXMgc3RyaW5ncy4gKi9cbiAgcHJpdmF0ZSBkZXBsb3ltZW50U3RhZ2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGFuIGluc3RhbmNlIG9mIEdpdGxhYkNES1BpcGVsaW5lLCBpbml0aWFsaXppbmcgdGhlIEdpdExhYiBDSS9DRCBjb25maWd1cmF0aW9uXG4gICAqIGFuZCBzZXR0aW5nIHVwIHRoZSBuZWNlc3Nhcnkgc3RhZ2VzIGFuZCBqb2JzIGZvciBBV1MgQ0RLIGRlcGxveW1lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB7YXdzY2RrLkF3c0Nka1R5cGVTY3JpcHRBcHB9IGFwcCAtIFRoZSBBV1MgQ0RLIGFwcCBhc3NvY2lhdGVkIHdpdGggdGhlIHBpcGVsaW5lLlxuICAgKiBAcGFyYW0ge0dpdGxhYkNES1BpcGVsaW5lT3B0aW9uc30gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucyBmb3IgdGhlIHBpcGVsaW5lLlxuICAgKi9cbiAgY29uc3RydWN0b3IoYXBwOiBhd3NjZGsuQXdzQ2RrVHlwZVNjcmlwdEFwcCwgcHJpdmF0ZSBvcHRpb25zOiBHaXRsYWJDREtQaXBlbGluZU9wdGlvbnMpIHtcbiAgICBzdXBlcihhcHAsIG9wdGlvbnMpO1xuXG4gICAgLy8gVE9ETyB1c2UgZXhpc3RpbmcgY29uZmlnIGlmIHBvc3NpYmxlXG4gICAgdGhpcy5jb25maWcgPSBuZXcgZ2l0bGFiLkdpdGxhYkNvbmZpZ3VyYXRpb24oYXBwLCB7XG4gICAgICBzdGFnZXM6IFtdLFxuICAgICAgam9iczoge30sXG4gICAgfSk7XG5cbiAgICB0aGlzLm5lZWRzVmVyc2lvbmVkQXJ0aWZhY3RzID0gZmFsc2U7IC8vIG9wdGlvbnMucHVibGlzaGVkQ2xvdWRBc3NlbWJsaWVzID8/IGZhbHNlO1xuICAgIHRoaXMuam9iSW1hZ2UgPSBvcHRpb25zLmltYWdlID8/ICdpbWFnZToganNpaS9zdXBlcmNoYWluOjEtYnVzdGVyLXNsaW0tbm9kZTE4JztcblxuICAgIHRoaXMuc2V0dXBTbmlwcGV0cygpO1xuXG4gICAgdGhpcy5jcmVhdGVTeW50aCgpO1xuXG4gICAgdGhpcy5jcmVhdGVBc3NldFVwbG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBzdGFnZSBvZiBvcHRpb25zLnN0YWdlcykge1xuICAgICAgdGhpcy5jcmVhdGVEZXBsb3ltZW50KHN0YWdlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB1cCBiYXNlIGpvYiBzbmlwcGV0cyBmb3IgYXJ0aWZhY3QgaGFuZGxpbmcgYW5kIEFXUyBjb25maWd1cmF0aW9uLlxuICAgKiBUaGlzIG1ldGhvZCBkZWZpbmVzIHJldXNhYmxlIGpvYiBjb25maWd1cmF0aW9ucyB0byBiZSBleHRlbmRlZCBieSBzcGVjaWZpYyBwaXBlbGluZSBqb2JzLFxuICAgKiBmYWNpbGl0YXRpbmcgYXJ0aWZhY3QgY2FjaGluZyBhbmQgQVdTIGF1dGhlbnRpY2F0aW9uIHNldHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldHVwU25pcHBldHMoKSB7XG4gICAgdGhpcy5jb25maWcuYWRkSm9icyh7XG4gICAgICAnLmFydGlmYWN0c19jZGsnOiB7XG4gICAgICAgIGFydGlmYWN0czoge1xuICAgICAgICAgIHdoZW46IGdpdGxhYi5DYWNoZVdoZW4uT05fU1VDQ0VTUyxcbiAgICAgICAgICBleHBpcmVJbjogJzMwIGRheXMnLFxuICAgICAgICAgIG5hbWU6ICdDREsgQXNzZW1ibHkgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGsub3V0J10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgJy5hcnRpZmFjdHNfY2RrZGVwbG95Jzoge1xuICAgICAgICBhcnRpZmFjdHM6IHtcbiAgICAgICAgICB3aGVuOiBnaXRsYWIuQ2FjaGVXaGVuLk9OX1NVQ0NFU1MsXG4gICAgICAgICAgZXhwaXJlSW46ICczMCBkYXlzJyxcbiAgICAgICAgICBuYW1lOiAnQ0RLIE91dHB1dHMgLSAkQ0lfSk9CX05BTUUtJENJX0NPTU1JVF9SRUZfU0xVRycsXG4gICAgICAgICAgdW50cmFja2VkOiBmYWxzZSxcbiAgICAgICAgICBwYXRoczogWydjZGstb3V0cHV0cy0qLmpzb24nXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICAnLmF3c19iYXNlJzoge1xuICAgICAgICBpbWFnZTogeyBuYW1lOiB0aGlzLmpvYkltYWdlIH0sXG4gICAgICAgIGlkVG9rZW5zOiB7XG4gICAgICAgICAgQVdTX1RPS0VOOiB7XG4gICAgICAgICAgICBhdWQ6ICdodHRwczovL3N0cy5hbWF6b25hd3MuY29tJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB2YXJpYWJsZXM6IHtcbiAgICAgICAgICBDSTogJ3RydWUnLFxuICAgICAgICAgIC8vIE5QTV9SRUdJU1RSWTogJ3h4eCdcbiAgICAgICAgfSxcbiAgICAgICAgYmVmb3JlU2NyaXB0OiBbXG4gICAgICAgICAgYGNoZWNrX3ZhcmlhYmxlc19kZWZpbmVkKCkge1xuICBmb3IgdmFyIGluIFwiJEBcIjsgZG9cbiAgICBpZiBbIC16IFwiJChldmFsIFwiZWNobyBcXFxcJCR2YXJcIilcIiBdOyB0aGVuXG4gICAgICBsb2dfZmF0YWwgXCJcXCR7dmFyfSBub3QgZGVmaW5lZFwiO1xuICAgIGZpXG4gIGRvbmVcbn1cblxuYXdzbG9naW4oKSB7XG4gIHJvbGVBcm49XFwkezE6IC1cXCR7QVdTX1JPTEVfQVJOfX1cbiAgY2hlY2tfdmFyaWFibGVzX2RlZmluZWQgcm9sZUFybiBBV1NfVE9LRU5cbiAgZXhwb3J0ICQocHJpbnRmIFwiQVdTX0FDQ0VTU19LRVlfSUQ9JXMgQVdTX1NFQ1JFVF9BQ0NFU1NfS0VZPSVzIEFXU19TRVNTSU9OX1RPS0VOPSVzXCIgJChhd3Mgc3RzIGFzc3VtZS1yb2xlLXdpdGgtd2ViLWlkZW50aXR5IC0tcm9sZS1hcm4gXFwke3JvbGVBcm59IC0tcm9sZS1zZXNzaW9uLW5hbWUgXCJHaXRMYWJSdW5uZXItXFwke0NJX1BST0pFQ1RfSUR9LVxcJHtDSV9QSVBFTElORV9JRH1cIiAtLXdlYi1pZGVudGl0eS10b2tlbiBcXCR7QVdTX1RPS0VOfSAtLWR1cmF0aW9uLXNlY29uZHMgMzYwMCAtLXF1ZXJ5ICdDcmVkZW50aWFscy5bQWNjZXNzS2V5SWQsU2VjcmV0QWNjZXNzS2V5LFNlc3Npb25Ub2tlbl0nIC0tb3V0cHV0IHRleHQpKVxuICAjIFRPRE8gQ09ERSBBUlRJRkFDVFxufVxuYCxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgJ3N5bnRoJyBzdGFnZSBvZiB0aGUgcGlwZWxpbmUgdG8gc3ludGhlc2l6ZSBBV1MgQ0RLIGFwcGxpY2F0aW9ucy5cbiAgICogVGhpcyBtZXRob2QgY29uZmlndXJlcyB0aGUgam9iIHRvIGV4ZWN1dGUgQ0RLIHN5bnRoZXNpcywgYXBwbHlpbmcgdGhlIGFwcHJvcHJpYXRlIElBTSByb2xlXG4gICAqIGZvciBBV1MgY29tbWFuZHMgYW5kIHNwZWNpZnlpbmcgcnVubmVyIHRhZ3MgZm9yIGpvYiBleGVjdXRpb24uIFRoZSBzeW50aGVzaXplZCBvdXRwdXRzIGFyZVxuICAgKiBjb25maWd1cmVkIHRvIGJlIGNhY2hlZCBhcyBhcnRpZmFjdHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgY3JlYXRlU3ludGgoKTogdm9pZCB7XG4gICAgY29uc3Qgc2NyaXB0ID0gWydlY2hvIFwiUnVubmluZyBDREsgc3ludGhcIiddO1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaWFtUm9sZUFybnM/LnN5bnRoKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLnN5bnRofSdgKTtcbiAgICB9XG4gICAgY29uc3QgZXh0ZW5zaW9ucyA9IFsnLmF3c19iYXNlJywgJy5hcnRpZmFjdHNfY2RrJ107XG4gICAgY29uc3QgbmVlZHMgPSBbXTtcblxuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuZXh0ZW5zaW9ucykpO1xuICAgIG5lZWRzLnB1c2goLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSk7XG5cbiAgICBzY3JpcHQucHVzaCguLi50aGlzLnJlbmRlckluc3RhbGxDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHByZVN5bnRoU3RlcHMgPSAodGhpcy5vcHRpb25zLnByZVN5bnRoU3RlcHMgPz8gW10pLm1hcChzID0+IHMudG9HaXRsYWIoKSk7XG4gICAgc2NyaXB0LnB1c2goLi4ucHJlU3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wcmVTeW50aFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpKTtcbiAgICBuZWVkcy5wdXNoKC4uLnByZVN5bnRoU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpKTtcblxuICAgIHNjcmlwdC5wdXNoKC4uLnRoaXMucmVuZGVyU3ludGhDb21tYW5kcygpKTtcblxuICAgIGNvbnN0IHBvc3RTeW50aFN0ZXBzID0gKHRoaXMub3B0aW9ucy5wb3N0U3ludGhTdGVwcyA/PyBbXSkubWFwKHMgPT4gcy50b0dpdGxhYigpKTtcbiAgICBzY3JpcHQucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuICAgIGV4dGVuc2lvbnMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKSk7XG4gICAgbmVlZHMucHVzaCguLi5wb3N0U3ludGhTdGVwcy5mbGF0TWFwKHMgPT4gcy5uZWVkcykpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKCdzeW50aCcpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgc3ludGg6IHtcbiAgICAgICAgZXh0ZW5kczogZXh0ZW5zaW9ucyxcbiAgICAgICAgbmVlZHM6IG5lZWRzLFxuICAgICAgICBzdGFnZTogJ3N5bnRoJyxcbiAgICAgICAgdGFnczogdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LnN5bnRoID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICBzY3JpcHQsXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhlIGFzc2V0IHB1Ymxpc2hpbmcgc3RhZ2Ugb2YgdGhlIHBpcGVsaW5lLlxuICAgKiBUaGlzIG1ldGhvZCBjb25maWd1cmVzIGEgam9iIHRvIHVwbG9hZCBzeW50aGVzaXplZCBhc3NldHMgdG8gQVdTLCBoYW5kbGluZyBJQU0gcm9sZVxuICAgKiBhdXRoZW50aWNhdGlvbiBhbmQgc3BlY2lmeWluZyBydW5uZXIgdGFncy4gSXQgZGVwZW5kcyBvbiB0aGUgc3VjY2Vzc2Z1bCBjb21wbGV0aW9uXG4gICAqIG9mIHRoZSAnc3ludGgnIHN0YWdlLCBlbnN1cmluZyBhc3NldHMgYXJlIG9ubHkgcHVibGlzaGVkIGFmdGVyIHN1Y2Nlc3NmdWwgc3ludGhlc2lzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZUFzc2V0VXBsb2FkKCk6IHZvaWQge1xuICAgIGNvbnN0IHNjcmlwdCA9IFsnZWNobyBcIlB1Ymxpc2ggYXNzZXRzIHRvIEFXU1wiJ107XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uYXNzZXRQdWJsaXNoaW5nKSB7XG4gICAgICBzY3JpcHQucHVzaChgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zLmFzc2V0UHVibGlzaGluZ30nYCk7XG4gICAgfVxuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuICAgIHNjcmlwdC5wdXNoKC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcykpO1xuXG4gICAgc2NyaXB0LnB1c2goLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKSk7XG4gICAgc2NyaXB0LnB1c2goLi4udGhpcy5nZXRBc3NldFVwbG9hZENvbW1hbmRzKHRoaXMubmVlZHNWZXJzaW9uZWRBcnRpZmFjdHMpKTtcblxuICAgIHRoaXMuY29uZmlnLmFkZFN0YWdlcygncHVibGlzaF9hc3NldHMnKTtcbiAgICB0aGlzLmNvbmZpZy5hZGRKb2JzKHtcbiAgICAgIHB1Ymxpc2hfYXNzZXRzOiB7XG4gICAgICAgIGV4dGVuZHM6IFsnLmF3c19iYXNlJywgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLmV4dGVuc2lvbnMpXSxcbiAgICAgICAgc3RhZ2U6ICdwdWJsaXNoX2Fzc2V0cycsXG4gICAgICAgIHRhZ3M6IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5hc3NldFB1Ymxpc2hpbmcgPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG5lZWRzOiBbeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LCAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpXSxcbiAgICAgICAgc2NyaXB0LFxuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEeW5hbWljYWxseSBjcmVhdGVzIGRlcGxveW1lbnQgc3RhZ2VzIGJhc2VkIG9uIHRoZSBkZXBsb3ltZW50IGNvbmZpZ3VyYXRpb24uXG4gICAqIEZvciBlYWNoIHByb3ZpZGVkIGRlcGxveW1lbnQgc3RhZ2UsIHRoaXMgbWV0aG9kIHNldHMgdXAgam9icyBmb3IgJ2RpZmYnIGFuZCAnZGVwbG95JyBhY3Rpb25zLFxuICAgKiBhcHBseWluZyB0aGUgY29ycmVjdCBJQU0gcm9sZXMgYW5kIHJ1bm5lciB0YWdzLiBJdCBzdXBwb3J0cyBjb25kaXRpb25hbCBtYW51YWwgYXBwcm92YWwgZm9yXG4gICAqIGRlcGxveW1lbnQgc3RhZ2VzLCBwcm92aWRpbmcgZmxleGliaWxpdHkgaW4gdGhlIGRlcGxveW1lbnQgd29ya2Zsb3cuXG4gICAqXG4gICAqIEBwYXJhbSB7RGVwbG95bWVudFN0YWdlfSBzdGFnZSAtIFRoZSBkZXBsb3ltZW50IHN0YWdlIGNvbmZpZ3VyYXRpb24gdG8gc2V0IHVwLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNyZWF0ZURlcGxveW1lbnQoc3RhZ2U6IERlcGxveW1lbnRTdGFnZSk6IHZvaWQge1xuICAgIGNvbnN0IHByZUluc3RhbGxTdGVwcyA9ICh0aGlzLm9wdGlvbnMucHJlSW5zdGFsbFN0ZXBzID8/IFtdKS5tYXAocyA9PiBzLnRvR2l0bGFiKCkpO1xuXG4gICAgdGhpcy5jb25maWcuYWRkU3RhZ2VzKHN0YWdlLm5hbWUpO1xuICAgIHRoaXMuY29uZmlnLmFkZEpvYnMoe1xuICAgICAgW2BkaWZmLSR7c3RhZ2UubmFtZX1gXToge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiBzdGFnZS5uYW1lLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGlmZj8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLnJ1bm5lclRhZ3M/LmRlZmF1bHQsXG4gICAgICAgIG9ubHk6IHtcbiAgICAgICAgICByZWZzOiBbdGhpcy5icmFuY2hOYW1lXSxcbiAgICAgICAgfSxcbiAgICAgICAgbmVlZHM6IFtcbiAgICAgICAgICB7IGpvYjogJ3N5bnRoJywgYXJ0aWZhY3RzOiB0cnVlIH0sXG4gICAgICAgICAgeyBqb2I6ICdwdWJsaXNoX2Fzc2V0cycgfSxcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMubmVlZHMpLFxuICAgICAgICBdLFxuICAgICAgICBzY3JpcHQ6IFtcbiAgICAgICAgICBgYXdzbG9naW4gJyR7dGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kaWZmPy5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kZXBsb3ltZW50Py5bc3RhZ2UubmFtZV0gPz8gdGhpcy5vcHRpb25zLmlhbVJvbGVBcm5zPy5kZWZhdWx0fSdgLFxuICAgICAgICAgIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5jb21tYW5kcyksXG4gICAgICAgICAgLi4udGhpcy5yZW5kZXJJbnN0YWxsQ29tbWFuZHMoKSxcbiAgICAgICAgICAuLi50aGlzLnJlbmRlckRpZmZDb21tYW5kcyhzdGFnZS5uYW1lKSxcbiAgICAgICAgXSxcblxuICAgICAgfSxcbiAgICAgIFtgZGVwbG95LSR7c3RhZ2UubmFtZX1gXToge1xuICAgICAgICBleHRlbmRzOiBbJy5hd3NfYmFzZScsICcuYXJ0aWZhY3RzX2Nka2RlcGxveScsIC4uLnByZUluc3RhbGxTdGVwcy5mbGF0TWFwKHMgPT4gcy5leHRlbnNpb25zKV0sXG4gICAgICAgIHN0YWdlOiBzdGFnZS5uYW1lLFxuICAgICAgICB0YWdzOiB0aGlzLm9wdGlvbnMucnVubmVyVGFncz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5ydW5uZXJUYWdzPy5kZWZhdWx0LFxuICAgICAgICAuLi5zdGFnZS5tYW51YWxBcHByb3ZhbCAmJiB7XG4gICAgICAgICAgd2hlbjogZ2l0bGFiLkpvYldoZW4uTUFOVUFMLFxuICAgICAgICB9LFxuICAgICAgICBvbmx5OiB7XG4gICAgICAgICAgcmVmczogW3RoaXMuYnJhbmNoTmFtZV0sXG4gICAgICAgIH0sXG4gICAgICAgIG5lZWRzOiBbXG4gICAgICAgICAgeyBqb2I6ICdzeW50aCcsIGFydGlmYWN0czogdHJ1ZSB9LFxuICAgICAgICAgIHsgam9iOiAncHVibGlzaF9hc3NldHMnIH0sXG4gICAgICAgICAgeyBqb2I6IGBkaWZmLSR7c3RhZ2UubmFtZX1gIH0sXG4gICAgICAgICAgLi4ucHJlSW5zdGFsbFN0ZXBzLmZsYXRNYXAocyA9PiBzLm5lZWRzKSxcbiAgICAgICAgXSxcbiAgICAgICAgc2NyaXB0OiBbXG4gICAgICAgICAgYGF3c2xvZ2luICcke3RoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVwbG95bWVudD8uW3N0YWdlLm5hbWVdID8/IHRoaXMub3B0aW9ucy5pYW1Sb2xlQXJucz8uZGVmYXVsdH0nYCxcbiAgICAgICAgICAuLi5wcmVJbnN0YWxsU3RlcHMuZmxhdE1hcChzID0+IHMuY29tbWFuZHMpLFxuICAgICAgICAgIC4uLnRoaXMucmVuZGVySW5zdGFsbENvbW1hbmRzKCksXG4gICAgICAgICAgLi4udGhpcy5yZW5kZXJEZXBsb3lDb21tYW5kcyhzdGFnZS5uYW1lKSxcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgdGhpcy5kZXBsb3ltZW50U3RhZ2VzLnB1c2goc3RhZ2UubmFtZSk7XG4gIH1cblxuICBwdWJsaWMgZW5naW5lVHlwZSgpOiBQaXBlbGluZUVuZ2luZSB7XG4gICAgcmV0dXJuIFBpcGVsaW5lRW5naW5lLkdJVExBQjtcbiAgfVxuXG59XG5cbiJdfQ==
|
package/lib/engine.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The CI/CD tooling used to run your pipeline.
|
|
3
|
+
* The component will render workflows for the given system
|
|
4
|
+
*/
|
|
5
|
+
export declare enum PipelineEngine {
|
|
6
|
+
/** Create GitHub actions */
|
|
7
|
+
GITHUB = 0,
|
|
8
|
+
/** Create a .gitlab-ci.yaml file */
|
|
9
|
+
GITLAB = 1,
|
|
10
|
+
/** Create bash scripts */
|
|
11
|
+
BASH = 2
|
|
12
|
+
}
|
package/lib/engine.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PipelineEngine = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The CI/CD tooling used to run your pipeline.
|
|
6
|
+
* The component will render workflows for the given system
|
|
7
|
+
*/
|
|
8
|
+
var PipelineEngine;
|
|
9
|
+
(function (PipelineEngine) {
|
|
10
|
+
/** Create GitHub actions */
|
|
11
|
+
PipelineEngine[PipelineEngine["GITHUB"] = 0] = "GITHUB";
|
|
12
|
+
/** Create a .gitlab-ci.yaml file */
|
|
13
|
+
PipelineEngine[PipelineEngine["GITLAB"] = 1] = "GITLAB";
|
|
14
|
+
// /** Create AWS CodeCatalyst workflows */
|
|
15
|
+
// CODE_CATALYST,
|
|
16
|
+
/** Create bash scripts */
|
|
17
|
+
PipelineEngine[PipelineEngine["BASH"] = 2] = "BASH";
|
|
18
|
+
})(PipelineEngine = exports.PipelineEngine || (exports.PipelineEngine = {}));
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2VuZ2luZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQTs7O0dBR0c7QUFDSCxJQUFZLGNBU1g7QUFURCxXQUFZLGNBQWM7SUFDeEIsNEJBQTRCO0lBQzVCLHVEQUFNLENBQUE7SUFDTixvQ0FBb0M7SUFDcEMsdURBQU0sQ0FBQTtJQUNOLDJDQUEyQztJQUMzQyxpQkFBaUI7SUFDakIsMEJBQTBCO0lBQzFCLG1EQUFJLENBQUE7QUFDTixDQUFDLEVBVFcsY0FBYyxHQUFkLHNCQUFjLEtBQWQsc0JBQWMsUUFTekIiLCJzb3VyY2VzQ29udGVudCI6WyJcbi8qKlxuICogVGhlIENJL0NEIHRvb2xpbmcgdXNlZCB0byBydW4geW91ciBwaXBlbGluZS5cbiAqIFRoZSBjb21wb25lbnQgd2lsbCByZW5kZXIgd29ya2Zsb3dzIGZvciB0aGUgZ2l2ZW4gc3lzdGVtXG4gKi9cbmV4cG9ydCBlbnVtIFBpcGVsaW5lRW5naW5lIHtcbiAgLyoqIENyZWF0ZSBHaXRIdWIgYWN0aW9ucyAqL1xuICBHSVRIVUIsXG4gIC8qKiBDcmVhdGUgYSAuZ2l0bGFiLWNpLnlhbWwgZmlsZSAqL1xuICBHSVRMQUIsXG4gIC8vIC8qKiBDcmVhdGUgQVdTIENvZGVDYXRhbHlzdCB3b3JrZmxvd3MgKi9cbiAgLy8gQ09ERV9DQVRBTFlTVCxcbiAgLyoqIENyZWF0ZSBiYXNoIHNjcmlwdHMgKi9cbiAgQkFTSCxcbn0iXX0=
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -10,5 +10,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
10
10
|
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
11
|
};
|
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./engine"), exports);
|
|
14
|
+
__exportStar(require("./steps"), exports);
|
|
13
15
|
__exportStar(require("./awscdk"), exports);
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsMkNBQXlCO0FBQ3pCLDBDQUF3QjtBQUN4QiwyQ0FBeUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2VuZ2luZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vYXdzY2RrJzsiXX0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './step';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
+
}) : (function(o, m, k, k2) {
|
|
6
|
+
if (k2 === undefined) k2 = k;
|
|
7
|
+
o[k2] = m[k];
|
|
8
|
+
}));
|
|
9
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
10
|
+
for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
|
|
11
|
+
};
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
__exportStar(require("./step"), exports);
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXVCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zdGVwJzsiXX0=
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Project } from 'projen';
|
|
2
|
+
import { JobStep } from 'projen/lib/github/workflows-model';
|
|
3
|
+
import { Need } from 'projen/lib/gitlab';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration interface for a GitLab CI step.
|
|
6
|
+
*/
|
|
7
|
+
export interface GitlabStepConfig {
|
|
8
|
+
/** List of job extensions related to the step. */
|
|
9
|
+
readonly extensions: string[];
|
|
10
|
+
/** Dependencies which need to be completed before this step. */
|
|
11
|
+
readonly needs: Need[];
|
|
12
|
+
/** Shell commands to execute in this step. */
|
|
13
|
+
readonly commands: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Configuration interface for a GitHub Actions step.
|
|
17
|
+
*/
|
|
18
|
+
export interface GithubStepConfig {
|
|
19
|
+
/** Dependencies which need to be completed before this step. */
|
|
20
|
+
readonly needs: string[];
|
|
21
|
+
/** Commands wrapped as GitHub Action job steps. */
|
|
22
|
+
readonly steps: JobStep[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Configuration interface for a bash script step.
|
|
26
|
+
*/
|
|
27
|
+
export interface BashStepConfig {
|
|
28
|
+
/** Shell commands to execute. */
|
|
29
|
+
readonly commands: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Abstract class defining the structure of a pipeline step.
|
|
33
|
+
*/
|
|
34
|
+
export declare abstract class PipelineStep {
|
|
35
|
+
protected project: Project;
|
|
36
|
+
/**
|
|
37
|
+
* Initializes a new instance of a PipelineStep with a reference to a projen project.
|
|
38
|
+
* @param project - The projen project reference.
|
|
39
|
+
*/
|
|
40
|
+
constructor(project: Project);
|
|
41
|
+
/**
|
|
42
|
+
* Generates a configuration for a GitLab CI step. Must be implemented by subclasses.
|
|
43
|
+
*/
|
|
44
|
+
abstract toGitlab(): GitlabStepConfig;
|
|
45
|
+
/**
|
|
46
|
+
* Generates a configuration for a GitHub Actions step. Must be implemented by subclasses.
|
|
47
|
+
*/
|
|
48
|
+
abstract toGithub(): GithubStepConfig;
|
|
49
|
+
/**
|
|
50
|
+
* Generates a configuration for a bash script step. Must be implemented by subclasses.
|
|
51
|
+
*/
|
|
52
|
+
abstract toBash(): BashStepConfig;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Concrete implementation of PipelineStep that executes simple commands.
|
|
56
|
+
*/
|
|
57
|
+
export declare class SimpleCommandStep extends PipelineStep {
|
|
58
|
+
protected commands: string[];
|
|
59
|
+
/**
|
|
60
|
+
* Constructs a simple command step with a specified set of commands.
|
|
61
|
+
* @param project - The projen project reference.
|
|
62
|
+
* @param commands - Shell commands to execute.
|
|
63
|
+
*/
|
|
64
|
+
constructor(project: Project, commands: string[]);
|
|
65
|
+
/**
|
|
66
|
+
* Converts the step into a GitLab CI configuration.
|
|
67
|
+
*/
|
|
68
|
+
toGitlab(): GitlabStepConfig;
|
|
69
|
+
/**
|
|
70
|
+
* Converts the step into a Bash script configuration.
|
|
71
|
+
*/
|
|
72
|
+
toBash(): BashStepConfig;
|
|
73
|
+
/**
|
|
74
|
+
* Converts the step into a GitHub Actions step configuration.
|
|
75
|
+
*/
|
|
76
|
+
toGithub(): GithubStepConfig;
|
|
77
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var _a, _b;
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SimpleCommandStep = exports.PipelineStep = void 0;
|
|
5
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
6
|
+
/**
|
|
7
|
+
* Abstract class defining the structure of a pipeline step.
|
|
8
|
+
*/
|
|
9
|
+
class PipelineStep {
|
|
10
|
+
/**
|
|
11
|
+
* Initializes a new instance of a PipelineStep with a reference to a projen project.
|
|
12
|
+
* @param project - The projen project reference.
|
|
13
|
+
*/
|
|
14
|
+
constructor(project) {
|
|
15
|
+
this.project = project;
|
|
16
|
+
// Constructor can be extended to include more setup logic.
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.PipelineStep = PipelineStep;
|
|
20
|
+
_a = JSII_RTTI_SYMBOL_1;
|
|
21
|
+
PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.0.58" };
|
|
22
|
+
/**
|
|
23
|
+
* Concrete implementation of PipelineStep that executes simple commands.
|
|
24
|
+
*/
|
|
25
|
+
class SimpleCommandStep extends PipelineStep {
|
|
26
|
+
/**
|
|
27
|
+
* Constructs a simple command step with a specified set of commands.
|
|
28
|
+
* @param project - The projen project reference.
|
|
29
|
+
* @param commands - Shell commands to execute.
|
|
30
|
+
*/
|
|
31
|
+
constructor(project, commands) {
|
|
32
|
+
super(project);
|
|
33
|
+
this.commands = commands;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Converts the step into a GitLab CI configuration.
|
|
37
|
+
*/
|
|
38
|
+
toGitlab() {
|
|
39
|
+
return {
|
|
40
|
+
extensions: [],
|
|
41
|
+
commands: this.commands,
|
|
42
|
+
needs: [],
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Converts the step into a Bash script configuration.
|
|
47
|
+
*/
|
|
48
|
+
toBash() {
|
|
49
|
+
return {
|
|
50
|
+
commands: this.commands,
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Converts the step into a GitHub Actions step configuration.
|
|
55
|
+
*/
|
|
56
|
+
toGithub() {
|
|
57
|
+
return {
|
|
58
|
+
needs: [],
|
|
59
|
+
steps: this.commands.map(c => ({ run: c })),
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.SimpleCommandStep = SimpleCommandStep;
|
|
64
|
+
_b = JSII_RTTI_SYMBOL_1;
|
|
65
|
+
SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.0.58" };
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBd0NBOztHQUVHO0FBQ0gsTUFBc0IsWUFBWTtJQUVoQzs7O09BR0c7SUFDSCxZQUFzQixPQUFnQjtRQUFoQixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ3BDLDJEQUEyRDtJQUM3RCxDQUFDOztBQVJILG9DQXdCQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLGlCQUFrQixTQUFRLFlBQVk7SUFFakQ7Ozs7T0FJRztJQUNILFlBQVksT0FBZ0IsRUFBWSxRQUFrQjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEdUIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtJQUUxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLFVBQVUsRUFBRSxFQUFFO1lBQ2QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxPQUFPO1lBQ0wsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1NBQ3hCLENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQzVDLENBQUM7SUFDSixDQUFDOztBQXZDSCw4Q0F3Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTmVlZCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0bGFiJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBHaXRMYWIgQ0kgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJTdGVwQ29uZmlnIHtcblxuICAvKiogTGlzdCBvZiBqb2IgZXh0ZW5zaW9ucyByZWxhdGVkIHRvIHRoZSBzdGVwLiAqL1xuICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmdbXTtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBOZWVkW107XG5cbiAgLyoqIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUgaW4gdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBjb21tYW5kczogc3RyaW5nW107XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJTdGVwQ29uZmlnIHtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgd3JhcHBlZCBhcyBHaXRIdWIgQWN0aW9uIGpvYiBzdGVwcy4gKi9cbiAgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBiYXNoIHNjcmlwdCBzdGVwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJhc2hTdGVwQ29uZmlnIHtcblxuICAvKiogU2hlbGwgY29tbWFuZHMgdG8gZXhlY3V0ZS4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM6IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIEFic3RyYWN0IGNsYXNzIGRlZmluaW5nIHRoZSBzdHJ1Y3R1cmUgb2YgYSBwaXBlbGluZSBzdGVwLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGlwZWxpbmVTdGVwIHtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSBuZXcgaW5zdGFuY2Ugb2YgYSBQaXBlbGluZVN0ZXAgd2l0aCBhIHJlZmVyZW5jZSB0byBhIHByb2plbiBwcm9qZWN0LlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcHJvamVjdDogUHJvamVjdCkge1xuICAgIC8vIENvbnN0cnVjdG9yIGNhbiBiZSBleHRlbmRlZCB0byBpbmNsdWRlIG1vcmUgc2V0dXAgbG9naWMuXG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGVzIGEgY29uZmlndXJhdGlvbiBmb3IgYSBHaXRMYWIgQ0kgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWc7XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgYmFzaCBzY3JpcHQgc3RlcC4gTXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZztcbn1cblxuLyoqXG4gKiBDb25jcmV0ZSBpbXBsZW1lbnRhdGlvbiBvZiBQaXBlbGluZVN0ZXAgdGhhdCBleGVjdXRlcyBzaW1wbGUgY29tbWFuZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVDb21tYW5kU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBzaW1wbGUgY29tbWFuZCBzdGVwIHdpdGggYSBzcGVjaWZpZWQgc2V0IG9mIGNvbW1hbmRzLlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBjb21tYW5kcyAtIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm90ZWN0ZWQgY29tbWFuZHM6IHN0cmluZ1tdKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdExhYiBDSSBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBleHRlbnNpb25zOiBbXSwgLy8gTm8gam9iIGV4dGVuc2lvbnMgc3BlY2lmaWVkIGZvciB0aGlzIHN0ZXAuXG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQmFzaCBzY3JpcHQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0Jhc2goKTogQmFzaFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogdGhpcy5jb21tYW5kcywgLy8gQ29tbWFuZHMgdG8gYmUgcnVuLlxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgbmVlZHM6IFtdLCAvLyBObyBkZXBlbmRlbmNpZXMuXG4gICAgICBzdGVwczogdGhpcy5jb21tYW5kcy5tYXAoYyA9PiAoeyBydW46IGMgfSkpLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgR2l0SHViIEFjdGlvbiBqb2Igc3RlcC5cbiAgICB9O1xuICB9XG59XG4iXX0=
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@types/standard-version": "^7.1.3",
|
|
44
44
|
"@typescript-eslint/eslint-plugin": "^6",
|
|
45
45
|
"@typescript-eslint/parser": "^6",
|
|
46
|
-
"constructs": "
|
|
46
|
+
"constructs": "10.3.0",
|
|
47
47
|
"eslint": "^8",
|
|
48
48
|
"eslint-import-resolver-typescript": "^3.6.1",
|
|
49
49
|
"eslint-plugin-import": "^2.29.1",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"jsii-docgen": "^10.4.1",
|
|
56
56
|
"jsii-pacmak": "^1.97.0",
|
|
57
57
|
"jsii-rosetta": "1.x",
|
|
58
|
-
"projen": "
|
|
58
|
+
"projen": "0.81.4",
|
|
59
59
|
"standard-version": "^9",
|
|
60
60
|
"ts-jest": "^27",
|
|
61
61
|
"ts-node": "^10.9.2",
|
|
@@ -66,7 +66,7 @@
|
|
|
66
66
|
"projen": ">=0.81.0 <1.0.0"
|
|
67
67
|
},
|
|
68
68
|
"dependencies": {
|
|
69
|
-
"projen": "
|
|
69
|
+
"projen": "0.81.4",
|
|
70
70
|
"standard-version": "^9.5.0"
|
|
71
71
|
},
|
|
72
72
|
"bundledDependencies": [
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
],
|
|
83
83
|
"main": "lib/index.js",
|
|
84
84
|
"license": "Apache-2.0",
|
|
85
|
-
"version": "0.0.
|
|
85
|
+
"version": "0.0.58",
|
|
86
86
|
"jest": {
|
|
87
87
|
"testMatch": [
|
|
88
88
|
"<rootDir>/src/**/__tests__/**/*.ts?(x)",
|