projen 0.71.70 → 0.71.72

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 (135) hide show
  1. package/.jsii +69 -25
  2. package/docs/api/API.md +25 -0
  3. package/docs/tasks.md +36 -6
  4. package/lib/awscdk/auto-discover.js +5 -5
  5. package/lib/awscdk/awscdk-app-java.js +1 -1
  6. package/lib/awscdk/awscdk-app-py.js +1 -1
  7. package/lib/awscdk/awscdk-app-ts.js +1 -1
  8. package/lib/awscdk/awscdk-construct.js +2 -2
  9. package/lib/awscdk/awscdk-deps-java.js +1 -1
  10. package/lib/awscdk/awscdk-deps-js.js +1 -1
  11. package/lib/awscdk/awscdk-deps-py.js +1 -1
  12. package/lib/awscdk/awscdk-deps.js +1 -1
  13. package/lib/awscdk/cdk-config.js +1 -1
  14. package/lib/awscdk/cdk-tasks.js +1 -1
  15. package/lib/awscdk/integration-test.js +1 -1
  16. package/lib/awscdk/lambda-extension.js +1 -1
  17. package/lib/awscdk/lambda-function.js +2 -2
  18. package/lib/build/build-workflow.js +1 -1
  19. package/lib/cdk/auto-discover-base.js +2 -2
  20. package/lib/cdk/construct-lib.js +1 -1
  21. package/lib/cdk/integration-test-base.js +1 -1
  22. package/lib/cdk/jsii-docgen.js +1 -1
  23. package/lib/cdk/jsii-project.js +1 -1
  24. package/lib/cdk8s/auto-discover.js +2 -2
  25. package/lib/cdk8s/cdk8s-app-py.js +1 -1
  26. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  27. package/lib/cdk8s/cdk8s-construct.js +1 -1
  28. package/lib/cdk8s/cdk8s-deps-py.js +1 -1
  29. package/lib/cdk8s/cdk8s-deps.js +1 -1
  30. package/lib/cdk8s/integration-test.js +1 -1
  31. package/lib/cdktf/cdktf-construct.js +1 -1
  32. package/lib/circleci/circleci.js +1 -1
  33. package/lib/component.js +1 -1
  34. package/lib/dependencies.js +1 -1
  35. package/lib/dev-env.js +1 -1
  36. package/lib/docker-compose/docker-compose-service.js +1 -1
  37. package/lib/docker-compose/docker-compose.js +1 -1
  38. package/lib/file.js +1 -1
  39. package/lib/gitattributes.js +1 -1
  40. package/lib/github/actions-provider.js +1 -1
  41. package/lib/github/auto-approve.js +1 -1
  42. package/lib/github/auto-merge.js +1 -1
  43. package/lib/github/dependabot.js +1 -1
  44. package/lib/github/github-credentials.js +1 -1
  45. package/lib/github/github-project.js +1 -1
  46. package/lib/github/github.js +1 -1
  47. package/lib/github/mergify.js +1 -1
  48. package/lib/github/pr-template.js +1 -1
  49. package/lib/github/pull-request-lint.js +1 -1
  50. package/lib/github/stale.js +1 -1
  51. package/lib/github/task-workflow.js +1 -1
  52. package/lib/github/workflow-actions.js +1 -1
  53. package/lib/github/workflow-jobs.js +1 -1
  54. package/lib/github/workflows.js +1 -1
  55. package/lib/gitlab/configuration.js +1 -1
  56. package/lib/gitlab/gitlab-configuration.js +1 -1
  57. package/lib/gitlab/nested-configuration.js +1 -1
  58. package/lib/gitpod.js +1 -1
  59. package/lib/ignore-file.js +1 -1
  60. package/lib/ini.js +1 -1
  61. package/lib/java/java-project.js +1 -1
  62. package/lib/java/junit.js +1 -1
  63. package/lib/java/maven-compile.js +1 -1
  64. package/lib/java/maven-packaging.js +1 -1
  65. package/lib/java/maven-sample.js +1 -1
  66. package/lib/java/pom.js +1 -1
  67. package/lib/java/projenrc.js +1 -1
  68. package/lib/javascript/bundler.js +1 -1
  69. package/lib/javascript/eslint.js +1 -1
  70. package/lib/javascript/jest.js +4 -4
  71. package/lib/javascript/node-package.js +1 -1
  72. package/lib/javascript/node-project.js +1 -1
  73. package/lib/javascript/npm-config.js +1 -1
  74. package/lib/javascript/prettier.js +1 -1
  75. package/lib/javascript/projenrc.js +1 -1
  76. package/lib/javascript/typescript-config.js +2 -2
  77. package/lib/javascript/upgrade-dependencies.js +2 -2
  78. package/lib/json-patch.js +1 -1
  79. package/lib/json.js +1 -1
  80. package/lib/license.js +1 -1
  81. package/lib/logger.js +1 -1
  82. package/lib/makefile.js +1 -1
  83. package/lib/object-file.js +1 -1
  84. package/lib/project-build.js +1 -1
  85. package/lib/project.js +1 -1
  86. package/lib/projects.js +1 -1
  87. package/lib/projenrc-json.js +2 -2
  88. package/lib/projenrc.js +1 -1
  89. package/lib/python/pip.js +1 -1
  90. package/lib/python/poetry.js +2 -2
  91. package/lib/python/projenrc.js +1 -1
  92. package/lib/python/pytest-sample.js +1 -1
  93. package/lib/python/pytest.js +1 -1
  94. package/lib/python/python-project.js +1 -1
  95. package/lib/python/python-sample.js +1 -1
  96. package/lib/python/requirements-file.js +1 -1
  97. package/lib/python/setuppy.js +1 -1
  98. package/lib/python/setuptools.js +1 -1
  99. package/lib/python/venv.js +1 -1
  100. package/lib/readme.js +1 -1
  101. package/lib/release/publisher.js +1 -1
  102. package/lib/release/release-trigger.js +1 -1
  103. package/lib/release/release.js +1 -1
  104. package/lib/renovatebot.js +1 -1
  105. package/lib/run-task.js +1 -1889
  106. package/lib/sample-file.js +2 -2
  107. package/lib/semver.js +1 -1
  108. package/lib/source-code.js +1 -1
  109. package/lib/task-model.d.ts +6 -0
  110. package/lib/task-model.js +1 -1
  111. package/lib/task-runtime.js +11 -6
  112. package/lib/task.d.ts +14 -5
  113. package/lib/task.js +23 -3
  114. package/lib/tasks.js +1 -1
  115. package/lib/testing.js +1 -1
  116. package/lib/textfile.js +1 -1
  117. package/lib/toml.js +1 -1
  118. package/lib/typescript/projenrc-ts.js +1 -1
  119. package/lib/typescript/projenrc.js +1 -1
  120. package/lib/typescript/typescript-typedoc.js +1 -1
  121. package/lib/typescript/typescript.js +3 -3
  122. package/lib/version.js +1 -1
  123. package/lib/vscode/devcontainer.js +1 -1
  124. package/lib/vscode/extensions.js +1 -1
  125. package/lib/vscode/launch-config.js +1 -1
  126. package/lib/vscode/settings.js +1 -1
  127. package/lib/vscode/vscode.js +1 -1
  128. package/lib/web/next.js +3 -3
  129. package/lib/web/postcss.js +1 -1
  130. package/lib/web/react.js +4 -4
  131. package/lib/web/tailwind.js +1 -1
  132. package/lib/xmlfile.js +1 -1
  133. package/lib/yaml.js +1 -1
  134. package/node_modules/yaml/package.json +2 -3
  135. package/package.json +1 -1
package/.jsii CHANGED
@@ -9011,7 +9011,7 @@
9011
9011
  },
9012
9012
  "locationInModule": {
9013
9013
  "filename": "src/task.ts",
9014
- "line": 61
9014
+ "line": 56
9015
9015
  },
9016
9016
  "parameters": [
9017
9017
  {
@@ -9035,6 +9035,32 @@
9035
9035
  "line": 42
9036
9036
  },
9037
9037
  "methods": [
9038
+ {
9039
+ "docs": {
9040
+ "remarks": "If a condition already exists, the new condition will be appended with ` && ` delimiter.",
9041
+ "see": "{@link Task.condition }",
9042
+ "stability": "experimental",
9043
+ "summary": "Add a command to execute which determines if the task should be skipped."
9044
+ },
9045
+ "locationInModule": {
9046
+ "filename": "src/task.ts",
9047
+ "line": 115
9048
+ },
9049
+ "name": "addCondition",
9050
+ "parameters": [
9051
+ {
9052
+ "docs": {
9053
+ "summary": "The command to execute."
9054
+ },
9055
+ "name": "condition",
9056
+ "type": {
9057
+ "primitive": "string"
9058
+ },
9059
+ "variadic": true
9060
+ }
9061
+ ],
9062
+ "variadic": true
9063
+ },
9038
9064
  {
9039
9065
  "docs": {
9040
9066
  "remarks": "Builtin tasks are programs bundled as part of projen itself and used as\nhelpers for various components.\n\nIn the future we should support built-in tasks from external modules.",
@@ -9043,7 +9069,7 @@
9043
9069
  },
9044
9070
  "locationInModule": {
9045
9071
  "filename": "src/task.ts",
9046
- "line": 139
9072
+ "line": 156
9047
9073
  },
9048
9074
  "name": "builtin",
9049
9075
  "parameters": [
@@ -9065,7 +9091,7 @@
9065
9091
  },
9066
9092
  "locationInModule": {
9067
9093
  "filename": "src/task.ts",
9068
- "line": 217
9094
+ "line": 234
9069
9095
  },
9070
9096
  "name": "env",
9071
9097
  "parameters": [
@@ -9097,7 +9123,7 @@
9097
9123
  },
9098
9124
  "locationInModule": {
9099
9125
  "filename": "src/task.ts",
9100
- "line": 123
9126
+ "line": 140
9101
9127
  },
9102
9128
  "name": "exec",
9103
9129
  "parameters": [
@@ -9129,7 +9155,7 @@
9129
9155
  },
9130
9156
  "locationInModule": {
9131
9157
  "filename": "src/task.ts",
9132
- "line": 84
9158
+ "line": 79
9133
9159
  },
9134
9160
  "name": "lock"
9135
9161
  },
@@ -9141,7 +9167,7 @@
9141
9167
  },
9142
9168
  "locationInModule": {
9143
9169
  "filename": "src/task.ts",
9144
- "line": 160
9170
+ "line": 177
9145
9171
  },
9146
9172
  "name": "prepend",
9147
9173
  "parameters": [
@@ -9170,7 +9196,7 @@
9170
9196
  },
9171
9197
  "locationInModule": {
9172
9198
  "filename": "src/task.ts",
9173
- "line": 178
9199
+ "line": 195
9174
9200
  },
9175
9201
  "name": "prependExec",
9176
9202
  "parameters": [
@@ -9199,7 +9225,7 @@
9199
9225
  },
9200
9226
  "locationInModule": {
9201
9227
  "filename": "src/task.ts",
9202
- "line": 202
9228
+ "line": 219
9203
9229
  },
9204
9230
  "name": "prependSay",
9205
9231
  "parameters": [
@@ -9228,7 +9254,7 @@
9228
9254
  },
9229
9255
  "locationInModule": {
9230
9256
  "filename": "src/task.ts",
9231
- "line": 190
9257
+ "line": 207
9232
9258
  },
9233
9259
  "name": "prependSpawn",
9234
9260
  "parameters": [
@@ -9257,7 +9283,7 @@
9257
9283
  },
9258
9284
  "locationInModule": {
9259
9285
  "filename": "src/task.ts",
9260
- "line": 106
9286
+ "line": 123
9261
9287
  },
9262
9288
  "name": "reset",
9263
9289
  "parameters": [
@@ -9287,7 +9313,7 @@
9287
9313
  },
9288
9314
  "locationInModule": {
9289
9315
  "filename": "src/task.ts",
9290
- "line": 149
9316
+ "line": 166
9291
9317
  },
9292
9318
  "name": "say",
9293
9319
  "parameters": [
@@ -9319,7 +9345,7 @@
9319
9345
  },
9320
9346
  "locationInModule": {
9321
9347
  "filename": "src/task.ts",
9322
- "line": 169
9348
+ "line": 186
9323
9349
  },
9324
9350
  "name": "spawn",
9325
9351
  "parameters": [
@@ -9367,7 +9393,7 @@
9367
9393
  "immutable": true,
9368
9394
  "locationInModule": {
9369
9395
  "filename": "src/task.ts",
9370
- "line": 225
9396
+ "line": 242
9371
9397
  },
9372
9398
  "name": "steps",
9373
9399
  "type": {
@@ -9388,7 +9414,7 @@
9388
9414
  "immutable": true,
9389
9415
  "locationInModule": {
9390
9416
  "filename": "src/task.ts",
9391
- "line": 52
9417
+ "line": 101
9392
9418
  },
9393
9419
  "name": "condition",
9394
9420
  "optional": true,
@@ -9404,7 +9430,7 @@
9404
9430
  },
9405
9431
  "locationInModule": {
9406
9432
  "filename": "src/task.ts",
9407
- "line": 91
9433
+ "line": 86
9408
9434
  },
9409
9435
  "name": "description",
9410
9436
  "optional": true,
@@ -9893,7 +9919,7 @@
9893
9919
  "kind": "interface",
9894
9920
  "locationInModule": {
9895
9921
  "filename": "src/task-model.ts",
9896
- "line": 137
9922
+ "line": 144
9897
9923
  },
9898
9924
  "name": "TaskStep",
9899
9925
  "properties": [
@@ -9908,7 +9934,7 @@
9908
9934
  "immutable": true,
9909
9935
  "locationInModule": {
9910
9936
  "filename": "src/task-model.ts",
9911
- "line": 170
9937
+ "line": 177
9912
9938
  },
9913
9939
  "name": "builtin",
9914
9940
  "optional": true,
@@ -9926,7 +9952,7 @@
9926
9952
  "immutable": true,
9927
9953
  "locationInModule": {
9928
9954
  "filename": "src/task-model.ts",
9929
- "line": 143
9955
+ "line": 150
9930
9956
  },
9931
9957
  "name": "exec",
9932
9958
  "optional": true,
@@ -9944,7 +9970,7 @@
9944
9970
  "immutable": true,
9945
9971
  "locationInModule": {
9946
9972
  "filename": "src/task-model.ts",
9947
- "line": 156
9973
+ "line": 163
9948
9974
  },
9949
9975
  "name": "say",
9950
9976
  "optional": true,
@@ -9962,7 +9988,7 @@
9962
9988
  "immutable": true,
9963
9989
  "locationInModule": {
9964
9990
  "filename": "src/task-model.ts",
9965
- "line": 150
9991
+ "line": 157
9966
9992
  },
9967
9993
  "name": "spawn",
9968
9994
  "optional": true,
@@ -10000,7 +10026,7 @@
10000
10026
  "immutable": true,
10001
10027
  "locationInModule": {
10002
10028
  "filename": "src/task-model.ts",
10003
- "line": 120
10029
+ "line": 127
10004
10030
  },
10005
10031
  "name": "args",
10006
10032
  "optional": true,
@@ -10013,6 +10039,24 @@
10013
10039
  }
10014
10040
  }
10015
10041
  },
10042
+ {
10043
+ "abstract": true,
10044
+ "docs": {
10045
+ "remarks": "If\nthe program exits with a zero exit code, the step will be executed. A non-zero\ncode means the step will be skipped (subsequent task steps will still be evaluated/executed).",
10046
+ "stability": "experimental",
10047
+ "summary": "A shell command which determines if the this step should be executed."
10048
+ },
10049
+ "immutable": true,
10050
+ "locationInModule": {
10051
+ "filename": "src/task-model.ts",
10052
+ "line": 90
10053
+ },
10054
+ "name": "condition",
10055
+ "optional": true,
10056
+ "type": {
10057
+ "primitive": "string"
10058
+ }
10059
+ },
10016
10060
  {
10017
10061
  "abstract": true,
10018
10062
  "docs": {
@@ -10043,7 +10087,7 @@
10043
10087
  "immutable": true,
10044
10088
  "locationInModule": {
10045
10089
  "filename": "src/task-model.ts",
10046
- "line": 130
10090
+ "line": 137
10047
10091
  },
10048
10092
  "name": "env",
10049
10093
  "optional": true,
@@ -10086,7 +10130,7 @@
10086
10130
  "immutable": true,
10087
10131
  "locationInModule": {
10088
10132
  "filename": "src/task-model.ts",
10089
- "line": 98
10133
+ "line": 105
10090
10134
  },
10091
10135
  "name": "receiveArgs",
10092
10136
  "optional": true,
@@ -54891,6 +54935,6 @@
54891
54935
  "symbolId": "src/web/tailwind:TailwindConfigOptions"
54892
54936
  }
54893
54937
  },
54894
- "version": "0.71.70",
54895
- "fingerprint": "4vP9b3114GOyEeh8HU1e/YeNlS3GGitQNO4vm0Q/c8M="
54938
+ "version": "0.71.72",
54939
+ "fingerprint": "0vA5UmzMq3rWcgAPiSbLnY2qizRRIjXjtRRnCFBJmA0="
54896
54940
  }
package/docs/api/API.md CHANGED
@@ -2897,6 +2897,21 @@ Name | Type | Description
2897
2897
  ### Methods
2898
2898
 
2899
2899
 
2900
+ #### addCondition(...condition)🔹 <a id="projen-task-addcondition"></a>
2901
+
2902
+ Add a command to execute which determines if the task should be skipped.
2903
+
2904
+ If a condition already exists, the new condition will be appended with ` && ` delimiter.
2905
+
2906
+ ```ts
2907
+ addCondition(...condition: string[]): void
2908
+ ```
2909
+
2910
+ * **condition** (<code>string</code>) The command to execute.
2911
+
2912
+
2913
+
2914
+
2900
2915
  #### builtin(name)🔹 <a id="projen-task-builtin"></a>
2901
2916
 
2902
2917
  Execute a builtin task.
@@ -2940,6 +2955,7 @@ exec(command: string, options?: TaskStepOptions): void
2940
2955
  * **command** (<code>string</code>) Shell command.
2941
2956
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) Options.
2942
2957
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
2958
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
2943
2959
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
2944
2960
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
2945
2961
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -2971,6 +2987,7 @@ prepend(shell: string, options?: TaskStepOptions): void
2971
2987
  * **shell** (<code>string</code>) The command to add.
2972
2988
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
2973
2989
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
2990
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
2974
2991
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
2975
2992
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
2976
2993
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -2990,6 +3007,7 @@ prependExec(shell: string, options?: TaskStepOptions): void
2990
3007
  * **shell** (<code>string</code>) The command to add.
2991
3008
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
2992
3009
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3010
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
2993
3011
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
2994
3012
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
2995
3013
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -3009,6 +3027,7 @@ prependSay(message: string, options?: TaskStepOptions): void
3009
3027
  * **message** (<code>string</code>) Your message.
3010
3028
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
3011
3029
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3030
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
3012
3031
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
3013
3032
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
3014
3033
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -3028,6 +3047,7 @@ prependSpawn(subtask: Task, options?: TaskStepOptions): void
3028
3047
  * **subtask** (<code>[Task](#projen-task)</code>) The subtask to execute.
3029
3048
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
3030
3049
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3050
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
3031
3051
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
3032
3052
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
3033
3053
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -3047,6 +3067,7 @@ reset(command?: string, options?: TaskStepOptions): void
3047
3067
  * **command** (<code>string</code>) the first command to add to the task after it was cleared.
3048
3068
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
3049
3069
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3070
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
3050
3071
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
3051
3072
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
3052
3073
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -3066,6 +3087,7 @@ say(message: string, options?: TaskStepOptions): void
3066
3087
  * **message** (<code>string</code>) Your message.
3067
3088
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) Options.
3068
3089
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3090
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
3069
3091
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
3070
3092
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
3071
3093
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -3085,6 +3107,7 @@ spawn(subtask: Task, options?: TaskStepOptions): void
3085
3107
  * **subtask** (<code>[Task](#projen-task)</code>) The subtask to execute.
3086
3108
  * **options** (<code>[TaskStepOptions](#projen-taskstepoptions)</code>) *No description*
3087
3109
  * **args** (<code>Array<string></code>) A list of fixed arguments always passed to the step. __*Default*__: no arguments are passed to the step
3110
+ * **condition** (<code>string</code>) A shell command which determines if the this step should be executed. __*Optional*__
3088
3111
  * **cwd** (<code>string</code>) The working directory for this step. __*Default*__: determined by the task
3089
3112
  * **env** (<code>Map<string, string></code>) Defines environment variables for the execution of this step (`exec` and `builtin` only). __*Default*__: no environment variables defined in step
3090
3113
  * **name** (<code>string</code>) Step name. __*Default*__: no name
@@ -13646,6 +13669,7 @@ Name | Type | Description
13646
13669
  -----|------|-------------
13647
13670
  **args**?🔹 | <code>Array<string></code> | A list of fixed arguments always passed to the step.<br/>__*Default*__: no arguments are passed to the step
13648
13671
  **builtin**?🔹 | <code>string</code> | The name of a built-in task to execute.<br/>__*Default*__: do not execute a builtin task
13672
+ **condition**?🔹 | <code>string</code> | A shell command which determines if the this step should be executed.<br/>__*Optional*__
13649
13673
  **cwd**?🔹 | <code>string</code> | The working directory for this step.<br/>__*Default*__: determined by the task
13650
13674
  **env**?🔹 | <code>Map<string, string></code> | Defines environment variables for the execution of this step (`exec` and `builtin` only).<br/>__*Default*__: no environment variables defined in step
13651
13675
  **exec**?🔹 | <code>string</code> | Shell command to execute.<br/>__*Default*__: don't execute a shell command
@@ -13666,6 +13690,7 @@ Options for task steps.
13666
13690
  Name | Type | Description
13667
13691
  -----|------|-------------
13668
13692
  **args**?🔹 | <code>Array<string></code> | A list of fixed arguments always passed to the step.<br/>__*Default*__: no arguments are passed to the step
13693
+ **condition**?🔹 | <code>string</code> | A shell command which determines if the this step should be executed.<br/>__*Optional*__
13669
13694
  **cwd**?🔹 | <code>string</code> | The working directory for this step.<br/>__*Default*__: determined by the task
13670
13695
  **env**?🔹 | <code>Map<string, string></code> | Defines environment variables for the execution of this step (`exec` and `builtin` only).<br/>__*Default*__: no environment variables defined in step
13671
13696
  **name**?🔹 | <code>string</code> | Step name.<br/>__*Default*__: no name
package/docs/tasks.md CHANGED
@@ -27,7 +27,7 @@ const projen = require('projen');
27
27
 
28
28
  const hello = project.addTask('hello', {
29
29
  description: 'say hello',
30
- category: projen.tasks.TaskCategory.TEST,
30
+ category: projen.tasks.TaskCategory.TEST,
31
31
  exec: 'echo hello, world!'
32
32
  });
33
33
  ```
@@ -101,22 +101,22 @@ world:
101
101
 
102
102
  ## Environment
103
103
 
104
- Environment variables can be defined at the project level (for all tasks) or the task level:
104
+ Environment variables can be defined at the project level (for all tasks), the task level, or the task step level:
105
105
 
106
106
  ```ts
107
107
  project.tasks.addEnvironment('FOO', 'hello');
108
108
 
109
109
  const hello = project.addTask('hello');
110
- hello.env('BAR', 'world');
111
- hello.exec('echo $FOO, $BAR!');
110
+ hello.env('BAR', 'beautiful');
111
+ hello.exec('echo $FOO, $BAR $BAZ!', { env: { BAZ: 'world' } });
112
112
  ```
113
113
 
114
114
  Then:
115
115
 
116
116
  ```shell
117
117
  $ projen hello
118
- 🤖 hello | echo $FOO, $BAR!
119
- hello, world!
118
+ 🤖 hello | echo $FOO, $BAR $BAZ!
119
+ hello, beautiful world!
120
120
  ```
121
121
 
122
122
  You can also evaluate environment variable values from a shell command:
@@ -161,6 +161,36 @@ $ CI=1 projen hello
161
161
  running in a CI environment
162
162
  ```
163
163
 
164
+ The `condition` option can also be specified on individual task steps, for more
165
+ granular control over task execution behavior:
166
+
167
+ ```ts
168
+ const hello = project.addTask('hello', {
169
+ steps: [
170
+ { exec: 'running in a CI environment', condition: '[ -n "$CI" ]' },
171
+ { exec: 'not running in a CI environment', condition: '[ ! -n "$CI" ]' }
172
+ ]
173
+ });
174
+ ```
175
+
176
+ Then:
177
+
178
+ ```shell
179
+ $ projen hello
180
+ 🤖 hello | condition: [ -n "$CI" ]
181
+ 🤖 hello | condition exited with non-zero - skipping
182
+ 🤖 hello | condition: [ ! -n "$CI" ]
183
+ 🤖 hello | echo not running in a CI environment
184
+ not running in a CI environment
185
+
186
+ $ CI=1 projen hello
187
+ 🤖 hello | condition: [ -n "$CI" ]
188
+ 🤖 hello | echo running in a CI environment
189
+ running in a CI environment
190
+ 🤖 hello | condition: [ ! -n "$CI" ]
191
+ 🤖 hello | condition exited with non-zero - skipping
192
+ ```
193
+
164
194
  ## Tasks as npm scripts
165
195
 
166
196
  By default, npm scripts in `NodeProject`s (or derivatives) are implemented by delegating the
@@ -26,7 +26,7 @@ class IntegrationTestAutoDiscover extends cdk_1.IntegrationTestAutoDiscoverBase
26
26
  }
27
27
  }
28
28
  _a = JSII_RTTI_SYMBOL_1;
29
- IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.71.70" };
29
+ IntegrationTestAutoDiscover[_a] = { fqn: "projen.awscdk.IntegrationTestAutoDiscover", version: "0.71.72" };
30
30
  exports.IntegrationTestAutoDiscover = IntegrationTestAutoDiscover;
31
31
  /**
32
32
  * Creates lambdas from entry points discovered in the project's source tree.
@@ -47,7 +47,7 @@ class LambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
47
47
  }
48
48
  }
49
49
  _b = JSII_RTTI_SYMBOL_1;
50
- LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.71.70" };
50
+ LambdaAutoDiscover[_b] = { fqn: "projen.awscdk.LambdaAutoDiscover", version: "0.71.72" };
51
51
  exports.LambdaAutoDiscover = LambdaAutoDiscover;
52
52
  /**
53
53
  * Creates edge lambdas from entry points discovered in the project's source tree.
@@ -69,7 +69,7 @@ class EdgeLambdaAutoDiscover extends cdk_1.AutoDiscoverBase {
69
69
  }
70
70
  }
71
71
  _c = JSII_RTTI_SYMBOL_1;
72
- EdgeLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.71.70" };
72
+ EdgeLambdaAutoDiscover[_c] = { fqn: "projen.awscdk.EdgeLambdaAutoDiscover", version: "0.71.72" };
73
73
  exports.EdgeLambdaAutoDiscover = EdgeLambdaAutoDiscover;
74
74
  /**
75
75
  * Creates Lambda Extensions from entrypoints discovered in the project's
@@ -91,7 +91,7 @@ class LambdaExtensionAutoDiscover extends cdk_1.AutoDiscoverBase {
91
91
  }
92
92
  }
93
93
  _d = JSII_RTTI_SYMBOL_1;
94
- LambdaExtensionAutoDiscover[_d] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.71.70" };
94
+ LambdaExtensionAutoDiscover[_d] = { fqn: "projen.awscdk.LambdaExtensionAutoDiscover", version: "0.71.72" };
95
95
  exports.LambdaExtensionAutoDiscover = LambdaExtensionAutoDiscover;
96
96
  /**
97
97
  * Discovers and creates integration tests and lambdas from code in the
@@ -135,6 +135,6 @@ class AutoDiscover extends component_1.Component {
135
135
  }
136
136
  }
137
137
  _e = JSII_RTTI_SYMBOL_1;
138
- AutoDiscover[_e] = { fqn: "projen.awscdk.AutoDiscover", version: "0.71.70" };
138
+ AutoDiscover[_e] = { fqn: "projen.awscdk.AutoDiscover", version: "0.71.72" };
139
139
  exports.AutoDiscover = AutoDiscover;
140
140
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLHlEQUc0QjtBQUM1Qix5Q0FJb0I7QUFDcEIseURBRzRCO0FBQzVCLHVEQUFnRjtBQUNoRixnQ0FJZ0I7QUFDaEIsNENBQXlDO0FBOEJ6Qzs7R0FFRztBQUNILE1BQWEsMkJBQTRCLFNBQVEscUNBQStCO0lBQzlFLFlBQVksT0FBZ0IsRUFBRSxPQUEyQztRQUN2RSxLQUFLLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhCLEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QyxJQUFJLGtDQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEMsVUFBVTtnQkFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsR0FBRyxPQUFPLENBQUMsc0JBQXNCO2FBQ2xDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7OztBQVpVLGtFQUEyQjtBQThCeEM7O0dBRUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLHNCQUFnQjtJQUN0RCxZQUFZLE9BQWdCLEVBQUUsT0FBa0M7UUFDOUQsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsZ0NBQXFCO1NBQ2pDLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QyxJQUFJLGdDQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDL0IsVUFBVTtnQkFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLEdBQUcsT0FBTyxDQUFDLGFBQWE7YUFDekIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0FBZFUsZ0RBQWtCO0FBaUMvQjs7R0FFRztBQUNILE1BQWEsc0JBQXVCLFNBQVEsc0JBQWdCO0lBQzFELFlBQVksT0FBZ0IsRUFBRSxPQUFzQztRQUNsRSxLQUFLLENBQUMsT0FBTyxFQUFFO1lBQ2IsVUFBVSxFQUFFLE9BQU8sQ0FBQyxNQUFNO1lBQzFCLFNBQVMsRUFBRSxxQ0FBMEI7U0FDdEMsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3pDLElBQUksZ0NBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMvQixVQUFVO2dCQUNWLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTtnQkFDeEIsVUFBVSxFQUFFLElBQUk7YUFDakIsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDOzs7O0FBZlUsd0RBQXNCO0FBa0NuQzs7O0dBR0c7QUFDSCxNQUFhLDJCQUE0QixTQUFRLHNCQUFnQjtJQUMvRCxZQUFZLE9BQWdCLEVBQUUsT0FBMkM7UUFDdkUsS0FBSyxDQUFDLE9BQU8sRUFBRTtZQUNiLFVBQVUsRUFBRSxPQUFPLENBQUMsTUFBTTtZQUMxQixTQUFTLEVBQUUsMENBQStCO1NBQzNDLENBQUMsQ0FBQztRQUVILEtBQUssTUFBTSxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN6QyxJQUFJLGtDQUFlLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDaEMsVUFBVTtnQkFDVixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLEdBQUcsT0FBTyxDQUFDLHNCQUFzQjthQUNsQyxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7QUFkVSxrRUFBMkI7QUFxRHhDOzs7R0FHRztBQUNILE1BQWEsWUFBYSxTQUFRLHFCQUFTO0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLE9BQU8sQ0FBQyxrQkFBa0IsSUFBSSxJQUFJLEVBQUU7WUFDdEMsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNuQyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7YUFDckMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLE9BQU8sQ0FBQyxzQkFBc0IsSUFBSSxJQUFJLEVBQUU7WUFDMUMsSUFBSSxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUN2QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7YUFDckMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLE9BQU8sQ0FBQywyQkFBMkIsSUFBSSxJQUFJLEVBQUU7WUFDL0MsSUFBSSwyQkFBMkIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUM1QyxPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNO2dCQUN0QixzQkFBc0IsRUFBRSxPQUFPLENBQUMsc0JBQXNCO2FBQ3ZELENBQUMsQ0FBQztTQUNKO1FBRUQsSUFBSSxPQUFPLENBQUMsMkJBQTJCLElBQUksSUFBSSxFQUFFO1lBQy9DLElBQUksMkJBQTJCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDNUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPO2dCQUN4QixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87Z0JBQ3hCLFlBQVksRUFBRSxPQUFPLENBQUMsWUFBWTtnQkFDbEMsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLHNCQUFzQjthQUN2RCxDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7Ozs7QUF2Q1Usb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHNcIjtcbmltcG9ydCB7XG4gIEludGVncmF0aW9uVGVzdCxcbiAgSW50ZWdyYXRpb25UZXN0Q29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vaW50ZWdyYXRpb24tdGVzdFwiO1xuaW1wb3J0IHtcbiAgVFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFQsXG4gIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCxcbiAgVFlQRVNDUklQVF9MQU1CREFfRVhURU5TSU9OX0VYVCxcbn0gZnJvbSBcIi4vaW50ZXJuYWxcIjtcbmltcG9ydCB7XG4gIExhbWJkYUV4dGVuc2lvbixcbiAgTGFtYmRhRXh0ZW5zaW9uQ29tbW9uT3B0aW9ucyxcbn0gZnJvbSBcIi4vbGFtYmRhLWV4dGVuc2lvblwiO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2xhbWJkYS1mdW5jdGlvblwiO1xuaW1wb3J0IHtcbiAgQXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSxcbiAgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZU9wdGlvbnMsXG59IGZyb20gXCIuLi9jZGtcIjtcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCIuLi9jb21wb25lbnRcIjtcbmltcG9ydCB7IFByb2plY3QgfSBmcm9tIFwiLi4vcHJvamVjdFwiO1xuXG4vKipcbiAqIENvbW1vbiBvcHRpb25zIGZvciBhdXRvIGRpc2NvdmVyaW5nIHByb2plY3Qgc3ViY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFBhdGggdG8gdGhlIHRzY29uZmlnIGZpbGUgdG8gdXNlIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBV1MgQ0RLIGRlcGVuZGVuY3kgbWFuYWdlci5cbiAgICovXG4gIHJlYWRvbmx5IGNka0RlcHM6IEF3c0Nka0RlcHM7XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3ZlcmBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zXG4gIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQ29tbW9uT3B0aW9ucyxcbiAgICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJCYXNlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBpbnRlZ3JhdGlvbiB0ZXN0cy5cbiAgICovXG4gIHJlYWRvbmx5IGludGVncmF0aW9uVGVzdE9wdGlvbnM/OiBJbnRlZ3JhdGlvblRlc3RDb21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgaW50ZWdyYXRpb24gdGVzdHMgZnJvbSBlbnRyeSBwb2ludHMgZGlzY292ZXJlZCBpbiB0aGUgdGVzdCB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyIGV4dGVuZHMgSW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCBvcHRpb25zKTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgSW50ZWdyYXRpb25UZXN0KHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIC4uLm9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBMYW1iZGFBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhQXV0b0Rpc2NvdmVyT3B0aW9ucyBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIExhbWJkYUF1dG9EaXNjb3ZlciBleHRlbmRzIEF1dG9EaXNjb3ZlckJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBQcm9qZWN0LCBvcHRpb25zOiBMYW1iZGFBdXRvRGlzY292ZXJPcHRpb25zKSB7XG4gICAgc3VwZXIocHJvamVjdCwge1xuICAgICAgcHJvamVjdGRpcjogb3B0aW9ucy5zcmNkaXIsXG4gICAgICBleHRlbnNpb246IFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRnVuY3Rpb24odGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGVudHJ5cG9pbnQsXG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgLi4ub3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYEVkZ2VMYW1iZGFBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRWRnZUxhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnNcbiAgZXh0ZW5kcyBBdXRvRGlzY292ZXJDb21tb25PcHRpb25zIHtcbiAgLyoqXG4gICAqIFByb2plY3Qgc291cmNlIHRyZWUgKHJlbGF0aXZlIHRvIHByb2plY3Qgb3V0cHV0IGRpcmVjdG9yeSkuXG4gICAqL1xuICByZWFkb25seSBzcmNkaXI6IHN0cmluZztcblxuICAvKipcbiAgICogT3B0aW9ucyBmb3IgQVdTIExhbWJkYSBmdW5jdGlvbnMuXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgZWRnZSBsYW1iZGFzIGZyb20gZW50cnkgcG9pbnRzIGRpc2NvdmVyZWQgaW4gdGhlIHByb2plY3QncyBzb3VyY2UgdHJlZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEVkZ2VMYW1iZGFBdXRvRGlzY292ZXIgZXh0ZW5kcyBBdXRvRGlzY292ZXJCYXNlIHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogRWRnZUxhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9FREdFX0xBTUJEQV9FWFQsXG4gICAgfSk7XG5cbiAgICBmb3IgKGNvbnN0IGVudHJ5cG9pbnQgb2YgdGhpcy5lbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhT3B0aW9ucyxcbiAgICAgICAgZWRnZUxhbWJkYTogdHJ1ZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBMYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIEF1dG9EaXNjb3ZlckNvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogUHJvamVjdCBzb3VyY2UgdHJlZSAocmVsYXRpdmUgdG8gcHJvamVjdCBvdXRwdXQgZGlyZWN0b3J5KS5cbiAgICovXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPcHRpb25zIGZvciBsYW1iZGEgZXh0ZW5zaW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbk9wdGlvbnM/OiBMYW1iZGFFeHRlbnNpb25Db21tb25PcHRpb25zO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgTGFtYmRhIEV4dGVuc2lvbnMgZnJvbSBlbnRyeXBvaW50cyBkaXNjb3ZlcmVkIGluIHRoZSBwcm9qZWN0J3NcbiAqIHNvdXJjZSB0cmVlLlxuICovXG5leHBvcnQgY2xhc3MgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQXV0b0Rpc2NvdmVyQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHByb2plY3Q6IFByb2plY3QsIG9wdGlvbnM6IExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlck9wdGlvbnMpIHtcbiAgICBzdXBlcihwcm9qZWN0LCB7XG4gICAgICBwcm9qZWN0ZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgIGV4dGVuc2lvbjogVFlQRVNDUklQVF9MQU1CREFfRVhURU5TSU9OX0VYVCxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiB0aGlzLmVudHJ5cG9pbnRzKSB7XG4gICAgICBuZXcgTGFtYmRhRXh0ZW5zaW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIC4uLm9wdGlvbnMubGFtYmRhRXh0ZW5zaW9uT3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGBBdXRvRGlzY292ZXJgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9uc1xuICBleHRlbmRzIExhbWJkYUF1dG9EaXNjb3Zlck9wdGlvbnMsXG4gICAgTGFtYmRhRXh0ZW5zaW9uQXV0b0Rpc2NvdmVyT3B0aW9ucyxcbiAgICBJbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXJPcHRpb25zIHtcbiAgLyoqXG4gICAqIEF1dG8tZGlzY292ZXIgbGFtYmRhIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgbGFtYmRhQXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQXV0by1kaXNjb3ZlciBlZGdlIGxhbWJkYSBmdW5jdGlvbnMuXG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGVkZ2VMYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGxhbWJkYSBleHRlbnNpb25zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvLWRpc2NvdmVyIGludGVncmF0aW9uIHRlc3RzLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBpbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXI/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERpc2NvdmVycyBhbmQgY3JlYXRlcyBpbnRlZ3JhdGlvbiB0ZXN0cyBhbmQgbGFtYmRhcyBmcm9tIGNvZGUgaW4gdGhlXG4gKiBwcm9qZWN0J3Mgc291cmNlIGFuZCB0ZXN0IHRyZWVzLlxuICovXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgaWYgKG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWUpIHtcbiAgICAgIG5ldyBMYW1iZGFBdXRvRGlzY292ZXIodGhpcy5wcm9qZWN0LCB7XG4gICAgICAgIGNka0RlcHM6IG9wdGlvbnMuY2RrRGVwcyxcbiAgICAgICAgdHNjb25maWdQYXRoOiBvcHRpb25zLnRzY29uZmlnUGF0aCxcbiAgICAgICAgc3JjZGlyOiBvcHRpb25zLnNyY2RpcixcbiAgICAgICAgbGFtYmRhT3B0aW9uczogb3B0aW9ucy5sYW1iZGFPcHRpb25zLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKG9wdGlvbnMuZWRnZUxhbWJkYUF1dG9EaXNjb3ZlciA/PyB0cnVlKSB7XG4gICAgICBuZXcgRWRnZUxhbWJkYUF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5sYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IExhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0c2NvbmZpZ1BhdGg6IG9wdGlvbnMudHNjb25maWdQYXRoLFxuICAgICAgICBzcmNkaXI6IG9wdGlvbnMuc3JjZGlyLFxuICAgICAgICBsYW1iZGFFeHRlbnNpb25PcHRpb25zOiBvcHRpb25zLmxhbWJkYUV4dGVuc2lvbk9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcih0aGlzLnByb2plY3QsIHtcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICB0ZXN0ZGlyOiBvcHRpb25zLnRlc3RkaXIsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICAgIGludGVncmF0aW9uVGVzdE9wdGlvbnM6IG9wdGlvbnMuaW50ZWdyYXRpb25UZXN0T3B0aW9ucyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -81,6 +81,6 @@ class AwsCdkJavaApp extends java_1.JavaProject {
81
81
  }
82
82
  }
83
83
  _a = JSII_RTTI_SYMBOL_1;
84
- AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.71.70" };
84
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.71.72" };
85
85
  exports.AwsCdkJavaApp = AwsCdkJavaApp;
86
86
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1qYXZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9hd3NjZGstYXBwLWphdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFFNUIseURBQW9EO0FBQ3BELDZDQUFpRTtBQUNqRSwyQ0FBdUM7QUFDdkMsMEJBQStDO0FBQy9DLGtDQUEwRDtBQWUxRDs7OztHQUlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsa0JBQVc7SUErQjVDLFlBQVksT0FBNkI7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRTtZQUNuQyxHQUFHLEVBQUUsMENBQTBDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDL0QsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLENBQUM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxnQkFBZ0IsQ0FBQyxHQUFHLE9BQWlCO1FBQzFDLEtBQUssTUFBTSxDQUFDLElBQUksT0FBTyxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRU8sU0FBUztRQUNmLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsT0FBTyxDQUFDO1FBQzlDLElBQUksYUFBUyxDQUFDLElBQUksRUFBRSxJQUFBLFdBQUksRUFBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELEtBQUssRUFBRTtnQkFDTCxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNWLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDM0IsRUFBRTtvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMseUNBQXlDO3dCQUMzQyxDQUFDLENBQUMsb0NBQW9DO29CQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDO3dCQUMvQixDQUFDLENBQUMsMkNBQTJDO3dCQUM3QyxDQUFDLENBQUMsc0NBQXNDO29CQUMxQyxFQUFFO29CQUNGLGdCQUFnQixJQUFJLENBQUMsYUFBYSxJQUFJO29CQUN0QyxrREFBa0Q7b0JBQ2xELDBCQUEwQjtvQkFDMUIsdUJBQXVCLElBQUksQ0FBQyxJQUFJLEtBQUs7b0JBQ3JDLGtCQUFrQjtvQkFDbEIsS0FBSztvQkFDTCxHQUFHO2lCQUNKLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNiO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OztBQXRHVSxzQ0FBYSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpvaW4gfSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHsgQXdzQ2RrRGVwc0phdmEgfSBmcm9tIFwiLi9hd3NjZGstZGVwcy1qYXZhXCI7XG5pbXBvcnQgeyBDZGtDb25maWcsIENka0NvbmZpZ0NvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9jZGstY29uZmlnXCI7XG5pbXBvcnQgeyBDZGtUYXNrcyB9IGZyb20gXCIuL2Nkay10YXNrc1wiO1xuaW1wb3J0IHsgRGVwZW5kZW5jeVR5cGUsIFNhbXBsZURpciB9IGZyb20gXCIuLlwiO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gXCIuLi9qYXZhXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrSmF2YUFwcE9wdGlvbnNcbiAgZXh0ZW5kcyBKYXZhUHJvamVjdE9wdGlvbnMsXG4gICAgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyxcbiAgICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSmF2YSBjbGFzcyB3aXRoIHRoZSBzdGF0aWMgYG1haW4oKWAgbWV0aG9kLiBUaGlzIG1ldGhvZFxuICAgKiBzaG91bGQgY2FsbCBgYXBwLnN5bnRoKClgIG9uIHRoZSBDREsgYXBwLlxuICAgKlxuICAgKiBAZGVmYXVsdCBcIm9yZy5hY21lLk15QXBwXCJcbiAgICovXG4gIHJlYWRvbmx5IG1haW5DbGFzczogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFXUyBDREsgYXBwIGluIEphdmEuXG4gKlxuICogQHBqaWQgYXdzY2RrLWFwcC1qYXZhXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtKYXZhQXBwIGV4dGVuZHMgSmF2YVByb2plY3Qge1xuICAvKipcbiAgICogVGhlIGBjZGsuanNvbmAgZmlsZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAvKipcbiAgICogQ0RLIGRlcGVuZGVuY3kgbWFuYWdlbWVudCBoZWxwZXIgY2xhc3NcbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVsbCBuYW1lIG9mIHRoZSBtYWluIGNsYXNzIG9mIHRoZSBqYXZhIGFwcCAocGFja2FnZS5DbGFzcykuXG4gICAqL1xuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENESyB0YXNrcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBKYXZhIHBhY2thZ2UgdGhhdCBpbmNsdWRlcyB0aGUgbWFpbiBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBtYWluUGFja2FnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgSmF2YSBjbGFzcyB3aXRoIHRoZSBzdGF0aWMgYG1haW4oKWAgbWV0aG9kLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IG1haW5DbGFzc05hbWU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtKYXZhQXBwT3B0aW9ucykge1xuICAgIGNvbnN0IG1haW5DbGFzc0NvbXBvbmVudHMgPSBvcHRpb25zLm1haW5DbGFzcy5zcGxpdChcIi5cIik7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbihcIi5cIiksXG4gICAgfSk7XG5cbiAgICB0aGlzLm1haW5DbGFzcyA9IG9wdGlvbnMubWFpbkNsYXNzO1xuICAgIHRoaXMubWFpblBhY2thZ2UgPSBtYWluUGFja2FnZS5qb2luKFwiLlwiKTtcbiAgICB0aGlzLm1haW5DbGFzc05hbWUgPSBtYWluQ2xhc3NOYW1lO1xuXG4gICAgdGhpcy5jZGtEZXBzID0gbmV3IEF3c0Nka0RlcHNKYXZhKHRoaXMsIHtcbiAgICAgIGRlcGVuZGVuY3lUeXBlOiBEZXBlbmRlbmN5VHlwZS5SVU5USU1FLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIHRoaXMuY2RrVGFza3MgPSBuZXcgQ2RrVGFza3ModGhpcyk7XG4gICAgdGhpcy5wb3N0Q29tcGlsZVRhc2suc3Bhd24odGhpcy5jZGtUYXNrcy5zeW50aCk7XG5cbiAgICB0aGlzLmNka0NvbmZpZyA9IG5ldyBDZGtDb25maWcodGhpcywge1xuICAgICAgYXBwOiBgbXZuIGV4ZWM6amF2YSAtLXF1aWV0IC1EZXhlYy5tYWluQ2xhc3M9JHt0aGlzLm1haW5DbGFzc31gLFxuICAgICAgZmVhdHVyZUZsYWdzOiB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uIDwgMixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBpZiAob3B0aW9ucy5zYW1wbGUgPz8gdHJ1ZSkge1xuICAgICAgdGhpcy5hZGRTYW1wbGUoKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiBBV1MgQ0RLIG1vZHVsZSBkZXBlbmRlbmNpZXNcbiAgICpcbiAgICogQHBhcmFtIG1vZHVsZXMgVGhlIGxpc3Qgb2YgbW9kdWxlcyB0byBkZXBlbmQgb24gKGUuZy4gXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1sYW1iZGFcIiwgXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1pYW1cIiwgZXRjKVxuICAgKiBAZGVwcmVjYXRlZCBJbiBDREsgMi54IGFsbCBtb2R1bGVzIGFyZSBhdmFpbGFibGUgYnkgZGVmYXVsdC4gQWxwaGEgbW9kdWxlcyBzaG91bGQgYmUgYWRkZWQgdXNpbmcgdGhlIHN0YW5kYXJkICdkZXBzJ1xuICAgKi9cbiAgcHVibGljIGFkZENka0RlcGVuZGVuY3koLi4ubW9kdWxlczogc3RyaW5nW10pIHtcbiAgICBmb3IgKGNvbnN0IG0gb2YgbW9kdWxlcykge1xuICAgICAgdGhpcy5jZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKG0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2FtcGxlKCkge1xuICAgIGNvbnN0IHBrZyA9IHRoaXMubWFpblBhY2thZ2Uuc3BsaXQoXCIuXCIpO1xuICAgIGNvbnN0IGphdmFGaWxlID0gYCR7dGhpcy5tYWluQ2xhc3NOYW1lfS5qYXZhYDtcbiAgICBuZXcgU2FtcGxlRGlyKHRoaXMsIGpvaW4oXCJzcmNcIiwgXCJtYWluXCIsIFwiamF2YVwiLCAuLi5wa2cpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBbamF2YUZpbGVdOiBbXG4gICAgICAgICAgYHBhY2thZ2UgJHtwa2cuam9pbihcIi5cIil9O2AsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLkFwcDtcIlxuICAgICAgICAgICAgOiBcImltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLkFwcDtcIixcbiAgICAgICAgICB0aGlzLmNka0RlcHMuY2RrTWFqb3JWZXJzaW9uID09IDFcbiAgICAgICAgICAgID8gXCJpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLlN0YWNrO1wiXG4gICAgICAgICAgICA6IFwiaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuU3RhY2s7XCIsXG4gICAgICAgICAgXCJcIixcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICBcIiAgcHVibGljIHN0YXRpYyB2b2lkIG1haW4oZmluYWwgU3RyaW5nW10gYXJncykge1wiLFxuICAgICAgICAgIFwiICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7XCIsXG4gICAgICAgICAgYCAgICBuZXcgU3RhY2soYXBwLCBcIiR7dGhpcy5uYW1lfVwiKTtgLFxuICAgICAgICAgIFwiICAgIGFwcC5zeW50aCgpO1wiLFxuICAgICAgICAgIFwiICB9XCIsXG4gICAgICAgICAgXCJ9XCIsXG4gICAgICAgIF0uam9pbihcIlxcblwiKSxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -57,7 +57,7 @@ class AwsCdkPythonApp extends python_project_1.PythonProject {
57
57
  }
58
58
  }
59
59
  _a = JSII_RTTI_SYMBOL_1;
60
- AwsCdkPythonApp[_a] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.71.70" };
60
+ AwsCdkPythonApp[_a] = { fqn: "projen.awscdk.AwsCdkPythonApp", version: "0.71.72" };
61
61
  exports.AwsCdkPythonApp = AwsCdkPythonApp;
62
62
  class AppCode extends __1.Component {
63
63
  constructor(project, fileName, cdkVersion) {
@@ -99,7 +99,7 @@ class AwsCdkTypeScriptApp extends typescript_1.TypeScriptAppProject {
99
99
  }
100
100
  }
101
101
  _a = JSII_RTTI_SYMBOL_1;
102
- AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.71.70" };
102
+ AwsCdkTypeScriptApp[_a] = { fqn: "projen.awscdk.AwsCdkTypeScriptApp", version: "0.71.72" };
103
103
  exports.AwsCdkTypeScriptApp = AwsCdkTypeScriptApp;
104
104
  class SampleCode extends component_1.Component {
105
105
  constructor(project, cdkMajorVersion) {
@@ -80,12 +80,12 @@ class AwsCdkConstructLibrary extends cdk_1.ConstructLibrary {
80
80
  }
81
81
  }
82
82
  _a = JSII_RTTI_SYMBOL_1;
83
- AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.71.70" };
83
+ AwsCdkConstructLibrary[_a] = { fqn: "projen.awscdk.AwsCdkConstructLibrary", version: "0.71.72" };
84
84
  exports.AwsCdkConstructLibrary = AwsCdkConstructLibrary;
85
85
  /** @deprecated use `AwsCdkConstructLibrary` */
86
86
  class ConstructLibraryAws extends AwsCdkConstructLibrary {
87
87
  }
88
88
  _b = JSII_RTTI_SYMBOL_1;
89
- ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.71.70" };
89
+ ConstructLibraryAws[_b] = { fqn: "projen.awscdk.ConstructLibraryAws", version: "0.71.72" };
90
90
  exports.ConstructLibraryAws = ConstructLibraryAws;
91
91
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWNvbnN0cnVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWNvbnN0cnVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLGlDQUFpQztBQUNqQyxtREFBK0M7QUFFL0MscURBQWdEO0FBRWhELGdDQUFtRTtBQUNuRSxrREFBaUQ7QUFvRGpEOzs7Ozs7OztHQVFHO0FBQ0gsTUFBYSxzQkFBdUIsU0FBUSxzQkFBZ0I7SUFHMUQsWUFBWSxPQUFzQztRQUNoRCxNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLENBQUM7UUFFaEUsS0FBSyxDQUFDO1lBQ0oscUJBQXFCLEVBQ25CLGVBQWUsS0FBSyxDQUFDO2dCQUNuQixDQUFDLENBQUM7b0JBQ0UsbUJBQW1CLEVBQUUsS0FBSztpQkFDM0I7Z0JBQ0gsQ0FBQyxDQUFDLFNBQVM7WUFDZixtQkFBbUIsRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLE1BQU07WUFDckQsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLDZCQUFZLENBQUMsSUFBSSxFQUFFO1lBQ3BDLG9FQUFvRTtZQUNwRSxjQUFjLEVBQUUsNkJBQWMsQ0FBQyxJQUFJO1lBQ25DLEdBQUcsT0FBTztTQUNYLENBQUMsQ0FBQztRQUVILElBQUksNEJBQVksQ0FBQyxJQUFJLEVBQUU7WUFDckIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWE7WUFDcEMsWUFBWSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUTtZQUN2QyxPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixJQUFJLElBQUk7WUFDdEQsc0JBQXNCLEVBQUUsT0FBTyxDQUFDLHNCQUFzQixJQUFJLElBQUk7WUFDOUQsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixJQUFJLElBQUk7WUFDeEUsMkJBQTJCLEVBQUUsT0FBTyxDQUFDLDJCQUEyQixJQUFJLElBQUk7U0FDekUsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxVQUFVO1FBQ25CLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7SUFDakMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLGtCQUFrQixDQUFDLEdBQUcsSUFBYztRQUN6QyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxzQkFBc0IsQ0FBQyxHQUFHLElBQWM7UUFDN0MsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDcEQsQ0FBQzs7OztBQXRFVSx3REFBc0I7QUE2RW5DLCtDQUErQztBQUMvQyxNQUFhLG1CQUFvQixTQUFRLHNCQUFzQjs7OztBQUFsRCxrREFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBzZW12ZXIgZnJvbSBcInNlbXZlclwiO1xuaW1wb3J0IHsgQXV0b0Rpc2NvdmVyIH0gZnJvbSBcIi4vYXV0by1kaXNjb3ZlclwiO1xuaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuaW1wb3J0IHsgQXdzQ2RrRGVwc0pzIH0gZnJvbSBcIi4vYXdzY2RrLWRlcHMtanNcIjtcbmltcG9ydCB7IExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gXCIuL2xhbWJkYS1mdW5jdGlvblwiO1xuaW1wb3J0IHsgQ29uc3RydWN0TGlicmFyeSwgQ29uc3RydWN0TGlicmFyeU9wdGlvbnMgfSBmcm9tIFwiLi4vY2RrXCI7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSB9IGZyb20gXCIuLi9kZXBlbmRlbmNpZXNcIjtcblxuLyoqXG4gKiBPcHRpb25zIGZvciBgQXdzQ2RrQ29uc3RydWN0TGlicmFyeWAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXdzQ2RrQ29uc3RydWN0TGlicmFyeU9wdGlvbnNcbiAgZXh0ZW5kcyBDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyxcbiAgICBBd3NDZGtEZXBzQ29tbW9uT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGF3c19sYW1iZGEuRnVuY3Rpb25gIGZvciBlYWNoIGAubGFtYmRhLnRzYCBoYW5kbGVyXG4gICAqIGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBlaXRoZXIgbmVlZCB0byBleHBsaWNpdGx5XG4gICAqIGNhbGwgYGF3c19sYW1iZGEuRnVuY3Rpb24uYXV0b0Rpc2NvdmVyKClgIG9yIGRlZmluZSBhIGBuZXdcbiAgICogYXdzX2xhbWJkYS5GdW5jdGlvbigpYCBmb3IgZWFjaCBoYW5kbGVyLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBsYW1iZGFBdXRvRGlzY292ZXI/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBdXRvbWF0aWNhbGx5IGFkZHMgYW4gYGNsb3VkZnJvbnQuZXhwZXJpbWVudGFsLkVkZ2VGdW5jdGlvbmAgZm9yIGVhY2hcbiAgICogYC5lZGdlLWxhbWJkYS50c2AgaGFuZGxlciBpbiB5b3VyIHNvdXJjZSB0cmVlLiBJZiB0aGlzIGlzIGRpc2FibGVkLCB5b3UgY2FuXG4gICAqIG1hbnVhbGx5IGFkZCBhbiBgYXdzY2RrLkF1dG9EaXNjb3ZlcmAgY29tcG9uZW50IHRvIHlvdXIgcHJvamVjdC5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgZWRnZUxhbWJkYUF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgYWRkcyBhbiBgYXdzY2RrLkxhbWJkYUV4dGVuc2lvbmAgZm9yIGVhY2ggYC5sYW1iZGEtZXh0ZW5zaW9uLnRzYFxuICAgKiBlbnRyeXBvaW50IGluIHlvdXIgc291cmNlIHRyZWUuIElmIHRoaXMgaXMgZGlzYWJsZWQsIHlvdSBjYW4gbWFudWFsbHkgYWRkIGFuXG4gICAqIGBhd3NjZGsuQXV0b0Rpc2NvdmVyYCBjb21wb25lbnQgdG8geW91ciBwcm9qZWN0XG4gICAqXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcj86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEF1dG9tYXRpY2FsbHkgZGlzY292ZXJzIGFuZCBjcmVhdGVzIGludGVncmF0aW9uIHRlc3RzIGZvciBlYWNoIGAuaW50ZWcudHNgXG4gICAqIGZpbGUgaW4gdW5kZXIgeW91ciB0ZXN0IGRpcmVjdG9yeS5cbiAgICpcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZWdyYXRpb25UZXN0QXV0b0Rpc2NvdmVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ29tbW9uIG9wdGlvbnMgZm9yIGFsbCBBV1MgTGFtYmRhIGZ1bmN0aW9ucy5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkZWZhdWx0IG9wdGlvbnNcbiAgICovXG4gIHJlYWRvbmx5IGxhbWJkYU9wdGlvbnM/OiBMYW1iZGFGdW5jdGlvbkNvbW1vbk9wdGlvbnM7XG59XG5cbi8qKlxuICogQVdTIENESyBjb25zdHJ1Y3QgbGlicmFyeSBwcm9qZWN0XG4gKlxuICogQSBtdWx0aS1sYW5ndWFnZSAoanNpaSkgY29uc3RydWN0IGxpYnJhcnkgd2hpY2ggdmVuZHMgY29uc3RydWN0cyBkZXNpZ25lZCB0b1xuICogdXNlIHdpdGhpbiB0aGUgQVdTIENESyB3aXRoIGEgZnJpZW5kbHkgd29ya2Zsb3cgYW5kIGF1dG9tYXRpYyBwdWJsaXNoaW5nIHRvXG4gKiB0aGUgY29uc3RydWN0IGNhdGFsb2cuXG4gKlxuICogQHBqaWQgYXdzY2RrLWNvbnN0cnVjdFxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrQ29uc3RydWN0TGlicmFyeSBleHRlbmRzIENvbnN0cnVjdExpYnJhcnkge1xuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucykge1xuICAgIGNvbnN0IGNka01ham9yVmVyc2lvbiA9IHNlbXZlci5wYXJzZShvcHRpb25zLmNka1ZlcnNpb24pPy5tYWpvcjtcblxuICAgIHN1cGVyKHtcbiAgICAgIHBlZXJEZXBlbmRlbmN5T3B0aW9uczpcbiAgICAgICAgY2RrTWFqb3JWZXJzaW9uID09PSAxXG4gICAgICAgICAgPyB7XG4gICAgICAgICAgICAgIHBpbm5lZERldkRlcGVuZGVuY3k6IGZhbHNlLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgd29ya2Zsb3dOb2RlVmVyc2lvbjogb3B0aW9ucy5taW5Ob2RlVmVyc2lvbiA/PyBcIjE2LnhcIixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0aGlzLmNka0RlcHMgPSBuZXcgQXdzQ2RrRGVwc0pzKHRoaXMsIHtcbiAgICAgIC8vIHNpbmNlIHRoaXMgd2UgYXJlIGEgbGlicmFyeSwgZGVwZW5kZW5jaWVzIHNob3VsZCBiZSBhZGRlZCBhIHBlZXJzXG4gICAgICBkZXBlbmRlbmN5VHlwZTogRGVwZW5kZW5jeVR5cGUuUEVFUixcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICBuZXcgQXV0b0Rpc2NvdmVyKHRoaXMsIHtcbiAgICAgIHNyY2RpcjogdGhpcy5zcmNkaXIsXG4gICAgICB0ZXN0ZGlyOiB0aGlzLnRlc3RkaXIsXG4gICAgICBsYW1iZGFPcHRpb25zOiBvcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB0c2NvbmZpZ1BhdGg6IHRoaXMudHNjb25maWdEZXYuZmlsZU5hbWUsXG4gICAgICBjZGtEZXBzOiB0aGlzLmNka0RlcHMsXG4gICAgICBsYW1iZGFBdXRvRGlzY292ZXI6IG9wdGlvbnMubGFtYmRhQXV0b0Rpc2NvdmVyID8/IHRydWUsXG4gICAgICBlZGdlTGFtYmRhQXV0b0Rpc2NvdmVyOiBvcHRpb25zLmVkZ2VMYW1iZGFBdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICAgIGxhbWJkYUV4dGVuc2lvbkF1dG9EaXNjb3Zlcjogb3B0aW9ucy5sYW1iZGFFeHRlbnNpb25BdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICAgIGludGVncmF0aW9uVGVzdEF1dG9EaXNjb3Zlcjogb3B0aW9ucy5pbnRlZ3JhdGlvblRlc3RBdXRvRGlzY292ZXIgPz8gdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgdGFyZ2V0IENESyB2ZXJzaW9uIGZvciB0aGlzIGxpYnJhcnkuXG4gICAqL1xuICBwdWJsaWMgZ2V0IGNka1ZlcnNpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrRGVwcy5jZGtWZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgY2RrVmVyc2lvbmBcbiAgICovXG4gIHB1YmxpYyBnZXQgdmVyc2lvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jZGtWZXJzaW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgZGVwZW5kZW5jaWVzIHRvIEFXUyBDREsgbW9kdWxlcy5cbiAgICpcbiAgICogU2luY2UgdGhpcyBpcyBhIGxpYnJhcnkgcHJvamVjdCwgZGVwZW5kZW5jaWVzIHdpbGwgYmUgYWRkZWQgYXMgcGVlciBkZXBlbmRlbmNpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBkZXBzIG5hbWVzIG9mIGNkayBtb2R1bGVzIChlLmcuIGBAYXdzLWNkay9hd3MtbGFtYmRhYCkuXG4gICAqIEBkZXByZWNhdGVkIE5vdCBzdXBwb3J0ZWQgaW4gdjIuIEZvciB2MSwgdXNlIGBwcm9qZWN0LmNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMoKWBcbiAgICovXG4gIHB1YmxpYyBhZGRDZGtEZXBlbmRlbmNpZXMoLi4uZGVwczogc3RyaW5nW10pIHtcbiAgICByZXR1cm4gdGhpcy5jZGtEZXBzLmFkZFYxRGVwZW5kZW5jaWVzKC4uLmRlcHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgQVdTIENESyBtb2R1bGVzIGFzIGRldiBkZXBlbmRlbmNpZXMuXG4gICAqXG4gICAqIEBwYXJhbSBkZXBzIG5hbWVzIG9mIGNkayBtb2R1bGVzIChlLmcuIGBAYXdzLWNkay9hd3MtbGFtYmRhYCkuXG4gICAqIEBkZXByZWNhdGVkIE5vdCBzdXBwb3J0ZWQgaW4gdjIuIEZvciB2MSwgdXNlIGBwcm9qZWN0LmNka0RlcHMuYWRkVjFEZXZEZXBlbmRlbmNpZXMoKWBcbiAgICovXG4gIHB1YmxpYyBhZGRDZGtUZXN0RGVwZW5kZW5jaWVzKC4uLmRlcHM6IHN0cmluZ1tdKSB7XG4gICAgcmV0dXJuIHRoaXMuY2RrRGVwcy5hZGRWMURldkRlcGVuZGVuY2llcyguLi5kZXBzKTtcbiAgfVxufVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9uc2AgKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uc3RydWN0TGlicmFyeUF3c09wdGlvbnNcbiAgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5T3B0aW9ucyB7fVxuXG4vKiogQGRlcHJlY2F0ZWQgdXNlIGBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5YCAqL1xuZXhwb3J0IGNsYXNzIENvbnN0cnVjdExpYnJhcnlBd3MgZXh0ZW5kcyBBd3NDZGtDb25zdHJ1Y3RMaWJyYXJ5IHt9XG4iXX0=
@@ -18,6 +18,6 @@ class AwsCdkDepsJava extends awscdk_deps_1.AwsCdkDeps {
18
18
  }
19
19
  }
20
20
  _a = JSII_RTTI_SYMBOL_1;
21
- AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.71.70" };
21
+ AwsCdkDepsJava[_a] = { fqn: "projen.awscdk.AwsCdkDepsJava", version: "0.71.72" };
22
22
  exports.AwsCdkDepsJava = AwsCdkDepsJava;
23
23
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtamF2YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXdzY2RrLWRlcHMtamF2YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtDQUErRDtBQUUvRDs7R0FFRztBQUNILE1BQWEsY0FBZSxTQUFRLHdCQUFVO0lBQ2xDLFlBQVk7UUFDcEIsT0FBTztZQUNMLE1BQU0sRUFBRSw2QkFBNkI7WUFDckMsTUFBTSxFQUFFLG9DQUFvQztZQUM1QyxVQUFVLEVBQUUsZ0NBQWdDO1lBQzVDLFVBQVUsRUFBRSxtQ0FBbUM7U0FDaEQsQ0FBQztJQUNKLENBQUM7Ozs7QUFSVSx3Q0FBYyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEF3c0Nka0RlcHMsIEF3c0Nka1BhY2thZ2VOYW1lcyB9IGZyb20gXCIuL2F3c2Nkay1kZXBzXCI7XG5cbi8qKlxuICogTWFuYWdlcyBkZXBlbmRlbmNpZXMgb24gdGhlIEFXUyBDREsgZm9yIEphdmEgcHJvamVjdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtEZXBzSmF2YSBleHRlbmRzIEF3c0Nka0RlcHMge1xuICBwcm90ZWN0ZWQgcGFja2FnZU5hbWVzKCk6IEF3c0Nka1BhY2thZ2VOYW1lcyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvcmVWMTogXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2NvcmVcIixcbiAgICAgIGNvcmVWMjogXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2F3cy1jZGstbGliXCIsXG4gICAgICBjb25zdHJ1Y3RzOiBcInNvZnR3YXJlLmNvbnN0cnVjdHMvY29uc3RydWN0c1wiLFxuICAgICAgYXNzZXJ0aW9uczogXCJzb2Z0d2FyZS5hbWF6b24uYXdzY2RrL2Fzc2VydGlvbnNcIixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -19,6 +19,6 @@ class AwsCdkDepsJs extends awscdk_deps_1.AwsCdkDeps {
19
19
  }
20
20
  }
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.71.70" };
22
+ AwsCdkDepsJs[_a] = { fqn: "projen.awscdk.AwsCdkDepsJs", version: "0.71.72" };
23
23
  exports.AwsCdkDepsJs = AwsCdkDepsJs;
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtanMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2F3c2Nkay1kZXBzLWpzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQStEO0FBRS9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQVU7SUFDaEMsWUFBWTtRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGVBQWU7WUFDdkIsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLGlCQUFpQjtZQUN6QixVQUFVLEVBQUUscUJBQXFCO1NBQ2xDLENBQUM7SUFDSixDQUFDOzs7O0FBVFUsb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtQYWNrYWdlTmFtZXMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgZGVwZW5kZW5jaWVzIG9uIHRoZSBBV1MgQ0RLIGZvciBOb2RlLmpzIHByb2plY3RzLlxuICovXG5leHBvcnQgY2xhc3MgQXdzQ2RrRGVwc0pzIGV4dGVuZHMgQXdzQ2RrRGVwcyB7XG4gIHByb3RlY3RlZCBwYWNrYWdlTmFtZXMoKTogQXdzQ2RrUGFja2FnZU5hbWVzIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29yZVYxOiBcIkBhd3MtY2RrL2NvcmVcIixcbiAgICAgIGNvcmVWMjogXCJhd3MtY2RrLWxpYlwiLFxuICAgICAgY29uc3RydWN0czogXCJjb25zdHJ1Y3RzXCIsXG4gICAgICBhc3NlcnQ6IFwiQGF3cy1jZGsvYXNzZXJ0XCIsXG4gICAgICBhc3NlcnRpb25zOiBcIkBhd3MtY2RrL2Fzc2VydGlvbnNcIixcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -19,6 +19,6 @@ class AwsCdkDepsPy extends awscdk_deps_1.AwsCdkDeps {
19
19
  }
20
20
  }
21
21
  _a = JSII_RTTI_SYMBOL_1;
22
- AwsCdkDepsPy[_a] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.71.70" };
22
+ AwsCdkDepsPy[_a] = { fqn: "projen.awscdk.AwsCdkDepsPy", version: "0.71.72" };
23
23
  exports.AwsCdkDepsPy = AwsCdkDepsPy;
24
24
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWRlcHMtcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYXdzY2RrL2F3c2Nkay1kZXBzLXB5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsK0NBQStEO0FBRS9EOztHQUVHO0FBQ0gsTUFBYSxZQUFhLFNBQVEsd0JBQVU7SUFDaEMsWUFBWTtRQUNwQixPQUFPO1lBQ0wsTUFBTSxFQUFFLGNBQWM7WUFDdEIsTUFBTSxFQUFFLGFBQWE7WUFDckIsVUFBVSxFQUFFLFlBQVk7WUFDeEIsTUFBTSxFQUFFLGdCQUFnQjtZQUN4QixVQUFVLEVBQUUsb0JBQW9CO1NBQ2pDLENBQUM7SUFDSixDQUFDOzs7O0FBVFUsb0NBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBd3NDZGtEZXBzLCBBd3NDZGtQYWNrYWdlTmFtZXMgfSBmcm9tIFwiLi9hd3NjZGstZGVwc1wiO1xuXG4vKipcbiAqIE1hbmFnZXMgZGVwZW5kZW5jaWVzIG9uIHRoZSBBV1MgQ0RLIGZvciBQeXRob24gcHJvamVjdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBBd3NDZGtEZXBzUHkgZXh0ZW5kcyBBd3NDZGtEZXBzIHtcbiAgcHJvdGVjdGVkIHBhY2thZ2VOYW1lcygpOiBBd3NDZGtQYWNrYWdlTmFtZXMge1xuICAgIHJldHVybiB7XG4gICAgICBjb3JlVjE6IFwiYXdzX2Nkay5jb3JlXCIsXG4gICAgICBjb3JlVjI6IFwiYXdzLWNkay1saWJcIixcbiAgICAgIGNvbnN0cnVjdHM6IFwiY29uc3RydWN0c1wiLFxuICAgICAgYXNzZXJ0OiBcImF3c19jZGsuYXNzZXJ0XCIsXG4gICAgICBhc3NlcnRpb25zOiBcImF3c19jZGsuYXNzZXJ0aW9uc1wiLFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -155,7 +155,7 @@ class AwsCdkDeps extends component_1.Component {
155
155
  }
156
156
  }
157
157
  _a = JSII_RTTI_SYMBOL_1;
158
- AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.71.70" };
158
+ AwsCdkDeps[_a] = { fqn: "projen.awscdk.AwsCdkDeps", version: "0.71.72" };
159
159
  exports.AwsCdkDeps = AwsCdkDeps;
160
160
  /**
161
161
  * Which AWS CDK version a construct library package belongs to.
@@ -67,7 +67,7 @@ class CdkConfig extends component_1.Component {
67
67
  }
68
68
  }
69
69
  _a = JSII_RTTI_SYMBOL_1;
70
- CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.71.70" };
70
+ CdkConfig[_a] = { fqn: "projen.awscdk.CdkConfig", version: "0.71.72" };
71
71
  exports.CdkConfig = CdkConfig;
72
72
  /**
73
73
  * Which approval is required when deploying CDK apps.