projen 0.45.3 → 0.46.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (171) hide show
  1. package/.jsii +1246 -462
  2. package/API.md +348 -61
  3. package/README.md +1 -0
  4. package/dist/changelog.md +2 -0
  5. package/dist/releasetag.txt +1 -0
  6. package/dist/version.txt +1 -0
  7. package/docs/build.md +55 -0
  8. package/docs/mutable-builds.md +0 -27
  9. package/docs/publisher.md +35 -1
  10. package/lib/awscdk/auto-discover.js +1 -1
  11. package/lib/awscdk/awscdk-app-ts.js +1 -1
  12. package/lib/awscdk/awscdk-construct.js +2 -2
  13. package/lib/awscdk/awscdk-deps.js +1 -1
  14. package/lib/awscdk/cdk-config.js +1 -1
  15. package/lib/awscdk/cdk-tasks.js +1 -1
  16. package/lib/awscdk/integration-test.js +5 -2
  17. package/lib/awscdk/java-app.js +1 -1
  18. package/lib/awscdk/lambda-function.js +2 -2
  19. package/lib/build/build-workflow.d.ts +125 -0
  20. package/lib/build/build-workflow.js +217 -0
  21. package/lib/build/index.d.ts +1 -0
  22. package/lib/build/index.js +14 -0
  23. package/lib/cdk/construct-lib.js +1 -1
  24. package/lib/cdk/consts.d.ts +14 -0
  25. package/lib/cdk/consts.js +37 -0
  26. package/lib/cdk/jsii-docgen.js +1 -1
  27. package/lib/cdk/jsii-project.d.ts +13 -0
  28. package/lib/cdk/jsii-project.js +107 -44
  29. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  30. package/lib/cdk8s/cdk8s-construct.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/component.js +1 -1
  33. package/lib/dependencies.js +1 -1
  34. package/lib/dev-env.js +1 -1
  35. package/lib/docker-compose.js +2 -2
  36. package/lib/file.js +1 -1
  37. package/lib/gitattributes.js +1 -1
  38. package/lib/github/auto-approve.js +1 -1
  39. package/lib/github/auto-merge.js +1 -1
  40. package/lib/github/constants.js +2 -1
  41. package/lib/github/dependabot.js +1 -1
  42. package/lib/github/github-project.js +1 -1
  43. package/lib/github/github.d.ts +6 -0
  44. package/lib/github/github.js +11 -2
  45. package/lib/github/mergify.js +1 -1
  46. package/lib/github/pr-template.js +1 -1
  47. package/lib/github/pull-request-lint.js +1 -1
  48. package/lib/github/stale.js +1 -1
  49. package/lib/github/task-workflow.d.ts +4 -0
  50. package/lib/github/task-workflow.js +6 -5
  51. package/lib/github/workflows-model.d.ts +62 -0
  52. package/lib/github/workflows-model.js +1 -1
  53. package/lib/github/workflows.d.ts +8 -0
  54. package/lib/github/workflows.js +39 -3
  55. package/lib/gitpod.js +1 -1
  56. package/lib/ignore-file.js +1 -1
  57. package/lib/index.d.ts +1 -0
  58. package/lib/index.js +2 -1
  59. package/lib/ini.js +1 -1
  60. package/lib/java/java-project.js +1 -1
  61. package/lib/java/junit.js +1 -1
  62. package/lib/java/maven-compile.js +1 -1
  63. package/lib/java/maven-packaging.js +1 -1
  64. package/lib/java/maven-sample.js +1 -1
  65. package/lib/java/pom.js +1 -1
  66. package/lib/java/projenrc.js +1 -1
  67. package/lib/javascript/bundler.js +1 -1
  68. package/lib/javascript/eslint.js +1 -1
  69. package/lib/javascript/jest.js +1 -1
  70. package/lib/javascript/node-package.js +1 -1
  71. package/lib/javascript/node-project.d.ts +46 -7
  72. package/lib/javascript/node-project.js +64 -129
  73. package/lib/javascript/npm-config.js +1 -1
  74. package/lib/javascript/projenrc.js +1 -1
  75. package/lib/javascript/typescript-config.js +1 -1
  76. package/lib/javascript/upgrade-dependencies.d.ts +15 -0
  77. package/lib/javascript/upgrade-dependencies.js +18 -6
  78. package/lib/json.js +1 -1
  79. package/lib/license.js +1 -1
  80. package/lib/logger.js +1 -1
  81. package/lib/makefile.js +1 -1
  82. package/lib/object-file.js +1 -1
  83. package/lib/project-build.js +1 -1
  84. package/lib/project.js +1 -1
  85. package/lib/projects.js +1 -1
  86. package/lib/projenrc-json.js +1 -1
  87. package/lib/python/pip.js +1 -1
  88. package/lib/python/poetry.js +2 -2
  89. package/lib/python/projenrc.js +1 -1
  90. package/lib/python/pytest.js +1 -1
  91. package/lib/python/python-project.js +1 -1
  92. package/lib/python/python-sample.js +1 -1
  93. package/lib/python/requirements-file.js +1 -1
  94. package/lib/python/setuppy.js +1 -1
  95. package/lib/python/setuptools.js +1 -1
  96. package/lib/python/venv.js +1 -1
  97. package/lib/readme.js +1 -1
  98. package/lib/release/publisher.d.ts +39 -7
  99. package/lib/release/publisher.js +51 -43
  100. package/lib/release/release-trigger.js +1 -1
  101. package/lib/release/release.d.ts +20 -8
  102. package/lib/release/release.js +3 -2
  103. package/lib/sample-file.js +2 -2
  104. package/lib/semver.js +1 -1
  105. package/lib/source-code.js +1 -1
  106. package/lib/task-runtime.js +1 -1
  107. package/lib/task.js +1 -1
  108. package/lib/tasks.js +1 -1
  109. package/lib/testing.js +1 -1
  110. package/lib/textfile.js +1 -1
  111. package/lib/toml.js +1 -1
  112. package/lib/typescript/projenrc.js +1 -1
  113. package/lib/typescript/typescript-typedoc.js +1 -1
  114. package/lib/typescript/typescript.d.ts +0 -7
  115. package/lib/typescript/typescript.js +23 -28
  116. package/lib/version.js +1 -1
  117. package/lib/vscode/devcontainer.js +1 -1
  118. package/lib/vscode/launch-config.js +1 -1
  119. package/lib/vscode/vscode.js +1 -1
  120. package/lib/web/next.js +3 -3
  121. package/lib/web/postcss.js +1 -1
  122. package/lib/web/react.js +6 -6
  123. package/lib/web/tailwind.js +1 -1
  124. package/lib/xmlfile.js +1 -1
  125. package/lib/yaml.js +1 -1
  126. package/node_modules/xmlbuilder2/node_modules/@types/node/README.md +1 -1
  127. package/node_modules/xmlbuilder2/node_modules/@types/node/assert.d.ts +1 -1
  128. package/node_modules/xmlbuilder2/node_modules/@types/node/async_hooks.d.ts +7 -3
  129. package/node_modules/xmlbuilder2/node_modules/@types/node/buffer.d.ts +9 -9
  130. package/node_modules/xmlbuilder2/node_modules/@types/node/child_process.d.ts +1 -1
  131. package/node_modules/xmlbuilder2/node_modules/@types/node/cluster.d.ts +1 -1
  132. package/node_modules/xmlbuilder2/node_modules/@types/node/console.d.ts +1 -1
  133. package/node_modules/xmlbuilder2/node_modules/@types/node/crypto.d.ts +2 -2
  134. package/node_modules/xmlbuilder2/node_modules/@types/node/dgram.d.ts +2 -2
  135. package/node_modules/xmlbuilder2/node_modules/@types/node/diagnostics_channel.d.ts +1 -1
  136. package/node_modules/xmlbuilder2/node_modules/@types/node/dns/promises.d.ts +12 -10
  137. package/node_modules/xmlbuilder2/node_modules/@types/node/dns.d.ts +17 -12
  138. package/node_modules/xmlbuilder2/node_modules/@types/node/domain.d.ts +1 -1
  139. package/node_modules/xmlbuilder2/node_modules/@types/node/events.d.ts +2 -2
  140. package/node_modules/xmlbuilder2/node_modules/@types/node/fs/promises.d.ts +5 -5
  141. package/node_modules/xmlbuilder2/node_modules/@types/node/fs.d.ts +62 -11
  142. package/node_modules/xmlbuilder2/node_modules/@types/node/http.d.ts +20 -3
  143. package/node_modules/xmlbuilder2/node_modules/@types/node/http2.d.ts +3 -3
  144. package/node_modules/xmlbuilder2/node_modules/@types/node/https.d.ts +1 -1
  145. package/node_modules/xmlbuilder2/node_modules/@types/node/index.d.ts +1 -1
  146. package/node_modules/xmlbuilder2/node_modules/@types/node/inspector.d.ts +4 -5
  147. package/node_modules/xmlbuilder2/node_modules/@types/node/net.d.ts +11 -11
  148. package/node_modules/xmlbuilder2/node_modules/@types/node/os.d.ts +1 -1
  149. package/node_modules/xmlbuilder2/node_modules/@types/node/package.json +2 -2
  150. package/node_modules/xmlbuilder2/node_modules/@types/node/path.d.ts +9 -1
  151. package/node_modules/xmlbuilder2/node_modules/@types/node/perf_hooks.d.ts +6 -4
  152. package/node_modules/xmlbuilder2/node_modules/@types/node/punycode.d.ts +1 -1
  153. package/node_modules/xmlbuilder2/node_modules/@types/node/querystring.d.ts +1 -1
  154. package/node_modules/xmlbuilder2/node_modules/@types/node/readline.d.ts +121 -14
  155. package/node_modules/xmlbuilder2/node_modules/@types/node/repl.d.ts +1 -1
  156. package/node_modules/xmlbuilder2/node_modules/@types/node/stream/web.d.ts +3 -65
  157. package/node_modules/xmlbuilder2/node_modules/@types/node/stream.d.ts +2 -2
  158. package/node_modules/xmlbuilder2/node_modules/@types/node/string_decoder.d.ts +1 -1
  159. package/node_modules/xmlbuilder2/node_modules/@types/node/timers.d.ts +1 -1
  160. package/node_modules/xmlbuilder2/node_modules/@types/node/tls.d.ts +3 -2
  161. package/node_modules/xmlbuilder2/node_modules/@types/node/trace_events.d.ts +1 -1
  162. package/node_modules/xmlbuilder2/node_modules/@types/node/tty.d.ts +1 -1
  163. package/node_modules/xmlbuilder2/node_modules/@types/node/url.d.ts +58 -18
  164. package/node_modules/xmlbuilder2/node_modules/@types/node/util.d.ts +3 -3
  165. package/node_modules/xmlbuilder2/node_modules/@types/node/v8.d.ts +3 -3
  166. package/node_modules/xmlbuilder2/node_modules/@types/node/vm.d.ts +1 -1
  167. package/node_modules/xmlbuilder2/node_modules/@types/node/wasi.d.ts +1 -1
  168. package/node_modules/xmlbuilder2/node_modules/@types/node/worker_threads.d.ts +4 -4
  169. package/node_modules/xmlbuilder2/node_modules/@types/node/zlib.d.ts +1 -1
  170. package/package.json +11 -7
  171. package/docs/project.md +0 -30
package/README.md CHANGED
@@ -370,3 +370,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
370
370
  ## License
371
371
 
372
372
  Distributed under the [Apache-2.0](./LICENSE) license.
373
+
@@ -0,0 +1,2 @@
1
+
2
+ ### [0.46.2](https://github.com/projen/projen/compare/v0.46.1...v0.46.2) (2021-12-27)
@@ -0,0 +1 @@
1
+ v0.46.2
@@ -0,0 +1 @@
1
+ 0.46.2
package/docs/build.md ADDED
@@ -0,0 +1,55 @@
1
+ # Build
2
+
3
+ Projen defines a standard way for building software through a fixed set of
4
+ *build phases*. This is implemented via a set of [tasks](./tasks.md) defined in
5
+ the `Project` base class.
6
+
7
+ The `build` task spawns a set of sub-tasks which represent the various build phases:
8
+
9
+ * `default` - this task is responsible to execute your projenrc and synthesize all project files.
10
+ * `pre-compile` - runs before compilation (eg. bundle assets)
11
+ * `compile` - compile your code (if needed)
12
+ * `post-compile` - runs immediately after a successful compilation
13
+ * `test` - runs tests
14
+ * `package` - creates a distribution package
15
+
16
+ To extend the build process, components and projects can use
17
+ `project.projectBuild.xxxTask` and interact with the `Task` object (i.e.
18
+ `project.projectBuild.postCompileTask.exec("echo hi")` will execute `echo hi` after
19
+ compilation).
20
+
21
+ > NOTE: the `build` task is locked. This means that any attempt to extend it
22
+ > (i.e. call `spawn`, `exec`, `reset`, etc) will throw an exception. Instead of
23
+ > extending `build`, just extend one of the phases. This ensures that phases are
24
+ > always executed in the right order.
25
+
26
+ ## Build Workflow
27
+
28
+ The `build` workflow is responsible to build your project when a pull request is
29
+ submitted against it.
30
+
31
+ ### Self-mutation
32
+
33
+ Projen synthesizes files that are part of your source repository. This means
34
+ that when you change you projenrc file, and execute `projen`, other files in
35
+ your repo may change as a result.
36
+
37
+ This is also relevant in other situations where your build process _mutates_
38
+ your repository. For example, if you use **snapshot testing**, your repository
39
+ includes snapshots which represent expected test results. When your code
40
+ changes, you will likely need to update those snapshots as well.
41
+
42
+ To ensure that a pull request branch always represent the final state of the
43
+ repository, you can enable the `mutableBuild` option in your project
44
+ configuration (currently only supported for projects derived from
45
+ `NodeProject`).
46
+
47
+ When enabled, the PR build workflow (also called `build`) will push any modified
48
+ files to the PR branch after a successful build, so that the branch will always
49
+ reflect the most up-to-date version of all generated files.
50
+
51
+ > This feature does not work for forks since it is impossible to safely push
52
+ > changes to a fork from a PR build. If a PR is created from a fork of the
53
+ > repository and there are build mutations, the PR build will fail (indicating
54
+ > that it cannot push to the fork). To fix this, the branch needs to be updated
55
+ > (same behavior as if mutable builds was disabled).
@@ -1,27 +0,0 @@
1
- # Mutable Builds
2
-
3
- Projen synthesizes files that are part of your source repository. This means
4
- that when you change you projenrc file, and execute `projen`, other files in
5
- your repo may change as a result.
6
-
7
- This is also relevant in other situations where your build process _mutates_
8
- your repository. For example, if you use **snapshot testing**, your repository
9
- includes snapshots which represent expected test results. When your code
10
- changes, you will likely need to update those snapshots as well.
11
-
12
- To ensure that a pull request branch always represent the final state of the
13
- repository, you can enable the `mutableBuild` option in your project
14
- configuration (currently only supported for projects derived from
15
- `NodeProject`).
16
-
17
- When enabled, the PR build workflow (also called `build`) will push any modified
18
- files to the PR branch after a successful build, so that the branch will always
19
- reflect the most up-to-date version of all generated files.
20
-
21
- ## Forks
22
-
23
- This feature does not work for forks since it is impossible to safely push
24
- changes to a fork from a PR build. If a PR is created from a fork of the
25
- repository and there are build mutations, the PR build will fail (indicating
26
- that it cannot push to the fork). To fix this, the branch needs to be updated
27
- (same behavior as if mutable builds was disabled).
package/docs/publisher.md CHANGED
@@ -24,7 +24,10 @@ const publisher = new Publisher(project, {
24
24
  });
25
25
  ```
26
26
 
27
- `workflow` is a `GithubWorkflow` with at least one job (in this case named `my-build-job`) which is responsile to build the code and upload a GitHub workflows artifact (named `dist` in this case) which will then be consumed by the publishing jobs.
27
+ `workflow` is a `GithubWorkflow` with at least one job (in this case named
28
+ `my-build-job`) which is responsible to build the code and upload a GitHub
29
+ workflows artifact (named `dist` in this case) which will then be consumed by
30
+ the publishing jobs.
28
31
 
29
32
  This component is opinionated about the subdirectory structure of the artifact:
30
33
 
@@ -48,6 +51,24 @@ publisher.publishToMaven(/* options */);
48
51
 
49
52
  See API reference for options for each target.
50
53
 
54
+ ## Customizing Publishing Jobs
55
+
56
+ You can customize the publishing jobs by specifying `prePublishSteps` which is a
57
+ set of GitHub workflow steps to be executed before publishing. The
58
+ `publishTools` option can be used to setup the toolchain required for the
59
+ publishing job.
60
+
61
+ For example:
62
+
63
+ ```ts
64
+ publisher.publishToNuGet({
65
+ publishTools: { dotnet: { version: '5.x' } },
66
+ prePublishSteps: [
67
+ { run: 'dotnet ...' }
68
+ ]
69
+ });
70
+ ```
71
+
51
72
  ## Publishing to GitHub Packages
52
73
 
53
74
  Some targets come with dynamic defaults that support GitHub Packages.
@@ -55,6 +76,7 @@ If the respective registry URL is detected to be GitHub, other relevant options
55
76
  It will also ensure that the workflow token has write permissions for Packages.
56
77
 
57
78
  **npm**
79
+
58
80
  ```ts
59
81
  publisher.publishToNpm({
60
82
  registry: 'npm.pkg.github.com'
@@ -63,6 +85,7 @@ publisher.publishToNpm({
63
85
  ```
64
86
 
65
87
  **Maven**
88
+
66
89
  ```ts
67
90
  publisher.publishToMaven({
68
91
  mavenRepositoryUrl: 'https://maven.pkg.github.com/USER/REPO'
@@ -78,6 +101,7 @@ If the respective registry URL is detected to be AWS CodeArtifact, other relevan
78
101
  The authentication will done using [AWS CLI](https://docs.aws.amazon.com/codeartifact/latest/ug/tokens-authentication.html). It is neccessary to provide AWS IAM CLI `AWS_ACCESS_KEY_ID` and `AWS_SECRET_ACCESS_KEY` in GitHub Secrets.
79
102
 
80
103
  **npm**
104
+
81
105
  ```ts
82
106
  publisher.publishToNpm({
83
107
  registry: 'my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/',
@@ -85,6 +109,7 @@ publisher.publishToNpm({
85
109
  ```
86
110
 
87
111
  The names of the GitHub Secrets can be overridden if different names should be used.
112
+
88
113
  ```ts
89
114
  publisher.publishToNpm({
90
115
  registry: 'my-domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/npm/my_repo/',
@@ -94,6 +119,7 @@ publisher.publishToNpm({
94
119
  },
95
120
  });
96
121
  ```
122
+
97
123
  ## Handling Failures
98
124
 
99
125
  You can instruct the publisher to create GitHub issues for publish failures:
@@ -112,3 +138,11 @@ This will create an issue labeled with the `failed-release` label for every indi
112
138
  For example, if Nuget publishing failed for a specific version, it will create an issue titled *Publishing v1.0.4 to Nuget gallery failed*.
113
139
 
114
140
  This can be helpful to keep track of failed releases as well as integrate with third-party ticketing systems by querying issues labeled with `failed-release`.
141
+
142
+ ## Dry run
143
+
144
+ If you wish to completely disable publishing, you can enable the `dryRun` option on
145
+ `Publisher` or `publishDryRun` on the project.
146
+
147
+ This will cause all publishing tasks and jobs to just print the publishing
148
+ command but not actually publish.
@@ -50,5 +50,5 @@ class AutoDiscover extends component_1.Component {
50
50
  }
51
51
  exports.AutoDiscover = AutoDiscover;
52
52
  _a = JSII_RTTI_SYMBOL_1;
53
- AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.45.3" };
53
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.46.2" };
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBR3pDLHlEQUFxRDtBQUNyRCx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFxQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFsQ0gsb0NBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSAnLi9hd3NjZGstZGVwcyc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3QgfSBmcm9tICcuL2ludGVncmF0aW9uLXRlc3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5hdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9ucyk7XG4gICAgdGhpcy5hdXRvRGlzY292ZXJJbnRlZ3JhdGlvblRlc3RzKG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMuc3JjZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50OiBqb2luKG9wdGlvbnMuc3JjZGlyLCBlbnRyeXBvaW50KSxcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICAuLi5vcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9EaXNjb3ZlckludGVncmF0aW9uVGVzdHMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0lOVEVHX0VYVH1gLCB7XG4gICAgICBjd2Q6IGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgb3B0aW9ucy50ZXN0ZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnRlc3RkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufSJdfQ==
@@ -109,7 +109,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
109
109
  }
110
110
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
111
111
  _a = JSII_RTTI_SYMBOL_1;
112
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.45.3" };
112
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.46.2" };
113
113
  class SampleCode extends component_1.Component {
114
114
  constructor(project, cdkMajorVersion) {
115
115
  super(project);
@@ -85,7 +85,7 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
85
85
  }
86
86
  exports.AwsCdkConstructLibrary = AwsCdkConstructLibrary;
87
87
  _a = JSII_RTTI_SYMBOL_1;
88
- AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.45.3" };
88
+ AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.46.2" };
89
89
  function determineWorkflowContainerImage(options, cdkMajorVersion) {
90
90
  // if the user specifies the workflow container image explicitly, use that
91
91
  if (options.workflowContainerImage) {
@@ -112,5 +112,5 @@ class ConstructLibraryAws extends AwsCdkConstructLibrary {
112
112
  }
113
113
  exports.ConstructLibraryAws = ConstructLibraryAws;
114
114
  _b = JSII_RTTI_SYMBOL_1;
115
- ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.45.3" };
115
+ ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.46.2" };
116
116
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxnQ0FBbUU7QUFDbkUsa0RBQWlEO0FBQ2pELG1EQUErQztBQUMvQywrQ0FBb0U7Ozs7Ozs7Ozs7O0FBYXBFLE1BQWEsc0JBQXVCLFNBQVEsc0JBQWdCOzs7O0lBRzFELFlBQVksT0FBc0M7O1FBQ2hELE1BQU0sZUFBZSxTQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLENBQUM7UUFFaEUsS0FBSyxDQUFDO1lBQ0oscUJBQXFCLEVBQUUsZUFBZSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQzdDLG1CQUFtQixFQUFFLEtBQUs7YUFDM0IsQ0FBQyxDQUFDLENBQUMsU0FBUztZQUNiLHNCQUFzQixFQUFFLCtCQUErQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUM7WUFDakYsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLHdCQUFVLENBQUMsSUFBSSxFQUFFO1lBQ2xDLG9FQUFvRTtZQUNwRSxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxJQUFJO1lBQ25DLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILE1BQU0sa0JBQWtCLFNBQUcsT0FBTyxDQUFDLGtCQUFrQixtQ0FBSSxJQUFJLENBQUM7UUFDOUQsSUFBSSxrQkFBa0IsRUFBRTtZQUN0QixJQUFJLDRCQUFZLENBQUMsSUFBSSxFQUFFO2dCQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07Z0JBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDckIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhO2dCQUNwQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRO2dCQUN2QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87YUFDdEIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7Ozs7SUFHRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQztJQUNqQyxDQUFDOzs7O0lBR0QsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDOzs7Ozs7Ozs7SUFHTSxrQkFBa0IsQ0FBQyxHQUFHLElBQWM7UUFDekMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQzs7Ozs7OztJQUdNLHNCQUFzQixDQUFDLEdBQUcsSUFBYztRQUM3QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOztBQWxESCx3REFtREM7OztBQUVELFNBQVMsK0JBQStCLENBQUMsT0FBc0MsRUFBRSxlQUFtQztJQUNsSCwwRUFBMEU7SUFDMUUsSUFBSSxPQUFPLENBQUMsc0JBQXNCLEVBQUU7UUFDbEMsT0FBTyxPQUFPLENBQUMsc0JBQXNCLENBQUM7S0FDdkM7SUFFRCxpRkFBaUY7SUFDakYsK0VBQStFO0lBQy9FLElBQUksT0FBTyxDQUFDLGNBQWMsRUFBRTtRQUMxQixPQUFPLFNBQVMsQ0FBQztLQUNsQjtJQUVELHdFQUF3RTtJQUN4RSxJQUFJLGVBQWUsS0FBSyxDQUFDLEVBQUU7UUFDekIsT0FBTywrQkFBK0IsQ0FBQztLQUN4QztJQUVELElBQUksZUFBZSxLQUFLLENBQUMsRUFBRTtRQUN6QixPQUFPLHNDQUFzQyxDQUFDO0tBQy9DO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQzs7OztBQU1ELE1BQWEsbUJBQW9CLFNBQVEsc0JBQXNCOztBQUEvRCxrREFBbUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSAnc2VtdmVyJztcbmltcG9ydCB7IENvbnN0cnVjdExpYnJhcnksIENvbnN0cnVjdExpYnJhcnlPcHRpb25zIH0gZnJvbSAnLi4vY2RrJztcbmltcG9ydCB7IERlcGVuZGVuY3lUeXBlIH0gZnJvbSAnLi4vZGVwZW5kZW5jaWVzJztcbmltcG9ydCB7IEF1dG9EaXNjb3ZlciB9IGZyb20gJy4vYXV0by1kaXNjb3Zlcic7XG5pbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vYXdzY2RrLWRlcHMnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zIH0gZnJvbSAnLi9sYW1iZGEtZnVuY3Rpb24nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucywgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbGFtYmRhT3B0aW9ucz86IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5wYXJzZShvcHRpb25zLmNka1ZlcnNpb24pPy5tYWpvcjtcblxuICAgIHN1cGVyKHtcbiAgICAgIHBlZXJEZXBlbmRlbmN5T3B0aW9uczogY2RrTWFqb3JWZXJzaW9uID09PSAxID8ge1xuICAgICAgICBwaW5uZWREZXZEZXBlbmRlbmN5OiBmYWxzZSxcbiAgICAgIH0gOiB1bmRlZmluZWQsXG4gICAgICB3b3JrZmxvd0NvbnRhaW5lckltYWdlOiBkZXRlcm1pbmVXb3JrZmxvd0NvbnRhaW5lckltYWdlKG9wdGlvbnMsIGNka01ham9yVmVyc2lvbiksXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHModGhpcywge1xuICAgICAgLy8gc2luY2UgdGhpcyB3ZSBhcmUgYSBsaWJyYXJ5LCBkZXBlbmRlbmNpZXMgc2hvdWxkIGJlIGFkZGVkIGEgcGVlcnNcbiAgICAgIGRlcGVuZGVuY3lUeXBlOiBEZXBlbmRlbmN5VHlwZS5QRUVSLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGxhbWJkYUF1dG9EaXNjb3ZlciA9IG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWU7XG4gICAgaWYgKGxhbWJkYUF1dG9EaXNjb3Zlcikge1xuICAgICAgbmV3IEF1dG9EaXNjb3Zlcih0aGlzLCB7XG4gICAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICAgIHRlc3RkaXI6IHRoaXMudGVzdGRpcixcbiAgICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IHRoaXMudHNjb25maWdEZXYuZmlsZU5hbWUsXG4gICAgICAgIGNka0RlcHM6IHRoaXMuY2RrRGVwcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCBjZGtWZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNka0RlcHMuY2RrVmVyc2lvbjtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGdldCB2ZXJzaW9uKCkge1xuICAgIHJldHVybiB0aGlzLmNka1ZlcnNpb247XG4gIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jaWVzKC4uLmRlcHM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrRGVwcy5hZGRWMURlcGVuZGVuY2llcyguLi5kZXBzKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIGFkZENka1Rlc3REZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmFkZFYxRGV2RGVwZW5kZW5jaWVzKC4uLmRlcHMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGRldGVybWluZVdvcmtmbG93Q29udGFpbmVySW1hZ2Uob3B0aW9uczogQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMsIGNka01ham9yVmVyc2lvbjogbnVtYmVyIHwgdW5kZWZpbmVkKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgLy8gaWYgdGhlIHVzZXIgc3BlY2lmaWVzIHRoZSB3b3JrZmxvdyBjb250YWluZXIgaW1hZ2UgZXhwbGljaXRseSwgdXNlIHRoYXRcbiAgaWYgKG9wdGlvbnMud29ya2Zsb3dDb250YWluZXJJbWFnZSkge1xuICAgIHJldHVybiBvcHRpb25zLndvcmtmbG93Q29udGFpbmVySW1hZ2U7XG4gIH1cblxuICAvLyBpZiB0aGUgdXNlciBzcGVjaWZpZXMgbWluaW11bSBub2RlIHZlcnNpb24sIHRoZW4gSnNpaVByb2plY3Qgd2lsbCB0YWtlIGNhcmUgb2ZcbiAgLy8gZGV0ZXJtaW5pbmcgdGhlIHdvcmtmbG93IGNvbnRhaW5lciBpbWFnZSBmcm9tIHRoYXQsIHNvIHdlIHJldHVybiBcInVuZGVmaW5lZFwiXG4gIGlmIChvcHRpb25zLm1pbk5vZGVWZXJzaW9uKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIC8vIG90aGVyd2lzZSwgY2hvb3NlIGEgd29ya2Zsb3cgY29udGFpbmVyIGltYWdlIGJhc2VkIG9uIHRoZSBDREsgdmVyc2lvblxuICBpZiAoY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgcmV0dXJuICdqc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbSc7XG4gIH1cblxuICBpZiAoY2RrTWFqb3JWZXJzaW9uID09PSAyKSB7XG4gICAgcmV0dXJuICdqc2lpL3N1cGVyY2hhaW46MS1idXN0ZXItc2xpbS1ub2RlMTQnO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgaW50ZXJmYWNlIENvbnN0cnVjdExpYnJhcnlBd3NPcHRpb25zIGV4dGVuZHMgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgeyB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQ29uc3RydWN0TGlicmFyeUF3cyBleHRlbmRzIEF3c0Nka0NvbnN0cnVjdExpYnJhcnkgeyB9XG5cblxuIl19
@@ -154,7 +154,7 @@ class AwsCdkDeps extends component_1.Component {
154
154
  }
155
155
  exports.AwsCdkDeps = AwsCdkDeps;
156
156
  _a = JSII_RTTI_SYMBOL_1;
157
- AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.45.3" };
157
+ AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.46.2" };
158
158
  function determineFrameworkVersion(options) {
159
159
  const ver = semver.parse(options.cdkVersion);
160
160
  if (!ver) {
@@ -46,7 +46,7 @@ class CdkConfig extends component_1.Component {
46
46
  }
47
47
  exports.CdkConfig = CdkConfig;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.45.3" };
49
+ CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.46.2" };
50
50
  /**
51
51
  * (experimental) Which approval is required when deploying CDK apps.
52
52
  *
@@ -46,5 +46,5 @@ class CdkTasks extends component_1.Component {
46
46
  }
47
47
  exports.CdkTasks = CdkTasks;
48
48
  _a = JSII_RTTI_SYMBOL_1;
49
- CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.45.3" };
49
+ CdkTasks[_a] = { fqn: "projen.awscdk.CdkTasks", version: "0.46.2" };
50
50
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLXRhc2tzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9jZGstdGFza3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSw0Q0FBeUM7Ozs7OztBQUt6QyxNQUFhLFFBQVMsU0FBUSxxQkFBUzs7OztJQWdCckMsWUFBWSxPQUFnQjs7UUFDMUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWYsSUFBSSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTtZQUNwQyxXQUFXLEVBQUUsOERBQThEO1lBQzNFLElBQUksRUFBRSx1QkFBdUI7U0FDOUIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRTtZQUN0QyxXQUFXLEVBQUUsdUNBQXVDO1lBQ3BELElBQUksRUFBRSxZQUFZO1NBQ25CLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDeEMsV0FBVyxFQUFFLHdDQUF3QztZQUNyRCxJQUFJLEVBQUUsYUFBYTtTQUNwQixDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxvREFBb0Q7WUFDakUsSUFBSSxFQUFFLFVBQVU7U0FDakIsQ0FBQyxDQUFDO1FBRUgsMkVBQTJFO1FBQzNFLE1BQU0sS0FBSyxTQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxtQ0FBSSxPQUFPLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRXpFLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNkLEtBQUssQ0FBQyxXQUFXLEdBQUcscUZBQXFGLENBQUM7UUFFMUcsaUVBQWlFO1FBQ2pFLGtEQUFrRDtRQUNsRCxLQUFLLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFbkMsNEJBQTRCO1FBQzVCLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7QUFyREgsNEJBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50JztcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tICcuLi9wcm9qZWN0JztcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90YXNrJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIENka1Rhc2tzIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBzeW50aDogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95OiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveTogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IGRpZmY6IFRhc2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcHVibGljIHJlYWRvbmx5IHdhdGNoOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcblxuICAgIHRoaXMuc3ludGggPSBwcm9qZWN0LmFkZFRhc2soJ3N5bnRoJywge1xuICAgICAgZGVzY3JpcHRpb246ICdTeW50aGVzaXplcyB5b3VyIGNkayBhcHAgaW50byBjZGsub3V0IChwYXJ0IG9mIFwieWFybiBidWlsZFwiKScsXG4gICAgICBleGVjOiAnY2RrIHN5bnRoID4gL2Rldi9udWxsJywgLy8gcmVkaXJlY3QgdG8gL2Rldi9udWxsIHRvIGhpZGUgdGVtcGxhdGVcbiAgICB9KTtcblxuICAgIHRoaXMuZGVwbG95ID0gcHJvamVjdC5hZGRUYXNrKCdkZXBsb3knLCB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0RlcGxveXMgeW91ciBDREsgYXBwIHRvIHRoZSBBV1MgY2xvdWQnLFxuICAgICAgZXhlYzogJ2NkayBkZXBsb3knLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXN0cm95ID0gcHJvamVjdC5hZGRUYXNrKCdkZXN0cm95Jywge1xuICAgICAgZGVzY3JpcHRpb246ICdEZXN0cm95cyB5b3VyIGNkayBhcHAgaW4gdGhlIEFXUyBjbG91ZCcsXG4gICAgICBleGVjOiAnY2RrIGRlc3Ryb3knLFxuICAgIH0pO1xuXG4gICAgdGhpcy5kaWZmID0gcHJvamVjdC5hZGRUYXNrKCdkaWZmJywge1xuICAgICAgZGVzY3JpcHRpb246ICdEaWZmcyB0aGUgY3VycmVudGx5IGRlcGxveWVkIGFwcCBhZ2FpbnN0IHlvdXIgY29kZScsXG4gICAgICBleGVjOiAnY2RrIGRpZmYnLFxuICAgIH0pO1xuXG4gICAgLy8gdHlwZXNjcmlwdCBwcm9qZWN0cyBhbHJlYWR5IGhhdmUgYSBcIndhdGNoXCIgdGFzaywgd2Ugd2Ugd2lsbCByZXB1cnBvc2UgaXRcbiAgICBjb25zdCB3YXRjaCA9IHByb2plY3QudGFza3MudHJ5RmluZCgnd2F0Y2gnKSA/PyBwcm9qZWN0LmFkZFRhc2soJ3dhdGNoJyk7XG5cbiAgICB3YXRjaC5yZXNldCgpO1xuICAgIHdhdGNoLmRlc2NyaXB0aW9uID0gJ1dhdGNoZXMgY2hhbmdlcyBpbiB5b3VyIHNvdXJjZSBjb2RlIGFuZCByZWJ1aWxkcyBhbmQgZGVwbG95cyB0byB0aGUgY3VycmVudCBhY2NvdW50JztcblxuICAgIC8vIGRlcGxveSBmaXJzdCBiZWNhdXNlIHN1cnByaXNpbmdseSB3YXRjaCBpcyBub3QgZGVwbG95aW5nIGZpcnN0XG4gICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hd3MvYXdzLWNkay9pc3N1ZXMvMTc3NzZcbiAgICB3YXRjaC5leGVjKCdjZGsgZGVwbG95IC0taG90c3dhcCcpO1xuXG4gICAgLy8gbm93IHdlIGFyZSByZWFkeSB0byB3YXRjaFxuICAgIHdhdGNoLmV4ZWMoJ2NkayB3YXRjaCcpO1xuXG4gICAgdGhpcy53YXRjaCA9IHdhdGNoO1xuICB9XG59Il19
@@ -32,6 +32,9 @@ class IntegrationTest extends component_1.Component {
32
32
  const opts = [
33
33
  `--app "${app}"`,
34
34
  '--no-version-reporting',
35
+ // don't inject cloudformation metadata into template
36
+ '--no-path-metadata',
37
+ '--no-asset-metadata',
35
38
  ];
36
39
  if (options.cdkDeps.cdkMajorVersion === 1) {
37
40
  // add all feature flags
@@ -99,5 +102,5 @@ class IntegrationTest extends component_1.Component {
99
102
  }
100
103
  exports.IntegrationTest = IntegrationTest;
101
104
  _a = JSII_RTTI_SYMBOL_1;
102
- IntegrationTest[_a] = { fqn: "projen.awscdk.IntegrationTest", version: "0.45.3" };
103
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvaW50ZWdyYXRpb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQztBQUMvQyw0Q0FBeUM7QUFDekMsa0RBQWlEO0FBSWpELHlDQUFpRTs7Ozs7O0FBb0JqRSxNQUFhLGVBQWdCLFNBQVEscUJBQVM7Ozs7SUFnQjVDLFlBQVksT0FBZ0IsRUFBRSxPQUErQjs7UUFDM0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNqQyxNQUFNLElBQUksR0FBRyxlQUFRLENBQUMsS0FBSyxFQUFFLCtCQUFvQixDQUFDLENBQUM7UUFDbkQsTUFBTSxHQUFHLEdBQUcsY0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLFdBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxNQUFNLFNBQVMsR0FBRyxXQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLFdBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLENBQUM7UUFFeEQsTUFBTSxHQUFHLEdBQUcsY0FBYyxPQUFPLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSw2QkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxJQUFJLEdBQUc7WUFDWCxV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WSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUUvRSwyQ0FBMkM7UUFDM0MsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtTQUNyRTtRQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBDLGlEQUFpRDtRQUNqRCxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQzs7QUFwSEgsMENBcUhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZW5hbWUsIGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdGFzayc7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSAnLi9hd3NjZGstZGVwcyc7XG5pbXBvcnQgeyBGRUFUVVJFX0ZMQUdTLCBUWVBFU0NSSVBUX0lOVEVHX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGVzdHJveUFmdGVyRGVwbG95PzogYm9vbGVhbjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25UZXN0T3B0aW9ucyBleHRlbmRzIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95VGFzazogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVRhc2s6IFRhc2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBhc3NlcnRUYXNrOiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc25hcHNob3RUYXNrOiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgd2F0Y2hUYXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICBjb25zdCBlbnRyeSA9IG9wdGlvbnMuZW50cnlwb2ludDtcbiAgICBjb25zdCBuYW1lID0gYmFzZW5hbWUoZW50cnksIFRZUEVTQ1JJUFRfSU5URUdfRVhUKTtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKGVudHJ5KTtcblxuICAgIGNvbnN0IGRlcGxveWRpciA9IGpvaW4oZGlyLCAnLnRtcCcsIGAke25hbWV9LmludGVnYCwgJ2RlcGxveS5jZGsub3V0Jyk7XG4gICAgY29uc3QgYWN0dWFsZGlyID0gam9pbihkaXIsICcudG1wJywgYCR7bmFtZX0uaW50ZWdgLCAnc3ludGguY2RrLm91dCcpO1xuICAgIGNvbnN0IHNuYXBzaG90ZGlyID0gam9pbihkaXIsIGAke25hbWV9LmludGVnLnNuYXBzaG90YCk7XG5cbiAgICBjb25zdCBhcHAgPSBgdHMtbm9kZSAtUCAke29wdGlvbnMudHNjb25maWdQYXRofSAke2VudHJ5fWA7XG5cbiAgICBpZiAoIXByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KCd0cy1ub2RlJykpIHtcbiAgICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KCd0cy1ub2RlJywgRGVwZW5kZW5jeVR5cGUuQlVJTEQpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSBbXG4gICAgICBgLS1hcHAgXCIke2FwcH1cImAsXG4gICAgICAnLS1uby12ZXJzaW9uLXJlcG9ydGluZycsXG4gICAgXTtcblxuICAgIGlmIChvcHRpb25zLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgICAvLyBhZGQgYWxsIGZlYXR1cmUgZmxhZ3NcbiAgICAgIGNvbnN0IGZlYXR1cmVzID0gW1xuICAgICAgICAuLi5GRUFUVVJFX0ZMQUdTLFxuICAgICAgICAnQGF3cy1jZGsvY29yZTpuZXdTdHlsZVN0YWNrU3ludGhlc2lzJywgLy8gc2ltcGxpZmllcyBhc3NldCBjb29yZGluYXRlcyBpbiBzeW50aCBvdXRwdXRcbiAgICAgIF07XG5cbiAgICAgIGZvciAoY29uc3QgZmVhdHVyZSBvZiBmZWF0dXJlcykge1xuICAgICAgICBvcHRzLnB1c2goYC0tY29udGV4dCAke2ZlYXR1cmV9PXRydWVgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjZGtvcHRzID0gb3B0cy5qb2luKCcgJyk7XG5cbiAgICBjb25zdCBkZXBsb3lUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OmRlcGxveWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgZGVwbG95IGludGVncmF0aW9uIHRlc3QgJyR7bmFtZX0nIGFuZCBjYXB0dXJlIHNuYXBzaG90YCxcbiAgICB9KTtcblxuICAgIGRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7ZGVwbG95ZGlyfWApO1xuICAgIGRlcGxveVRhc2suZXhlYyhgY2RrIGRlcGxveSAke2Nka29wdHN9IC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlciAtbyAke2RlcGxveWRpcn1gKTtcblxuICAgIC8vIGlmIGRlcGxveW1lbnQgd2FzIHN1Y2Nlc3NmdWwsIGNvcHkgdGhlIGRlcGxveSBkaXIgdG8gdGhlIGV4cGVjdGVkIGRpclxuICAgIGRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7c25hcHNob3RkaXJ9YCk7XG4gICAgZGVwbG95VGFzay5leGVjKGBtdiAke2RlcGxveWRpcn0gJHtzbmFwc2hvdGRpcn1gKTtcblxuICAgIGNvbnN0IHdhdGNoVGFzayA9IHByb2plY3QuYWRkVGFzayhgaW50ZWc6JHtuYW1lfTp3YXRjaGAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgd2F0Y2ggaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfScgKHdpdGhvdXQgdXBkYXRpbmcgc25hcHNob3RzKWAsXG4gICAgICBleGVjOiBgY2RrIHdhdGNoICR7Y2Rrb3B0c30gLW8gJHtkZXBsb3lkaXJ9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlc3Ryb3lUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OmRlc3Ryb3lgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYGRlc3Ryb3kgaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfSdgLFxuICAgICAgZXhlYzogYGNkayBkZXN0cm95IC0tYXBwICR7c25hcHNob3RkaXJ9IC0tbm8tdmVyc2lvbi1yZXBvcnRpbmdgLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVzdHJveUFmdGVyRGVwbG95ID0gb3B0aW9ucy5kZXN0cm95QWZ0ZXJEZXBsb3kgPz8gdHJ1ZTtcbiAgICBpZiAoZGVzdHJveUFmdGVyRGVwbG95KSB7XG4gICAgICBkZXBsb3lUYXNrLnNwYXduKGRlc3Ryb3lUYXNrKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGNsdWRlID0gWydhc3NldC4qJywgJ2Nkay5vdXQnLCAnbWFuaWZlc3QuanNvbicsICd0cmVlLmpzb24nXTtcblxuICAgIGNvbnN0IGFzc2VydFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7bmFtZX06YXNzZXJ0YCwge1xuICAgICAgZGVzY3JpcHRpb246IGBhc3NlcnQgdGhlIHNuYXBzaG90IG9mIGludGVncmF0aW9uIHRlc3QgJyR7bmFtZX0nYCxcbiAgICB9KTtcblxuICAgIGFzc2VydFRhc2suZXhlYyhgWyAtZCBcIiR7c25hcHNob3RkaXJ9XCIgXSB8fCAoZWNobyBcIk5vIHNuYXBzaG90IGF2YWlsYWJsZSBmb3IgaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfScuIFJ1biAncHJvamVuICR7ZGVwbG95VGFzay5uYW1lfScgdG8gY2FwdHVyZS5cIiAmJiBleGl0IDEpYCk7XG4gICAgYXNzZXJ0VGFzay5leGVjKGBjZGsgc3ludGggJHtjZGtvcHRzfSAtbyAke2FjdHVhbGRpcn0gPiAvZGV2L251bGxgKTtcbiAgICBhc3NlcnRUYXNrLmV4ZWMoYGRpZmYgLXIgJHtleGNsdWRlLm1hcCh4ID0+IGAteCAke3h9YCkuam9pbignICcpfSAke3NuYXBzaG90ZGlyfS8gJHthY3R1YWxkaXJ9L2ApO1xuXG4gICAgY29uc3Qgc25hcHNob3RUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OnNuYXBzaG90YCwge1xuICAgICAgZGVzY3JpcHRpb246IGB1cGRhdGUgc25hcHNob3QgZm9yIGludGVncmF0aW9uIHRlc3QgXCIke25hbWV9XCJgLFxuICAgICAgZXhlYzogYGNkayBzeW50aCAke2Nka29wdHN9IC1vICR7c25hcHNob3RkaXJ9ID4gL2Rldi9udWxsYCxcbiAgICB9KTtcblxuICAgIC8vIHN5bnRoIGFzIHBhcnQgb2Ygb3VyIHRlc3RzLCB3aGljaCBtZWFucyB0aGF0IGlmIG91dGRpciBjaGFuZ2VzLCBhbnRpLXRhbXBlciB3aWxsIGZhaWxcbiAgICBwcm9qZWN0LnRlc3RUYXNrLnNwYXduKGFzc2VydFRhc2spO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAhJHtzbmFwc2hvdGRpcn1gKTsgLy8gY29tbWl0IG91dGRpciB0byBnaXQgYnV0IG5vdCBhc3NldHNcblxuICAgIC8vIGRvIG5vdCBjb21taXQgYWxsIGZpbGVzIHdlIGFyZSBleGNsdWRpbmdcbiAgICBmb3IgKGNvbnN0IHggb2YgZXhjbHVkZSkge1xuICAgICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoYCR7c25hcHNob3RkaXJ9LyR7eH1gKTtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3NuYXBzaG90ZGlyfS8qKi8ke3h9YCk7IC8vIG5lc3RlZCBhc3NlbWJsaWVzXG4gICAgfVxuXG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoZGVwbG95ZGlyKTtcbiAgICBwcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoZGVwbG95ZGlyKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZShhY3R1YWxkaXIpO1xuICAgIHByb2plY3QuYWRkUGFja2FnZUlnbm9yZShhY3R1YWxkaXIpO1xuXG4gICAgLy8gY29tbWl0IHRoZSBzbmFwc2hvdCAoYnV0IG5vdCBpbnRvIHRoZSB0YXJiYWxsKVxuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAhJHtzbmFwc2hvdGRpcn1gKTtcbiAgICBwcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoc25hcHNob3RkaXIpO1xuXG4gICAgdGhpcy5kZXBsb3lUYXNrID0gZGVwbG95VGFzaztcbiAgICB0aGlzLmFzc2VydFRhc2sgPSBhc3NlcnRUYXNrO1xuICAgIHRoaXMuZGVzdHJveVRhc2sgPSBkZXN0cm95VGFzaztcbiAgICB0aGlzLnNuYXBzaG90VGFzayA9IHNuYXBzaG90VGFzaztcbiAgICB0aGlzLndhdGNoVGFzayA9IHdhdGNoVGFzaztcbiAgfVxufSJdfQ==
105
+ IntegrationTest[_a] = { fqn: "projen.awscdk.IntegrationTest", version: "0.46.2" };
106
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZWdyYXRpb24tdGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvaW50ZWdyYXRpb24tdGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUErQztBQUMvQyw0Q0FBeUM7QUFDekMsa0RBQWlEO0FBSWpELHlDQUFpRTs7Ozs7O0FBb0JqRSxNQUFhLGVBQWdCLFNBQVEscUJBQVM7Ozs7SUFnQjVDLFlBQVksT0FBZ0IsRUFBRSxPQUErQjs7UUFDM0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2YsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNqQyxNQUFNLElBQUksR0FBRyxlQUFRLENBQUMsS0FBSyxFQUFFLCtCQUFvQixDQUFDLENBQUM7UUFDbkQsTUFBTSxHQUFHLEdBQUcsY0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTNCLE1BQU0sU0FBUyxHQUFHLFdBQUksQ0FBQyxHQUFHLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN2RSxNQUFNLFNBQVMsR0FBRyxXQUFJLENBQUMsR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksUUFBUSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sV0FBVyxHQUFHLFdBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxJQUFJLGlCQUFpQixDQUFDLENBQUM7UUFFeEQsTUFBTSxHQUFHLEdBQUcsY0FBYyxPQUFPLENBQUMsWUFBWSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBRTFELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSw2QkFBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzdEO1FBRUQsTUFBTSxJQUFJLEdBQUc7WUFDWCxV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Q0FBQyxVQUFVLENBQUMsQ0FBQztRQUNuQyxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztRQUUvRSwyQ0FBMkM7UUFDM0MsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLFdBQVcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLE9BQU8sQ0FBQyxZQUFZLENBQUMsR0FBRyxXQUFXLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG9CQUFvQjtTQUNyRTtRQUVELE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXBDLGlEQUFpRDtRQUNqRCxPQUFPLENBQUMsWUFBWSxDQUFDLElBQUksV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN4QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDakMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7SUFDN0IsQ0FBQzs7QUF2SEgsMENBd0hDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmFzZW5hbWUsIGRpcm5hbWUsIGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gJy4uL2RlcGVuZGVuY2llcyc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdGFzayc7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSAnLi9hd3NjZGstZGVwcyc7XG5pbXBvcnQgeyBGRUFUVVJFX0ZMQUdTLCBUWVBFU0NSSVBUX0lOVEVHX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZGVzdHJveUFmdGVyRGVwbG95PzogYm9vbGVhbjtcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgSW50ZWdyYXRpb25UZXN0T3B0aW9ucyBleHRlbmRzIEludGVncmF0aW9uVGVzdENvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgZW50cnlwb2ludDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSB0c2NvbmZpZ1BhdGg6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcbn1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBjbGFzcyBJbnRlZ3JhdGlvblRlc3QgZXh0ZW5kcyBDb21wb25lbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVwbG95VGFzazogVGFzaztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgZGVzdHJveVRhc2s6IFRhc2s7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBhc3NlcnRUYXNrOiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgc25hcHNob3RUYXNrOiBUYXNrO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgd2F0Y2hUYXNrOiBUYXNrO1xuXG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdE9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0KTtcbiAgICBjb25zdCBlbnRyeSA9IG9wdGlvbnMuZW50cnlwb2ludDtcbiAgICBjb25zdCBuYW1lID0gYmFzZW5hbWUoZW50cnksIFRZUEVTQ1JJUFRfSU5URUdfRVhUKTtcbiAgICBjb25zdCBkaXIgPSBkaXJuYW1lKGVudHJ5KTtcblxuICAgIGNvbnN0IGRlcGxveWRpciA9IGpvaW4oZGlyLCAnLnRtcCcsIGAke25hbWV9LmludGVnYCwgJ2RlcGxveS5jZGsub3V0Jyk7XG4gICAgY29uc3QgYWN0dWFsZGlyID0gam9pbihkaXIsICcudG1wJywgYCR7bmFtZX0uaW50ZWdgLCAnc3ludGguY2RrLm91dCcpO1xuICAgIGNvbnN0IHNuYXBzaG90ZGlyID0gam9pbihkaXIsIGAke25hbWV9LmludGVnLnNuYXBzaG90YCk7XG5cbiAgICBjb25zdCBhcHAgPSBgdHMtbm9kZSAtUCAke29wdGlvbnMudHNjb25maWdQYXRofSAke2VudHJ5fWA7XG5cbiAgICBpZiAoIXByb2plY3QuZGVwcy50cnlHZXREZXBlbmRlbmN5KCd0cy1ub2RlJykpIHtcbiAgICAgIHByb2plY3QuZGVwcy5hZGREZXBlbmRlbmN5KCd0cy1ub2RlJywgRGVwZW5kZW5jeVR5cGUuQlVJTEQpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdHMgPSBbXG4gICAgICBgLS1hcHAgXCIke2FwcH1cImAsXG4gICAgICAnLS1uby12ZXJzaW9uLXJlcG9ydGluZycsXG4gICAgICAvLyBkb24ndCBpbmplY3QgY2xvdWRmb3JtYXRpb24gbWV0YWRhdGEgaW50byB0ZW1wbGF0ZVxuICAgICAgJy0tbm8tcGF0aC1tZXRhZGF0YScsXG4gICAgICAnLS1uby1hc3NldC1tZXRhZGF0YScsXG4gICAgXTtcblxuICAgIGlmIChvcHRpb25zLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09PSAxKSB7XG4gICAgICAvLyBhZGQgYWxsIGZlYXR1cmUgZmxhZ3NcbiAgICAgIGNvbnN0IGZlYXR1cmVzID0gW1xuICAgICAgICAuLi5GRUFUVVJFX0ZMQUdTLFxuICAgICAgICAnQGF3cy1jZGsvY29yZTpuZXdTdHlsZVN0YWNrU3ludGhlc2lzJywgLy8gc2ltcGxpZmllcyBhc3NldCBjb29yZGluYXRlcyBpbiBzeW50aCBvdXRwdXRcbiAgICAgIF07XG5cbiAgICAgIGZvciAoY29uc3QgZmVhdHVyZSBvZiBmZWF0dXJlcykge1xuICAgICAgICBvcHRzLnB1c2goYC0tY29udGV4dCAke2ZlYXR1cmV9PXRydWVgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjZGtvcHRzID0gb3B0cy5qb2luKCcgJyk7XG5cbiAgICBjb25zdCBkZXBsb3lUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OmRlcGxveWAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgZGVwbG95IGludGVncmF0aW9uIHRlc3QgJyR7bmFtZX0nIGFuZCBjYXB0dXJlIHNuYXBzaG90YCxcbiAgICB9KTtcblxuICAgIGRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7ZGVwbG95ZGlyfWApO1xuICAgIGRlcGxveVRhc2suZXhlYyhgY2RrIGRlcGxveSAke2Nka29wdHN9IC0tcmVxdWlyZS1hcHByb3ZhbD1uZXZlciAtbyAke2RlcGxveWRpcn1gKTtcblxuICAgIC8vIGlmIGRlcGxveW1lbnQgd2FzIHN1Y2Nlc3NmdWwsIGNvcHkgdGhlIGRlcGxveSBkaXIgdG8gdGhlIGV4cGVjdGVkIGRpclxuICAgIGRlcGxveVRhc2suZXhlYyhgcm0gLWZyICR7c25hcHNob3RkaXJ9YCk7XG4gICAgZGVwbG95VGFzay5leGVjKGBtdiAke2RlcGxveWRpcn0gJHtzbmFwc2hvdGRpcn1gKTtcblxuICAgIGNvbnN0IHdhdGNoVGFzayA9IHByb2plY3QuYWRkVGFzayhgaW50ZWc6JHtuYW1lfTp3YXRjaGAsIHtcbiAgICAgIGRlc2NyaXB0aW9uOiBgd2F0Y2ggaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfScgKHdpdGhvdXQgdXBkYXRpbmcgc25hcHNob3RzKWAsXG4gICAgICBleGVjOiBgY2RrIHdhdGNoICR7Y2Rrb3B0c30gLW8gJHtkZXBsb3lkaXJ9YCxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlc3Ryb3lUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OmRlc3Ryb3lgLCB7XG4gICAgICBkZXNjcmlwdGlvbjogYGRlc3Ryb3kgaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfSdgLFxuICAgICAgZXhlYzogYGNkayBkZXN0cm95IC0tYXBwICR7c25hcHNob3RkaXJ9IC0tbm8tdmVyc2lvbi1yZXBvcnRpbmdgLFxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVzdHJveUFmdGVyRGVwbG95ID0gb3B0aW9ucy5kZXN0cm95QWZ0ZXJEZXBsb3kgPz8gdHJ1ZTtcbiAgICBpZiAoZGVzdHJveUFmdGVyRGVwbG95KSB7XG4gICAgICBkZXBsb3lUYXNrLnNwYXduKGRlc3Ryb3lUYXNrKTtcbiAgICB9XG5cbiAgICBjb25zdCBleGNsdWRlID0gWydhc3NldC4qJywgJ2Nkay5vdXQnLCAnbWFuaWZlc3QuanNvbicsICd0cmVlLmpzb24nXTtcblxuICAgIGNvbnN0IGFzc2VydFRhc2sgPSBwcm9qZWN0LmFkZFRhc2soYGludGVnOiR7bmFtZX06YXNzZXJ0YCwge1xuICAgICAgZGVzY3JpcHRpb246IGBhc3NlcnQgdGhlIHNuYXBzaG90IG9mIGludGVncmF0aW9uIHRlc3QgJyR7bmFtZX0nYCxcbiAgICB9KTtcblxuICAgIGFzc2VydFRhc2suZXhlYyhgWyAtZCBcIiR7c25hcHNob3RkaXJ9XCIgXSB8fCAoZWNobyBcIk5vIHNuYXBzaG90IGF2YWlsYWJsZSBmb3IgaW50ZWdyYXRpb24gdGVzdCAnJHtuYW1lfScuIFJ1biAncHJvamVuICR7ZGVwbG95VGFzay5uYW1lfScgdG8gY2FwdHVyZS5cIiAmJiBleGl0IDEpYCk7XG4gICAgYXNzZXJ0VGFzay5leGVjKGBjZGsgc3ludGggJHtjZGtvcHRzfSAtbyAke2FjdHVhbGRpcn0gPiAvZGV2L251bGxgKTtcbiAgICBhc3NlcnRUYXNrLmV4ZWMoYGRpZmYgLXIgJHtleGNsdWRlLm1hcCh4ID0+IGAteCAke3h9YCkuam9pbignICcpfSAke3NuYXBzaG90ZGlyfS8gJHthY3R1YWxkaXJ9L2ApO1xuXG4gICAgY29uc3Qgc25hcHNob3RUYXNrID0gcHJvamVjdC5hZGRUYXNrKGBpbnRlZzoke25hbWV9OnNuYXBzaG90YCwge1xuICAgICAgZGVzY3JpcHRpb246IGB1cGRhdGUgc25hcHNob3QgZm9yIGludGVncmF0aW9uIHRlc3QgXCIke25hbWV9XCJgLFxuICAgICAgZXhlYzogYGNkayBzeW50aCAke2Nka29wdHN9IC1vICR7c25hcHNob3RkaXJ9ID4gL2Rldi9udWxsYCxcbiAgICB9KTtcblxuICAgIC8vIHN5bnRoIGFzIHBhcnQgb2Ygb3VyIHRlc3RzLCB3aGljaCBtZWFucyB0aGF0IGlmIG91dGRpciBjaGFuZ2VzLCBhbnRpLXRhbXBlciB3aWxsIGZhaWxcbiAgICBwcm9qZWN0LnRlc3RUYXNrLnNwYXduKGFzc2VydFRhc2spO1xuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAhJHtzbmFwc2hvdGRpcn1gKTsgLy8gY29tbWl0IG91dGRpciB0byBnaXQgYnV0IG5vdCBhc3NldHNcblxuICAgIC8vIGRvIG5vdCBjb21taXQgYWxsIGZpbGVzIHdlIGFyZSBleGNsdWRpbmdcbiAgICBmb3IgKGNvbnN0IHggb2YgZXhjbHVkZSkge1xuICAgICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoYCR7c25hcHNob3RkaXJ9LyR7eH1gKTtcbiAgICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAke3NuYXBzaG90ZGlyfS8qKi8ke3h9YCk7IC8vIG5lc3RlZCBhc3NlbWJsaWVzXG4gICAgfVxuXG4gICAgcHJvamVjdC5hZGRHaXRJZ25vcmUoZGVwbG95ZGlyKTtcbiAgICBwcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoZGVwbG95ZGlyKTtcbiAgICBwcm9qZWN0LmFkZEdpdElnbm9yZShhY3R1YWxkaXIpO1xuICAgIHByb2plY3QuYWRkUGFja2FnZUlnbm9yZShhY3R1YWxkaXIpO1xuXG4gICAgLy8gY29tbWl0IHRoZSBzbmFwc2hvdCAoYnV0IG5vdCBpbnRvIHRoZSB0YXJiYWxsKVxuICAgIHByb2plY3QuYWRkR2l0SWdub3JlKGAhJHtzbmFwc2hvdGRpcn1gKTtcbiAgICBwcm9qZWN0LmFkZFBhY2thZ2VJZ25vcmUoc25hcHNob3RkaXIpO1xuXG4gICAgdGhpcy5kZXBsb3lUYXNrID0gZGVwbG95VGFzaztcbiAgICB0aGlzLmFzc2VydFRhc2sgPSBhc3NlcnRUYXNrO1xuICAgIHRoaXMuZGVzdHJveVRhc2sgPSBkZXN0cm95VGFzaztcbiAgICB0aGlzLnNuYXBzaG90VGFzayA9IHNuYXBzaG90VGFzaztcbiAgICB0aGlzLndhdGNoVGFzayA9IHdhdGNoVGFzaztcbiAgfVxufVxuIl19
@@ -86,5 +86,5 @@ class AwsCdkJavaApp extends java_1.JavaProject {
86
86
  }
87
87
  exports.AwsCdkJavaApp = AwsCdkJavaApp;
88
88
  _a = JSII_RTTI_SYMBOL_1;
89
- AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.45.3" };
89
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.46.2" };
90
90
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1hcHAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2phdmEtYXBwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0JBQTRCO0FBQzVCLGlDQUFpQztBQUNqQywwQkFBK0I7QUFDL0Isa0NBQTBEO0FBQzFELDZDQUFpRTtBQUNqRSwyQ0FBdUM7Ozs7Ozs7QUFjdkMsTUFBYSxhQUFjLFNBQVEsa0JBQVc7Ozs7SUFtQjVDLFlBQVksT0FBNkI7O1FBQ3ZDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekQsTUFBTSxXQUFXLEdBQUcsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztRQUUxRSxLQUFLLENBQUM7WUFDSixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsS0FBSztZQUNiLGlCQUFpQixFQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO1NBQ3pDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsQ0FBQztRQUNuQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBRXJDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ3BCLE1BQU0sSUFBSSxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztTQUNoRTtRQUVELE1BQU0sZUFBZSxlQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQywwQ0FBRSxLQUFLLG1DQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLGVBQWUsSUFBSSxDQUFDLEVBQUU7WUFDeEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFHLE9BQU8sQ0FBQyxlQUFlLG1DQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxvQkFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFaEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLHNCQUFTLENBQUMsSUFBSSxFQUFFO1lBQ25DLEdBQUcsRUFBRSwwQ0FBMEMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMvRCxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDbkIsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQywwQkFBMEIsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1NBQ3RFO0lBQ0gsQ0FBQztJQUVPLFNBQVM7UUFDZixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QyxNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxhQUFhLE9BQU8sQ0FBQztRQUM5QyxJQUFJLGFBQVMsQ0FBQyxJQUFJLEVBQUUsV0FBSSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDLEVBQUU7WUFDdkQsS0FBSyxFQUFFO2dCQUNMLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ1YsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHO29CQUMzQixFQUFFO29CQUNGLHlDQUF5QztvQkFDekMsMkNBQTJDO29CQUMzQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsZ0NBQWdDO29CQUNoQyxrQkFBa0I7b0JBQ2xCLEtBQUs7b0JBQ0wsR0FBRztpQkFDSixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDYjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBdEZILHNDQXVGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tICdwYXRoJztcbmltcG9ydCAqIGFzIHNlbXZlciBmcm9tICdzZW12ZXInO1xuaW1wb3J0IHsgU2FtcGxlRGlyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4uL2phdmEnO1xuaW1wb3J0IHsgQ2RrQ29uZmlnLCBDZGtDb25maWdDb21tb25PcHRpb25zIH0gZnJvbSAnLi9jZGstY29uZmlnJztcbmltcG9ydCB7IENka1Rhc2tzIH0gZnJvbSAnLi9jZGstdGFza3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0Nka0phdmFBcHBPcHRpb25zIGV4dGVuZHMgSmF2YVByb2plY3RPcHRpb25zLCBDZGtDb25maWdDb21tb25PcHRpb25zIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IGNka1ZlcnNpb246IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgY2RrRGVwZW5kZW5jaWVzPzogc3RyaW5nW107XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG59XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXdzQ2RrSmF2YUFwcCBleHRlbmRzIEphdmFQcm9qZWN0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrVmVyc2lvbjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0phdmFBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgbWFpbkNsYXNzQ29tcG9uZW50cyA9IG9wdGlvbnMubWFpbkNsYXNzLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbignLicpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbignLicpO1xuICAgIHRoaXMubWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc05hbWU7XG4gICAgdGhpcy5jZGtWZXJzaW9uID0gb3B0aW9ucy5jZGtWZXJzaW9uO1xuXG4gICAgaWYgKCF0aGlzLmNka1ZlcnNpb24pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignUmVxdWlyZWQgZmllbGQgY2RrVmVyc2lvbiBpcyBub3Qgc3BlY2lmaWVkLicpO1xuICAgIH1cblxuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5taW5WZXJzaW9uKHRoaXMuY2RrVmVyc2lvbik/Lm1ham9yID8/IDE7XG4gICAgaWYgKGNka01ham9yVmVyc2lvbiA+PSAyKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NES3YyIGlzIHN0aWxsIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koJ2NvcmUnKTtcbiAgICB0aGlzLmFkZENka0RlcGVuZGVuY3koLi4ub3B0aW9ucy5jZGtEZXBlbmRlbmNpZXMgPz8gW10pO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcbiAgICB0aGlzLnBvc3RDb21waWxlVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoKTtcblxuICAgIHRoaXMuY2RrQ29uZmlnID0gbmV3IENka0NvbmZpZyh0aGlzLCB7XG4gICAgICBhcHA6IGBtdm4gZXhlYzpqYXZhIC0tcXVpZXQgLURleGVjLm1haW5DbGFzcz0ke3RoaXMubWFpbkNsYXNzfWAsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jeSguLi5tb2R1bGVzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgbSBvZiBtb2R1bGVzKSB7XG4gICAgICB0aGlzLmFkZERlcGVuZGVuY3koYHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsvJHttfUAke3RoaXMuY2RrVmVyc2lvbn1gKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFNhbXBsZSgpIHtcbiAgICBjb25zdCBwa2cgPSB0aGlzLm1haW5QYWNrYWdlLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgamF2YUZpbGUgPSBgJHt0aGlzLm1haW5DbGFzc05hbWV9LmphdmFgO1xuICAgIG5ldyBTYW1wbGVEaXIodGhpcywgam9pbignc3JjJywgJ21haW4nLCAnamF2YScsIC4uLnBrZyksIHtcbiAgICAgIGZpbGVzOiB7XG4gICAgICAgIFtqYXZhRmlsZV06IFtcbiAgICAgICAgICBgcGFja2FnZSAke3BrZy5qb2luKCcuJyl9O2AsXG4gICAgICAgICAgJycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuQXBwOycsXG4gICAgICAgICAgJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLmNvcmUuU3RhY2s7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICAnICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7JyxcbiAgICAgICAgICAnICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7JyxcbiAgICAgICAgICAnICAgIG5ldyBTdGFjayhhcHAsIFwiTXlTdGFja1wiKTsnLFxuICAgICAgICAgICcgICAgYXBwLnN5bnRoKCk7JyxcbiAgICAgICAgICAnICB9JyxcbiAgICAgICAgICAnfScsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -122,7 +122,7 @@ class LambdaFunction extends component_1.Component {
122
122
  }
123
123
  exports.LambdaFunction = LambdaFunction;
124
124
  _a = JSII_RTTI_SYMBOL_1;
125
- LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.45.3" };
125
+ LambdaFunction[_a] = { fqn: "projen.awscdk.LambdaFunction", version: "0.46.2" };
126
126
  /**
127
127
  * (experimental) The runtime for the AWS Lambda function.
128
128
  *
@@ -148,7 +148,7 @@ class LambdaRuntime {
148
148
  }
149
149
  exports.LambdaRuntime = LambdaRuntime;
150
150
  _b = JSII_RTTI_SYMBOL_1;
151
- LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.45.3" };
151
+ LambdaRuntime[_b] = { fqn: "projen.awscdk.LambdaRuntime", version: "0.46.2" };
152
152
  /**
153
153
  * (experimental) Node.js 10.x.
154
154
  *
@@ -0,0 +1,125 @@
1
+ import { Task } from '..';
2
+ import { Component } from '../component';
3
+ import { GitIdentity } from '../github';
4
+ import { Job, JobStep } from '../github/workflows-model';
5
+ import { Project } from '../project';
6
+ /**
7
+ * @experimental
8
+ */
9
+ export interface BuildWorkflowOptions {
10
+ /**
11
+ * (experimental) The task to execute in order to build the project.
12
+ *
13
+ * @experimental
14
+ */
15
+ readonly buildTask: Task;
16
+ /**
17
+ * (experimental) A name of a directory that includes build artifacts.
18
+ *
19
+ * @experimental
20
+ */
21
+ readonly artifactsDirectory: string;
22
+ /**
23
+ * (experimental) The container image to use for builds.
24
+ *
25
+ * @default - the default workflow container
26
+ * @experimental
27
+ */
28
+ readonly containerImage?: string;
29
+ /**
30
+ * (experimental) Automatically update files modified during builds to pull-request branches.
31
+ *
32
+ * This means
33
+ * that any files synthesized by projen or e.g. test snapshots will always be up-to-date
34
+ * before a PR is merged.
35
+ *
36
+ * Implies that PR builds do not have anti-tamper checks.
37
+ *
38
+ * @default true
39
+ * @experimental
40
+ */
41
+ readonly mutableBuild?: boolean;
42
+ /**
43
+ * (experimental) Steps to execute before the build.
44
+ *
45
+ * @default []
46
+ * @experimental
47
+ */
48
+ readonly preBuildSteps?: JobStep[];
49
+ /**
50
+ * (experimental) Steps to execute after build.
51
+ *
52
+ * @default []
53
+ * @experimental
54
+ */
55
+ readonly postBuildSteps?: JobStep[];
56
+ /**
57
+ * (experimental) Git identity to use for the workflow.
58
+ *
59
+ * @default - default identity
60
+ * @experimental
61
+ */
62
+ readonly gitIdentity?: GitIdentity;
63
+ /**
64
+ * (experimental) Build environment variables.
65
+ *
66
+ * @default {}
67
+ * @experimental
68
+ */
69
+ readonly env?: {
70
+ [key: string]: string;
71
+ };
72
+ /**
73
+ * (experimental) Enable anti-tamper check.
74
+ *
75
+ * @default true
76
+ * @experimental
77
+ */
78
+ readonly antitamper?: boolean;
79
+ }
80
+ /**
81
+ * @experimental
82
+ */
83
+ export declare class BuildWorkflow extends Component {
84
+ private readonly postBuildSteps;
85
+ private readonly preBuildSteps;
86
+ private readonly antitamperSteps;
87
+ private readonly mutableBuilds;
88
+ private readonly gitIdentity;
89
+ private readonly buildTask;
90
+ private readonly github;
91
+ private readonly workflow;
92
+ private readonly primaryJobId;
93
+ private readonly artifactsDirectory?;
94
+ private readonly _buildJobIds;
95
+ private uploadArtitactSteps?;
96
+ /**
97
+ * @experimental
98
+ */
99
+ constructor(project: Project, options: BuildWorkflowOptions);
100
+ /**
101
+ * (experimental) Returns a list of job IDs that are part of the build.
102
+ *
103
+ * @experimental
104
+ */
105
+ get buildJobIds(): string[];
106
+ /**
107
+ * (experimental) Adds steps that are executed after the build.
108
+ *
109
+ * @param steps The job steps.
110
+ * @experimental
111
+ */
112
+ addPostBuildSteps(...steps: JobStep[]): void;
113
+ /**
114
+ * (experimental) Adds another job to the build workflow which is executed after the build job succeeded.
115
+ *
116
+ * @param id The id of the new job.
117
+ * @param job The job specification.
118
+ * @experimental
119
+ */
120
+ addPostBuildJob(id: string, job: Job): void;
121
+ /**
122
+ * Called (lazily) during synth to render the build job steps.
123
+ */
124
+ private renderSteps;
125
+ }