projen 0.48.1 → 0.49.0

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 (114) hide show
  1. package/.jsii +318 -118
  2. package/API.md +179 -39
  3. package/changelog.md +8 -3
  4. package/lib/awscdk/auto-discover.js +1 -1
  5. package/lib/awscdk/{java-app.d.ts → awscdk-app-java.d.ts} +10 -27
  6. package/lib/awscdk/awscdk-app-java.js +87 -0
  7. package/lib/awscdk/awscdk-app-ts.js +4 -4
  8. package/lib/awscdk/awscdk-construct.js +5 -5
  9. package/lib/awscdk/awscdk-deps-java.d.ts +14 -0
  10. package/lib/awscdk/awscdk-deps-java.js +30 -0
  11. package/lib/awscdk/awscdk-deps-js.d.ts +14 -0
  12. package/lib/awscdk/awscdk-deps-js.js +31 -0
  13. package/lib/awscdk/awscdk-deps.d.ts +56 -8
  14. package/lib/awscdk/awscdk-deps.js +13 -12
  15. package/lib/awscdk/cdk-config.js +1 -1
  16. package/lib/awscdk/cdk-tasks.js +1 -1
  17. package/lib/awscdk/index.d.ts +3 -1
  18. package/lib/awscdk/index.js +4 -2
  19. package/lib/awscdk/integration-test.js +1 -1
  20. package/lib/awscdk/lambda-function.js +2 -2
  21. package/lib/build/build-workflow.js +1 -1
  22. package/lib/cdk/construct-lib.js +1 -1
  23. package/lib/cdk/jsii-docgen.js +1 -1
  24. package/lib/cdk/jsii-project.js +1 -1
  25. package/lib/cdk8s/cdk8s-app-ts.js +1 -1
  26. package/lib/cdk8s/cdk8s-construct.js +1 -1
  27. package/lib/cdktf/cdktf-construct.js +1 -1
  28. package/lib/component.js +1 -1
  29. package/lib/dependencies.js +1 -1
  30. package/lib/dev-env.js +1 -1
  31. package/lib/docker-compose.js +2 -2
  32. package/lib/file.js +1 -1
  33. package/lib/gitattributes.js +1 -1
  34. package/lib/github/auto-approve.js +1 -1
  35. package/lib/github/auto-merge.js +1 -1
  36. package/lib/github/dependabot.js +1 -1
  37. package/lib/github/github-project.js +1 -1
  38. package/lib/github/github.js +1 -1
  39. package/lib/github/mergify.js +1 -1
  40. package/lib/github/pr-template.js +1 -1
  41. package/lib/github/pull-request-lint.js +1 -1
  42. package/lib/github/stale.js +1 -1
  43. package/lib/github/task-workflow.js +1 -1
  44. package/lib/github/workflows.js +1 -1
  45. package/lib/gitpod.js +1 -1
  46. package/lib/ignore-file.js +1 -1
  47. package/lib/ini.js +1 -1
  48. package/lib/java/java-project.d.ts +1 -0
  49. package/lib/java/java-project.js +2 -2
  50. package/lib/java/junit.js +1 -1
  51. package/lib/java/maven-compile.js +1 -1
  52. package/lib/java/maven-packaging.js +1 -1
  53. package/lib/java/maven-sample.js +1 -1
  54. package/lib/java/pom.js +1 -1
  55. package/lib/java/projenrc.js +1 -1
  56. package/lib/javascript/bundler.js +1 -1
  57. package/lib/javascript/eslint.js +1 -1
  58. package/lib/javascript/jest.js +1 -1
  59. package/lib/javascript/node-package.js +1 -1
  60. package/lib/javascript/node-project.js +1 -1
  61. package/lib/javascript/npm-config.js +1 -1
  62. package/lib/javascript/prettier.js +1 -1
  63. package/lib/javascript/projenrc.js +1 -1
  64. package/lib/javascript/typescript-config.js +1 -1
  65. package/lib/javascript/upgrade-dependencies.js +2 -2
  66. package/lib/json.js +1 -1
  67. package/lib/license.js +1 -1
  68. package/lib/logger.js +1 -1
  69. package/lib/makefile.js +1 -1
  70. package/lib/object-file.js +1 -1
  71. package/lib/project-build.js +1 -1
  72. package/lib/project.js +1 -1
  73. package/lib/projects.js +1 -1
  74. package/lib/projenrc-json.js +1 -1
  75. package/lib/python/pip.js +1 -1
  76. package/lib/python/poetry.js +2 -2
  77. package/lib/python/projenrc.js +1 -1
  78. package/lib/python/pytest.js +1 -1
  79. package/lib/python/python-project.js +1 -1
  80. package/lib/python/python-sample.js +1 -1
  81. package/lib/python/requirements-file.js +1 -1
  82. package/lib/python/setuppy.js +1 -1
  83. package/lib/python/setuptools.js +1 -1
  84. package/lib/python/venv.js +1 -1
  85. package/lib/readme.js +1 -1
  86. package/lib/release/publisher.js +1 -1
  87. package/lib/release/release-trigger.js +1 -1
  88. package/lib/release/release.js +1 -1
  89. package/lib/sample-file.js +2 -2
  90. package/lib/semver.js +1 -1
  91. package/lib/source-code.js +1 -1
  92. package/lib/task-runtime.js +1 -1
  93. package/lib/task.js +1 -1
  94. package/lib/tasks.js +1 -1
  95. package/lib/testing.js +1 -1
  96. package/lib/textfile.js +1 -1
  97. package/lib/toml.js +1 -1
  98. package/lib/typescript/projenrc.js +1 -1
  99. package/lib/typescript/typescript-typedoc.js +1 -1
  100. package/lib/typescript/typescript.js +3 -3
  101. package/lib/version.js +1 -1
  102. package/lib/vscode/devcontainer.js +1 -1
  103. package/lib/vscode/launch-config.js +1 -1
  104. package/lib/vscode/vscode.js +1 -1
  105. package/lib/web/next.js +3 -3
  106. package/lib/web/postcss.js +1 -1
  107. package/lib/web/react.js +4 -4
  108. package/lib/web/tailwind.js +1 -1
  109. package/lib/xmlfile.js +1 -1
  110. package/lib/yaml.js +1 -1
  111. package/package.json +1 -1
  112. package/releasetag.txt +1 -1
  113. package/version.txt +1 -1
  114. package/lib/awscdk/java-app.js +0 -90
package/API.md CHANGED
@@ -40,6 +40,8 @@ Name|Description
40
40
  [awscdk.AutoDiscover](#projen-awscdk-autodiscover)|Automatically creates a `LambdaFunction` for all `.lambda.ts` files under the source directory of the project.
41
41
  [awscdk.AwsCdkConstructLibrary](#projen-awscdk-awscdkconstructlibrary)|AWS CDK construct library project.
42
42
  [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)|Manages dependencies on the AWS CDK.
43
+ [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava)|Manages dependencies on the AWS CDK for Java projects.
44
+ [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)|Manages dependencies on the AWS CDK for Node.js projects.
43
45
  [awscdk.AwsCdkJavaApp](#projen-awscdk-awscdkjavaapp)|AWS CDK app in Java.
44
46
  [awscdk.AwsCdkTypeScriptApp](#projen-awscdk-awscdktypescriptapp)|AWS CDK app in TypeScript.
45
47
  [awscdk.CdkConfig](#projen-awscdk-cdkconfig)|Represents cdk.json file.
@@ -169,6 +171,7 @@ Name|Description
169
171
  [awscdk.AwsCdkDepsCommonOptions](#projen-awscdk-awscdkdepscommonoptions)|Options for `AwsCdkDeps`.
170
172
  [awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)|*No description*
171
173
  [awscdk.AwsCdkJavaAppOptions](#projen-awscdk-awscdkjavaappoptions)|*No description*
174
+ [awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)|Language-specific AWS CDK package names.
172
175
  [awscdk.AwsCdkTypeScriptAppOptions](#projen-awscdk-awscdktypescriptappoptions)|*No description*
173
176
  [awscdk.CdkConfigCommonOptions](#projen-awscdk-cdkconfigcommonoptions)|Common options for `cdk.json`.
174
177
  [awscdk.CdkConfigOptions](#projen-awscdk-cdkconfigoptions)|Options for `CdkJson`.
@@ -3045,9 +3048,9 @@ new awscdk.AwsCdkConstructLibrary(options: AwsCdkConstructLibraryOptions)
3045
3048
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3046
3049
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3047
3050
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3048
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3049
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3050
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3051
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3052
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3053
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3051
3054
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3052
3055
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3053
3056
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3106,6 +3109,7 @@ Manages dependencies on the AWS CDK.
3106
3109
  __Submodule__: awscdk
3107
3110
 
3108
3111
  __Extends__: [Component](#projen-component)
3112
+ __Implemented by__: [awscdk.AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava), [awscdk.AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs)
3109
3113
 
3110
3114
  ### Initializer
3111
3115
 
@@ -3119,9 +3123,9 @@ new awscdk.AwsCdkDeps(project: Project, options: AwsCdkDepsOptions)
3119
3123
  * **project** (<code>[Project](#projen-project)</code>) *No description*
3120
3124
  * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3121
3125
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3122
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3123
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3124
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3126
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3127
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3128
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3125
3129
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3126
3130
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3127
3131
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3172,11 +3176,117 @@ This method is not supported in CDK v2. Use `project.addPeerDeps()` or
3172
3176
  addV1DevDependencies(...deps: string[]): void
3173
3177
  ```
3174
3178
 
3175
- * **deps** (<code>string</code>) names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3179
+ * **deps** (<code>string</code>) fully qualified names of cdk modules (e.g. `@aws-cdk/aws-lambda`).
3180
+
3181
+
3182
+
3183
+
3184
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdeps-packagenames"></a>
3185
+
3186
+ Return a configuration object with information about package naming in various languages.
3187
+
3188
+ ```ts
3189
+ protected packageNames(): AwsCdkPackageNames
3190
+ ```
3191
+
3192
+
3193
+ __Returns__:
3194
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3195
+
3196
+
3197
+
3198
+ ## class AwsCdkDepsJava 🔹 <a id="projen-awscdk-awscdkdepsjava"></a>
3199
+
3200
+ Manages dependencies on the AWS CDK for Java projects.
3201
+
3202
+ __Submodule__: awscdk
3203
+
3204
+ __Extends__: [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)
3205
+
3206
+ ### Initializer
3207
+
3208
+
3209
+
3210
+
3211
+ ```ts
3212
+ new awscdk.AwsCdkDepsJava(project: Project, options: AwsCdkDepsOptions)
3213
+ ```
3214
+
3215
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3216
+ * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3217
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3218
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3219
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3220
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3221
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3222
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3223
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3224
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3225
+ * **dependencyType** (<code>[DependencyType](#projen-dependencytype)</code>) The type of dependency to use for runtime AWS CDK and `constructs` modules.
3226
+
3227
+
3228
+ ### Methods
3229
+
3230
+
3231
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdepsjava-packagenames"></a>
3232
+
3233
+ Return a configuration object with information about package naming in various languages.
3234
+
3235
+ ```ts
3236
+ protected packageNames(): AwsCdkPackageNames
3237
+ ```
3238
+
3239
+
3240
+ __Returns__:
3241
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3242
+
3243
+
3244
+
3245
+ ## class AwsCdkDepsJs 🔹 <a id="projen-awscdk-awscdkdepsjs"></a>
3246
+
3247
+ Manages dependencies on the AWS CDK for Node.js projects.
3248
+
3249
+ __Submodule__: awscdk
3250
+
3251
+ __Extends__: [awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)
3252
+
3253
+ ### Initializer
3176
3254
 
3177
3255
 
3178
3256
 
3179
3257
 
3258
+ ```ts
3259
+ new awscdk.AwsCdkDepsJs(project: Project, options: AwsCdkDepsOptions)
3260
+ ```
3261
+
3262
+ * **project** (<code>[Project](#projen-project)</code>) *No description*
3263
+ * **options** (<code>[awscdk.AwsCdkDepsOptions](#projen-awscdk-awscdkdepsoptions)</code>) *No description*
3264
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3265
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3266
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3267
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3268
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3269
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3270
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3271
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3272
+ * **dependencyType** (<code>[DependencyType](#projen-dependencytype)</code>) The type of dependency to use for runtime AWS CDK and `constructs` modules.
3273
+
3274
+
3275
+ ### Methods
3276
+
3277
+
3278
+ #### protected packageNames()🔹 <a id="projen-awscdk-awscdkdepsjs-packagenames"></a>
3279
+
3280
+ Return a configuration object with information about package naming in various languages.
3281
+
3282
+ ```ts
3283
+ protected packageNames(): AwsCdkPackageNames
3284
+ ```
3285
+
3286
+
3287
+ __Returns__:
3288
+ * <code>[awscdk.AwsCdkPackageNames](#projen-awscdk-awscdkpackagenames)</code>
3289
+
3180
3290
 
3181
3291
 
3182
3292
  ## class AwsCdkJavaApp 🔹 <a id="projen-awscdk-awscdkjavaapp"></a>
@@ -3234,7 +3344,7 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3234
3344
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
3235
3345
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
3236
3346
  * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
3237
- * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
3347
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Default*__: true
3238
3348
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
3239
3349
  * **buildCommand** (<code>string</code>) A command to execute before synthesis. __*Default*__: no build command
3240
3350
  * **cdkout** (<code>string</code>) cdk.out directory. __*Default*__: "cdk.out"
@@ -3243,9 +3353,15 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3243
3353
  * **requireApproval** (<code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code>) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. __*Default*__: ApprovalLevel.BROADENING
3244
3354
  * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3245
3355
  * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3246
- * **cdkVersion** (<code>string</code>) AWS CDK version to use (you can use semantic versioning).
3356
+ * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3357
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3358
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3359
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3360
+ * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3361
+ * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3362
+ * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
3363
+ * **constructsVersion** (<code>string</code>) Minimum version of the `constructs` library to depend on. __*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
3247
3364
  * **mainClass** (<code>string</code>) The name of the Java class with the static `main()` method.
3248
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules this app uses. __*Optional*__
3249
3365
 
3250
3366
 
3251
3367
 
@@ -3255,8 +3371,8 @@ new awscdk.AwsCdkJavaApp(options: AwsCdkJavaAppOptions)
3255
3371
  Name | Type | Description
3256
3372
  -----|------|-------------
3257
3373
  **cdkConfig**🔹 | <code>[awscdk.CdkConfig](#projen-awscdk-cdkconfig)</code> | The `cdk.json` file.
3374
+ **cdkDeps**🔹 | <code>[awscdk.AwsCdkDeps](#projen-awscdk-awscdkdeps)</code> | CDK dependency management helper class.
3258
3375
  **cdkTasks**🔹 | <code>[awscdk.CdkTasks](#projen-awscdk-cdktasks)</code> | CDK tasks.
3259
- **cdkVersion**🔹 | <code>string</code> | The CDK version this app is using.
3260
3376
  **mainClass**🔹 | <code>string</code> | The full name of the main class of the java app (package.Class).
3261
3377
  **mainClassName**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
3262
3378
  **mainPackage**🔹 | <code>string</code> | The name of the Java package that includes the main class.
@@ -3264,7 +3380,7 @@ Name | Type | Description
3264
3380
  ### Methods
3265
3381
 
3266
3382
 
3267
- #### addCdkDependency(...modules)🔹 <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
3383
+ #### addCdkDependency(...modules)⚠️ <a id="projen-awscdk-awscdkjavaapp-addcdkdependency"></a>
3268
3384
 
3269
3385
  Adds an AWS CDK module dependencies.
3270
3386
 
@@ -3272,7 +3388,7 @@ Adds an AWS CDK module dependencies.
3272
3388
  addCdkDependency(...modules: string[]): void
3273
3389
  ```
3274
3390
 
3275
- * **modules** (<code>string</code>) The list of modules to depend on (e.g. "core", "aws-lambda", etc).
3391
+ * **modules** (<code>string</code>) The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
3276
3392
 
3277
3393
 
3278
3394
 
@@ -3433,9 +3549,9 @@ new awscdk.AwsCdkTypeScriptApp(options: AwsCdkTypeScriptAppOptions)
3433
3549
  * **watchExcludes** (<code>Array<string></code>) Glob patterns to exclude from `cdk watch`. __*Default*__: []
3434
3550
  * **watchIncludes** (<code>Array<string></code>) Glob patterns to include in `cdk watch`. __*Default*__: []
3435
3551
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3436
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3437
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3438
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3552
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3553
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3554
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3439
3555
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3440
3556
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3441
3557
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -3711,9 +3827,9 @@ new awscdk.ConstructLibraryAws(options: AwsCdkConstructLibraryOptions)
3711
3827
  * **rootdir** (<code>string</code>) *No description* __*Default*__: "."
3712
3828
  * **catalog** (<code>[cdk.Catalog](#projen-cdk-catalog)</code>) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. __*Default*__: new version will be announced
3713
3829
  * **cdkVersion** (<code>string</code>) Minimum version of the AWS CDK to depend on.
3714
- * **cdkAssert** (<code>boolean</code>) Install the @aws-cdk/assert library? __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3715
- * **cdkAssertions** (<code>boolean</code>) Install the @aws-cdk/assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3716
- * **cdkDependencies** (<code>Array<string></code>) Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed? __*Optional*__
3830
+ * **cdkAssert** (<code>boolean</code>) Warning: NodeJS only. __*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
3831
+ * **cdkAssertions** (<code>boolean</code>) Install the assertions library? __*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
3832
+ * **cdkDependencies** (<code>Array<string></code>) Which AWS CDKv1 modules this project requires. __*Optional*__
3717
3833
  * **cdkDependenciesAsDeps** (<code>boolean</code>) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). __*Default*__: true
3718
3834
  * **cdkTestDependencies** (<code>Array<string></code>) AWS CDK modules required for testing. __*Optional*__
3719
3835
  * **cdkVersionPinning** (<code>boolean</code>) Use pinned version instead of caret version for CDK. __*Optional*__
@@ -5510,7 +5626,7 @@ new java.JavaProject(options: JavaProjectOptions)
5510
5626
  * **projenrcJava** (<code>boolean</code>) Use projenrc in java. __*Default*__: true
5511
5627
  * **projenrcJavaOptions** (<code>[java.ProjenrcOptions](#projen-java-projenrcoptions)</code>) Options related to projenrc in java. __*Default*__: default options
5512
5628
  * **testDeps** (<code>Array<string></code>) List of test dependencies for this project. __*Default*__: []
5513
- * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Optional*__
5629
+ * **sample** (<code>boolean</code>) Include sample code and test if the relevant directories don't exist. __*Default*__: true
5514
5630
  * **sampleJavaPackage** (<code>string</code>) The java package to use for the code sample. __*Default*__: "org.acme"
5515
5631
 
5516
5632
 
@@ -10582,9 +10698,9 @@ Name | Type | Description
10582
10698
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10583
10699
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10584
10700
  **catalog**?🔹 | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
10585
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10586
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10587
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10701
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10702
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10703
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10588
10704
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10589
10705
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10590
10706
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10723,9 +10839,9 @@ Options for `AwsCdkDeps`.
10723
10839
  Name | Type | Description
10724
10840
  -----|------|-------------
10725
10841
  **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10726
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10727
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10728
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10842
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10843
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10844
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10729
10845
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10730
10846
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10731
10847
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10744,9 +10860,9 @@ Name | Type | Description
10744
10860
  -----|------|-------------
10745
10861
  **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10746
10862
  **dependencyType**🔹 | <code>[DependencyType](#projen-dependencytype)</code> | The type of dependency to use for runtime AWS CDK and `constructs` modules.
10747
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10748
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10749
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10863
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10864
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10865
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10750
10866
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10751
10867
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10752
10868
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -10764,7 +10880,7 @@ Name | Type | Description
10764
10880
  Name | Type | Description
10765
10881
  -----|------|-------------
10766
10882
  **artifactId**🔹 | <code>string</code> | The artifactId is generally the name that the project is known by.
10767
- **cdkVersion**🔹 | <code>string</code> | AWS CDK version to use (you can use semantic versioning).
10883
+ **cdkVersion**🔹 | <code>string</code> | Minimum version of the AWS CDK to depend on.
10768
10884
  **groupId**🔹 | <code>string</code> | This is generally unique amongst an organization or a project.
10769
10885
  **mainClass**🔹 | <code>string</code> | The name of the Java class with the static `main()` method.
10770
10886
  **name**🔹 | <code>string</code> | This is the name of your project.
@@ -10772,10 +10888,16 @@ Name | Type | Description
10772
10888
  **autoApproveOptions**?🔹 | <code>[github.AutoApproveOptions](#projen-github-autoapproveoptions)</code> | Enable and configure the 'auto approve' workflow.<br/>__*Default*__: auto approve is disabled
10773
10889
  **autoMergeOptions**?🔹 | <code>[github.AutoMergeOptions](#projen-github-automergeoptions)</code> | Configure options for automatic merging on GitHub.<br/>__*Default*__: see defaults in `AutoMergeOptions`
10774
10890
  **buildCommand**?🔹 | <code>string</code> | A command to execute before synthesis.<br/>__*Default*__: no build command
10775
- **cdkDependencies**?🔹 | <code>Array<string></code> | Which AWS CDK modules this app uses.<br/>__*Optional*__
10891
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10892
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10893
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10894
+ **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10895
+ **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10896
+ **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
10776
10897
  **cdkout**?🔹 | <code>string</code> | cdk.out directory.<br/>__*Default*__: "cdk.out"
10777
10898
  **clobber**?🔹 | <code>boolean</code> | Add a `clobber` task which resets the repo to origin.<br/>__*Default*__: true
10778
10899
  **compileOptions**?🔹 | <code>[java.MavenCompileOptions](#projen-java-mavencompileoptions)</code> | Compile options.<br/>__*Default*__: defaults
10900
+ **constructsVersion**?🔹 | <code>string</code> | Minimum version of the `constructs` library to depend on.<br/>__*Default*__: for CDK 1.x the default is "3.2.27", for CDK 2.x the default is "10.0.5".
10779
10901
  **context**?🔹 | <code>Map<string, any></code> | Additional context to include in `cdk.json`.<br/>__*Default*__: no additional context
10780
10902
  **deps**?🔹 | <code>Array<string></code> | List of runtime dependencies for this project.<br/>__*Default*__: []
10781
10903
  **description**?🔹 | <code>string</code> | Description of a project is always good.<br/>__*Default*__: undefined
@@ -10803,7 +10925,7 @@ Name | Type | Description
10803
10925
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
10804
10926
  **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
10805
10927
  **requireApproval**?🔹 | <code>[awscdk.ApprovalLevel](#projen-awscdk-approvallevel)</code> | To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.<br/>__*Default*__: ApprovalLevel.BROADENING
10806
- **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
10928
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Default*__: true
10807
10929
  **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
10808
10930
  **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
10809
10931
  **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
@@ -10815,6 +10937,24 @@ Name | Type | Description
10815
10937
 
10816
10938
 
10817
10939
 
10940
+ ## struct AwsCdkPackageNames 🔹 <a id="projen-awscdk-awscdkpackagenames"></a>
10941
+
10942
+ __Obtainable from__: [AwsCdkDeps](#projen-awscdk-awscdkdeps).[packageNames](#projen-awscdk-awscdkdeps#projen-awscdk-awscdkdeps-packagenames)(), [AwsCdkDepsJava](#projen-awscdk-awscdkdepsjava).[packageNames](#projen-awscdk-awscdkdepsjava#projen-awscdk-awscdkdepsjava-packagenames)(), [AwsCdkDepsJs](#projen-awscdk-awscdkdepsjs).[packageNames](#projen-awscdk-awscdkdepsjs#projen-awscdk-awscdkdepsjs-packagenames)()
10943
+
10944
+ Language-specific AWS CDK package names.
10945
+
10946
+
10947
+
10948
+ Name | Type | Description
10949
+ -----|------|-------------
10950
+ **assertions**🔹 | <code>string</code> | Fully qualified name of the assertions library package.
10951
+ **constructs**🔹 | <code>string</code> | Fully qualified name of the constructs library package.
10952
+ **coreV1**🔹 | <code>string</code> | Fully qualified name of the core framework package for CDKv1.
10953
+ **coreV2**🔹 | <code>string</code> | Fully qualified name of the core framework package for CDKv2.
10954
+ **assert**?🔹 | <code>string</code> | Fully qualified name of the assert library package Can be empty as it's only really available for javascript projects.<br/>__*Optional*__
10955
+
10956
+
10957
+
10818
10958
  ## struct AwsCdkTypeScriptAppOptions 🔹 <a id="projen-awscdk-awscdktypescriptappoptions"></a>
10819
10959
 
10820
10960
 
@@ -10846,9 +10986,9 @@ Name | Type | Description
10846
10986
  **buildWorkflow**?🔹 | <code>boolean</code> | Define a GitHub workflow for building PRs.<br/>__*Default*__: true if not a subproject
10847
10987
  **bundledDeps**?🔹 | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
10848
10988
  **bundlerOptions**?🔹 | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
10849
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10850
- **cdkAssertions**?🔹 | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10851
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
10989
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
10990
+ **cdkAssertions**?🔹 | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
10991
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
10852
10992
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
10853
10993
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
10854
10994
  **cdkVersionPinning**?🔹 | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -11045,9 +11185,9 @@ Name | Type | Description
11045
11185
  **bundledDeps**?⚠️ | <code>Array<string></code> | List of dependencies to bundle into this module.<br/>__*Optional*__
11046
11186
  **bundlerOptions**?⚠️ | <code>[javascript.BundlerOptions](#projen-javascript-bundleroptions)</code> | Options for `Bundler`.<br/>__*Optional*__
11047
11187
  **catalog**?⚠️ | <code>[cdk.Catalog](#projen-cdk-catalog)</code> | Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:.<br/>__*Default*__: new version will be announced
11048
- **cdkAssert**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assert library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11049
- **cdkAssertions**?⚠️ | <code>boolean</code> | Install the @aws-cdk/assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11050
- **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDK modules (those that start with "@aws-cdk/") does this library require when consumed?<br/>__*Optional*__
11188
+ **cdkAssert**?⚠️ | <code>boolean</code> | Warning: NodeJS only.<br/>__*Default*__: will be included by default for AWS CDK >= 1.0.0 < 2.0.0
11189
+ **cdkAssertions**?⚠️ | <code>boolean</code> | Install the assertions library?<br/>__*Default*__: will be included by default for AWS CDK >= 1.111.0 < 2.0.0
11190
+ **cdkDependencies**?⚠️ | <code>Array<string></code> | Which AWS CDKv1 modules this project requires.<br/>__*Optional*__
11051
11191
  **cdkDependenciesAsDeps**?⚠️ | <code>boolean</code> | If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).<br/>__*Default*__: true
11052
11192
  **cdkTestDependencies**?⚠️ | <code>Array<string></code> | AWS CDK modules required for testing.<br/>__*Optional*__
11053
11193
  **cdkVersionPinning**?⚠️ | <code>boolean</code> | Use pinned version instead of caret version for CDK.<br/>__*Optional*__
@@ -12568,7 +12708,7 @@ Name | Type | Description
12568
12708
  **projenrcJson**?🔹 | <code>boolean</code> | Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.<br/>__*Default*__: false
12569
12709
  **projenrcJsonOptions**?🔹 | <code>[ProjenrcOptions](#projen-projenrcoptions)</code> | Options for .projenrc.json.<br/>__*Default*__: default options
12570
12710
  **readme**?🔹 | <code>[SampleReadmeProps](#projen-samplereadmeprops)</code> | The README setup.<br/>__*Default*__: { filename: 'README.md', contents: '# replace this' }
12571
- **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Optional*__
12711
+ **sample**?🔹 | <code>boolean</code> | Include sample code and test if the relevant directories don't exist.<br/>__*Default*__: true
12572
12712
  **sampleJavaPackage**?🔹 | <code>string</code> | The java package to use for the code sample.<br/>__*Default*__: "org.acme"
12573
12713
  **stale**?🔹 | <code>boolean</code> | Auto-close of stale issues and pull request.<br/>__*Default*__: true
12574
12714
  **staleOptions**?🔹 | <code>[github.StaleOptions](#projen-github-staleoptions)</code> | Auto-close stale issues and pull requests.<br/>__*Default*__: see defaults in `StaleOptions`
package/changelog.md CHANGED
@@ -1,7 +1,12 @@
1
1
 
2
- ### [0.48.1](https://github.com/projen/projen/compare/v0.48.0...v0.48.1) (2022-01-02)
2
+ ## [0.49.0](https://github.com/projen/projen/compare/v0.48.1...v0.49.0) (2022-01-02)
3
3
 
4
4
 
5
- ### Bug Fixes
5
+ ### BREAKING CHANGES
6
6
 
7
- * **node:** lockfile not updated after "*" deps are resolved ([#1451](https://github.com/projen/projen/issues/1451)) ([8d12b72](https://github.com/projen/projen/commit/8d12b72da6d3bfc1dad7ee20c455dcf9c102c501)), closes [#1435](https://github.com/projen/projen/issues/1435) [#1443](https://github.com/projen/projen/issues/1443)
7
+ * **java:** `cdkVersion` parameter of `AwsCdkJavaApp` no longer support caret (eg: `"^1.136.0"` ). That behavior is now controlled on whether `cdkVersionPinning` is set to `true` or `false`.
8
+ * **java:** `addCdkDependency` method of `AwsCdkJavaApp` now expects fully qualified package names (eg: `software.amazon.awscdk/aws-lambda`).
9
+
10
+ ### Features
11
+
12
+ * **java:** CDKv2 support ([#1447](https://github.com/projen/projen/issues/1447)) ([1020d0a](https://github.com/projen/projen/commit/1020d0ad3f95bb4e1201f8640d440ffb43ccf230)), closes [#1446](https://github.com/projen/projen/issues/1446)
@@ -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.48.1" };
53
+ AutoDiscover[_a] = { fqn: "projen.awscdk.AutoDiscover", version: "0.49.0" };
54
54
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1kaXNjb3Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hd3NjZGsvYXV0by1kaXNjb3Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLCtCQUE0QjtBQUM1Qiw2QkFBNkI7QUFDN0IsNENBQXlDO0FBR3pDLHlEQUFxRDtBQUNyRCx5Q0FBeUU7QUFDekUsdURBQWdGOzs7Ozs7QUFxQmhGLE1BQWEsWUFBYSxTQUFRLHFCQUFTOzs7O0lBQ3pDLFlBQVksT0FBZ0IsRUFBRSxPQUE0QjtRQUN4RCxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFTywyQkFBMkIsQ0FBQyxPQUE0QjtRQUM5RCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sZ0NBQXFCLEVBQUUsRUFBRTtZQUM1RCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUM7U0FDL0MsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxnQ0FBYyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQy9CLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUM7Z0JBQzVDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsR0FBRyxPQUFPLENBQUMsYUFBYTthQUN6QixDQUFDLENBQUM7U0FDSjtJQUNILENBQUM7SUFFTyw0QkFBNEIsQ0FBQyxPQUE0QjtRQUMvRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sK0JBQW9CLEVBQUUsRUFBRTtZQUMzRCxHQUFHLEVBQUUsV0FBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUM7U0FDaEQsQ0FBQyxDQUFDO1FBRUgsS0FBSyxNQUFNLFVBQVUsSUFBSSxXQUFXLEVBQUU7WUFDcEMsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2hDLFVBQVUsRUFBRSxXQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztnQkFDeEIsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZO2FBQ25DLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7QUFsQ0gsb0NBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGgnO1xuaW1wb3J0ICogYXMgZ2xvYiBmcm9tICdnbG9iJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudCc7XG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vcHJvamVjdCc7XG5pbXBvcnQgeyBBd3NDZGtEZXBzIH0gZnJvbSAnLi9hd3NjZGstZGVwcyc7XG5pbXBvcnQgeyBJbnRlZ3JhdGlvblRlc3QgfSBmcm9tICcuL2ludGVncmF0aW9uLXRlc3QnO1xuaW1wb3J0IHsgVFlQRVNDUklQVF9JTlRFR19FWFQsIFRZUEVTQ1JJUFRfTEFNQkRBX0VYVCB9IGZyb20gJy4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgTGFtYmRhRnVuY3Rpb24sIExhbWJkYUZ1bmN0aW9uQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vbGFtYmRhLWZ1bmN0aW9uJztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbmV4cG9ydCBpbnRlcmZhY2UgQXV0b0Rpc2NvdmVyT3B0aW9ucyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBsYW1iZGFPcHRpb25zPzogTGFtYmRhRnVuY3Rpb25Db21tb25PcHRpb25zO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHNyY2Rpcjogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRlc3RkaXI6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IHRzY29uZmlnUGF0aDogc3RyaW5nO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICByZWFkb25seSBjZGtEZXBzOiBBd3NDZGtEZXBzO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG5leHBvcnQgY2xhc3MgQXV0b0Rpc2NvdmVyIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IocHJvamVjdDogUHJvamVjdCwgb3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIHN1cGVyKHByb2plY3QpO1xuXG4gICAgdGhpcy5hdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9ucyk7XG4gICAgdGhpcy5hdXRvRGlzY292ZXJJbnRlZ3JhdGlvblRlc3RzKG9wdGlvbnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBhdXRvRGlzY292ZXJMYW1iZGFGdW5jdGlvbnMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0xBTUJEQV9FWFR9YCwge1xuICAgICAgY3dkOiBqb2luKHRoaXMucHJvamVjdC5vdXRkaXIsIG9wdGlvbnMuc3JjZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IExhbWJkYUZ1bmN0aW9uKHRoaXMucHJvamVjdCwge1xuICAgICAgICBlbnRyeXBvaW50OiBqb2luKG9wdGlvbnMuc3JjZGlyLCBlbnRyeXBvaW50KSxcbiAgICAgICAgY2RrRGVwczogb3B0aW9ucy5jZGtEZXBzLFxuICAgICAgICAuLi5vcHRpb25zLmxhbWJkYU9wdGlvbnMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGF1dG9EaXNjb3ZlckludGVncmF0aW9uVGVzdHMob3B0aW9uczogQXV0b0Rpc2NvdmVyT3B0aW9ucykge1xuICAgIGNvbnN0IGVudHJ5cG9pbnRzID0gZ2xvYi5zeW5jKGAqKi8qJHtUWVBFU0NSSVBUX0lOVEVHX0VYVH1gLCB7XG4gICAgICBjd2Q6IGpvaW4odGhpcy5wcm9qZWN0Lm91dGRpciwgb3B0aW9ucy50ZXN0ZGlyKSxcbiAgICB9KTtcblxuICAgIGZvciAoY29uc3QgZW50cnlwb2ludCBvZiBlbnRyeXBvaW50cykge1xuICAgICAgbmV3IEludGVncmF0aW9uVGVzdCh0aGlzLnByb2plY3QsIHtcbiAgICAgICAgZW50cnlwb2ludDogam9pbihvcHRpb25zLnRlc3RkaXIsIGVudHJ5cG9pbnQpLFxuICAgICAgICBjZGtEZXBzOiBvcHRpb25zLmNka0RlcHMsXG4gICAgICAgIHRzY29uZmlnUGF0aDogb3B0aW9ucy50c2NvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxufSJdfQ==
@@ -1,35 +1,18 @@
1
1
  import { JavaProject, JavaProjectOptions } from '../java';
2
+ import { AwsCdkDeps, AwsCdkDepsCommonOptions } from './awscdk-deps';
2
3
  import { CdkConfig, CdkConfigCommonOptions } from './cdk-config';
3
4
  import { CdkTasks } from './cdk-tasks';
4
5
  /**
5
6
  * @experimental
6
7
  */
7
- export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommonOptions {
8
- /**
9
- * (experimental) AWS CDK version to use (you can use semantic versioning).
10
- *
11
- * @default "^1.130.0"
12
- * @experimental
13
- */
14
- readonly cdkVersion: string;
15
- /**
16
- * (experimental) Which AWS CDK modules this app uses.
17
- *
18
- * The `core` module is included by
19
- * default and you can add additional modules here by stating only the package
20
- * name (e.g. `aws-lambda`).
21
- *
22
- * @experimental
23
- * @featured true
24
- */
25
- readonly cdkDependencies?: string[];
8
+ export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommonOptions, AwsCdkDepsCommonOptions {
26
9
  /**
27
10
  * (experimental) The name of the Java class with the static `main()` method.
28
11
  *
29
12
  * This method
30
13
  * should call `app.synth()` on the CDK app.
31
14
  *
32
- * @default "org.acme.App"
15
+ * @default "org.acme.MyApp"
33
16
  * @experimental
34
17
  */
35
18
  readonly mainClass: string;
@@ -42,17 +25,17 @@ export interface AwsCdkJavaAppOptions extends JavaProjectOptions, CdkConfigCommo
42
25
  */
43
26
  export declare class AwsCdkJavaApp extends JavaProject {
44
27
  /**
45
- * (experimental) The CDK version this app is using.
28
+ * (experimental) The `cdk.json` file.
46
29
  *
47
30
  * @experimental
48
31
  */
49
- readonly cdkVersion: string;
32
+ readonly cdkConfig: CdkConfig;
50
33
  /**
51
- * (experimental) The `cdk.json` file.
34
+ * (experimental) CDK dependency management helper class.
52
35
  *
53
36
  * @experimental
54
37
  */
55
- readonly cdkConfig: CdkConfig;
38
+ readonly cdkDeps: AwsCdkDeps;
56
39
  /**
57
40
  * (experimental) The full name of the main class of the java app (package.Class).
58
41
  *
@@ -82,10 +65,10 @@ export declare class AwsCdkJavaApp extends JavaProject {
82
65
  */
83
66
  constructor(options: AwsCdkJavaAppOptions);
84
67
  /**
85
- * (experimental) Adds an AWS CDK module dependencies.
68
+ * (deprecated) Adds an AWS CDK module dependencies.
86
69
  *
87
- * @param modules The list of modules to depend on (e.g. "core", "aws-lambda", etc).
88
- * @experimental
70
+ * @param modules The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
71
+ * @deprecated In CDK 2.x all modules are available by default. Alpha modules should be added using the standard 'deps'
89
72
  */
90
73
  addCdkDependency(...modules: string[]): void;
91
74
  private addSample;
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.AwsCdkJavaApp = void 0;
5
+ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
6
+ const path_1 = require("path");
7
+ const __1 = require("..");
8
+ const java_1 = require("../java");
9
+ const awscdk_deps_java_1 = require("./awscdk-deps-java");
10
+ const cdk_config_1 = require("./cdk-config");
11
+ const cdk_tasks_1 = require("./cdk-tasks");
12
+ /**
13
+ * (experimental) AWS CDK app in Java.
14
+ *
15
+ * @experimental
16
+ * @pjid awscdk-app-java
17
+ */
18
+ class AwsCdkJavaApp extends java_1.JavaProject {
19
+ /**
20
+ * @experimental
21
+ */
22
+ constructor(options) {
23
+ var _b;
24
+ const mainClassComponents = options.mainClass.split('.');
25
+ const mainPackage = mainClassComponents.slice(0, -1);
26
+ const mainClassName = mainClassComponents[mainClassComponents.length - 1];
27
+ super({
28
+ ...options,
29
+ sample: false,
30
+ sampleJavaPackage: mainPackage.join('.'),
31
+ });
32
+ this.mainClass = options.mainClass;
33
+ this.mainPackage = mainPackage.join('.');
34
+ this.mainClassName = mainClassName;
35
+ this.cdkDeps = new awscdk_deps_java_1.AwsCdkDepsJava(this, {
36
+ dependencyType: __1.DependencyType.RUNTIME,
37
+ ...options,
38
+ });
39
+ this.cdkTasks = new cdk_tasks_1.CdkTasks(this);
40
+ this.postCompileTask.spawn(this.cdkTasks.synth);
41
+ this.cdkConfig = new cdk_config_1.CdkConfig(this, {
42
+ app: `mvn exec:java --quiet -Dexec.mainClass=${this.mainClass}`,
43
+ featureFlags: this.cdkDeps.cdkMajorVersion < 2,
44
+ ...options,
45
+ });
46
+ if ((_b = options.sample) !== null && _b !== void 0 ? _b : true) {
47
+ this.addSample();
48
+ }
49
+ }
50
+ /**
51
+ * (deprecated) Adds an AWS CDK module dependencies.
52
+ *
53
+ * @param modules The list of modules to depend on (e.g. "software.amazon.awscdk/aws-lambda", "software.amazon.awscdk/aws-iam", etc).
54
+ * @deprecated In CDK 2.x all modules are available by default. Alpha modules should be added using the standard 'deps'
55
+ */
56
+ addCdkDependency(...modules) {
57
+ for (const m of modules) {
58
+ this.cdkDeps.addV1Dependencies(m);
59
+ }
60
+ }
61
+ addSample() {
62
+ const pkg = this.mainPackage.split('.');
63
+ const javaFile = `${this.mainClassName}.java`;
64
+ new __1.SampleDir(this, path_1.join('src', 'main', 'java', ...pkg), {
65
+ files: {
66
+ [javaFile]: [
67
+ `package ${pkg.join('.')};`,
68
+ '',
69
+ this.cdkDeps.cdkMajorVersion == 1 ? 'import software.amazon.awscdk.core.App;' : 'import software.amazon.awscdk.App;',
70
+ this.cdkDeps.cdkMajorVersion == 1 ? 'import software.amazon.awscdk.core.Stack;' : 'import software.amazon.awscdk.Stack;',
71
+ '',
72
+ `public class ${this.mainClassName} {`,
73
+ ' public static void main(final String[] args) {',
74
+ ' App app = new App();',
75
+ ' new Stack(app, "MyStack");',
76
+ ' app.synth();',
77
+ ' }',
78
+ '}',
79
+ ].join('\n'),
80
+ },
81
+ });
82
+ }
83
+ }
84
+ exports.AwsCdkJavaApp = AwsCdkJavaApp;
85
+ _a = JSII_RTTI_SYMBOL_1;
86
+ AwsCdkJavaApp[_a] = { fqn: "projen.awscdk.AwsCdkJavaApp", version: "0.49.0" };
87
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXdzY2RrLWFwcC1qYXZhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2F3c2Nkay9hd3NjZGstYXBwLWphdmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSwrQkFBNEI7QUFDNUIsMEJBQStDO0FBQy9DLGtDQUEwRDtBQUUxRCx5REFBb0Q7QUFDcEQsNkNBQWlFO0FBQ2pFLDJDQUF1Qzs7Ozs7OztBQVF2QyxNQUFhLGFBQWMsU0FBUSxrQkFBVzs7OztJQW1CNUMsWUFBWSxPQUE2Qjs7UUFDdkMsTUFBTSxtQkFBbUIsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6RCxNQUFNLFdBQVcsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckQsTUFBTSxhQUFhLEdBQUcsbUJBQW1CLENBQUMsbUJBQW1CLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRTFFLEtBQUssQ0FBQztZQUNKLEdBQUcsT0FBTztZQUNWLE1BQU0sRUFBRSxLQUFLO1lBQ2IsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7U0FDekMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUVuQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUNBQWMsQ0FBQyxJQUFJLEVBQUU7WUFDdEMsY0FBYyxFQUFFLGtCQUFjLENBQUMsT0FBTztZQUN0QyxHQUFHLE9BQU87U0FDWCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksb0JBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRWhELElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxzQkFBUyxDQUFDLElBQUksRUFBRTtZQUNuQyxHQUFHLEVBQUUsMENBQTBDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDL0QsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxHQUFHLENBQUM7WUFDOUMsR0FBRyxPQUFPO1NBQ1gsQ0FBQyxDQUFDO1FBRUgsVUFBSSxPQUFPLENBQUMsTUFBTSxtQ0FBSSxJQUFJLEVBQUU7WUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7Ozs7OztJQUdNLGdCQUFnQixDQUFDLEdBQUcsT0FBaUI7UUFDMUMsS0FBSyxNQUFNLENBQUMsSUFBSSxPQUFPLEVBQUU7WUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDeEMsTUFBTSxRQUFRLEdBQUcsR0FBRyxJQUFJLENBQUMsYUFBYSxPQUFPLENBQUM7UUFDOUMsSUFBSSxhQUFTLENBQUMsSUFBSSxFQUFFLFdBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZELEtBQUssRUFBRTtnQkFDTCxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUNWLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRztvQkFDM0IsRUFBRTtvQkFDRixJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLHlDQUF5QyxDQUFDLENBQUMsQ0FBQyxvQ0FBb0M7b0JBQ3BILElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsMkNBQTJDLENBQUMsQ0FBQyxDQUFDLHNDQUFzQztvQkFDeEgsRUFBRTtvQkFDRixnQkFBZ0IsSUFBSSxDQUFDLGFBQWEsSUFBSTtvQkFDdEMsa0RBQWtEO29CQUNsRCwwQkFBMEI7b0JBQzFCLGdDQUFnQztvQkFDaEMsa0JBQWtCO29CQUNsQixLQUFLO29CQUNMLEdBQUc7aUJBQ0osQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2FBQ2I7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDOztBQWpGSCxzQ0FrRkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBEZXBlbmRlbmN5VHlwZSwgU2FtcGxlRGlyIH0gZnJvbSAnLi4nO1xuaW1wb3J0IHsgSmF2YVByb2plY3QsIEphdmFQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4uL2phdmEnO1xuaW1wb3J0IHsgQXdzQ2RrRGVwcywgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMgfSBmcm9tICcuL2F3c2Nkay1kZXBzJztcbmltcG9ydCB7IEF3c0Nka0RlcHNKYXZhIH0gZnJvbSAnLi9hd3NjZGstZGVwcy1qYXZhJztcbmltcG9ydCB7IENka0NvbmZpZywgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucyB9IGZyb20gJy4vY2RrLWNvbmZpZyc7XG5pbXBvcnQgeyBDZGtUYXNrcyB9IGZyb20gJy4vY2RrLXRhc2tzJztcblxuZXhwb3J0IGludGVyZmFjZSBBd3NDZGtKYXZhQXBwT3B0aW9ucyBleHRlbmRzIEphdmFQcm9qZWN0T3B0aW9ucywgQ2RrQ29uZmlnQ29tbW9uT3B0aW9ucywgQXdzQ2RrRGVwc0NvbW1vbk9wdGlvbnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHJlYWRvbmx5IG1haW5DbGFzczogc3RyaW5nO1xufVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuZXhwb3J0IGNsYXNzIEF3c0Nka0phdmFBcHAgZXh0ZW5kcyBKYXZhUHJvamVjdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtDb25maWc6IENka0NvbmZpZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgY2RrRGVwczogQXdzQ2RrRGVwcztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBtYWluQ2xhc3M6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gIHB1YmxpYyByZWFkb25seSBjZGtUYXNrczogQ2RrVGFza3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpblBhY2thZ2U6IHN0cmluZztcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgcmVhZG9ubHkgbWFpbkNsYXNzTmFtZTogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEF3c0Nka0phdmFBcHBPcHRpb25zKSB7XG4gICAgY29uc3QgbWFpbkNsYXNzQ29tcG9uZW50cyA9IG9wdGlvbnMubWFpbkNsYXNzLnNwbGl0KCcuJyk7XG4gICAgY29uc3QgbWFpblBhY2thZ2UgPSBtYWluQ2xhc3NDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcbiAgICBjb25zdCBtYWluQ2xhc3NOYW1lID0gbWFpbkNsYXNzQ29tcG9uZW50c1ttYWluQ2xhc3NDb21wb25lbnRzLmxlbmd0aCAtIDFdO1xuXG4gICAgc3VwZXIoe1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHNhbXBsZTogZmFsc2UsXG4gICAgICBzYW1wbGVKYXZhUGFja2FnZTogbWFpblBhY2thZ2Uuam9pbignLicpLFxuICAgIH0pO1xuXG4gICAgdGhpcy5tYWluQ2xhc3MgPSBvcHRpb25zLm1haW5DbGFzcztcbiAgICB0aGlzLm1haW5QYWNrYWdlID0gbWFpblBhY2thZ2Uuam9pbignLicpO1xuICAgIHRoaXMubWFpbkNsYXNzTmFtZSA9IG1haW5DbGFzc05hbWU7XG5cbiAgICB0aGlzLmNka0RlcHMgPSBuZXcgQXdzQ2RrRGVwc0phdmEodGhpcywge1xuICAgICAgZGVwZW5kZW5jeVR5cGU6IERlcGVuZGVuY3lUeXBlLlJVTlRJTUUsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH0pO1xuXG4gICAgdGhpcy5jZGtUYXNrcyA9IG5ldyBDZGtUYXNrcyh0aGlzKTtcbiAgICB0aGlzLnBvc3RDb21waWxlVGFzay5zcGF3bih0aGlzLmNka1Rhc2tzLnN5bnRoKTtcblxuICAgIHRoaXMuY2RrQ29uZmlnID0gbmV3IENka0NvbmZpZyh0aGlzLCB7XG4gICAgICBhcHA6IGBtdm4gZXhlYzpqYXZhIC0tcXVpZXQgLURleGVjLm1haW5DbGFzcz0ke3RoaXMubWFpbkNsYXNzfWAsXG4gICAgICBmZWF0dXJlRmxhZ3M6IHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPCAyLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGlmIChvcHRpb25zLnNhbXBsZSA/PyB0cnVlKSB7XG4gICAgICB0aGlzLmFkZFNhbXBsZSgpO1xuICAgIH1cbiAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxuICBwdWJsaWMgYWRkQ2RrRGVwZW5kZW5jeSguLi5tb2R1bGVzOiBzdHJpbmdbXSkge1xuICAgIGZvciAoY29uc3QgbSBvZiBtb2R1bGVzKSB7XG4gICAgICB0aGlzLmNka0RlcHMuYWRkVjFEZXBlbmRlbmNpZXMobSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTYW1wbGUoKSB7XG4gICAgY29uc3QgcGtnID0gdGhpcy5tYWluUGFja2FnZS5zcGxpdCgnLicpO1xuICAgIGNvbnN0IGphdmFGaWxlID0gYCR7dGhpcy5tYWluQ2xhc3NOYW1lfS5qYXZhYDtcbiAgICBuZXcgU2FtcGxlRGlyKHRoaXMsIGpvaW4oJ3NyYycsICdtYWluJywgJ2phdmEnLCAuLi5wa2cpLCB7XG4gICAgICBmaWxlczoge1xuICAgICAgICBbamF2YUZpbGVdOiBbXG4gICAgICAgICAgYHBhY2thZ2UgJHtwa2cuam9pbignLicpfTtgLFxuICAgICAgICAgICcnLFxuICAgICAgICAgIHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPT0gMSA/ICdpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLkFwcDsnIDogJ2ltcG9ydCBzb2Z0d2FyZS5hbWF6b24uYXdzY2RrLkFwcDsnLFxuICAgICAgICAgIHRoaXMuY2RrRGVwcy5jZGtNYWpvclZlcnNpb24gPT0gMSA/ICdpbXBvcnQgc29mdHdhcmUuYW1hem9uLmF3c2Nkay5jb3JlLlN0YWNrOycgOiAnaW1wb3J0IHNvZnR3YXJlLmFtYXpvbi5hd3NjZGsuU3RhY2s7JyxcbiAgICAgICAgICAnJyxcbiAgICAgICAgICBgcHVibGljIGNsYXNzICR7dGhpcy5tYWluQ2xhc3NOYW1lfSB7YCxcbiAgICAgICAgICAnICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihmaW5hbCBTdHJpbmdbXSBhcmdzKSB7JyxcbiAgICAgICAgICAnICAgIEFwcCBhcHAgPSBuZXcgQXBwKCk7JyxcbiAgICAgICAgICAnICAgIG5ldyBTdGFjayhhcHAsIFwiTXlTdGFja1wiKTsnLFxuICAgICAgICAgICcgICAgYXBwLnN5bnRoKCk7JyxcbiAgICAgICAgICAnICB9JyxcbiAgICAgICAgICAnfScsXG4gICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICB9LFxuICAgIH0pO1xuICB9XG59XG4iXX0=