projen-pipelines 0.2.15 → 0.3.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.
@@ -0,0 +1,40 @@
1
+ import { Project } from 'projen';
2
+ import { BashStepConfig, CodeCatalystStepConfig, GithubStepConfig, GitlabStepConfig, PipelineStep } from './step';
3
+ /**
4
+ * Configuration for an AWS Amplify deployment step
5
+ */
6
+ export interface AmplifyDeployStepConfig {
7
+ /** The Amplify app ID (static value) */
8
+ readonly appId?: string;
9
+ /** Command to retrieve the Amplify app ID dynamically */
10
+ readonly appIdCommand?: string;
11
+ /** The artifact file to deploy (zip file containing the build) */
12
+ readonly artifactFile: string;
13
+ /** The branch name to deploy to (defaults to 'main') */
14
+ readonly branchName?: string;
15
+ /** The AWS region (defaults to 'eu-central-1') */
16
+ readonly region?: string;
17
+ /** Environment name */
18
+ readonly environment?: string;
19
+ }
20
+ /**
21
+ * A step that deploys a web application to AWS Amplify
22
+ */
23
+ export declare class AmplifyDeployStep extends PipelineStep {
24
+ private readonly config;
25
+ private readonly branchName;
26
+ private readonly region;
27
+ constructor(project: Project, config: AmplifyDeployStepConfig);
28
+ /**
29
+ * Generate the core Amplify deployment commands
30
+ */
31
+ private getDeploymentCommands;
32
+ /**
33
+ * Get the command to set the Amplify App ID
34
+ */
35
+ private getAppIdCommand;
36
+ toGitlab(): GitlabStepConfig;
37
+ toGithub(): GithubStepConfig;
38
+ toBash(): BashStepConfig;
39
+ toCodeCatalyst(): CodeCatalystStepConfig;
40
+ }
@@ -0,0 +1,148 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AmplifyDeployStep = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const step_1 = require("./step");
7
+ /**
8
+ * A step that deploys a web application to AWS Amplify
9
+ */
10
+ class AmplifyDeployStep extends step_1.PipelineStep {
11
+ constructor(project, config) {
12
+ super(project);
13
+ this.config = config;
14
+ if (!config.appId && !config.appIdCommand) {
15
+ throw new Error('Either appId or appIdCommand must be provided');
16
+ }
17
+ if (config.appId && config.appIdCommand) {
18
+ throw new Error('Cannot provide both appId and appIdCommand');
19
+ }
20
+ this.branchName = config.branchName ?? 'main';
21
+ this.region = config.region ?? 'eu-central-1';
22
+ }
23
+ /**
24
+ * Generate the core Amplify deployment commands
25
+ */
26
+ getDeploymentCommands() {
27
+ const commands = [];
28
+ // Check and stop any pending jobs
29
+ commands.push('echo "Checking for pending Amplify jobs..."');
30
+ commands.push(`aws amplify list-jobs --app-id $AMPLIFY_APP_ID --branch-name ${this.branchName} --max-items 1 > amplify-last-job.json`);
31
+ commands.push('AMPLIFY_LAST_JOB_STATUS=$(cat amplify-last-job.json | jq -r \'.jobSummaries[].status\')');
32
+ commands.push('AMPLIFY_LAST_JOB_ID=$(cat amplify-last-job.json | jq -r \'.jobSummaries[].jobId\')');
33
+ commands.push('if [ "$AMPLIFY_LAST_JOB_STATUS" = "PENDING" ]; then');
34
+ commands.push(` aws amplify stop-job --app-id $AMPLIFY_APP_ID --branch-name ${this.branchName} --job-id $AMPLIFY_LAST_JOB_ID`);
35
+ commands.push('fi');
36
+ // Create deployment
37
+ commands.push('echo "Creating Amplify deployment..."');
38
+ commands.push(`aws amplify create-deployment --app-id $AMPLIFY_APP_ID --branch-name ${this.branchName} > amplify-deploy.json`);
39
+ commands.push('AMPLIFY_ZIP_UPLOAD_URL=$(cat amplify-deploy.json | jq -r \'.zipUploadUrl\')');
40
+ commands.push('AMPLIFY_JOB_ID=$(cat amplify-deploy.json | jq -r \'.jobId\')');
41
+ // Upload artifact
42
+ commands.push('echo "Uploading deployment artifact..."');
43
+ commands.push(`curl -H "Content-Type: application/zip" $AMPLIFY_ZIP_UPLOAD_URL --upload-file ${this.config.artifactFile}`);
44
+ // Start deployment
45
+ commands.push('echo "Starting Amplify deployment..."');
46
+ commands.push(`aws amplify start-deployment --app-id $AMPLIFY_APP_ID --branch-name ${this.branchName} --job-id $AMPLIFY_JOB_ID`);
47
+ // Wait for deployment to complete
48
+ commands.push('while :; do');
49
+ commands.push(' sleep 10');
50
+ commands.push(` STATUS=$(aws amplify get-job --app-id $AMPLIFY_APP_ID --branch-name ${this.branchName} --job-id $AMPLIFY_JOB_ID | jq -r '.job.summary.status')`);
51
+ commands.push(' if [ "$STATUS" != "PENDING" ] && [ "$STATUS" != "RUNNING" ]; then');
52
+ commands.push(' break');
53
+ commands.push(' fi');
54
+ commands.push(' echo "Deployment status: $STATUS"');
55
+ commands.push('done');
56
+ // Clean up and check final status
57
+ commands.push('rm -f amplify-last-job.json amplify-deploy.json');
58
+ commands.push('echo "Amplify deployment completed with status: $STATUS"');
59
+ commands.push('if [ "$STATUS" != "SUCCEED" ]; then');
60
+ commands.push(' echo "Deployment failed with status: $STATUS"');
61
+ commands.push(' exit 1');
62
+ commands.push('fi');
63
+ return commands;
64
+ }
65
+ /**
66
+ * Get the command to set the Amplify App ID
67
+ */
68
+ getAppIdCommand() {
69
+ if (this.config.appId) {
70
+ return `AMPLIFY_APP_ID="${this.config.appId}"`;
71
+ }
72
+ else if (this.config.appIdCommand) {
73
+ return `AMPLIFY_APP_ID=$(${this.config.appIdCommand})`;
74
+ }
75
+ return '';
76
+ }
77
+ toGitlab() {
78
+ const commands = [];
79
+ // Set Amplify App ID
80
+ commands.push(this.getAppIdCommand());
81
+ // Add deployment commands
82
+ commands.push(...this.getDeploymentCommands());
83
+ return {
84
+ env: {
85
+ AWS_REGION: this.region,
86
+ AWS_DEFAULT_REGION: this.region,
87
+ },
88
+ commands,
89
+ extensions: [],
90
+ needs: [],
91
+ };
92
+ }
93
+ toGithub() {
94
+ const steps = [];
95
+ // Set Amplify App ID
96
+ if (this.config.appId) {
97
+ steps.push({
98
+ name: 'Set Amplify App ID',
99
+ run: `echo "AMPLIFY_APP_ID=${this.config.appId}" >> $GITHUB_ENV`,
100
+ });
101
+ }
102
+ else if (this.config.appIdCommand) {
103
+ const envStep = {
104
+ name: 'Extract Amplify App ID',
105
+ run: `AMPLIFY_APP_ID=$(${this.config.appIdCommand}) && echo "AMPLIFY_APP_ID=$AMPLIFY_APP_ID" >> $GITHUB_ENV`,
106
+ };
107
+ if (this.config.environment) {
108
+ envStep.env = { ENVIRONMENT: this.config.environment };
109
+ }
110
+ steps.push(envStep);
111
+ }
112
+ // Deploy to Amplify - use the environment variable set above
113
+ const deploymentScript = [
114
+ '#!/bin/bash -e',
115
+ ...this.getDeploymentCommands(),
116
+ ].join('\n');
117
+ steps.push({
118
+ name: 'Deploy to Amplify',
119
+ run: deploymentScript,
120
+ });
121
+ return {
122
+ steps,
123
+ needs: [],
124
+ env: {
125
+ AWS_REGION: this.region,
126
+ AWS_DEFAULT_REGION: this.region,
127
+ },
128
+ };
129
+ }
130
+ toBash() {
131
+ const commands = [];
132
+ // Set AWS region
133
+ commands.push(`export AWS_REGION="${this.region}"`);
134
+ commands.push(`export AWS_DEFAULT_REGION="${this.region}"`);
135
+ // Set Amplify App ID
136
+ commands.push(this.getAppIdCommand());
137
+ // Add deployment commands
138
+ commands.push(...this.getDeploymentCommands());
139
+ return { commands };
140
+ }
141
+ toCodeCatalyst() {
142
+ throw new Error('CodeCatalyst is not supported for Amplify deployment');
143
+ }
144
+ }
145
+ exports.AmplifyDeployStep = AmplifyDeployStep;
146
+ _a = JSII_RTTI_SYMBOL_1;
147
+ AmplifyDeployStep[_a] = { fqn: "projen-pipelines.AmplifyDeployStep", version: "0.3.1" };
148
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW1wbGlmeS1kZXBsb3kuc3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9hbXBsaWZ5LWRlcGxveS5zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsaUNBQWtIO0FBb0JsSDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsbUJBQVk7SUFLakQsWUFBWSxPQUFnQixFQUFtQixNQUErQjtRQUM1RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEOEIsV0FBTSxHQUFOLE1BQU0sQ0FBeUI7UUFFNUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1FBQ25FLENBQUM7UUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3hDLE1BQU0sSUFBSSxLQUFLLENBQUMsNENBQTRDLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLElBQUksY0FBYyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNLLHFCQUFxQjtRQUMzQixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFFOUIsa0NBQWtDO1FBQ2xDLFFBQVEsQ0FBQyxJQUFJLENBQUMsNkNBQTZDLENBQUMsQ0FBQztRQUM3RCxRQUFRLENBQUMsSUFBSSxDQUFDLGdFQUFnRSxJQUFJLENBQUMsVUFBVSx3Q0FBd0MsQ0FBQyxDQUFDO1FBQ3ZJLFFBQVEsQ0FBQyxJQUFJLENBQUMseUZBQXlGLENBQUMsQ0FBQztRQUN6RyxRQUFRLENBQUMsSUFBSSxDQUFDLG9GQUFvRixDQUFDLENBQUM7UUFDcEcs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QUFFO1lBQ1QsR0FBRyxFQUFFO2dCQUNILFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDdkIsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLE1BQU07YUFDaEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLE1BQU07UUFDWCxNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFFOUIsaUJBQWlCO1FBQ2pCLFFBQVEsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ3BELFFBQVEsQ0FBQyxJQUFJLENBQUMsOEJBQThCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBRTVELHFCQUFxQjtRQUNyQixRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRXRDLDBCQUEwQjtRQUMxQixRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0FBQztRQUUvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVNLGNBQWM7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFDO0lBQzFFLENBQUM7O0FBOUpILDhDQStKQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgQmFzaFN0ZXBDb25maWcsIENvZGVDYXRhbHlzdFN0ZXBDb25maWcsIEdpdGh1YlN0ZXBDb25maWcsIEdpdGxhYlN0ZXBDb25maWcsIFBpcGVsaW5lU3RlcCB9IGZyb20gJy4vc3RlcCc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYW4gQVdTIEFtcGxpZnkgZGVwbG95bWVudCBzdGVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQW1wbGlmeURlcGxveVN0ZXBDb25maWcge1xuICAvKiogVGhlIEFtcGxpZnkgYXBwIElEIChzdGF0aWMgdmFsdWUpICovXG4gIHJlYWRvbmx5IGFwcElkPzogc3RyaW5nO1xuICAvKiogQ29tbWFuZCB0byByZXRyaWV2ZSB0aGUgQW1wbGlmeSBhcHAgSUQgZHluYW1pY2FsbHkgKi9cbiAgcmVhZG9ubHkgYXBwSWRDb21tYW5kPzogc3RyaW5nO1xuICAvKiogVGhlIGFydGlmYWN0IGZpbGUgdG8gZGVwbG95ICh6aXAgZmlsZSBjb250YWluaW5nIHRoZSBidWlsZCkgKi9cbiAgcmVhZG9ubHkgYXJ0aWZhY3RGaWxlOiBzdHJpbmc7XG4gIC8qKiBUaGUgYnJhbmNoIG5hbWUgdG8gZGVwbG95IHRvIChkZWZhdWx0cyB0byAnbWFpbicpICovXG4gIHJlYWRvbmx5IGJyYW5jaE5hbWU/OiBzdHJpbmc7XG4gIC8qKiBUaGUgQVdTIHJlZ2lvbiAoZGVmYXVsdHMgdG8gJ2V1LWNlbnRyYWwtMScpICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgLyoqIEVudmlyb25tZW50IG5hbWUgKi9cbiAgcmVhZG9ubHkgZW52aXJvbm1lbnQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzdGVwIHRoYXQgZGVwbG95cyBhIHdlYiBhcHBsaWNhdGlvbiB0byBBV1MgQW1wbGlmeVxuICovXG5leHBvcnQgY2xhc3MgQW1wbGlmeURlcGxveVN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgYnJhbmNoTmFtZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBbXBsaWZ5RGVwbG95U3RlcENvbmZpZykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuICAgIGlmICghY29uZmlnLmFwcElkICYmICFjb25maWcuYXBwSWRDb21tYW5kKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0VpdGhlciBhcHBJZCBvciBhcHBJZENvbW1hbmQgbXVzdCBiZSBwcm92aWRlZCcpO1xuICAgIH1cbiAgICBpZiAoY29uZmlnLmFwcElkICYmIGNvbmZpZy5hcHBJZENvbW1hbmQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IHByb3ZpZGUgYm90aCBhcHBJZCBhbmQgYXBwSWRDb21tYW5kJyk7XG4gICAgfVxuICAgIHRoaXMuYnJhbmNoTmFtZSA9IGNvbmZpZy5icmFuY2hOYW1lID8/ICdtYWluJztcbiAgICB0aGlzLnJlZ2lvbiA9IGNvbmZpZy5yZWdpb24gPz8gJ2V1LWNlbnRyYWwtMSc7XG4gIH1cblxuICAvKipcbiAgICogR2VuZXJhdGUgdGhlIGNvcmUgQW1wbGlmeSBkZXBsb3ltZW50IGNvbW1hbmRzXG4gICAqL1xuICBwcml2YXRlIGdldERlcGxveW1lbnRDb21tYW5kcygpOiBzdHJpbmdbXSB7XG4gICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICAvLyBDaGVjayBhbmQgc3RvcCBhbnkgcGVuZGluZyBqb2JzXG4gICAgY29tbWFuZHMucHVzaCgnZWNobyBcIkNoZWNraW5nIGZvciBwZW5kaW5nIEFtcGxpZnkgam9icy4uLlwiJyk7XG4gICAgY29tbWFuZHMucHVzaChgYXdzIGFtcGxpZnkgbGlzdC1qb2JzIC0tYXBwLWlkICRBTVBMSUZZX0FQUF9JRCAtLWJyYW5jaC1uYW1lICR7dGhpcy5icmFuY2hOYW1lfSAtLW1heC1pdGVtcyAxID4gYW1wbGlmeS1sYXN0LWpvYi5qc29uYCk7XG4gICAgY29tbWFuZHMucHVzaCgnQU1QTElGWV9MQVNUX0pPQl9TVEFUVVM9JChjYXQgYW1wbGlmeS1sYXN0LWpvYi5qc29uIHwganEgLXIgXFwnLmpvYlN1bW1hcmllc1tdLnN0YXR1c1xcJyknKTtcbiAgICBjb21tYW5kcy5wdXNoKCdBTVBMSUZZX0xBU1RfSk9CX0lEPSQoY2F0IGFtcGxpZnktbGFzdC1qb2IuanNvbiB8IGpxIC1yIFxcJy5qb2JTdW1tYXJpZXNbXS5qb2JJZFxcJyknKTtcbiAgICBjb21tYW5kcy5wdXNoKCdpZiBbIFwiJEFNUExJRllfTEFTVF9KT0JfU1RBVFVTXCIgPSBcIlBFTkRJTkdcIiBdOyB0aGVuJyk7XG4gICAgY29tbWFuZHMucHVzaChgICBhd3MgYW1wbGlmeSBzdG9wLWpvYiAtLWFwcC1pZCAkQU1QTElGWV9BUFBfSUQgLS1icmFuY2gtbmFtZSAke3RoaXMuYnJhbmNoTmFtZX0gLS1qb2ItaWQgJEFNUExJRllfTEFTVF9KT0JfSURgKTtcbiAgICBjb21tYW5kcy5wdXNoKCdmaScpO1xuXG4gICAgLy8gQ3JlYXRlIGRlcGxveW1lbnRcbiAgICBjb21tYW5kcy5wdXNoKCdlY2hvIFwiQ3JlYXRpbmcgQW1wbGlmeSBkZXBsb3ltZW50Li4uXCInKTtcbiAgICBjb21tYW5kcy5wdXNoKGBhd3MgYW1wbGlmeSBjcmVhdGUtZGVwbG95bWVudCAtLWFwcC1pZCAkQU1QTElGWV9BUFBfSUQgLS1icmFuY2gtbmFtZSAke3RoaXMuYnJhbmNoTmFtZX0gPiBhbXBsaWZ5LWRlcGxveS5qc29uYCk7XG4gICAgY29tbWFuZHMucHVzaCgnQU1QTElGWV9aSVBfVVBMT0FEX1VSTD0kKGNhdCBhbXBsaWZ5LWRlcGxveS5qc29uIHwganEgLXIgXFwnLnppcFVwbG9hZFVybFxcJyknKTtcbiAgICBjb21tYW5kcy5wdXNoKCdBTVBMSUZZX0pPQl9JRD0kKGNhdCBhbXBsaWZ5LWRlcGxveS5qc29uIHwganEgLXIgXFwnLmpvYklkXFwnKScpO1xuXG4gICAgLy8gVXBsb2FkIGFydGlmYWN0XG4gICAgY29tbWFuZHMucHVzaCgnZWNobyBcIlVwbG9hZGluZyBkZXBsb3ltZW50IGFydGlmYWN0Li4uXCInKTtcbiAgICBjb21tYW5kcy5wdXNoKGBjdXJsIC1IIFwiQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi96aXBcIiAkQU1QTElGWV9aSVBfVVBMT0FEX1VSTCAtLXVwbG9hZC1maWxlICR7dGhpcy5jb25maWcuYXJ0aWZhY3RGaWxlfWApO1xuXG4gICAgLy8gU3RhcnQgZGVwbG95bWVudFxuICAgIGNvbW1hbmRzLnB1c2goJ2VjaG8gXCJTdGFydGluZyBBbXBsaWZ5IGRlcGxveW1lbnQuLi5cIicpO1xuICAgIGNvbW1hbmRzLnB1c2goYGF3cyBhbXBsaWZ5IHN0YXJ0LWRlcGxveW1lbnQgLS1hcHAtaWQgJEFNUExJRllfQVBQX0lEIC0tYnJhbmNoLW5hbWUgJHt0aGlzLmJyYW5jaE5hbWV9IC0tam9iLWlkICRBTVBMSUZZX0pPQl9JRGApO1xuXG4gICAgLy8gV2FpdCBmb3IgZGVwbG95bWVudCB0byBjb21wbGV0ZVxuICAgIGNvbW1hbmRzLnB1c2goJ3doaWxlIDo7IGRvJyk7XG4gICAgY29tbWFuZHMucHVzaCgnICBzbGVlcCAxMCcpO1xuICAgIGNvbW1hbmRzLnB1c2goYCAgU1RBVFVTPSQoYXdzIGFtcGxpZnkgZ2V0LWpvYiAtLWFwcC1pZCAkQU1QTElGWV9BUFBfSUQgLS1icmFuY2gtbmFtZSAke3RoaXMuYnJhbmNoTmFtZX0gLS1qb2ItaWQgJEFNUExJRllfSk9CX0lEIHwganEgLXIgJy5qb2Iuc3VtbWFyeS5zdGF0dXMnKWApO1xuICAgIGNvbW1hbmRzLnB1c2goJyAgaWYgWyBcIiRTVEFUVVNcIiAhPSBcIlBFTkRJTkdcIiBdICYmIFsgXCIkU1RBVFVTXCIgIT0gXCJSVU5OSU5HXCIgXTsgdGhlbicpO1xuICAgIGNvbW1hbmRzLnB1c2goJyAgICBicmVhaycpO1xuICAgIGNvbW1hbmRzLnB1c2goJyAgZmknKTtcbiAgICBjb21tYW5kcy5wdXNoKCcgIGVjaG8gXCJEZXBsb3ltZW50IHN0YXR1czogJFNUQVRVU1wiJyk7XG4gICAgY29tbWFuZHMucHVzaCgnZG9uZScpO1xuXG4gICAgLy8gQ2xlYW4gdXAgYW5kIGNoZWNrIGZpbmFsIHN0YXR1c1xuICAgIGNvbW1hbmRzLnB1c2goJ3JtIC1mIGFtcGxpZnktbGFzdC1qb2IuanNvbiBhbXBsaWZ5LWRlcGxveS5qc29uJyk7XG4gICAgY29tbWFuZHMucHVzaCgnZWNobyBcIkFtcGxpZnkgZGVwbG95bWVudCBjb21wbGV0ZWQgd2l0aCBzdGF0dXM6ICRTVEFUVVNcIicpO1xuICAgIGNvbW1hbmRzLnB1c2goJ2lmIFsgXCIkU1RBVFVTXCIgIT0gXCJTVUNDRUVEXCIgXTsgdGhlbicpO1xuICAgIGNvbW1hbmRzLnB1c2goJyAgZWNobyBcIkRlcGxveW1lbnQgZmFpbGVkIHdpdGggc3RhdHVzOiAkU1RBVFVTXCInKTtcbiAgICBjb21tYW5kcy5wdXNoKCcgIGV4aXQgMScpO1xuICAgIGNvbW1hbmRzLnB1c2goJ2ZpJyk7XG5cbiAgICByZXR1cm4gY29tbWFuZHM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjb21tYW5kIHRvIHNldCB0aGUgQW1wbGlmeSBBcHAgSURcbiAgICovXG4gIHByaXZhdGUgZ2V0QXBwSWRDb21tYW5kKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuY29uZmlnLmFwcElkKSB7XG4gICAgICByZXR1cm4gYEFNUExJRllfQVBQX0lEPVwiJHt0aGlzLmNvbmZpZy5hcHBJZH1cImA7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5hcHBJZENvbW1hbmQpIHtcbiAgICAgIHJldHVybiBgQU1QTElGWV9BUFBfSUQ9JCgke3RoaXMuY29uZmlnLmFwcElkQ29tbWFuZH0pYDtcbiAgICB9XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcHVibGljIHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWcge1xuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgLy8gU2V0IEFtcGxpZnkgQXBwIElEXG4gICAgY29tbWFuZHMucHVzaCh0aGlzLmdldEFwcElkQ29tbWFuZCgpKTtcblxuICAgIC8vIEFkZCBkZXBsb3ltZW50IGNvbW1hbmRzXG4gICAgY29tbWFuZHMucHVzaCguLi50aGlzLmdldERlcGxveW1lbnRDb21tYW5kcygpKTtcblxuICAgIHJldHVybiB7XG4gICAgICBlbnY6IHtcbiAgICAgICAgQVdTX1JFR0lPTjogdGhpcy5yZWdpb24sXG4gICAgICAgIEFXU19ERUZBVUxUX1JFR0lPTjogdGhpcy5yZWdpb24sXG4gICAgICB9LFxuICAgICAgY29tbWFuZHMsXG4gICAgICBleHRlbnNpb25zOiBbXSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWcge1xuICAgIGNvbnN0IHN0ZXBzID0gW107XG5cbiAgICAvLyBTZXQgQW1wbGlmeSBBcHAgSURcbiAgICBpZiAodGhpcy5jb25maWcuYXBwSWQpIHtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiAnU2V0IEFtcGxpZnkgQXBwIElEJyxcbiAgICAgICAgcnVuOiBgZWNobyBcIkFNUExJRllfQVBQX0lEPSR7dGhpcy5jb25maWcuYXBwSWR9XCIgPj4gJEdJVEhVQl9FTlZgLFxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmNvbmZpZy5hcHBJZENvbW1hbmQpIHtcbiAgICAgIGNvbnN0IGVudlN0ZXA6IGFueSA9IHtcbiAgICAgICAgbmFtZTogJ0V4dHJhY3QgQW1wbGlmeSBBcHAgSUQnLFxuICAgICAgICBydW46IGBBTVBMSUZZX0FQUF9JRD0kKCR7dGhpcy5jb25maWcuYXBwSWRDb21tYW5kfSkgJiYgZWNobyBcIkFNUExJRllfQVBQX0lEPSRBTVBMSUZZX0FQUF9JRFwiID4+ICRHSVRIVUJfRU5WYCxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5jb25maWcuZW52aXJvbm1lbnQpIHtcbiAgICAgICAgZW52U3RlcC5lbnYgPSB7IEVOVklST05NRU5UOiB0aGlzLmNvbmZpZy5lbnZpcm9ubWVudCB9O1xuICAgICAgfVxuICAgICAgc3RlcHMucHVzaChlbnZTdGVwKTtcbiAgICB9XG5cbiAgICAvLyBEZXBsb3kgdG8gQW1wbGlmeSAtIHVzZSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0IGFib3ZlXG4gICAgY29uc3QgZGVwbG95bWVudFNjcmlwdCA9IFtcbiAgICAgICcjIS9iaW4vYmFzaCAtZScsXG4gICAgICAuLi50aGlzLmdldERlcGxveW1lbnRDb21tYW5kcygpLFxuICAgIF0uam9pbignXFxuJyk7XG5cbiAgICBzdGVwcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdEZXBsb3kgdG8gQW1wbGlmeScsXG4gICAgICBydW46IGRlcGxveW1lbnRTY3JpcHQsXG4gICAgfSk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgc3RlcHMsXG4gICAgICBuZWVkczogW10sXG4gICAgICBlbnY6IHtcbiAgICAgICAgQVdTX1JFR0lPTjogdGhpcy5yZWdpb24sXG4gICAgICAgIEFXU19ERUZBVUxUX1JFR0lPTjogdGhpcy5yZWdpb24sXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9CYXNoKCk6IEJhc2hTdGVwQ29uZmlnIHtcbiAgICBjb25zdCBjb21tYW5kczogc3RyaW5nW10gPSBbXTtcblxuICAgIC8vIFNldCBBV1MgcmVnaW9uXG4gICAgY29tbWFuZHMucHVzaChgZXhwb3J0IEFXU19SRUdJT049XCIke3RoaXMucmVnaW9ufVwiYCk7XG4gICAgY29tbWFuZHMucHVzaChgZXhwb3J0IEFXU19ERUZBVUxUX1JFR0lPTj1cIiR7dGhpcy5yZWdpb259XCJgKTtcblxuICAgIC8vIFNldCBBbXBsaWZ5IEFwcCBJRFxuICAgIGNvbW1hbmRzLnB1c2godGhpcy5nZXRBcHBJZENvbW1hbmQoKSk7XG5cbiAgICAvLyBBZGQgZGVwbG95bWVudCBjb21tYW5kc1xuICAgIGNvbW1hbmRzLnB1c2goLi4udGhpcy5nZXREZXBsb3ltZW50Q29tbWFuZHMoKSk7XG5cbiAgICByZXR1cm4geyBjb21tYW5kcyB9O1xuICB9XG5cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHRocm93IG5ldyBFcnJvcignQ29kZUNhdGFseXN0IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIEFtcGxpZnkgZGVwbG95bWVudCcpO1xuICB9XG59Il19
@@ -22,7 +22,7 @@ class DownloadArtifactStep extends step_1.PipelineStep {
22
22
  return {
23
23
  steps: [{
24
24
  name: 'Download Artifact',
25
- uses: 'actions/download-artifact@v4',
25
+ uses: 'actions/download-artifact@v5',
26
26
  with: {
27
27
  name: this.config.name,
28
28
  path: this.config.path,
@@ -45,7 +45,7 @@ class DownloadArtifactStep extends step_1.PipelineStep {
45
45
  }
46
46
  exports.DownloadArtifactStep = DownloadArtifactStep;
47
47
  _a = JSII_RTTI_SYMBOL_1;
48
- DownloadArtifactStep[_a] = { fqn: "projen-pipelines.DownloadArtifactStep", version: "0.2.15" };
48
+ DownloadArtifactStep[_a] = { fqn: "projen-pipelines.DownloadArtifactStep", version: "0.3.1" };
49
49
  class UploadArtifactStep extends step_1.PipelineStep {
50
50
  constructor(project, config) {
51
51
  super(project);
@@ -55,7 +55,7 @@ class UploadArtifactStep extends step_1.PipelineStep {
55
55
  return {
56
56
  steps: [{
57
57
  name: 'Upload Artifact',
58
- uses: 'actions/upload-artifact@v4.3.6',
58
+ uses: 'actions/upload-artifact@v4.6.2',
59
59
  with: {
60
60
  name: this.config.name,
61
61
  path: this.config.path,
@@ -78,5 +78,5 @@ class UploadArtifactStep extends step_1.PipelineStep {
78
78
  }
79
79
  exports.UploadArtifactStep = UploadArtifactStep;
80
80
  _b = JSII_RTTI_SYMBOL_1;
81
- UploadArtifactStep[_b] = { fqn: "projen-pipelines.UploadArtifactStep", version: "0.2.15" };
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3Qtc3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXJ0aWZhY3Qtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FBa0c7QUFPbEcsTUFBYSxvQkFBcUIsU0FBUSxtQkFBWTtJQUVwRCxZQUFZLE9BQWdCLEVBQW1CLE1BQWtDO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUQ4QixXQUFNLEdBQU4sTUFBTSxDQUE0QjtJQUVqRixDQUFDO0lBRU0sUUFBUTtRQUNiLHdEQUF3RDtRQUN4RCxPQUFPO1lBQ0wsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUNNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLDhCQUE4QjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQXZDSCxvREF3Q0M7OztBQVFELE1BQWEsa0JBQW1CLFNBQVEsbUJBQVk7SUFFbEQsWUFBWSxPQUFnQixFQUFtQixNQUFnQztRQUM3RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEOEIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFFL0UsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLGdDQUFnQztvQkFDdEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQTlCSCxnREFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENvZGVDYXRhbHlzdFN0ZXBDb25maWcsIEdpdGh1YlN0ZXBDb25maWcsIEdpdGxhYlN0ZXBDb25maWcsIFBpcGVsaW5lU3RlcCB9IGZyb20gJy4vc3RlcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkQXJ0aWZhY3RTdGVwIGV4dGVuZHMgUGlwZWxpbmVTdGVwIHtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICAvLyBOb3RoaW5nIHRvIGRvOyBhcnRpZmFjdCBpcyBhbHJlYWR5IGRvd25sb2FkZWQgZm9yIHlvdVxuICAgIHJldHVybiB7XG4gICAgICBlbnY6IHt9LFxuICAgICAgZXh0ZW5zaW9uczogW10sXG4gICAgICBuZWVkczogW10sXG4gICAgICBjb21tYW5kczogW10sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0ZXBzOiBbe1xuICAgICAgICBuYW1lOiAnRG93bmxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2NCcsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBhdGg6IHRoaXMuY29uZmlnLnBhdGgsXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogW10sIC8vIE5vIGRlcGVuZGVuY2llcy5cbiAgICAgIGNvbW1hbmRzOiBbXSwgLy8gTWFwcyBlYWNoIGNvbW1hbmQgaW50byBhIENvZGVDYXRhbHlzdCBBY3Rpb24gam9iIHN0ZXAuXG4gICAgICBlbnY6IHt9LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkQXJ0aWZhY3RTdGVwQ29uZmlnIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRBcnRpZmFjdFN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBVcGxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIG5hbWU6ICdVcGxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQuMy42JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnLm5hbWUsXG4gICAgICAgICAgcGF0aDogdGhpcy5jb25maWcucGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH1dLFxuICAgICAgbmVlZHM6IFtdLFxuICAgICAgZW52OiB7fSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBDb2RlQ2F0YWx5c3QgQWN0aW9ucyBzdGVwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9Db2RlQ2F0YWx5c3QoKTogQ29kZUNhdGFseXN0U3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgY29tbWFuZHM6IFtdLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbiBqb2Igc3RlcC5cbiAgICAgIGVudjoge30sIC8vIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICB9O1xuICB9XG5cbn0iXX0=
81
+ UploadArtifactStep[_b] = { fqn: "projen-pipelines.UploadArtifactStep", version: "0.3.1" };
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJ0aWZhY3Qtc3RlcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXJ0aWZhY3Qtc3RlcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSxpQ0FBa0c7QUFPbEcsTUFBYSxvQkFBcUIsU0FBUSxtQkFBWTtJQUVwRCxZQUFZLE9BQWdCLEVBQW1CLE1BQWtDO1FBQy9FLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUQ4QixXQUFNLEdBQU4sTUFBTSxDQUE0QjtJQUVqRixDQUFDO0lBRU0sUUFBUTtRQUNiLHdEQUF3RDtRQUN4RCxPQUFPO1lBQ0wsR0FBRyxFQUFFLEVBQUU7WUFDUCxVQUFVLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRSxFQUFFO1lBQ1QsUUFBUSxFQUFFLEVBQUU7U0FDYixDQUFDO0lBQ0osQ0FBQztJQUNNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsSUFBSSxFQUFFLDhCQUE4QjtvQkFDcEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQXZDSCxvREF3Q0M7OztBQVFELE1BQWEsa0JBQW1CLFNBQVEsbUJBQVk7SUFFbEQsWUFBWSxPQUFnQixFQUFtQixNQUFnQztRQUM3RSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEOEIsV0FBTSxHQUFOLE1BQU0sQ0FBMEI7SUFFL0UsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLGdDQUFnQztvQkFDdEMsSUFBSSxFQUFFO3dCQUNKLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7d0JBQ3RCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUk7cUJBQ3ZCO2lCQUNGLENBQUM7WUFDRixLQUFLLEVBQUUsRUFBRTtZQUNULEdBQUcsRUFBRSxFQUFFO1NBQ1IsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsT0FBTztZQUNMLEtBQUssRUFBRSxFQUFFLEVBQUUsbUJBQW1CO1lBQzlCLFFBQVEsRUFBRSxFQUFFLEVBQUUseURBQXlEO1lBQ3ZFLEdBQUcsRUFBRSxFQUFFLEVBQUUsNEJBQTRCO1NBQ3RDLENBQUM7SUFDSixDQUFDOztBQTlCSCxnREFnQ0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IENvZGVDYXRhbHlzdFN0ZXBDb25maWcsIEdpdGh1YlN0ZXBDb25maWcsIEdpdGxhYlN0ZXBDb25maWcsIFBpcGVsaW5lU3RlcCB9IGZyb20gJy4vc3RlcCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcge1xuICByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbn1cblxuZXhwb3J0IGNsYXNzIERvd25sb2FkQXJ0aWZhY3RTdGVwIGV4dGVuZHMgUGlwZWxpbmVTdGVwIHtcblxuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogRG93bmxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICAvLyBOb3RoaW5nIHRvIGRvOyBhcnRpZmFjdCBpcyBhbHJlYWR5IGRvd25sb2FkZWQgZm9yIHlvdVxuICAgIHJldHVybiB7XG4gICAgICBlbnY6IHt9LFxuICAgICAgZXh0ZW5zaW9uczogW10sXG4gICAgICBuZWVkczogW10sXG4gICAgICBjb21tYW5kczogW10sXG4gICAgfTtcbiAgfVxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0ZXBzOiBbe1xuICAgICAgICBuYW1lOiAnRG93bmxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy9kb3dubG9hZC1hcnRpZmFjdEB2NScsXG4gICAgICAgIHdpdGg6IHtcbiAgICAgICAgICBuYW1lOiB0aGlzLmNvbmZpZy5uYW1lLFxuICAgICAgICAgIHBhdGg6IHRoaXMuY29uZmlnLnBhdGgsXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogW10sIC8vIE5vIGRlcGVuZGVuY2llcy5cbiAgICAgIGNvbW1hbmRzOiBbXSwgLy8gTWFwcyBlYWNoIGNvbW1hbmQgaW50byBhIENvZGVDYXRhbHlzdCBBY3Rpb24gam9iIHN0ZXAuXG4gICAgICBlbnY6IHt9LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkQXJ0aWZhY3RTdGVwQ29uZmlnIHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBwYXRoOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBVcGxvYWRBcnRpZmFjdFN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBVcGxvYWRBcnRpZmFjdFN0ZXBDb25maWcpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RlcHM6IFt7XG4gICAgICAgIG5hbWU6ICdVcGxvYWQgQXJ0aWZhY3QnLFxuICAgICAgICB1c2VzOiAnYWN0aW9ucy91cGxvYWQtYXJ0aWZhY3RAdjQuNi4yJyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgIG5hbWU6IHRoaXMuY29uZmlnLm5hbWUsXG4gICAgICAgICAgcGF0aDogdGhpcy5jb25maWcucGF0aCxcbiAgICAgICAgfSxcbiAgICAgIH1dLFxuICAgICAgbmVlZHM6IFtdLFxuICAgICAgZW52OiB7fSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBDb2RlQ2F0YWx5c3QgQWN0aW9ucyBzdGVwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9Db2RlQ2F0YWx5c3QoKTogQ29kZUNhdGFseXN0U3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgY29tbWFuZHM6IFtdLCAvLyBNYXBzIGVhY2ggY29tbWFuZCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbiBqb2Igc3RlcC5cbiAgICAgIGVudjoge30sIC8vIE5vIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAgICB9O1xuICB9XG5cbn0iXX0=
@@ -10,6 +10,10 @@ export interface AwsAssumeRoleStepConfig {
10
10
  readonly sessionName?: string;
11
11
  /** The AWS region that should be set */
12
12
  readonly region?: string;
13
+ /**
14
+ * The ARN of the jump role to use for role chaining
15
+ */
16
+ readonly jumpRoleArn?: string;
13
17
  }
14
18
  /**
15
19
  * A step that assumes a role in AWS
@@ -14,10 +14,11 @@ class AwsAssumeRoleStep extends step_1.PipelineStep {
14
14
  this.config = config;
15
15
  }
16
16
  toGitlab() {
17
- const sessionName = this.config.sessionName ?? 'GitLabRunner-\${CI_PROJECT_ID}-\${CI_PIPELINE_ID}}';
17
+ const sessionName = this.config.sessionName ??
18
+ 'GitLabRunner-${CI_PROJECT_ID}-${CI_PIPELINE_ID}}';
18
19
  return {
19
20
  env: {
20
- ...this.config.region ? { AWS_REGION: this.config.region } : {},
21
+ ...(this.config.region ? { AWS_REGION: this.config.region } : {}),
21
22
  },
22
23
  commands: [
23
24
  `export $(printf "AWS_ACCESS_KEY_ID=%s AWS_SECRET_ACCESS_KEY=%s AWS_SESSION_TOKEN=%s" $(aws sts assume-role-with-web-identity --role-arn "${this.config.roleArn}" --role-session-name "${sessionName}" --web-identity-token \${AWS_TOKEN} --duration-seconds 3600 --query 'Credentials.[AccessKeyId,SecretAccessKey,SessionToken]' --output text))`,
@@ -27,16 +28,39 @@ class AwsAssumeRoleStep extends step_1.PipelineStep {
27
28
  };
28
29
  }
29
30
  toGithub() {
31
+ let steps = [];
32
+ if (this.config.jumpRoleArn) {
33
+ steps.push({
34
+ name: 'Assume Jump Role',
35
+ uses: 'aws-actions/configure-aws-credentials@v5',
36
+ with: {
37
+ 'role-to-assume': this.config.jumpRoleArn,
38
+ 'role-session-name': this.config.sessionName ?? 'GitHubAction',
39
+ ...(this.config.region
40
+ ? { 'aws-region': this.config.region }
41
+ : { 'aws-region': 'us-east-1' }),
42
+ 'role-skip-session-tagging': true,
43
+ },
44
+ });
45
+ }
46
+ steps.push({
47
+ name: 'AWS Credentials',
48
+ uses: 'aws-actions/configure-aws-credentials@v5',
49
+ with: {
50
+ 'role-to-assume': this.config.roleArn,
51
+ 'role-session-name': this.config.sessionName ?? 'GitHubAction',
52
+ ...(this.config.region
53
+ ? { 'aws-region': this.config.region }
54
+ : { 'aws-region': 'us-east-1' }),
55
+ },
56
+ });
57
+ if (this.config.jumpRoleArn) {
58
+ // Add role chaining options to the second step
59
+ steps[1]?.with && (steps[1].with['role-chaining'] = true);
60
+ steps[1]?.with && (steps[1].with['role-skip-session-tagging'] = true);
61
+ }
30
62
  return {
31
- steps: [{
32
- name: 'AWS Credentials',
33
- uses: 'aws-actions/configure-aws-credentials@v4',
34
- with: {
35
- 'role-to-assume': this.config.roleArn,
36
- 'role-session-name': this.config.sessionName ?? 'GitHubAction',
37
- ...this.config.region ? { 'aws-region': this.config.region } : { 'aws-region': 'us-east-1' },
38
- },
39
- }],
63
+ steps,
40
64
  needs: [],
41
65
  env: {},
42
66
  permissions: {
@@ -62,5 +86,5 @@ class AwsAssumeRoleStep extends step_1.PipelineStep {
62
86
  }
63
87
  exports.AwsAssumeRoleStep = AwsAssumeRoleStep;
64
88
  _a = JSII_RTTI_SYMBOL_1;
65
- AwsAssumeRoleStep[_a] = { fqn: "projen-pipelines.AwsAssumeRoleStep", version: "0.2.15" };
66
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWFzc3VtZS1yb2xlLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXdzLWFzc3VtZS1yb2xlLnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBa0U7QUFDbEUsaUNBQWtIO0FBZWxIOztHQUVHO0FBQ0gsTUFBYSxpQkFBa0IsU0FBUSxtQkFBWTtJQUVqRCxZQUFZLE9BQWdCLEVBQW1CLE1BQStCO1FBQzVFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUQ4QixXQUFNLEdBQU4sTUFBTSxDQUF5QjtJQUU5RSxDQUFDO0lBRU0sUUFBUTtRQUNiLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLG9EQUFvRCxDQUFDO1FBQ3BHLE9BQU87WUFDTCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTthQUNoRTtZQUNELFFBQVEsRUFBRTtnQkFDUiw0SUFBNEksSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLDBCQUEwQixXQUFXLCtJQUErSTthQUNwVjtZQUNELFVBQVUsRUFBRSxFQUFFO1lBQ2QsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO0lBQ0osQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsS0FBSyxFQUFFLENBQUM7b0JBQ04sSUFBSSxFQUFFLGlCQUFpQjtvQkFDdkIsSUFBSSxFQUFFLDBDQUEwQztvQkFDaEQsSUFBSSxFQUFFO3dCQUNKLGdCQUFnQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTzt3QkFDckMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLElBQUksY0FBYzt3QkFDOUQsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFO3FCQUM3RjtpQkFDRixDQUFDO1lBQ0YsS0FBSyxFQUFFLEVBQUU7WUFDVCxHQUFHLEVBQUUsRUFBRTtZQUNQLFdBQVcsRUFBRTtnQkFDWCxPQUFPLEVBQUUsK0JBQWEsQ0FBQyxLQUFLO2FBQzdCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxNQUFNO1FBQ1gsT0FBTztZQUNMLFFBQVEsRUFBRTtnQkFDUixpQ0FBaUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLGVBQWUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksV0FBVyxHQUFHO2FBQ3hHO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTSxjQUFjO1FBQ25CLGdDQUFnQztRQUNoQyxPQUFPO1lBQ0wsUUFBUSxFQUFFLEVBQUU7WUFDWixHQUFHLEVBQUUsRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7O0FBdERILDhDQXdEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbiB9IGZyb20gJ3Byb2plbi9saWIvZ2l0aHViL3dvcmtmbG93cy1tb2RlbCc7XG5pbXBvcnQgeyBCYXNoU3RlcENvbmZpZywgQ29kZUNhdGFseXN0U3RlcENvbmZpZywgR2l0aHViU3RlcENvbmZpZywgR2l0bGFiU3RlcENvbmZpZywgUGlwZWxpbmVTdGVwIH0gZnJvbSAnLi9zdGVwJztcblxuXG4vKipcbiAqIENvbmZpZ3VyYXRpb24gZm9yIGFuIEFXUyBBc3N1bWVSb2xlU3RlcFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Fzc3VtZVJvbGVTdGVwQ29uZmlnIHtcbiAgLyoqIFRoZSBBUk4gb2YgdGhlIHJvbGUgdG8gYXNzdW1lICovXG4gIHJlYWRvbmx5IHJvbGVBcm46IHN0cmluZztcbiAgLyoqIEFuIGlkZW50aWZpZXIgZm9yIHRoZSBhc3N1bWVkIHJvbGUgc2Vzc2lvbiAqL1xuICByZWFkb25seSBzZXNzaW9uTmFtZT86IHN0cmluZztcbiAgLyoqIFRoZSBBV1MgcmVnaW9uIHRoYXQgc2hvdWxkIGJlIHNldCAqL1xuICByZWFkb25seSByZWdpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBzdGVwIHRoYXQgYXNzdW1lcyBhIHJvbGUgaW4gQVdTXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NBc3N1bWVSb2xlU3RlcCBleHRlbmRzIFBpcGVsaW5lU3RlcCB7XG5cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgcHJpdmF0ZSByZWFkb25seSBjb25maWc6IEF3c0Fzc3VtZVJvbGVTdGVwQ29uZmlnKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgdG9HaXRsYWIoKTogR2l0bGFiU3RlcENvbmZpZyB7XG4gICAgY29uc3Qgc2Vzc2lvbk5hbWUgPSB0aGlzLmNvbmZpZy5zZXNzaW9uTmFtZSA/PyAnR2l0TGFiUnVubmVyLVxcJHtDSV9QUk9KRUNUX0lEfS1cXCR7Q0lfUElQRUxJTkVfSUR9fSc7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVudjoge1xuICAgICAgICAuLi50aGlzLmNvbmZpZy5yZWdpb24gPyB7IEFXU19SRUdJT046IHRoaXMuY29uZmlnLnJlZ2lvbiB9IDoge30sXG4gICAgICB9LFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgYGV4cG9ydCAkKHByaW50ZiBcIkFXU19BQ0NFU1NfS0VZX0lEPSVzIEFXU19TRUNSRVRfQUNDRVNTX0tFWT0lcyBBV1NfU0VTU0lPTl9UT0tFTj0lc1wiICQoYXdzIHN0cyBhc3N1bWUtcm9sZS13aXRoLXdlYi1pZGVudGl0eSAtLXJvbGUtYXJuIFwiJHt0aGlzLmNvbmZpZy5yb2xlQXJufVwiIC0tcm9sZS1zZXNzaW9uLW5hbWUgXCIke3Nlc3Npb25OYW1lfVwiIC0td2ViLWlkZW50aXR5LXRva2VuIFxcJHtBV1NfVE9LRU59IC0tZHVyYXRpb24tc2Vjb25kcyAzNjAwIC0tcXVlcnkgJ0NyZWRlbnRpYWxzLltBY2Nlc3NLZXlJZCxTZWNyZXRBY2Nlc3NLZXksU2Vzc2lvblRva2VuXScgLS1vdXRwdXQgdGV4dCkpYCxcbiAgICAgIF0sXG4gICAgICBleHRlbnNpb25zOiBbXSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBzdGVwczogW3tcbiAgICAgICAgbmFtZTogJ0FXUyBDcmVkZW50aWFscycsXG4gICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY0JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHRoaXMuY29uZmlnLnJvbGVBcm4sXG4gICAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogdGhpcy5jb25maWcuc2Vzc2lvbk5hbWUgPz8gJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgICAgLi4udGhpcy5jb25maWcucmVnaW9uID8geyAnYXdzLXJlZ2lvbic6IHRoaXMuY29uZmlnLnJlZ2lvbiB9IDogeyAnYXdzLXJlZ2lvbic6ICd1cy1lYXN0LTEnIH0sXG4gICAgICAgIH0sXG4gICAgICB9XSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgIGBlY2hvIFwiTG9naW4gdG8gQVdTIHVzaW5nIHJvbGUgJHt0aGlzLmNvbmZpZy5yb2xlQXJufSBmb3IgcmVnaW9uICR7dGhpcy5jb25maWcucmVnaW9uID8/ICd1bmRlZmluZWQnfVwiYCxcbiAgICAgIF0sXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyB0b0NvZGVDYXRhbHlzdCgpOiBDb2RlQ2F0YWx5c3RTdGVwQ29uZmlnIHtcbiAgICAvL0ZJWE1FIHVzZSBDQyBlbnZpcm9ubWVudHMgaGVyZVxuICAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogW10sXG4gICAgICBlbnY6IHt9LFxuICAgICAgbmVlZHM6IFtdLFxuICAgIH07XG4gIH1cblxufSJdfQ==
89
+ AwsAssumeRoleStep[_a] = { fqn: "projen-pipelines.AwsAssumeRoleStep", version: "0.3.1" };
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzLWFzc3VtZS1yb2xlLnN0ZXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvYXdzLWFzc3VtZS1yb2xlLnN0ZXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFDQSx1RUFBMkU7QUFDM0UsaUNBTWdCO0FBa0JoQjs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsbUJBQVk7SUFDakQsWUFDRSxPQUFnQixFQUNDLE1BQStCO1FBRWhELEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUZFLFdBQU0sR0FBTixNQUFNLENBQXlCO0lBR2xELENBQUM7SUFFTSxRQUFRO1FBQ2IsTUFBTSxXQUFXLEdBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQ3ZCLGtEQUFrRCxDQUFDO1FBQ3JELE9BQU87WUFDTCxHQUFHLEVBQUU7Z0JBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7YUFDbEU7WUFDRCxRQUFRLEVBQUU7Z0JBQ1IsNElBQTRJLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTywwQkFBMEIsV0FBVywrSUFBK0k7YUFDcFY7WUFDRCxVQUFVLEVBQUUsRUFBRTtZQUNkLEtBQUssRUFBRSxFQUFFO1NBQ1YsQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxLQUFLLEdBQWMsRUFBRSxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUNULElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLElBQUksRUFBRSwwQ0FBMEM7Z0JBQ2hELElBQUksRUFBRTtvQkFDSixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVc7b0JBQ3pDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLGNBQWM7b0JBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07d0JBQ3BCLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTt3QkFDdEMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO29CQUNsQywyQkFBMkIsRUFBRSxJQUFJO2lCQUNsQzthQUNGLENBQUMsQ0FBQztRQUNMLENBQUM7UUFDRCxLQUFLLENBQUMsSUFBSSxDQUFDO1lBQ1QsSUFBSSxFQUFFLGlCQUFpQjtZQUN2QixJQUFJLEVBQUUsMENBQTBDO1lBQ2hELElBQUksRUFBRTtnQkFDSixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU87Z0JBQ3JDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxJQUFJLGNBQWM7Z0JBQzlELEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU07b0JBQ3BCLENBQUMsQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRTtvQkFDdEMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ25DO1NBQ0YsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQzVCLCtDQUErQztZQUMvQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUMxRCxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQ3hFLENBQUM7UUFDRCxPQUFPO1lBQ0wsS0FBSztZQUNMLEtBQUssRUFBRSxFQUFFO1lBQ1QsR0FBRyxFQUFFLEVBQUU7WUFDUCxXQUFXLEVBQUU7Z0JBQ1gsT0FBTyxFQUFFLCtCQUFhLENBQUMsS0FBSzthQUM3QjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRU0sTUFBTTtRQUNYLE9BQU87WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsaUNBQWlDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxlQUNsRCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxXQUN4QixHQUFHO2FBQ0o7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVNLGNBQWM7UUFDbkIsZ0NBQWdDO1FBQ2hDLE9BQU87WUFDTCxRQUFRLEVBQUUsRUFBRTtZQUNaLEdBQUcsRUFBRSxFQUFFO1lBQ1AsS0FBSyxFQUFFLEVBQUU7U0FDVixDQUFDO0lBQ0osQ0FBQzs7QUFwRkgsOENBcUZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uLCBKb2JTdGVwIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7XG4gIEJhc2hTdGVwQ29uZmlnLFxuICBDb2RlQ2F0YWx5c3RTdGVwQ29uZmlnLFxuICBHaXRodWJTdGVwQ29uZmlnLFxuICBHaXRsYWJTdGVwQ29uZmlnLFxuICBQaXBlbGluZVN0ZXAsXG59IGZyb20gJy4vc3RlcCc7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgYW4gQVdTIEFzc3VtZVJvbGVTdGVwXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQXNzdW1lUm9sZVN0ZXBDb25maWcge1xuICAvKiogVGhlIEFSTiBvZiB0aGUgcm9sZSB0byBhc3N1bWUgKi9cbiAgcmVhZG9ubHkgcm9sZUFybjogc3RyaW5nO1xuICAvKiogQW4gaWRlbnRpZmllciBmb3IgdGhlIGFzc3VtZWQgcm9sZSBzZXNzaW9uICovXG4gIHJlYWRvbmx5IHNlc3Npb25OYW1lPzogc3RyaW5nO1xuICAvKiogVGhlIEFXUyByZWdpb24gdGhhdCBzaG91bGQgYmUgc2V0ICovXG4gIHJlYWRvbmx5IHJlZ2lvbj86IHN0cmluZztcbiAgLyoqXG4gICAqIFRoZSBBUk4gb2YgdGhlIGp1bXAgcm9sZSB0byB1c2UgZm9yIHJvbGUgY2hhaW5pbmdcbiAgICovXG4gIHJlYWRvbmx5IGp1bXBSb2xlQXJuPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgc3RlcCB0aGF0IGFzc3VtZXMgYSByb2xlIGluIEFXU1xuICovXG5leHBvcnQgY2xhc3MgQXdzQXNzdW1lUm9sZVN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBQcm9qZWN0LFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBBd3NBc3N1bWVSb2xlU3RlcENvbmZpZyxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgdG9HaXRsYWIoKTogR2l0bGFiU3RlcENvbmZpZyB7XG4gICAgY29uc3Qgc2Vzc2lvbk5hbWUgPVxuICAgICAgdGhpcy5jb25maWcuc2Vzc2lvbk5hbWUgPz9cbiAgICAgICdHaXRMYWJSdW5uZXItJHtDSV9QUk9KRUNUX0lEfS0ke0NJX1BJUEVMSU5FX0lEfX0nO1xuICAgIHJldHVybiB7XG4gICAgICBlbnY6IHtcbiAgICAgICAgLi4uKHRoaXMuY29uZmlnLnJlZ2lvbiA/IHsgQVdTX1JFR0lPTjogdGhpcy5jb25maWcucmVnaW9uIH0gOiB7fSksXG4gICAgICB9LFxuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgYGV4cG9ydCAkKHByaW50ZiBcIkFXU19BQ0NFU1NfS0VZX0lEPSVzIEFXU19TRUNSRVRfQUNDRVNTX0tFWT0lcyBBV1NfU0VTU0lPTl9UT0tFTj0lc1wiICQoYXdzIHN0cyBhc3N1bWUtcm9sZS13aXRoLXdlYi1pZGVudGl0eSAtLXJvbGUtYXJuIFwiJHt0aGlzLmNvbmZpZy5yb2xlQXJufVwiIC0tcm9sZS1zZXNzaW9uLW5hbWUgXCIke3Nlc3Npb25OYW1lfVwiIC0td2ViLWlkZW50aXR5LXRva2VuIFxcJHtBV1NfVE9LRU59IC0tZHVyYXRpb24tc2Vjb25kcyAzNjAwIC0tcXVlcnkgJ0NyZWRlbnRpYWxzLltBY2Nlc3NLZXlJZCxTZWNyZXRBY2Nlc3NLZXksU2Vzc2lvblRva2VuXScgLS1vdXRwdXQgdGV4dCkpYCxcbiAgICAgIF0sXG4gICAgICBleHRlbnNpb25zOiBbXSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWcge1xuICAgIGxldCBzdGVwczogSm9iU3RlcFtdID0gW107XG5cbiAgICBpZiAodGhpcy5jb25maWcuanVtcFJvbGVBcm4pIHtcbiAgICAgIHN0ZXBzLnB1c2goe1xuICAgICAgICBuYW1lOiAnQXNzdW1lIEp1bXAgUm9sZScsXG4gICAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY1JyxcbiAgICAgICAgd2l0aDoge1xuICAgICAgICAgICdyb2xlLXRvLWFzc3VtZSc6IHRoaXMuY29uZmlnLmp1bXBSb2xlQXJuLFxuICAgICAgICAgICdyb2xlLXNlc3Npb24tbmFtZSc6IHRoaXMuY29uZmlnLnNlc3Npb25OYW1lID8/ICdHaXRIdWJBY3Rpb24nLFxuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5yZWdpb25cbiAgICAgICAgICAgID8geyAnYXdzLXJlZ2lvbic6IHRoaXMuY29uZmlnLnJlZ2lvbiB9XG4gICAgICAgICAgICA6IHsgJ2F3cy1yZWdpb24nOiAndXMtZWFzdC0xJyB9KSxcbiAgICAgICAgICAncm9sZS1za2lwLXNlc3Npb24tdGFnZ2luZyc6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICB9XG4gICAgc3RlcHMucHVzaCh7XG4gICAgICBuYW1lOiAnQVdTIENyZWRlbnRpYWxzJyxcbiAgICAgIHVzZXM6ICdhd3MtYWN0aW9ucy9jb25maWd1cmUtYXdzLWNyZWRlbnRpYWxzQHY1JyxcbiAgICAgIHdpdGg6IHtcbiAgICAgICAgJ3JvbGUtdG8tYXNzdW1lJzogdGhpcy5jb25maWcucm9sZUFybixcbiAgICAgICAgJ3JvbGUtc2Vzc2lvbi1uYW1lJzogdGhpcy5jb25maWcuc2Vzc2lvbk5hbWUgPz8gJ0dpdEh1YkFjdGlvbicsXG4gICAgICAgIC4uLih0aGlzLmNvbmZpZy5yZWdpb25cbiAgICAgICAgICA/IHsgJ2F3cy1yZWdpb24nOiB0aGlzLmNvbmZpZy5yZWdpb24gfVxuICAgICAgICAgIDogeyAnYXdzLXJlZ2lvbic6ICd1cy1lYXN0LTEnIH0pLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBpZiAodGhpcy5jb25maWcuanVtcFJvbGVBcm4pIHtcbiAgICAgIC8vIEFkZCByb2xlIGNoYWluaW5nIG9wdGlvbnMgdG8gdGhlIHNlY29uZCBzdGVwXG4gICAgICBzdGVwc1sxXT8ud2l0aCAmJiAoc3RlcHNbMV0ud2l0aFsncm9sZS1jaGFpbmluZyddID0gdHJ1ZSk7XG4gICAgICBzdGVwc1sxXT8ud2l0aCAmJiAoc3RlcHNbMV0ud2l0aFsncm9sZS1za2lwLXNlc3Npb24tdGFnZ2luZyddID0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBzdGVwcyxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIGVudjoge30sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBpZFRva2VuOiBKb2JQZXJtaXNzaW9uLldSSVRFLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHVibGljIHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzOiBbXG4gICAgICAgIGBlY2hvIFwiTG9naW4gdG8gQVdTIHVzaW5nIHJvbGUgJHt0aGlzLmNvbmZpZy5yb2xlQXJufSBmb3IgcmVnaW9uICR7XG4gICAgICAgICAgdGhpcy5jb25maWcucmVnaW9uID8/ICd1bmRlZmluZWQnXG4gICAgICAgIH1cImAsXG4gICAgICBdLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgdG9Db2RlQ2F0YWx5c3QoKTogQ29kZUNhdGFseXN0U3RlcENvbmZpZyB7XG4gICAgLy9GSVhNRSB1c2UgQ0MgZW52aXJvbm1lbnRzIGhlcmVcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IFtdLFxuICAgICAgZW52OiB7fSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -2,3 +2,4 @@ export * from './step';
2
2
  export * from './artifact-steps';
3
3
  export * from './aws-assume-role.step';
4
4
  export * from './registries';
5
+ export * from './amplify-deploy.step';
@@ -18,4 +18,5 @@ __exportStar(require("./step"), exports);
18
18
  __exportStar(require("./artifact-steps"), exports);
19
19
  __exportStar(require("./aws-assume-role.step"), exports);
20
20
  __exportStar(require("./registries"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QixtREFBaUM7QUFDakMseURBQXVDO0FBQ3ZDLCtDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RlcCc7XG5leHBvcnQgKiBmcm9tICcuL2FydGlmYWN0LXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vYXdzLWFzc3VtZS1yb2xlLnN0ZXAnO1xuZXhwb3J0ICogZnJvbSAnLi9yZWdpc3RyaWVzJzsiXX0=
21
+ __exportStar(require("./amplify-deploy.step"), exports);
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RlcHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLHlDQUF1QjtBQUN2QixtREFBaUM7QUFDakMseURBQXVDO0FBQ3ZDLCtDQUE2QjtBQUM3Qix3REFBc0MiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3N0ZXAnO1xuZXhwb3J0ICogZnJvbSAnLi9hcnRpZmFjdC1zdGVwcyc7XG5leHBvcnQgKiBmcm9tICcuL2F3cy1hc3N1bWUtcm9sZS5zdGVwJztcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0cmllcyc7XG5leHBvcnQgKiBmcm9tICcuL2FtcGxpZnktZGVwbG95LnN0ZXAnOyJdfQ==
@@ -30,7 +30,7 @@ class GithubPackagesLoginStep extends step_1.PipelineStep {
30
30
  }
31
31
  exports.GithubPackagesLoginStep = GithubPackagesLoginStep;
32
32
  _a = JSII_RTTI_SYMBOL_1;
33
- GithubPackagesLoginStep[_a] = { fqn: "projen-pipelines.GithubPackagesLoginStep", version: "0.2.15" };
33
+ GithubPackagesLoginStep[_a] = { fqn: "projen-pipelines.GithubPackagesLoginStep", version: "0.3.1" };
34
34
  /**
35
35
  * Step to set the NPM_TOKEN environment variable from a secret.
36
36
  *
@@ -55,7 +55,7 @@ class NpmSecretStep extends step_1.PipelineStep {
55
55
  }
56
56
  exports.NpmSecretStep = NpmSecretStep;
57
57
  _b = JSII_RTTI_SYMBOL_1;
58
- NpmSecretStep[_b] = { fqn: "projen-pipelines.NpmSecretStep", version: "0.2.15" };
58
+ NpmSecretStep[_b] = { fqn: "projen-pipelines.NpmSecretStep", version: "0.3.1" };
59
59
  /**
60
60
  * Step to login to CodeArtifact.
61
61
  *
@@ -76,5 +76,5 @@ class CodeArtifactLoginStep extends step_1.StepSequence {
76
76
  }
77
77
  exports.CodeArtifactLoginStep = CodeArtifactLoginStep;
78
78
  _c = JSII_RTTI_SYMBOL_1;
79
- CodeArtifactLoginStep[_c] = { fqn: "projen-pipelines.CodeArtifactLoginStep", version: "0.2.15" };
79
+ CodeArtifactLoginStep[_c] = { fqn: "projen-pipelines.CodeArtifactLoginStep", version: "0.3.1" };
80
80
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cmllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9yZWdpc3RyaWVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQ0EsdUVBQWtFO0FBQ2xFLGlFQUEyRDtBQUMzRCxpREFBNEM7QUFDNUMsaUNBQXNFO0FBV3RFOzs7O0dBSUc7QUFDSCxNQUFhLHVCQUF3QixTQUFRLG1CQUFZO0lBRXZELFlBQVksT0FBZ0IsRUFBVSxPQUF1QztRQUMzRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFEcUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0M7SUFFN0UsQ0FBQztJQUVNLFFBQVE7UUFDYixPQUFPO1lBQ0wsR0FBRyxFQUFFLEVBQUU7WUFDUCxLQUFLLEVBQUUsRUFBRTtZQUNULEtBQUssRUFBRSxDQUFDO29CQUNOLEdBQUcsRUFBRSxnRUFBZ0U7aUJBQ3RFLENBQUM7WUFDRixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLCtCQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQywrQkFBYSxDQUFDLElBQUksRUFBRTtTQUN6RixDQUFDO0lBQ0osQ0FBQzs7QUFmSCwwREFnQkM7OztBQVdEOzs7OztHQUtHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsbUJBQVk7SUFFN0MsWUFBWSxPQUFnQixFQUFVLE9BQTZCO1FBQ2pFLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQURxQixZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUVuRSxDQUFDO0lBRU0sUUFBUTtRQUNiLE9BQU87WUFDTCxHQUFHLEVBQUUsRUFBRTtZQUNQLEtBQUssRUFBRSxFQUFFO1lBQ1QsS0FBSyxFQUFFLENBQUM7b0JBQ04sR0FBRyxFQUFFLGdDQUFnQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsSUFBSSxXQUFXLHFCQUFxQjtpQkFDakcsQ0FBQztZQUNGLFdBQVcsRUFBRSxFQUFFO1NBQ2hCLENBQUM7SUFDSixDQUFDOztBQWZILHNDQWdCQzs7O0FBbUJEOzs7OztHQUtHO0FBQ0gsTUFBYSxxQkFBc0IsU0FBUSxtQkFBWTtJQUNyRCxZQUFZLE9BQWdCLEVBQVksT0FBcUM7UUFDM0UsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLElBQUksd0NBQWlCLENBQUMsT0FBTyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxDQUFDO1lBQ3RGLElBQUkseUJBQVUsQ0FBQyxPQUFPLEVBQUU7Z0JBQ3RCLElBQUksRUFBRSxPQUFPLENBQUMsZUFBZSxJQUFJLHlCQUF5QjtnQkFDMUQsT0FBTyxFQUFFLHFEQUFxRCxPQUFPLENBQUMsVUFBVSxhQUFhLE9BQU8sQ0FBQyxNQUFNLG1CQUFtQixPQUFPLENBQUMsWUFBWSwyQ0FBMkM7YUFDOUwsQ0FBQztTQUNILENBQUMsQ0FBQztRQVBtQyxZQUFPLEdBQVAsT0FBTyxDQUE4QjtJQVE3RSxDQUFDOztBQVRILHNEQVdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBKb2JQZXJtaXNzaW9uIH0gZnJvbSAncHJvamVuL2xpYi9naXRodWIvd29ya2Zsb3dzLW1vZGVsJztcbmltcG9ydCB7IEF3c0Fzc3VtZVJvbGVTdGVwIH0gZnJvbSAnLi9hd3MtYXNzdW1lLXJvbGUuc3RlcCc7XG5pbXBvcnQgeyBTZXRFbnZTdGVwIH0gZnJvbSAnLi9zZXQtZW52LnN0ZXAnO1xuaW1wb3J0IHsgR2l0aHViU3RlcENvbmZpZywgUGlwZWxpbmVTdGVwLCBTdGVwU2VxdWVuY2UgfSBmcm9tICcuL3N0ZXAnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdpdGh1YlBhY2thZ2VzTG9naW5TdGVwT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBncmFudCB0aGUgc3RlcCB3cml0ZSBwZXJtaXNzaW9ucyB0byB0aGUgcmVnaXN0cnkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSB3cml0ZT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogU3RlcCB0byBzZXQgdGhlIEdJVEhVQl9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZSBmcm9tIGEgc2VjcmV0LlxuICpcbiAqIE9ubHkgc3VwcG9ydGVkIGZvciBHaXRIdWIgYXMgaXQgaXMgR2l0SHViIHNwZWNpZmljLlxuICovXG5leHBvcnQgY2xhc3MgR2l0aHViUGFja2FnZXNMb2dpblN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgb3B0aW9uczogR2l0aHViUGFja2FnZXNMb2dpblN0ZXBPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gIH1cblxuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVudjoge30sXG4gICAgICBuZWVkczogW10sXG4gICAgICBzdGVwczogW3tcbiAgICAgICAgcnVuOiAnZWNobyBcIkdJVEhVQl9UT0tFTj0ke3sgc2VjcmV0cy5HSVRIVUJfVE9LRU4gfX1cIiA+PiAkR0lUSFVCX0VOVicsXG4gICAgICB9XSxcbiAgICAgIHBlcm1pc3Npb25zOiB7IHBhY2thZ2VzOiB0aGlzLm9wdGlvbnMud3JpdGUgPyBKb2JQZXJtaXNzaW9uLldSSVRFIDogSm9iUGVybWlzc2lvbi5SRUFEIH0sXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5wbVNlY3JldFN0ZXBPcHRpb25zIHtcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIHNlY3JldCB0byBzZXQgZm9yIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBOUE1fVE9LRU4uXG4gICAqXG4gICAqIEBkZWZhdWx0ICdOUE1fVE9LRU4nXG4gICAqL1xuICByZWFkb25seSBzZWNyZXROYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFN0ZXAgdG8gc2V0IHRoZSBOUE1fVE9LRU4gZW52aXJvbm1lbnQgdmFyaWFibGUgZnJvbSBhIHNlY3JldC5cbiAqXG4gKiBDdXJyZW50bHkgb25seSBzdXBwb3J0ZWQgYW5kIG5lZWRlZCBmb3IgR2l0SHViLlxuICogR2l0bGFiIHNldHMgdGhlIE5QTV9UT0tFTiBlbnZpcm9ubWVudCB2YXJpYWJsZSBhdXRvbWF0aWNhbGx5IGZyb20gdGhlIHByb2plY3QncyBzZXR0aW5ncy5cbiAqL1xuZXhwb3J0IGNsYXNzIE5wbVNlY3JldFN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHByaXZhdGUgb3B0aW9uczogTnBtU2VjcmV0U3RlcE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgfVxuXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgZW52OiB7fSxcbiAgICAgIG5lZWRzOiBbXSxcbiAgICAgIHN0ZXBzOiBbe1xuICAgICAgICBydW46IGBlY2hvIFwiTlBNX1RPS0VOPVxcJHt7IHNlY3JldHMuJHt0aGlzLm9wdGlvbnMuc2VjcmV0TmFtZSA/PyAnTlBNX1RPS0VOJ30gfX1cIiA+PiAkR0lUSFVCX0VOVmAsXG4gICAgICB9XSxcbiAgICAgIHBlcm1pc3Npb25zOiB7fSxcbiAgICB9O1xuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGhlIENvZGVBcnRpZmFjdExvZ2luU3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQXJ0aWZhY3RMb2dpblN0ZXBPcHRpb25zIHtcbiAgcmVhZG9ubHkgb3duZXJBY2NvdW50OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJlZ2lvbjogc3RyaW5nO1xuICByZWFkb25seSBkb21haW5OYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHJvbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgdG8gc2V0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAnQ09ERUFSVElGQUNUX0FVVEhfVE9LRU4nXG4gICAqL1xuICByZWFkb25seSBlbnZWYXJpYWJsZU5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogU3RlcCB0byBsb2dpbiB0byBDb2RlQXJ0aWZhY3QuXG4gKlxuICogVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIG5hbWUgY2FuIGJlIGNvbmZpZ3VyZWQgdG8gYXZvaWQgY29uZmxpY3RzIHdpdGggb3RoZXIgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICogVGhlIGRlZmF1bHQgaXMgQ09ERUFSVElGQUNUX0FVVEhfVE9LRU4uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb2RlQXJ0aWZhY3RMb2dpblN0ZXAgZXh0ZW5kcyBTdGVwU2VxdWVuY2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBwcm90ZWN0ZWQgb3B0aW9uczogQ29kZUFydGlmYWN0TG9naW5TdGVwT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QsIFtcbiAgICAgIG5ldyBBd3NBc3N1bWVSb2xlU3RlcChwcm9qZWN0LCB7IHJvbGVBcm46IG9wdGlvbnMucm9sZSwgc2Vzc2lvbk5hbWU6ICdDb2RlQXJ0aWZhY3QnIH0pLFxuICAgICAgbmV3IFNldEVudlN0ZXAocHJvamVjdCwge1xuICAgICAgICBuYW1lOiBvcHRpb25zLmVudlZhcmlhYmxlTmFtZSA/PyAnQ09ERUFSVElGQUNUX0FVVEhfVE9LRU4nLFxuICAgICAgICBjb21tYW5kOiBgYXdzIGNvZGVhcnRpZmFjdCBnZXQtYXV0aG9yaXphdGlvbi10b2tlbiAtLWRvbWFpbiAke29wdGlvbnMuZG9tYWluTmFtZX0gLS1yZWdpb24gJHtvcHRpb25zLnJlZ2lvbn0gLS1kb21haW4tb3duZXIgJHtvcHRpb25zLm93bmVyQWNjb3VudH0gLS1xdWVyeSBhdXRob3JpemF0aW9uVG9rZW4gLS1vdXRwdXQgdGV4dGAsXG4gICAgICB9KSxcbiAgICBdKTtcbiAgfVxuXG59Il19
package/lib/steps/step.js CHANGED
@@ -43,7 +43,7 @@ class PipelineStep {
43
43
  }
44
44
  exports.PipelineStep = PipelineStep;
45
45
  _a = JSII_RTTI_SYMBOL_1;
46
- PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.2.15" };
46
+ PipelineStep[_a] = { fqn: "projen-pipelines.PipelineStep", version: "0.3.1" };
47
47
  /**
48
48
  * Concrete implementation of PipelineStep that executes simple commands.
49
49
  */
@@ -103,7 +103,7 @@ class SimpleCommandStep extends PipelineStep {
103
103
  }
104
104
  exports.SimpleCommandStep = SimpleCommandStep;
105
105
  _b = JSII_RTTI_SYMBOL_1;
106
- SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.2.15" };
106
+ SimpleCommandStep[_b] = { fqn: "projen-pipelines.SimpleCommandStep", version: "0.3.1" };
107
107
  class ProjenScriptStep extends SimpleCommandStep {
108
108
  constructor(project, scriptName, args) {
109
109
  super(project, [`npx projen ${scriptName}${args ? ` ${args}` : ''}`]);
@@ -111,7 +111,7 @@ class ProjenScriptStep extends SimpleCommandStep {
111
111
  }
112
112
  exports.ProjenScriptStep = ProjenScriptStep;
113
113
  _c = JSII_RTTI_SYMBOL_1;
114
- ProjenScriptStep[_c] = { fqn: "projen-pipelines.ProjenScriptStep", version: "0.2.15" };
114
+ ProjenScriptStep[_c] = { fqn: "projen-pipelines.ProjenScriptStep", version: "0.3.1" };
115
115
  // Add class that is a sequence of pipleine steps but is a pipeline step in itself
116
116
  class StepSequence extends PipelineStep {
117
117
  /**
@@ -208,5 +208,5 @@ class StepSequence extends PipelineStep {
208
208
  }
209
209
  exports.StepSequence = StepSequence;
210
210
  _d = JSII_RTTI_SYMBOL_1;
211
- StepSequence[_d] = { fqn: "projen-pipelines.StepSequence", version: "0.2.15" };
211
+ StepSequence[_d] = { fqn: "projen-pipelines.StepSequence", version: "0.3.1" };
212
212
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RlcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdGVwcy9zdGVwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0Esd0NBQWlEO0FBK0RqRDs7R0FFRztBQUNILE1BQXNCLFlBQVk7SUFFaEM7OztPQUdHO0lBQ0gsWUFBc0IsT0FBZ0I7UUFBaEIsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUNwQywyREFBMkQ7SUFDN0QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksUUFBUTtRQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDbkIsTUFBTSxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDN0MsQ0FBQzs7QUFwQ0gsb0NBcUNDOzs7QUFFRDs7R0FFRztBQUNILE1BQWEsaUJBQWtCLFNBQVEsWUFBWTtJQUtqRDs7OztPQUlHO0lBQ0gsWUFBWSxPQUFnQixFQUFFLFFBQWtCLEVBQUUsTUFBaUMsRUFBRTtRQUNuRixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDZixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsR0FBRyxRQUFRLENBQUMsQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxRQUFRO1FBQ2IsT0FBTztZQUNMLFVBQVUsRUFBRSxFQUFFLEVBQUUsNkNBQTZDO1lBQzdELFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLHNCQUFzQjtZQUMvQyxLQUFL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LFdBQVcsRUFBRSxJQUFBLDZCQUFtQixFQUFDLEdBQUcsV0FBVyxDQUFDO1NBQ2pELENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ25CLE1BQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQztRQUMzQixNQUFNLFFBQVEsR0FBYSxFQUFFLENBQUM7UUFDOUIsTUFBTSxHQUFHLEdBQThCLEVBQUUsQ0FBQztRQUMxQyxLQUFLLE1BQU0sSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDekMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3RDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsT0FBTztZQUNMLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2pDLFFBQVE7WUFDUixHQUFHO1NBQ0osQ0FBQztJQUNKLENBQUM7SUFFTSxRQUFRLENBQUMsR0FBRyxLQUFxQjtRQUN0QyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxZQUFZLENBQUMsR0FBRyxLQUFxQjtRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQy9CLENBQUM7O0FBcEdILG9DQXFHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb2plY3QgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgSm9iUGVybWlzc2lvbnMsIEpvYlN0ZXAgfSBmcm9tICdwcm9qZW4vbGliL2dpdGh1Yi93b3JrZmxvd3MtbW9kZWwnO1xuaW1wb3J0IHsgTmVlZCB9IGZyb20gJ3Byb2plbi9saWIvZ2l0bGFiJztcbmltcG9ydCB7IG1lcmdlSm9iUGVybWlzc2lvbnMgfSBmcm9tICcuLi9lbmdpbmVzJztcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGludGVyZmFjZSBmb3IgYSBHaXRMYWIgQ0kgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRsYWJTdGVwQ29uZmlnIHtcblxuICAvKiogTGlzdCBvZiBqb2IgZXh0ZW5zaW9ucyByZWxhdGVkIHRvIHRoZSBzdGVwLiAqL1xuICByZWFkb25seSBleHRlbnNpb25zOiBzdHJpbmdbXTtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBOZWVkW107XG5cbiAgLyoqIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUgaW4gdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBjb21tYW5kczogc3RyaW5nW107XG5cbiAgLyoqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRvIHNldCBmb3IgdGhpcyBzdGVwLiAqL1xuICByZWFkb25seSBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgR2l0SHViIEFjdGlvbnMgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHaXRodWJTdGVwQ29uZmlnIHtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgd3JhcHBlZCBhcyBHaXRIdWIgQWN0aW9uIGpvYiBzdGVwcy4gKi9cbiAgcmVhZG9ubHkgc3RlcHM6IEpvYlN0ZXBbXTtcblxuICAvKiogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMgdG8gc2V0IGZvciB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKiogQWRkaXRpb25hbCBqb2IgcGVybWlzc2lvbnMgbmVlZGVkICovXG4gIHJlYWRvbmx5IHBlcm1pc3Npb25zPzogSm9iUGVybWlzc2lvbnM7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlQ2F0YWx5c3RTdGVwQ29uZmlnIHtcblxuICAvKiogRGVwZW5kZW5jaWVzIHdoaWNoIG5lZWQgdG8gYmUgY29tcGxldGVkIGJlZm9yZSB0aGlzIHN0ZXAuICovXG4gIHJlYWRvbmx5IG5lZWRzOiBzdHJpbmdbXTtcblxuICAvKiogQ29tbWFuZHMgd3JhcHBlZCBhcyBHaXRIdWIgQWN0aW9uIGpvYiBzdGVwcy4gKi9cbiAgcmVhZG9ubHkgY29tbWFuZHM6IHN0cmluZ1tdO1xuXG4gIC8qKiBBZGRpdGlvbmFsIGVudmlyb25tZW50IHZhcmlhYmxlcyB0byBzZXQgZm9yIHRoaXMgc3RlcC4gKi9cbiAgcmVhZG9ubHkgZW52OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9O1xuXG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBpbnRlcmZhY2UgZm9yIGEgYmFzaCBzY3JpcHQgc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCYXNoU3RlcENvbmZpZyB7XG5cbiAgLyoqIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUuICovXG4gIHJlYWRvbmx5IGNvbW1hbmRzOiBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBBYnN0cmFjdCBjbGFzcyBkZWZpbmluZyB0aGUgc3RydWN0dXJlIG9mIGEgcGlwZWxpbmUgc3RlcC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBpcGVsaW5lU3RlcCB7XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgbmV3IGluc3RhbmNlIG9mIGEgUGlwZWxpbmVTdGVwIHdpdGggYSByZWZlcmVuY2UgdG8gYSBwcm9qZW4gcHJvamVjdC5cbiAgICogQHBhcmFtIHByb2plY3QgLSBUaGUgcHJvamVuIHByb2plY3QgcmVmZXJlbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHByb2plY3Q6IFByb2plY3QpIHtcbiAgICAvLyBDb25zdHJ1Y3RvciBjYW4gYmUgZXh0ZW5kZWQgdG8gaW5jbHVkZSBtb3JlIHNldHVwIGxvZ2ljLlxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBhIGNvbmZpZ3VyYXRpb24gZm9yIGEgR2l0TGFiIENJIHN0ZXAuIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIHRvR2l0bGFiKCk6IEdpdGxhYlN0ZXBDb25maWcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBjb25maWd1cmF0aW9uIGZvciBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAuIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIHRvR2l0aHViKCk6IEdpdGh1YlN0ZXBDb25maWcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBjb25maWd1cmF0aW9uIGZvciBhIENvZGVDYXRhbHlzdCBBY3Rpb25zIHN0ZXAuIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBjb25maWd1cmF0aW9uIGZvciBhIGJhc2ggc2NyaXB0IHN0ZXAuIFNob3VsZCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKi9cbiAgcHVibGljIHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZyB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICB9XG59XG5cbi8qKlxuICogQ29uY3JldGUgaW1wbGVtZW50YXRpb24gb2YgUGlwZWxpbmVTdGVwIHRoYXQgZXhlY3V0ZXMgc2ltcGxlIGNvbW1hbmRzLlxuICovXG5leHBvcnQgY2xhc3MgU2ltcGxlQ29tbWFuZFN0ZXAgZXh0ZW5kcyBQaXBlbGluZVN0ZXAge1xuXG4gIHByb3RlY3RlZCBjb21tYW5kczogc3RyaW5nW107XG4gIHByb3RlY3RlZCBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIENvbnN0cnVjdHMgYSBzaW1wbGUgY29tbWFuZCBzdGVwIHdpdGggYSBzcGVjaWZpZWQgc2V0IG9mIGNvbW1hbmRzLlxuICAgKiBAcGFyYW0gcHJvamVjdCAtIFRoZSBwcm9qZW4gcHJvamVjdCByZWZlcmVuY2UuXG4gICAqIEBwYXJhbSBjb21tYW5kcyAtIFNoZWxsIGNvbW1hbmRzIHRvIGV4ZWN1dGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBjb21tYW5kczogc3RyaW5nW10sIGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9KSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5jb21tYW5kcyA9IFsuLi5jb21tYW5kc107XG4gICAgdGhpcy5lbnYgPSB7IC4uLmVudiB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBHaXRMYWIgQ0kgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgZXh0ZW5zaW9uczogW10sIC8vIE5vIGpvYiBleHRlbnNpb25zIHNwZWNpZmllZCBmb3IgdGhpcyBzdGVwLlxuICAgICAgY29tbWFuZHM6IHRoaXMuY29tbWFuZHMsIC8vIENvbW1hbmRzIHRvIGJlIHJ1bi5cbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgZW52OiB0aGlzLmVudiwgLy8gTm8gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHN0ZXAgaW50byBhIEJhc2ggc2NyaXB0IGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9CYXNoKCk6IEJhc2hTdGVwQ29uZmlnIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IFtcbiAgICAgICAgLi4uT2JqZWN0LmVudHJpZXModGhpcy5lbnYpLm1hcCgoW2tleSwgdmFsdWVdKSA9PiBgZXhwb3J0ICR7a2V5fT1cIiR7dmFsdWV9XCJgKSxcbiAgICAgICAgLi4udGhpcy5jb21tYW5kcyxcbiAgICAgIF0sIC8vIENvbW1hbmRzIHRvIGJlIHJ1bi5cbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzdGVwIGludG8gYSBHaXRIdWIgQWN0aW9ucyBzdGVwIGNvbmZpZ3VyYXRpb24uXG4gICAqL1xuICBwdWJsaWMgdG9HaXRodWIoKTogR2l0aHViU3RlcENvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5lZWRzOiBbXSwgLy8gTm8gZGVwZW5kZW5jaWVzLlxuICAgICAgc3RlcHM6IHRoaXMuY29tbWFuZHMubWFwKGMgPT4gKHsgcnVuOiBjIH0pKSwgLy8gTWFwcyBlYWNoIGNvbW1hbmQgaW50byBhIEdpdEh1YiBBY3Rpb24gam9iIHN0ZXAuXG4gICAgICBlbnY6IHRoaXMuZW52LCAvLyBObyBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc3RlcCBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogW10sIC8vIE5vIGRlcGVuZGVuY2llcy5cbiAgICAgIGNvbW1hbmRzOiB0aGlzLmNvbW1hbmRzLm1hcChjID0+IChjKSksIC8vIE1hcHMgZWFjaCBjb21tYW5kIGludG8gYSBDb2RlQ2F0YWx5c3QgQWN0aW9uIGpvYiBzdGVwLlxuICAgICAgZW52OiB0aGlzLmVudiwgLy8gTm8gZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICAgIH07XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFByb2plblNjcmlwdFN0ZXAgZXh0ZW5kcyBTaW1wbGVDb21tYW5kU3RlcCB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIHNjcmlwdE5hbWU6IHN0cmluZywgYXJncz86IHN0cmluZykge1xuICAgIHN1cGVyKHByb2plY3QsIFtgbnB4IHByb2plbiAke3NjcmlwdE5hbWV9JHthcmdzID8gYCAke2FyZ3N9YCA6ICcnfWBdKTtcbiAgfVxufVxuXG4vLyBBZGQgY2xhc3MgdGhhdCBpcyBhIHNlcXVlbmNlIG9mIHBpcGxlaW5lIHN0ZXBzIGJ1dCBpcyBhIHBpcGVsaW5lIHN0ZXAgaW4gaXRzZWxmXG5leHBvcnQgY2xhc3MgU3RlcFNlcXVlbmNlIGV4dGVuZHMgUGlwZWxpbmVTdGVwIHtcblxuICBwcm90ZWN0ZWQgc3RlcHM6IFBpcGVsaW5lU3RlcFtdO1xuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3RzIGEgc2VxdWVuY2Ugb2YgcGlwZWxpbmUgc3RlcHMuXG4gICAqIEBwYXJhbSBwcm9qZWN0IC0gVGhlIHByb2plbiBwcm9qZWN0IHJlZmVyZW5jZS5cbiAgICogQHBhcmFtIHN0ZXBzIC0gVGhlIHNlcXVlbmNlIG9mIHBpcGVsaW5lIHN0ZXBzLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgc3RlcHM6IFBpcGVsaW5lU3RlcFtdKSB7XG4gICAgc3VwZXIocHJvamVjdCk7XG4gICAgdGhpcy5zdGVwcyA9IFsuLi5zdGVwc107XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHNlcXVlbmNlIG9mIHN0ZXBzIGludG8gYSBHaXRMYWIgQ0kgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGxhYigpOiBHaXRsYWJTdGVwQ29uZmlnIHtcbiAgICBjb25zdCBleHRlbnNpb25zOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IG5lZWRzOiBOZWVkW10gPSBbXTtcbiAgICBjb25zdCBlbnY6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fTtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgY29uc3Qgc3RlcENvbmZpZyA9IHN0ZXAudG9HaXRsYWIoKTtcbiAgICAgIGV4dGVuc2lvbnMucHVzaCguLi5zdGVwQ29uZmlnLmV4dGVuc2lvbnMpO1xuICAgICAgY29tbWFuZHMucHVzaCguLi5zdGVwQ29uZmlnLmNvbW1hbmRzKTtcbiAgICAgIG5lZWRzLnB1c2goLi4uc3RlcENvbmZpZy5uZWVkcyk7XG4gICAgICBPYmplY3QuYXNzaWduKGVudiwgc3RlcENvbmZpZy5lbnYpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgZXh0ZW5zaW9ucyxcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgbmVlZHM6IEFycmF5LmZyb20obmV3IFNldChuZWVkcykpLFxuICAgICAgZW52LFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIHNlcXVlbmNlIG9mIHN0ZXBzIGludG8gYSBCYXNoIHNjcmlwdCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQmFzaCgpOiBCYXNoU3RlcENvbmZpZyB7XG4gICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gW107XG4gICAgZm9yIChjb25zdCBzdGVwIG9mIHRoaXMuc3RlcHMpIHtcbiAgICAgIGNvbnN0IHN0ZXBDb25maWcgPSBzdGVwLnRvQmFzaCgpO1xuICAgICAgY29tbWFuZHMucHVzaCguLi5zdGVwQ29uZmlnLmNvbW1hbmRzKTtcbiAgICB9XG4gICAgcmV0dXJuIHsgY29tbWFuZHMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgc2VxdWVuY2Ugb2Ygc3RlcHMgaW50byBhIEdpdEh1YiBBY3Rpb25zIHN0ZXAgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIHB1YmxpYyB0b0dpdGh1YigpOiBHaXRodWJTdGVwQ29uZmlnIHtcbiAgICBjb25zdCBuZWVkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb25zdCBzdGVwczogSm9iU3RlcFtdID0gW107XG4gICAgY29uc3QgZW52OiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge307XG4gICAgY29uc3QgcGVybWlzc2lvbnM6IEpvYlBlcm1pc3Npb25zW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IHN0ZXAgb2YgdGhpcy5zdGVwcykge1xuICAgICAgY29uc3Qgc3RlcENvbmZpZyA9IHN0ZXAudG9HaXRodWIoKTtcbiAgICAgIG5lZWRzLnB1c2goLi4uc3RlcENvbmZpZy5uZWVkcyk7XG4gICAgICBzdGVwcy5wdXNoKC4uLnN0ZXBDb25maWcuc3RlcHMpO1xuICAgICAgaWYgKHN0ZXBDb25maWcucGVybWlzc2lvbnMpIHtcbiAgICAgICAgcGVybWlzc2lvbnMucHVzaChzdGVwQ29uZmlnLnBlcm1pc3Npb25zKTtcbiAgICAgIH1cbiAgICAgIE9iamVjdC5hc3NpZ24oZW52LCBzdGVwQ29uZmlnLmVudik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBuZWVkczogQXJyYXkuZnJvbShuZXcgU2V0KG5lZWRzKSksXG4gICAgICBzdGVwcyxcbiAgICAgIGVudixcbiAgICAgIHBlcm1pc3Npb25zOiBtZXJnZUpvYlBlcm1pc3Npb25zKC4uLnBlcm1pc3Npb25zKSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBzZXF1ZW5jZSBvZiBzdGVwcyBpbnRvIGEgQ29kZUNhdGFseXN0IEFjdGlvbnMgc3RlcCBjb25maWd1cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvQ29kZUNhdGFseXN0KCk6IENvZGVDYXRhbHlzdFN0ZXBDb25maWcge1xuICAgIGNvbnN0IG5lZWRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGNvbnN0IGVudjogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGZvciAoY29uc3Qgc3RlcCBvZiB0aGlzLnN0ZXBzKSB7XG4gICAgICBjb25zdCBzdGVwQ29uZmlnID0gc3RlcC50b0NvZGVDYXRhbHlzdCgpO1xuICAgICAgbmVlZHMucHVzaCguLi5zdGVwQ29uZmlnLm5lZWRzKTtcbiAgICAgIGNvbW1hbmRzLnB1c2goLi4uc3RlcENvbmZpZy5jb21tYW5kcyk7XG4gICAgICBPYmplY3QuYXNzaWduKGVudiwgc3RlcENvbmZpZy5lbnYpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbmVlZHM6IEFycmF5LmZyb20obmV3IFNldChuZWVkcykpLFxuICAgICAgY29tbWFuZHMsXG4gICAgICBlbnYsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBhZGRTdGVwcyguLi5zdGVwczogUGlwZWxpbmVTdGVwW10pIHtcbiAgICB0aGlzLnN0ZXBzLnB1c2goLi4uc3RlcHMpO1xuICB9XG5cbiAgcHVibGljIHByZXBlbmRTdGVwcyguLi5zdGVwczogUGlwZWxpbmVTdGVwW10pIHtcbiAgICB0aGlzLnN0ZXBzLnVuc2hpZnQoLi4uc3RlcHMpO1xuICB9XG59Il19
@@ -36,7 +36,7 @@ class VersionComputationStrategy {
36
36
  }
37
37
  exports.VersionComputationStrategy = VersionComputationStrategy;
38
38
  _a = JSII_RTTI_SYMBOL_1;
39
- VersionComputationStrategy[_a] = { fqn: "projen-pipelines.VersionComputationStrategy", version: "0.2.15" };
39
+ VersionComputationStrategy[_a] = { fqn: "projen-pipelines.VersionComputationStrategy", version: "0.3.1" };
40
40
  /**
41
41
  * Composite version computation that combines multiple strategies
42
42
  */
@@ -89,7 +89,7 @@ class CompositeComputation extends VersionComputationStrategy {
89
89
  }
90
90
  exports.CompositeComputation = CompositeComputation;
91
91
  _b = JSII_RTTI_SYMBOL_1;
92
- CompositeComputation[_b] = { fqn: "projen-pipelines.CompositeComputation", version: "0.2.15" };
92
+ CompositeComputation[_b] = { fqn: "projen-pipelines.CompositeComputation", version: "0.3.1" };
93
93
  /**
94
94
  * Main version computer that handles strategy selection
95
95
  */
@@ -117,5 +117,5 @@ class VersionComputer {
117
117
  }
118
118
  exports.VersionComputer = VersionComputer;
119
119
  _c = JSII_RTTI_SYMBOL_1;
120
- VersionComputer[_c] = { fqn: "projen-pipelines.VersionComputer", version: "0.2.15" };
120
+ VersionComputer[_c] = { fqn: "projen-pipelines.VersionComputer", version: "0.3.1" };
121
121
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdmVyc2lvbmluZy9jb21wdXRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUVBLGlEQUE2QztBQTJCN0M7O0dBRUc7QUFDSCxNQUFzQiwwQkFBMEI7SUFDOUMsWUFBc0MsUUFBNEI7UUFBNUIsYUFBUSxHQUFSLFFBQVEsQ0FBb0I7SUFBSSxDQUFDO0lBT3ZFOztPQUVHO0lBQ0ksaUJBQWlCLENBQUMsT0FBMkI7UUFDbEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3QyxPQUFPLDBCQUFXLENBQUMsTUFBTSxDQUFDO1lBQ3hCLE9BQU87WUFDUCxVQUFVLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVO1lBQ3RDLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDaEQsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTTtZQUM5QixHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHO1lBQ3hCLGVBQWUsRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLGVBQWU7WUFDaEQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN4QyxjQUFjLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxjQUFjO1lBQzlDLFVBQVUsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNwQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsV0FBVyxFQUFFLE9BQU8sQ0FBQyxXQUFXO1lBQ2hDLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztZQUNoQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsZUFBZSxFQUFFLE9BQU8sQ0FBQyxlQUFlO1NBQ3pDLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBOUJILGdFQStCQzs7O0FBR0Q7O0dB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RCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOztBQXRESCxvREF1REM7OztBQUVEOztHQUVHO0FBQ0gsTUFBYSxlQUFlO0lBRzFCLFlBQ0UsUUFBNkI7UUFFN0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxPQUEyQjtRQUN6RCxJQUFJLENBQUM7WUFDSCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxhQUFhLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbEYsQ0FBQztJQUNILENBQUM7SUFFRDs7T0FFRztJQUNLLGNBQWMsQ0FBQyxRQUE2QjtRQUNsRCxPQUFPLElBQUksb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQzs7QUF6QkgsMENBMEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmVyc2lvbmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi9zdHJhdGVneSc7XG5pbXBvcnQgeyBJVmVyc2lvbmluZ1N0cmF0ZWd5IH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBWZXJzaW9uSW5mbyB9IGZyb20gJy4vdmVyc2lvbi1pbmZvJztcblxuLyoqXG4gKiBHaXQgaW5mb3JtYXRpb24gZXh0cmFjdGVkIGZyb20gcmVwb3NpdG9yeVxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdpdEluZm8ge1xuICByZWFkb25seSBjb21taXRIYXNoOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGNvbW1pdEhhc2hTaG9ydDogc3RyaW5nO1xuICByZWFkb25seSBicmFuY2g6IHN0cmluZztcbiAgcmVhZG9ubHkgdGFnPzogc3RyaW5nO1xuICByZWFkb25seSBjb21taXRzU2luY2VUYWc/OiBudW1iZXI7XG4gIHJlYWRvbmx5IGNvbW1pdENvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IHBhY2thZ2VWZXJzaW9uPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRleHQgZm9yIHZlcnNpb24gY29tcHV0YXRpb25cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wdXRhdGlvbkNvbnRleHQge1xuICByZWFkb25seSBnaXRJbmZvOiBHaXRJbmZvO1xuICByZWFkb25seSBlbnZpcm9ubWVudDogc3RyaW5nO1xuICByZWFkb25seSBkZXBsb3llZEJ5OiBzdHJpbmc7XG4gIHJlYWRvbmx5IGJ1aWxkTnVtYmVyPzogc3RyaW5nO1xuICByZWFkb25seSByZXBvc2l0b3J5Pzogc3RyaW5nO1xuICByZWFkb25seSBwaXBlbGluZVZlcnNpb24/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgdmVyc2lvbiBjb21wdXRhdGlvbiBzdHJhdGVnaWVzXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBWZXJzaW9uQ29tcHV0YXRpb25TdHJhdGVneSB7XG4gIHByb3RlY3RlZCBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneSkgeyB9XG5cbiAgLyoqXG4gICAqIENvbXB1dGUgdmVyc2lvbiBzdHJpbmcgZnJvbSBjb250ZXh0XG4gICAqL1xuICBhYnN0cmFjdCBjb21wdXRlVmVyc2lvbihjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBWZXJzaW9uSW5mbyBmcm9tIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBjcmVhdGVWZXJzaW9uSW5mbyhjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBWZXJzaW9uSW5mbyB7XG4gICAgY29uc3QgdmVyc2lvbiA9IHRoaXMuY29tcHV0ZVZlcnNpb24oY29udGV4dCk7XG5cbiAgICByZXR1cm4gVmVyc2lvbkluZm8uY3JlYXRlKHtcbiAgICAgIHZlcnNpb24sXG4gICAgICBjb21taXRIYXNoOiBjb250ZXh0LmdpdEluZm8uY29tbWl0SGFzaCxcbiAgICAgIGNvbW1pdEhhc2hTaG9ydDogY29udGV4dC5naXRJbmZvLmNvbW1pdEhhc2hTaG9ydCxcbiAgICAgIGJyYW5jaDogY29udGV4dC5naXRJbmZvLmJyYW5jaCxcbiAgICAgIHRhZzogY29udGV4dC5naXRJbmZvLnRhZyxcbiAgICAgIGNvbW1pdHNTaW5jZVRhZzogY29udGV4dC5naXRJbmZvLmNvbW1pdHNTaW5jZVRhZyxcbiAgICAgIGNvbW1pdENvdW50OiBjb250ZXh0LmdpdEluZm8uY29tbWl0Q291bnQsXG4gICAgICBwYWNrYWdlVmVyc2lvbjogY29udGV4dC5naXRJbmZvLnBhY2thZ2VWZXJzaW9uLFxuICAgICAgZGVwbG95ZWRBdDogbmV3IERhdGUoKS50b0lTT1N0cmluZygpLFxuICAgICAgZGVwbG95ZWRCeTogY29udGV4dC5kZXBsb3llZEJ5LFxuICAgICAgYnVpbGROdW1iZXI6IGNvbnRleHQuYnVpbGROdW1iZXIsXG4gICAgICBlbnZpcm9ubWVudDogY29udGV4dC5lbnZpcm9ubWVudCxcbiAgICAgIHJlcG9zaXRvcnk6IGNvbnRleHQucmVwb3NpdG9yeSxcbiAgICAgIHBpcGVsaW5lVmVyc2lvbjogY29udGV4dC5waXBlbGluZVZlcnNpb24sXG4gICAgfSk7XG4gIH1cbn1cblxuXG4vKipcbiAqIENvbXBvc2l0ZSB2ZXJzaW9uIGNvbXB1dGF0aW9uIHRoYXQgY29tYmluZXMgbXVsdGlwbGUgc3RyYXRlZ2llc1xuICovXG5leHBvcnQgY2xhc3MgQ29tcG9zaXRlQ29tcHV0YXRpb24gZXh0ZW5kcyBWZXJzaW9uQ29tcHV0YXRpb25TdHJhdGVneSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHN0cmF0ZWd5OiBWZXJzaW9uaW5nU3RyYXRlZ3ksXG4gICkge1xuICAgIHN1cGVyKHN0cmF0ZWd5KTtcbiAgfVxuXG4gIHB1YmxpYyBjb21wdXRlVmVyc2lvbihjb250ZXh0OiBDb21wdXRhdGlvbkNvbnRleHQpOiBzdHJpbmcge1xuICAgIGxldCByZXN1bHQgPSB0aGlzLnN0cmF0ZWd5LmZvcm1hdDtcbiAgICBjb25zdCB7IGdpdEluZm8gfSA9IGNvbnRleHQ7XG5cbiAgICAvLyBSZXBsYWNlIGdpdCB0YWcgdmFyaWFibGVzXG4gICAgaWYgKHRoaXMuc3RyYXRlZ3kuY29tcG9uZW50cy5naXRUYWcpIHtcbiAgICAgIGxldCB0YWdWYWx1ZSA9IGdpdEluZm8udGFnID8/ICcwLjAuMCc7XG4gICAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmdpdFRhZy5zdHJpcFByZWZpeCAmJiBnaXRJbmZvLnRhZykge1xuICAgICAgICB0YWdWYWx1ZSA9IGdpdEluZm8udGFnLnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7dGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmdpdFRhZy5zdHJpcFByZWZpeH1gKSwgJycpO1xuICAgICAgfVxuICAgICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ3tnaXQtdGFnfScsIHRhZ1ZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBSZXBsYWNlIHBhY2thZ2UgdmVyc2lvblxuICAgIGlmICh0aGlzLnN0cmF0ZWd5LmNvbXBvbmVudHMucGFja2FnZUpzb24pIHtcbiAgICAgIGNvbnN0IHBhY2thZ2VWYWx1ZSA9IGdpdEluZm8ucGFja2FnZVZlcnNpb24gPz8gJzAuMC4wJztcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7cGFja2FnZS12ZXJzaW9ufScsIHBhY2thZ2VWYWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gUmVwbGFjZSBjb21taXQgY291bnRcbiAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50KSB7XG4gICAgICBsZXQgY291bnRWYWx1ZTogc3RyaW5nO1xuICAgICAgaWYgKHRoaXMuc3RyYXRlZ3kuY29tcG9uZW50cy5jb21taXRDb3VudC5jb3VudEZyb20gPT09ICdzaW5jZS10YWcnICYmIGdpdEluZm8uY29tbWl0c1NpbmNlVGFnICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY291bnRWYWx1ZSA9IGdpdEluZm8uY29tbWl0c1NpbmNlVGFnLnRvU3RyaW5nKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEZWZhdWx0IHRvIHRvdGFsIGNvbW1pdCBjb3VudCBmb3IgJ2FsbCcgb3IgdW5kZWZpbmVkXG4gICAgICAgIGNvdW50VmFsdWUgPSBnaXRJbmZvLmNvbW1pdENvdW50LnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50LnBhZGRpbmcpIHtcbiAgICAgICAgY291bnRWYWx1ZSA9IGNvdW50VmFsdWUucGFkU3RhcnQodGhpcy5zdHJhdGVneS5jb21wb25lbnRzLmNvbW1pdENvdW50LnBhZGRpbmcsICcwJyk7XG4gICAgICB9XG4gICAgICByZXN1bHQgPSByZXN1bHQucmVwbGFjZSgne2NvbW1pdC1jb3VudH0nLCBjb3VudFZhbHVlKTtcbiAgICB9XG5cbiAgICAvLyBSZXBsYWNlIGNvbW1pdCBoYXNoXG4gICAgcmVzdWx0ID0gcmVzdWx0LnJlcGxhY2UoJ3tjb21taXQtaGFzaH0nLCBnaXRJbmZvLmNvbW1pdEhhc2gpO1xuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7Y29tbWl0LWhhc2g6OH0nLCBnaXRJbmZvLmNvbW1pdEhhc2hTaG9ydCk7XG5cbiAgICAvLyBSZXBsYWNlIGJyYW5jaFxuICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7YnJhbmNofScsIGdpdEluZm8uYnJhbmNoKTtcblxuICAgIC8vIFJlcGxhY2UgYnVpbGQgbnVtYmVyXG4gICAgaWYgKGNvbnRleHQuYnVpbGROdW1iZXIpIHtcbiAgICAgIHJlc3VsdCA9IHJlc3VsdC5yZXBsYWNlKCd7YnVpbGQtbnVtYmVyfScsIGNvbnRleHQuYnVpbGROdW1iZXIpO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbn1cblxuLyoqXG4gKiBNYWluIHZlcnNpb24gY29tcHV0ZXIgdGhhdCBoYW5kbGVzIHN0cmF0ZWd5IHNlbGVjdGlvblxuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbkNvbXB1dGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBzdHJhdGVneTogVmVyc2lvbkNvbXB1dGF0aW9uU3RyYXRlZ3k7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgc3RyYXRlZ3k6IElWZXJzaW9uaW5nU3RyYXRlZ3ksXG4gICkge1xuICAgIHRoaXMuc3RyYXRlZ3kgPSB0aGlzLmNyZWF0ZVN0cmF0ZWd5KHN0cmF0ZWd5KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wdXRlIHZlcnNpb24gaW5mbyBmcm9tIGNvbnRleHRcbiAgICovXG4gIHB1YmxpYyBhc3luYyBjb21wdXRlVmVyc2lvbkluZm8oY29udGV4dDogQ29tcHV0YXRpb25Db250ZXh0KTogUHJvbWlzZTxWZXJzaW9uSW5mbz4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gdGhpcy5zdHJhdGVneS5jcmVhdGVWZXJzaW9uSW5mbyhjb250ZXh0KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBTdHJhdGVneSAnJHt0aGlzLnN0cmF0ZWd5LnN0cmF0ZWd5LmZvcm1hdH0nIGZhaWxlZDogJHtlcnJvcn1gKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIHN0cmF0ZWd5IGluc3RhbmNlIGZyb20gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHJpdmF0ZSBjcmVhdGVTdHJhdGVneShzdHJhdGVneTogSVZlcnNpb25pbmdTdHJhdGVneSk6IFZlcnNpb25Db21wdXRhdGlvblN0cmF0ZWd5IHtcbiAgICByZXR1cm4gbmV3IENvbXBvc2l0ZUNvbXB1dGF0aW9uKHN0cmF0ZWd5KTtcbiAgfVxufVxuIl19
@@ -46,7 +46,7 @@ class VersioningConfigurations {
46
46
  }
47
47
  exports.VersioningConfigurations = VersioningConfigurations;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- VersioningConfigurations[_a] = { fqn: "projen-pipelines.VersioningConfigurations", version: "0.2.15" };
49
+ VersioningConfigurations[_a] = { fqn: "projen-pipelines.VersioningConfigurations", version: "0.3.1" };
50
50
  /**
51
51
  * Utility functions for versioning configuration
52
52
  */
@@ -87,5 +87,5 @@ class VersioningConfigUtils {
87
87
  }
88
88
  exports.VersioningConfigUtils = VersioningConfigUtils;
89
89
  _b = JSII_RTTI_SYMBOL_1;
90
- VersioningConfigUtils[_b] = { fqn: "projen-pipelines.VersioningConfigUtils", version: "0.2.15" };
90
+ VersioningConfigUtils[_b] = { fqn: "projen-pipelines.VersioningConfigUtils", version: "0.3.1" };
91
91
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3ZlcnNpb25pbmcvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsdUNBQThDO0FBQzlDLHlDQUFnRDtBQVdoRDs7R0FFRztBQUNILE1BQWEsd0JBQXdCO0lBQ25DOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUErQjtRQUNwRCxPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsNkJBQWtCLENBQUMsV0FBVyxFQUFFO1lBQzFDLE9BQU8sRUFBRSwyQkFBaUIsQ0FBQyxRQUFRLENBQUM7Z0JBQ2xDLGFBQWEsRUFBRSxPQUFPLE9BQU8sRUFBRSxjQUFjLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxTQUFTO2dCQUMvRixNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU07YUFDeEIsQ0FBQztTQUNILENBQUM7SUFDSixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPO1lBQ0wsT0FBTyxFQUFFLElBQUk7WUFDYixRQUFRLEVBQUUsNkJBQWtCLENBQUMsVUFBVSxFQUFFO1lBQ3pDLE9BQU8sRUFBRSwyQkFBaUIsQ0FBQyxPQUFPLEVBQUU7U0FDckMsQ0FBQztJQUNKLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBOEI7UUFDakQsT0FBTztZQUNMLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUk7WUFDL0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLE9BQU8sRUFBRSxNQUFNLENBQUMsT0FBTztZQUN2QixjQUFjLEVBQUUsTUFBTSxDQUFDLGNBQWM7U0FDdEMsQ0FBQztJQUNKLENBQUM7O0FBcENILDREQXFDQzs7O0FBRUQ7O0dBRUc7QUFDSCxNQUFhLHFCQUFxQjtJQUNoQzs7T0FFRztJQUNJLE1BQU0sQ0FBQyxlQUFlLENBQUMsTUFBd0IsRUFBRSxLQUFhO1FBQ25FLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU87WUFDTCxHQUFHLE1BQU07WUFDVCxHQUFHLGFBQWE7WUFDaEIsT0FBTyxFQUFFLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLEdBQUcsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTztTQUNsRyxDQUFDO0lBQ0osQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUF3QjtRQUM3QyxNQUFNLE1BQU0sR0FBYSxFQUFFLENBQUM7UUFFNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDdEMsQ0FBQztRQUVELElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDcEIsTUFBTSxDQUFDLElBQUksQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDO1FBQ25ELENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxNQUFNLENBQUMsT0FBTztRQUNuQixPQUFPLHdCQUF3QixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdDLENBQUM7O0FBdkNILHNEQXdDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZlcnNpb25pbmdPdXRwdXRzIH0gZnJvbSAnLi9vdXRwdXRzJztcbmltcG9ydCB7IFZlcnNpb25pbmdTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xuaW1wb3J0IHsgVmVyc2lvbmluZ0NvbmZpZywgSVZlcnNpb25pbmdTdHJhdGVneSwgU3RhbmRhcmRDb25maWdPcHRpb25zLCBWZXJzaW9uaW5nT3V0cHV0Q29uZmlnLCBTdGFnZU92ZXJyaWRlcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tVmVyc2lvbmluZ0NvbmZpZyB7XG4gIHJlYWRvbmx5IGVuYWJsZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBzdHJhdGVneTogSVZlcnNpb25pbmdTdHJhdGVneTtcbiAgcmVhZG9ubHkgb3V0cHV0czogVmVyc2lvbmluZ091dHB1dENvbmZpZztcbiAgcmVhZG9ubHkgc3RhZ2VPdmVycmlkZXM/OiBTdGFnZU92ZXJyaWRlcztcbn1cblxuLyoqXG4gKiBNYWluIHZlcnNpb25pbmcgY29uZmlndXJhdGlvbiBjbGFzcyB3aXRoIGZhY3RvcnkgbWV0aG9kc1xuICovXG5leHBvcnQgY2xhc3MgVmVyc2lvbmluZ0NvbmZpZ3VyYXRpb25zIHtcbiAgLyoqXG4gICAqIFN0YW5kYXJkIGNvbmZpZ3VyYXRpb24gd2l0aCBjb21taXQgY291bnQgc3RyYXRlZ3lcbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgc3RhbmRhcmQob3B0aW9ucz86IFN0YW5kYXJkQ29uZmlnT3B0aW9ucyk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneS5jb21taXRDb3VudCgpLFxuICAgICAgb3V0cHV0czogVmVyc2lvbmluZ091dHB1dHMuc3RhbmRhcmQoe1xuICAgICAgICBwYXJhbWV0ZXJOYW1lOiB0eXBlb2Ygb3B0aW9ucz8ucGFyYW1ldGVyU3RvcmUgPT09ICdzdHJpbmcnID8gb3B0aW9ucy5wYXJhbWV0ZXJTdG9yZSA6IHVuZGVmaW5lZCxcbiAgICAgICAgZm9ybWF0OiBvcHRpb25zPy5mb3JtYXQsXG4gICAgICB9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIE1pbmltYWwgY29uZmlndXJhdGlvbiBmb3IgdGVzdGluZ1xuICAgKi9cbiAgcHVibGljIHN0YXRpYyBtaW5pbWFsKCk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiB7XG4gICAgICBlbmFibGVkOiB0cnVlLFxuICAgICAgc3RyYXRlZ3k6IFZlcnNpb25pbmdTdHJhdGVneS5jb21taXRIYXNoKCksXG4gICAgICBvdXRwdXRzOiBWZXJzaW9uaW5nT3V0cHV0cy5taW5pbWFsKCksXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBjdXN0b20gY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBjdXN0b20oY29uZmlnOiBDdXN0b21WZXJzaW9uaW5nQ29uZmlnKTogVmVyc2lvbmluZ0NvbmZpZyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGVuYWJsZWQ6IGNvbmZpZy5lbmFibGVkID8/IHRydWUsXG4gICAgICBzdHJhdGVneTogY29uZmlnLnN0cmF0ZWd5LFxuICAgICAgb3V0cHV0czogY29uZmlnLm91dHB1dHMsXG4gICAgICBzdGFnZU92ZXJyaWRlczogY29uZmlnLnN0YWdlT3ZlcnJpZGVzLFxuICAgIH07XG4gIH1cbn1cblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9ucyBmb3IgdmVyc2lvbmluZyBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBjbGFzcyBWZXJzaW9uaW5nQ29uZmlnVXRpbHMge1xuICAvKipcbiAgICogUmVzb2x2ZSBjb25maWd1cmF0aW9uIGZvciBhIHNwZWNpZmljIHN0YWdlXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlc29sdmVGb3JTdGFnZShjb25maWc6IFZlcnNpb25pbmdDb25maWcsIHN0YWdlOiBzdHJpbmcpOiBWZXJzaW9uaW5nQ29uZmlnIHtcbiAgICBjb25zdCBzdGFnZU92ZXJyaWRlID0gY29uZmlnLnN0YWdlT3ZlcnJpZGVzPy5bc3RhZ2VdO1xuICAgIGlmICghc3RhZ2VPdmVycmlkZSkge1xuICAgICAgcmV0dXJuIGNvbmZpZztcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgLi4uc3RhZ2VPdmVycmlkZSxcbiAgICAgIG91dHB1dHM6IHN0YWdlT3ZlcnJpZGUub3V0cHV0cyA/IHsgLi4uY29uZmlnLm91dHB1dHMsIC4uLnN0YWdlT3ZlcnJpZGUub3V0cHV0cyB9IDogY29uZmlnLm91dHB1dHMsXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSBjb25maWd1cmF0aW9uXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHZhbGlkYXRlKGNvbmZpZzogVmVyc2lvbmluZ0NvbmZpZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBlcnJvcnM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoIWNvbmZpZy5zdHJhdGVneSkge1xuICAgICAgZXJyb3JzLnB1c2goJ1N0cmF0ZWd5IGlzIHJlcXVpcmVkJyk7XG4gICAgfVxuXG4gICAgaWYgKCFjb25maWcub3V0cHV0cykge1xuICAgICAgZXJyb3JzLnB1c2goJ091dHB1dHMgY29uZmlndXJhdGlvbiBpcyByZXF1aXJlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiBlcnJvcnM7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGRlZmF1bHQgY29uZmlndXJhdGlvblxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBkZWZhdWx0KCk6IFZlcnNpb25pbmdDb25maWcge1xuICAgIHJldHVybiBWZXJzaW9uaW5nQ29uZmlndXJhdGlvbnMuc3RhbmRhcmQoKTtcbiAgfVxufSJdfQ==