@xpertss/projen-types 0.0.2 → 0.0.4

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 (37) hide show
  1. package/.jsii +118 -103
  2. package/API.md +101 -61
  3. package/README.md +35 -13
  4. package/lib/actions/action-build-workflow.js +1 -1
  5. package/lib/actions/action-dogfood-workflow.d.ts +5 -1
  6. package/lib/actions/action-dogfood-workflow.js +49 -19
  7. package/lib/actions/action-sonar-workflow.js +1 -1
  8. package/lib/actions/github-action-project.d.ts +15 -6
  9. package/lib/actions/github-action-project.js +16 -24
  10. package/lib/cdk/app-runtime-scaffold.js +1 -1
  11. package/lib/cdk/cdk-app-project.js +1 -1
  12. package/lib/cdk/cdk-infra-project.js +1 -1
  13. package/lib/cdk/cdk-typescript-base.js +38 -2
  14. package/lib/cdk/components/ecr-ecs-constructs.js +1 -1
  15. package/lib/cdk/components/edge-networking-constructs.js +1 -1
  16. package/lib/cdk/database-component.js +1 -1
  17. package/lib/cdk/options.d.ts +14 -2
  18. package/lib/cdk/options.js +1 -1
  19. package/lib/common/actions-allowlist-guard.js +1 -1
  20. package/lib/common/projen-drift-check-workflow.js +7 -3
  21. package/lib/common/projenrc-ts.d.ts +22 -0
  22. package/lib/common/projenrc-ts.js +43 -0
  23. package/lib/common/workflow-change-notice-workflow.js +1 -1
  24. package/lib/java/components/cdk-deploy-hook.d.ts +7 -0
  25. package/lib/java/components/cdk-deploy-hook.js +26 -5
  26. package/lib/java/components/code-index-workflow.js +1 -1
  27. package/lib/java/components/docker-publish.js +1 -1
  28. package/lib/java/components/flyway-migration.js +1 -1
  29. package/lib/java/components/github-packages-publish.js +1 -1
  30. package/lib/java/components/maven-central-publish.js +1 -1
  31. package/lib/java/java-app-project.js +1 -1
  32. package/lib/java/java-library-project.js +1 -1
  33. package/lib/java/java-maven-base.js +21 -2
  34. package/lib/java/java-service-project.js +6 -5
  35. package/lib/java/options.d.ts +27 -5
  36. package/lib/java/options.js +1 -1
  37. package/package.json +2 -2
@@ -9,15 +9,36 @@ const manual_deploy_workflow_1 = require("../../common/manual-deploy-workflow");
9
9
  * companion `CdkInfraProject`/`CdkAppProject` repo, using the same
10
10
  * `ManualDeployWorkflow` contract those project types use for their own
11
11
  * deploys - see the CDK spec's open question about sharing this contract.
12
+ *
13
+ * With no `targetRepo` the workflow is still generated, but every job's
14
+ * only step fails with instructions. Synthesizing is not the place to
15
+ * enforce this: it would make the project type unscaffoldable by
16
+ * `projen new` (which cannot supply the value), and it is a dispatch-only
17
+ * workflow - nobody hits the failure until they actually try to deploy,
18
+ * which is exactly when "this repo has no deploy target" needs saying.
12
19
  */
13
20
  class CdkDeployHook extends projen_1.Component {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkDeployHook", version: "0.0.2" };
21
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CdkDeployHook", version: "0.0.4" };
15
22
  constructor(project, environments, options = {}) {
16
23
  super(project, 'CdkDeployHook');
17
- if (!options.targetRepo) {
18
- throw new Error('CdkDeployHook requires targetRepo (the companion CDK infra/app repo)');
19
- }
20
24
  const targetRepo = options.targetRepo;
25
+ if (!targetRepo) {
26
+ new manual_deploy_workflow_1.ManualDeployWorkflow(project, {
27
+ workflowName: 'deploy-cdk',
28
+ environments,
29
+ deploySteps: () => [
30
+ {
31
+ name: 'No CDK deploy target configured',
32
+ run: [
33
+ 'echo "::error::cdkDeployTargetRepo is not set, so there is no companion CDK repo to dispatch a deploy to."',
34
+ 'echo "Set cdkDeployTargetRepo in .projenrc.ts (or turn the workflow off with cdkDeployHook: false), then run npx projen."',
35
+ 'exit 1',
36
+ ].join('\n'),
37
+ },
38
+ ],
39
+ });
40
+ return;
41
+ }
21
42
  new manual_deploy_workflow_1.ManualDeployWorkflow(project, {
22
43
  workflowName: 'deploy-cdk',
23
44
  environments,
@@ -42,4 +63,4 @@ class CdkDeployHook extends projen_1.Component {
42
63
  }
43
64
  }
44
65
  exports.CdkDeployHook = CdkDeployHook;
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS1ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2phdmEvY29tcG9uZW50cy9jZGstZGVwbG95LWhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFtQztBQUduQyxnRkFBMkU7QUFHM0U7Ozs7O0dBS0c7QUFDSCxNQUFhLGFBQWMsU0FBUSxrQkFBUzs7SUFDMUMsWUFDRSxPQUF5QixFQUN6QixZQUE2QyxFQUM3QyxVQUFnQyxFQUFFO1FBRWxDLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFFaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUN4QixNQUFNLElBQUksS0FBSyxDQUNiLHNFQUFzRSxDQUN2RSxDQUFDO1FBQ0osQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFdEMsSUFBSSw2Q0FBb0IsQ0FBQyxPQUFPLEVBQUU7WUFDaEMsWUFBWSxFQUFFLFlBQVk7WUFDMUIsWUFBWTtZQUNaLFdBQVcsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQ3BCO29CQUNFLElBQUksRUFBRSx1QkFBdUIsR0FBRyxDQUFDLElBQUksUUFBUSxVQUFVLEVBQUU7b0JBQ3pELElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLElBQUksRUFBRTt3QkFDSixNQUFNLEVBQUU7NEJBQ04sb0RBQW9EOzRCQUNwRCxhQUFhLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7NEJBQ3pDLFlBQVksVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTs0QkFDeEMsOEJBQThCOzRCQUM5QixnQkFBZ0I7NEJBQ2hCLDZCQUE2QixHQUFHLENBQUMsSUFBSSxNQUFNOzRCQUMzQyxLQUFLO3lCQUNOLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztxQkFDYjtpQkFDRjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUFwQ0gsc0NBcUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB0eXBlIHsgamF2YSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBFbnZpcm9ubWVudE9wdGlvbnMgfSBmcm9tICcuLi8uLi9jb21tb24vZW52aXJvbm1lbnQtb3B0aW9ucyc7XG5pbXBvcnQgeyBNYW51YWxEZXBsb3lXb3JrZmxvdyB9IGZyb20gJy4uLy4uL2NvbW1vbi9tYW51YWwtZGVwbG95LXdvcmtmbG93JztcbmltcG9ydCB7IENka0RlcGxveUhvb2tPcHRpb25zIH0gZnJvbSAnLi4vb3B0aW9ucyc7XG5cbi8qKlxuICogTWFudWFsLWRpc3BhdGNoIHdvcmtmbG93IHRoYXQgaW52b2tlcyBhIGRvd25zdHJlYW0gQ0RLIGRlcGxveSBpbiBhXG4gKiBjb21wYW5pb24gYENka0luZnJhUHJvamVjdGAvYENka0FwcFByb2plY3RgIHJlcG8sIHVzaW5nIHRoZSBzYW1lXG4gKiBgTWFudWFsRGVwbG95V29ya2Zsb3dgIGNvbnRyYWN0IHRob3NlIHByb2plY3QgdHlwZXMgdXNlIGZvciB0aGVpciBvd25cbiAqIGRlcGxveXMgLSBzZWUgdGhlIENESyBzcGVjJ3Mgb3BlbiBxdWVzdGlvbiBhYm91dCBzaGFyaW5nIHRoaXMgY29udHJhY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBDZGtEZXBsb3lIb29rIGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJvamVjdDogamF2YS5KYXZhUHJvamVjdCxcbiAgICBlbnZpcm9ubWVudHM6IChzdHJpbmcgfCBFbnZpcm9ubWVudE9wdGlvbnMpW10sXG4gICAgb3B0aW9uczogQ2RrRGVwbG95SG9va09wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ0Nka0RlcGxveUhvb2snKTtcblxuICAgIGlmICghb3B0aW9ucy50YXJnZXRSZXBvKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdDZGtEZXBsb3lIb29rIHJlcXVpcmVzIHRhcmdldFJlcG8gKHRoZSBjb21wYW5pb24gQ0RLIGluZnJhL2FwcCByZXBvKScsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCB0YXJnZXRSZXBvID0gb3B0aW9ucy50YXJnZXRSZXBvO1xuXG4gICAgbmV3IE1hbnVhbERlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgIHdvcmtmbG93TmFtZTogJ2RlcGxveS1jZGsnLFxuICAgICAgZW52aXJvbm1lbnRzLFxuICAgICAgZGVwbG95U3RlcHM6IChlbnYpID0+IFtcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6IGBUcmlnZ2VyIENESyBkZXBsb3kgKCR7ZW52Lm5hbWV9KSBpbiAke3RhcmdldFJlcG99YCxcbiAgICAgICAgICB1c2VzOiAnYWN0aW9ucy9naXRodWItc2NyaXB0QHY3JyxcbiAgICAgICAgICB3aXRoOiB7XG4gICAgICAgICAgICBzY3JpcHQ6IFtcbiAgICAgICAgICAgICAgJ2F3YWl0IGdpdGh1Yi5yZXN0LmFjdGlvbnMuY3JlYXRlV29ya2Zsb3dEaXNwYXRjaCh7JyxcbiAgICAgICAgICAgICAgYCAgb3duZXI6IFwiJHt0YXJnZXRSZXBvLnNwbGl0KCcvJylbMF19XCIsYCxcbiAgICAgICAgICAgICAgYCAgcmVwbzogXCIke3RhcmdldFJlcG8uc3BsaXQoJy8nKVsxXX1cIixgLFxuICAgICAgICAgICAgICAnICB3b3JrZmxvd19pZDogXCJkZXBsb3kueW1sXCIsJyxcbiAgICAgICAgICAgICAgJyAgcmVmOiBcIm1haW5cIiwnLFxuICAgICAgICAgICAgICBgICBpbnB1dHM6IHsgZW52aXJvbm1lbnQ6IFwiJHtlbnYubmFtZX1cIiB9LGAsXG4gICAgICAgICAgICAgICd9KTsnLFxuICAgICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9KTtcbiAgfVxufVxuIl19
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2RrLWRlcGxveS1ob29rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2phdmEvY29tcG9uZW50cy9jZGstZGVwbG95LWhvb2sudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFtQztBQUduQyxnRkFBMkU7QUFHM0U7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBYSxhQUFjLFNBQVEsa0JBQVM7O0lBQzFDLFlBQ0UsT0FBeUIsRUFDekIsWUFBNkMsRUFDN0MsVUFBZ0MsRUFBRTtRQUVsQyxLQUFLLENBQUMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBRWhDLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUM7UUFFdEMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hCLElBQUksNkNBQW9CLENBQUMsT0FBTyxFQUFFO2dCQUNoQyxZQUFZLEVBQUUsWUFBWTtnQkFDMUIsWUFBWTtnQkFDWixXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUM7b0JBQ2pCO3dCQUNFLElBQUksRUFBRSxpQ0FBaUM7d0JBQ3ZDLEdBQUcsRUFBRTs0QkFDSCw0R0FBNEc7NEJBQzVHLDJIQUEySDs0QkFDM0gsUUFBUTt5QkFDVCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7cUJBQ2I7aUJBQ0Y7YUFDRixDQUFDLENBQUM7WUFDSCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksNkNBQW9CLENBQUMsT0FBTyxFQUFFO1lBQ2hDLFlBQVksRUFBRSxZQUFZO1lBQzFCLFlBQVk7WUFDWixXQUFXLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDO2dCQUNwQjtvQkFDRSxJQUFJLEVBQUUsdUJBQXVCLEdBQUcsQ0FBQyxJQUFJLFFBQVEsVUFBVSxFQUFFO29CQUN6RCxJQUFJLEVBQUUsMEJBQTBCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0osTUFBTSxFQUFFOzRCQUNOLG9EQUFvRDs0QkFDcEQsYUFBYSxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJOzRCQUN6QyxZQUFZLFVBQVUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk7NEJBQ3hDLDhCQUE4Qjs0QkFDOUIsZ0JBQWdCOzRCQUNoQiw2QkFBNkIsR0FBRyxDQUFDLElBQUksTUFBTTs0QkFDM0MsS0FBSzt5QkFDTixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7cUJBQ2I7aUJBQ0Y7YUFDRjtTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7O0FBakRILHNDQWtEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgdHlwZSB7IGphdmEgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRPcHRpb25zIH0gZnJvbSAnLi4vLi4vY29tbW9uL2Vudmlyb25tZW50LW9wdGlvbnMnO1xuaW1wb3J0IHsgTWFudWFsRGVwbG95V29ya2Zsb3cgfSBmcm9tICcuLi8uLi9jb21tb24vbWFudWFsLWRlcGxveS13b3JrZmxvdyc7XG5pbXBvcnQgeyBDZGtEZXBsb3lIb29rT3B0aW9ucyB9IGZyb20gJy4uL29wdGlvbnMnO1xuXG4vKipcbiAqIE1hbnVhbC1kaXNwYXRjaCB3b3JrZmxvdyB0aGF0IGludm9rZXMgYSBkb3duc3RyZWFtIENESyBkZXBsb3kgaW4gYVxuICogY29tcGFuaW9uIGBDZGtJbmZyYVByb2plY3RgL2BDZGtBcHBQcm9qZWN0YCByZXBvLCB1c2luZyB0aGUgc2FtZVxuICogYE1hbnVhbERlcGxveVdvcmtmbG93YCBjb250cmFjdCB0aG9zZSBwcm9qZWN0IHR5cGVzIHVzZSBmb3IgdGhlaXIgb3duXG4gKiBkZXBsb3lzIC0gc2VlIHRoZSBDREsgc3BlYydzIG9wZW4gcXVlc3Rpb24gYWJvdXQgc2hhcmluZyB0aGlzIGNvbnRyYWN0LlxuICpcbiAqIFdpdGggbm8gYHRhcmdldFJlcG9gIHRoZSB3b3JrZmxvdyBpcyBzdGlsbCBnZW5lcmF0ZWQsIGJ1dCBldmVyeSBqb2Inc1xuICogb25seSBzdGVwIGZhaWxzIHdpdGggaW5zdHJ1Y3Rpb25zLiBTeW50aGVzaXppbmcgaXMgbm90IHRoZSBwbGFjZSB0b1xuICogZW5mb3JjZSB0aGlzOiBpdCB3b3VsZCBtYWtlIHRoZSBwcm9qZWN0IHR5cGUgdW5zY2FmZm9sZGFibGUgYnlcbiAqIGBwcm9qZW4gbmV3YCAod2hpY2ggY2Fubm90IHN1cHBseSB0aGUgdmFsdWUpLCBhbmQgaXQgaXMgYSBkaXNwYXRjaC1vbmx5XG4gKiB3b3JrZmxvdyAtIG5vYm9keSBoaXRzIHRoZSBmYWlsdXJlIHVudGlsIHRoZXkgYWN0dWFsbHkgdHJ5IHRvIGRlcGxveSxcbiAqIHdoaWNoIGlzIGV4YWN0bHkgd2hlbiBcInRoaXMgcmVwbyBoYXMgbm8gZGVwbG95IHRhcmdldFwiIG5lZWRzIHNheWluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIENka0RlcGxveUhvb2sgZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBqYXZhLkphdmFQcm9qZWN0LFxuICAgIGVudmlyb25tZW50czogKHN0cmluZyB8IEVudmlyb25tZW50T3B0aW9ucylbXSxcbiAgICBvcHRpb25zOiBDZGtEZXBsb3lIb29rT3B0aW9ucyA9IHt9LFxuICApIHtcbiAgICBzdXBlcihwcm9qZWN0LCAnQ2RrRGVwbG95SG9vaycpO1xuXG4gICAgY29uc3QgdGFyZ2V0UmVwbyA9IG9wdGlvbnMudGFyZ2V0UmVwbztcblxuICAgIGlmICghdGFyZ2V0UmVwbykge1xuICAgICAgbmV3IE1hbnVhbERlcGxveVdvcmtmbG93KHByb2plY3QsIHtcbiAgICAgICAgd29ya2Zsb3dOYW1lOiAnZGVwbG95LWNkaycsXG4gICAgICAgIGVudmlyb25tZW50cyxcbiAgICAgICAgZGVwbG95U3RlcHM6ICgpID0+IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAnTm8gQ0RLIGRlcGxveSB0YXJnZXQgY29uZmlndXJlZCcsXG4gICAgICAgICAgICBydW46IFtcbiAgICAgICAgICAgICAgJ2VjaG8gXCI6OmVycm9yOjpjZGtEZXBsb3lUYXJnZXRSZXBvIGlzIG5vdCBzZXQsIHNvIHRoZXJlIGlzIG5vIGNvbXBhbmlvbiBDREsgcmVwbyB0byBkaXNwYXRjaCBhIGRlcGxveSB0by5cIicsXG4gICAgICAgICAgICAgICdlY2hvIFwiU2V0IGNka0RlcGxveVRhcmdldFJlcG8gaW4gLnByb2plbnJjLnRzIChvciB0dXJuIHRoZSB3b3JrZmxvdyBvZmYgd2l0aCBjZGtEZXBsb3lIb29rOiBmYWxzZSksIHRoZW4gcnVuIG5weCBwcm9qZW4uXCInLFxuICAgICAgICAgICAgICAnZXhpdCAxJyxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG5ldyBNYW51YWxEZXBsb3lXb3JrZmxvdyhwcm9qZWN0LCB7XG4gICAgICB3b3JrZmxvd05hbWU6ICdkZXBsb3ktY2RrJyxcbiAgICAgIGVudmlyb25tZW50cyxcbiAgICAgIGRlcGxveVN0ZXBzOiAoZW52KSA9PiBbXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBgVHJpZ2dlciBDREsgZGVwbG95ICgke2Vudi5uYW1lfSkgaW4gJHt0YXJnZXRSZXBvfWAsXG4gICAgICAgICAgdXNlczogJ2FjdGlvbnMvZ2l0aHViLXNjcmlwdEB2NycsXG4gICAgICAgICAgd2l0aDoge1xuICAgICAgICAgICAgc2NyaXB0OiBbXG4gICAgICAgICAgICAgICdhd2FpdCBnaXRodWIucmVzdC5hY3Rpb25zLmNyZWF0ZVdvcmtmbG93RGlzcGF0Y2goeycsXG4gICAgICAgICAgICAgIGAgIG93bmVyOiBcIiR7dGFyZ2V0UmVwby5zcGxpdCgnLycpWzBdfVwiLGAsXG4gICAgICAgICAgICAgIGAgIHJlcG86IFwiJHt0YXJnZXRSZXBvLnNwbGl0KCcvJylbMV19XCIsYCxcbiAgICAgICAgICAgICAgJyAgd29ya2Zsb3dfaWQ6IFwiZGVwbG95LnltbFwiLCcsXG4gICAgICAgICAgICAgICcgIHJlZjogXCJtYWluXCIsJyxcbiAgICAgICAgICAgICAgYCAgaW5wdXRzOiB7IGVudmlyb25tZW50OiBcIiR7ZW52Lm5hbWV9XCIgfSxgLFxuICAgICAgICAgICAgICAnfSk7JyxcbiAgICAgICAgICAgIF0uam9pbignXFxuJyksXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const projen_1 = require("projen");
6
6
  /** Generates a code index and publishes it to `.cai/` on checkin. */
7
7
  class CodeIndexWorkflow extends projen_1.Component {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CodeIndexWorkflow", version: "0.0.2" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.CodeIndexWorkflow", version: "0.0.4" };
9
9
  constructor(project) {
10
10
  super(project, 'CodeIndexWorkflow');
11
11
  const gh = project.github;
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const projen_1 = require("projen");
6
6
  /** On-demand build+push of a Docker image, defaulting to Docker Hub. */
7
7
  class DockerPublish extends projen_1.Component {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DockerPublish", version: "0.0.2" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.DockerPublish", version: "0.0.4" };
9
9
  constructor(project, options = {}) {
10
10
  super(project, 'DockerPublish');
11
11
  const gh = project.github;
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const projen_1 = require("projen");
6
6
  /** Adds Flyway config/dependencies + a migrations directory for DB migrations. */
7
7
  class FlywayMigration extends projen_1.Component {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.FlywayMigration", version: "0.0.2" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.FlywayMigration", version: "0.0.4" };
9
9
  constructor(project) {
10
10
  super(project, 'FlywayMigration');
11
11
  project.pom.addPlugin('org.flywaydb/flyway-maven-plugin@^10');
@@ -5,7 +5,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
5
5
  const projen_1 = require("projen");
6
6
  /** On-demand publish to GitHub Packages. */
7
7
  class GitHubPackagesPublish extends projen_1.Component {
8
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.2" };
8
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.4" };
9
9
  constructor(project, options = {}) {
10
10
  super(project, 'GitHubPackagesPublish');
11
11
  const gh = project.github;
@@ -8,7 +8,7 @@ const projen_1 = require("projen");
8
8
  * or OIDC trusted publishing.
9
9
  */
10
10
  class MavenCentralPublish extends projen_1.Component {
11
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.2" };
11
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.4" };
12
12
  constructor(project, options = {}) {
13
13
  super(project, 'MavenCentralPublish');
14
14
  const gh = project.github;
@@ -9,7 +9,7 @@ const java_maven_base_1 = require("./java-maven-base");
9
9
  * explicitly excludes Maven Central, Docker, and CDK deploy hooks.
10
10
  */
11
11
  class JavaAppProject extends java_maven_base_1.JavaMavenProject {
12
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaAppProject", version: "0.0.2" };
12
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaAppProject", version: "0.0.4" };
13
13
  constructor(options) {
14
14
  super(options);
15
15
  new github_packages_publish_1.GitHubPackagesPublish(this, {
@@ -7,7 +7,7 @@ const maven_central_publish_1 = require("./components/maven-central-publish");
7
7
  const java_maven_base_1 = require("./java-maven-base");
8
8
  /** Reusable Java library, published to Maven Central. */
9
9
  class JavaLibraryProject extends java_maven_base_1.JavaMavenProject {
10
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.2" };
10
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.4" };
11
11
  constructor(options) {
12
12
  super(options);
13
13
  new maven_central_publish_1.MavenCentralPublish(this, { mavenCentralOidc: options.mavenCentralOidc });
@@ -7,6 +7,7 @@ const actions_allowlist_guard_1 = require("../common/actions-allowlist-guard");
7
7
  const constants_1 = require("../common/constants");
8
8
  const internal_actions_1 = require("../common/internal-actions");
9
9
  const projen_drift_check_workflow_1 = require("../common/projen-drift-check-workflow");
10
+ const projenrc_ts_1 = require("../common/projenrc-ts");
10
11
  const upgrade_workflow_1 = require("../common/upgrade-workflow");
11
12
  const workflow_change_notice_workflow_1 = require("../common/workflow-change-notice-workflow");
12
13
  /**
@@ -16,19 +17,37 @@ const workflow_change_notice_workflow_1 = require("../common/workflow-change-not
16
17
  * nightly dependency-upgrade workflow.
17
18
  */
18
19
  class JavaMavenProject extends projen_1.java.JavaProject {
19
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaMavenProject", version: "0.0.2" };
20
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaMavenProject", version: "0.0.4" };
20
21
  upgradeTask;
21
22
  buildVerifyWorkflow;
22
23
  constructor(options) {
23
24
  super({
25
+ // Spread first, overrides after: forwarding the caller's options is
26
+ // what lets `projen new --from @xpertss/projen-types java_library`
27
+ // work - projen smuggles its bootstrap marker (`__new__`) through the
28
+ // options object, and it is that marker which makes the
29
+ // `ProjenrcFile` component write the initial `.projenrc.ts`. Drop it
30
+ // and `projen new` scaffolds a repo with no projenrc at all.
31
+ ...options,
24
32
  name: options.name,
25
33
  groupId: options.groupId,
26
34
  artifactId: options.artifactId,
27
35
  version: options.version ?? '0.1.0',
36
+ // Consumers author their config as a Node-side `.projenrc.ts` (this
37
+ // package only publishes an npm jsii target, no java target), not a
38
+ // hand-written `src/test/java/projenrc.java` - so java.JavaProject's
39
+ // own Java-native projenrc (which wires the default task to `mvn
40
+ // compiler:testCompile && mvn exec:java ...`) would be wrong here.
41
+ // Disable it and attach the TypeScript one instead.
42
+ projenrcJava: false,
28
43
  projenCredentials: projen_1.github.GithubCredentials.fromPersonalAccessToken({
29
44
  secret: options.gheTokenSecret ?? constants_1.DEFAULT_GHE_TOKEN_SECRET,
30
45
  }),
31
46
  });
47
+ // `.projenrc.ts` + `npx projen`, same as every other type here. The
48
+ // Maven repo needs no TypeScript toolchain of its own - the runner is
49
+ // fetched (pinned) by npx at synth time.
50
+ (0, projenrc_ts_1.attachTypeScriptProjenrc)(this);
32
51
  const gh = this.github;
33
52
  if (!gh) {
34
53
  throw new Error('JavaMavenProject requires GitHub integration');
@@ -62,4 +81,4 @@ class JavaMavenProject extends projen_1.java.JavaProject {
62
81
  }
63
82
  }
64
83
  exports.JavaMavenProject = JavaMavenProject;
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1tYXZlbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1tYXZlbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBNEM7QUFFNUMsK0VBQTBFO0FBQzFFLG1EQUErRDtBQUMvRCxpRUFBMEU7QUFDMUUsdUZBQWlGO0FBQ2pGLGlFQUE2RDtBQUM3RCwrRkFBeUY7QUFJekY7Ozs7O0dBS0c7QUFDSCxNQUFhLGdCQUFpQixTQUFRLGFBQUksQ0FBQyxXQUFXOztJQUNwQyxXQUFXLENBQU87SUFDbEIsbUJBQW1CLENBQXNCO0lBRXpELFlBQVksT0FBZ0M7UUFDMUMsS0FBSyxDQUFDO1lBQ0osSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1lBQ2xCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTztZQUN4QixVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7WUFDOUIsT0FBTyxFQUFFLE9BQU8sQ0FBQyxPQUFPLElBQUksT0FBTztZQUNuQyxpQkFBaUIsRUFBRSxlQUFNLENBQUMsaUJBQWlCLENBQUMsdUJBQXVCLENBQUM7Z0JBQ2xFLE1BQU0sRUFBRSxPQUFPLENBQUMsY0FBYyxJQUFJLG9DQUF3QjthQUMzRCxDQUFDO1NBQ0gsQ0FBQyxDQUFDO1FBRUgsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUEsK0NBQTRCLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsSUFBSSxzREFBd0IsQ0FBQyxJQUFJLEVBQUU7WUFDakMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLElBQUksb0NBQXdCO1NBQ25FLENBQUMsQ0FBQztRQUNILElBQUksOERBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSwrQ0FBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQyxNQUFNLGNBQWMsR0FBK0IsRUFBRSxDQUFDO1FBQ3RELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEdBQUcsRUFBRSx5Q0FBeUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFDdkUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFO2FBQ25ELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3BCLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFO1lBQ25ELFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsY0FBYztTQUNmLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDekMsSUFBSSxFQUFFLGdFQUFnRTtTQUN2RSxDQUFDLENBQUM7UUFDSCxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBbERILDRDQW1EQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhc2ssIGdpdGh1YiwgamF2YSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDb21tb25KYXZhT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBBY3Rpb25zQWxsb3dsaXN0R3VhcmQgfSBmcm9tICcuLi9jb21tb24vYWN0aW9ucy1hbGxvd2xpc3QtZ3VhcmQnO1xuaW1wb3J0IHsgREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVUIH0gZnJvbSAnLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBhcHBseUludGVybmFsQWN0aW9uT3ZlcnJpZGVzIH0gZnJvbSAnLi4vY29tbW9uL2ludGVybmFsLWFjdGlvbnMnO1xuaW1wb3J0IHsgUHJvamVuRHJpZnRDaGVja1dvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3Byb2plbi1kcmlmdC1jaGVjay13b3JrZmxvdyc7XG5pbXBvcnQgeyBVcGdyYWRlV29ya2Zsb3cgfSBmcm9tICcuLi9jb21tb24vdXBncmFkZS13b3JrZmxvdyc7XG5pbXBvcnQgeyBXb3JrZmxvd0NoYW5nZU5vdGljZVdvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3dvcmtmbG93LWNoYW5nZS1ub3RpY2Utd29ya2Zsb3cnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFNYXZlblByb2plY3RPcHRpb25zIGV4dGVuZHMgQ29tbW9uSmF2YU9wdGlvbnMge31cblxuLyoqXG4gKiBTaGFyZWQgTWF2ZW4gYnVpbGQgc2tlbGV0b24gZm9yIGFsbCB0aHJlZSBKYXZhIHByb2plY3QgdHlwZXM6IHN0YW5kYXJkXG4gKiBgcG9tLnhtbGAvZGlyZWN0b3J5IGxheW91dCAodmlhIGBqYXZhLkphdmFQcm9qZWN0YCksIGEgUFItdHJpZ2dlcmVkXG4gKiBidWlsZCt0ZXN0KCtTb25hclF1YmUpIHdvcmtmbG93IHRoYXQgaGFyZC1mYWlscyBvbiBwcm9qZW4gZHJpZnQsIGFuZCBhXG4gKiBuaWdodGx5IGRlcGVuZGVuY3ktdXBncmFkZSB3b3JrZmxvdy5cbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFNYXZlblByb2plY3QgZXh0ZW5kcyBqYXZhLkphdmFQcm9qZWN0IHtcbiAgcHVibGljIHJlYWRvbmx5IHVwZ3JhZGVUYXNrOiBUYXNrO1xuICBwdWJsaWMgcmVhZG9ubHkgYnVpbGRWZXJpZnlXb3JrZmxvdzogZ2l0aHViLlRhc2tXb3JrZmxvdztcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKYXZhTWF2ZW5Qcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKHtcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGdyb3VwSWQ6IG9wdGlvbnMuZ3JvdXBJZCxcbiAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMuYXJ0aWZhY3RJZCxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbiA/PyAnMC4xLjAnLFxuICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgIHNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGdoID0gdGhpcy5naXRodWI7XG4gICAgaWYgKCFnaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdKYXZhTWF2ZW5Qcm9qZWN0IHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbicpO1xuICAgIH1cblxuICAgIGFwcGx5SW50ZXJuYWxBY3Rpb25PdmVycmlkZXMoZ2gpO1xuXG4gICAgbmV3IFByb2plbkRyaWZ0Q2hlY2tXb3JrZmxvdyh0aGlzLCB7XG4gICAgICBnaGVUb2tlblNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgfSk7XG4gICAgbmV3IFdvcmtmbG93Q2hhbmdlTm90aWNlV29ya2Zsb3codGhpcyk7XG4gICAgbmV3IEFjdGlvbnNBbGxvd2xpc3RHdWFyZCh0aGlzKTtcblxuICAgIGNvbnN0IHBvc3RCdWlsZFN0ZXBzOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXSA9IFtdO1xuICAgIGlmIChvcHRpb25zLnNvbmFyUHJvamVjdEtleSkge1xuICAgICAgcG9zdEJ1aWxkU3RlcHMucHVzaCh7XG4gICAgICAgIG5hbWU6ICdTb25hclF1YmUgc2NhbicsXG4gICAgICAgIHJ1bjogYG12biAtQiBzb25hcjpzb25hciAtRHNvbmFyLnByb2plY3RLZXk9JHtvcHRpb25zLnNvbmFyUHJvamVjdEtleX1gLFxuICAgICAgICBlbnY6IHsgU09OQVJfVE9LRU46ICcke3sgc2VjcmV0cy5TT05BUl9UT0tFTiB9fScgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuYnVpbGRWZXJpZnlXb3JrZmxvdyA9IG5ldyBnaXRodWIuVGFza1dvcmtmbG93KGdoLCB7XG4gICAgICBuYW1lOiAnYnVpbGQnLFxuICAgICAgam9iSWQ6ICdidWlsZCcsXG4gICAgICB0YXNrOiB0aGlzLmJ1aWxkVGFzayxcbiAgICAgIHRyaWdnZXJzOiB7IHB1bGxSZXF1ZXN0OiB7fSwgd29ya2Zsb3dEaXNwYXRjaDoge30gfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7IGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCB9LFxuICAgICAgcG9zdEJ1aWxkU3RlcHMsXG4gICAgfSk7XG5cbiAgICB0aGlzLnVwZ3JhZGVUYXNrID0gdGhpcy5hZGRUYXNrKCd1cGdyYWRlJywge1xuICAgICAgZXhlYzogJ212biAtQiB2ZXJzaW9uczp1c2UtbGF0ZXN0LXJlbGVhc2VzIHZlcnNpb25zOnVwZGF0ZS1wcm9wZXJ0aWVzJyxcbiAgICB9KTtcbiAgICBuZXcgVXBncmFkZVdvcmtmbG93KHRoaXMsIHsgdGFzazogdGhpcy51cGdyYWRlVGFzayB9KTtcbiAgfVxufVxuIl19
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1tYXZlbi1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2phdmEvamF2YS1tYXZlbi1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBNEM7QUFFNUMsK0VBQTBFO0FBQzFFLG1EQUErRDtBQUMvRCxpRUFBMEU7QUFDMUUsdUZBQWlGO0FBQ2pGLHVEQUFpRTtBQUNqRSxpRUFBNkQ7QUFDN0QsK0ZBQXlGO0FBSXpGOzs7OztHQUtHO0FBQ0gsTUFBYSxnQkFBaUIsU0FBUSxhQUFJLENBQUMsV0FBVzs7SUFDcEMsV0FBVyxDQUFPO0lBQ2xCLG1CQUFtQixDQUFzQjtJQUV6RCxZQUFZLE9BQWdDO1FBQzFDLEtBQUssQ0FBQztZQUNKLG9FQUFvRTtZQUNwRSxtRUFBbUU7WUFDbkUsc0VBQXNFO1lBQ3RFLHdEQUF3RDtZQUN4RCxxRUFBcUU7WUFDckUsNkRBQTZEO1lBQzdELEdBQUcsT0FBTztZQUNWLElBQUksRUFBRSxPQUFPLENBQUMsSUFBSTtZQUNsQixPQUFPLEVBQUUsT0FBTyxDQUFDLE9BQU87WUFDeEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxVQUFVO1lBQzlCLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxJQUFJLE9BQU87WUFDbkMsb0VBQW9FO1lBQ3BFLG9FQUFvRTtZQUNwRSxxRUFBcUU7WUFDckUsaUVBQWlFO1lBQ2pFLG1FQUFtRTtZQUNuRSxvREFBb0Q7WUFDcEQsWUFBWSxFQUFFLEtBQUs7WUFDbkIsaUJBQWlCLEVBQUUsZUFBTSxDQUFDLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDO2dCQUNsRSxNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsSUFBSSxvQ0FBd0I7YUFDM0QsQ0FBQztTQUNILENBQUMsQ0FBQztRQUVILG9FQUFvRTtRQUNwRSxzRUFBc0U7UUFDdEUseUNBQXlDO1FBQ3pDLElBQUEsc0NBQXdCLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0IsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUN2QixJQUFJLENBQUMsRUFBRSxFQUFFLENBQUM7WUFDUixNQUFNLElBQUksS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFDbEUsQ0FBQztRQUVELElBQUEsK0NBQTRCLEVBQUMsRUFBRSxDQUFDLENBQUM7UUFFakMsSUFBSSxzREFBd0IsQ0FBQyxJQUFJLEVBQUU7WUFDakMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjLElBQUksb0NBQXdCO1NBQ25FLENBQUMsQ0FBQztRQUNILElBQUksOERBQTRCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkMsSUFBSSwrQ0FBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQyxNQUFNLGNBQWMsR0FBK0IsRUFBRSxDQUFDO1FBQ3RELElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzVCLGNBQWMsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLEdBQUcsRUFBRSx5Q0FBeUMsT0FBTyxDQUFDLGVBQWUsRUFBRTtnQkFDdkUsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFO2FBQ25ELENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNyRCxJQUFJLEVBQUUsT0FBTztZQUNiLEtBQUssRUFBRSxPQUFPO1lBQ2QsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTO1lBQ3BCLFFBQVEsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxFQUFFO1lBQ25ELFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUU7WUFDOUQsY0FBYztTQUNmLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUU7WUFDekMsSUFBSSxFQUFFLGdFQUFnRTtTQUN2RSxDQUFDLENBQUM7UUFDSCxJQUFJLGtDQUFlLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7O0FBckVILDRDQXNFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRhc2ssIGdpdGh1YiwgamF2YSB9IGZyb20gJ3Byb2plbic7XG5pbXBvcnQgeyBDb21tb25KYXZhT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5pbXBvcnQgeyBBY3Rpb25zQWxsb3dsaXN0R3VhcmQgfSBmcm9tICcuLi9jb21tb24vYWN0aW9ucy1hbGxvd2xpc3QtZ3VhcmQnO1xuaW1wb3J0IHsgREVGQVVMVF9HSEVfVE9LRU5fU0VDUkVUIH0gZnJvbSAnLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBhcHBseUludGVybmFsQWN0aW9uT3ZlcnJpZGVzIH0gZnJvbSAnLi4vY29tbW9uL2ludGVybmFsLWFjdGlvbnMnO1xuaW1wb3J0IHsgUHJvamVuRHJpZnRDaGVja1dvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3Byb2plbi1kcmlmdC1jaGVjay13b3JrZmxvdyc7XG5pbXBvcnQgeyBhdHRhY2hUeXBlU2NyaXB0UHJvamVucmMgfSBmcm9tICcuLi9jb21tb24vcHJvamVucmMtdHMnO1xuaW1wb3J0IHsgVXBncmFkZVdvcmtmbG93IH0gZnJvbSAnLi4vY29tbW9uL3VwZ3JhZGUtd29ya2Zsb3cnO1xuaW1wb3J0IHsgV29ya2Zsb3dDaGFuZ2VOb3RpY2VXb3JrZmxvdyB9IGZyb20gJy4uL2NvbW1vbi93b3JrZmxvdy1jaGFuZ2Utbm90aWNlLXdvcmtmbG93JztcblxuZXhwb3J0IGludGVyZmFjZSBKYXZhTWF2ZW5Qcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkphdmFPcHRpb25zIHt9XG5cbi8qKlxuICogU2hhcmVkIE1hdmVuIGJ1aWxkIHNrZWxldG9uIGZvciBhbGwgdGhyZWUgSmF2YSBwcm9qZWN0IHR5cGVzOiBzdGFuZGFyZFxuICogYHBvbS54bWxgL2RpcmVjdG9yeSBsYXlvdXQgKHZpYSBgamF2YS5KYXZhUHJvamVjdGApLCBhIFBSLXRyaWdnZXJlZFxuICogYnVpbGQrdGVzdCgrU29uYXJRdWJlKSB3b3JrZmxvdyB0aGF0IGhhcmQtZmFpbHMgb24gcHJvamVuIGRyaWZ0LCBhbmQgYVxuICogbmlnaHRseSBkZXBlbmRlbmN5LXVwZ3JhZGUgd29ya2Zsb3cuXG4gKi9cbmV4cG9ydCBjbGFzcyBKYXZhTWF2ZW5Qcm9qZWN0IGV4dGVuZHMgamF2YS5KYXZhUHJvamVjdCB7XG4gIHB1YmxpYyByZWFkb25seSB1cGdyYWRlVGFzazogVGFzaztcbiAgcHVibGljIHJlYWRvbmx5IGJ1aWxkVmVyaWZ5V29ya2Zsb3c6IGdpdGh1Yi5UYXNrV29ya2Zsb3c7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmF2YU1hdmVuUHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcih7XG4gICAgICAvLyBTcHJlYWQgZmlyc3QsIG92ZXJyaWRlcyBhZnRlcjogZm9yd2FyZGluZyB0aGUgY2FsbGVyJ3Mgb3B0aW9ucyBpc1xuICAgICAgLy8gd2hhdCBsZXRzIGBwcm9qZW4gbmV3IC0tZnJvbSBAeHBlcnRzcy9wcm9qZW4tdHlwZXMgamF2YV9saWJyYXJ5YFxuICAgICAgLy8gd29yayAtIHByb2plbiBzbXVnZ2xlcyBpdHMgYm9vdHN0cmFwIG1hcmtlciAoYF9fbmV3X19gKSB0aHJvdWdoIHRoZVxuICAgICAgLy8gb3B0aW9ucyBvYmplY3QsIGFuZCBpdCBpcyB0aGF0IG1hcmtlciB3aGljaCBtYWtlcyB0aGVcbiAgICAgIC8vIGBQcm9qZW5yY0ZpbGVgIGNvbXBvbmVudCB3cml0ZSB0aGUgaW5pdGlhbCBgLnByb2plbnJjLnRzYC4gRHJvcCBpdFxuICAgICAgLy8gYW5kIGBwcm9qZW4gbmV3YCBzY2FmZm9sZHMgYSByZXBvIHdpdGggbm8gcHJvamVucmMgYXQgYWxsLlxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIG5hbWU6IG9wdGlvbnMubmFtZSxcbiAgICAgIGdyb3VwSWQ6IG9wdGlvbnMuZ3JvdXBJZCxcbiAgICAgIGFydGlmYWN0SWQ6IG9wdGlvbnMuYXJ0aWZhY3RJZCxcbiAgICAgIHZlcnNpb246IG9wdGlvbnMudmVyc2lvbiA/PyAnMC4xLjAnLFxuICAgICAgLy8gQ29uc3VtZXJzIGF1dGhvciB0aGVpciBjb25maWcgYXMgYSBOb2RlLXNpZGUgYC5wcm9qZW5yYy50c2AgKHRoaXNcbiAgICAgIC8vIHBhY2thZ2Ugb25seSBwdWJsaXNoZXMgYW4gbnBtIGpzaWkgdGFyZ2V0LCBubyBqYXZhIHRhcmdldCksIG5vdCBhXG4gICAgICAvLyBoYW5kLXdyaXR0ZW4gYHNyYy90ZXN0L2phdmEvcHJvamVucmMuamF2YWAgLSBzbyBqYXZhLkphdmFQcm9qZWN0J3NcbiAgICAgIC8vIG93biBKYXZhLW5hdGl2ZSBwcm9qZW5yYyAod2hpY2ggd2lyZXMgdGhlIGRlZmF1bHQgdGFzayB0byBgbXZuXG4gICAgICAvLyBjb21waWxlcjp0ZXN0Q29tcGlsZSAmJiBtdm4gZXhlYzpqYXZhIC4uLmApIHdvdWxkIGJlIHdyb25nIGhlcmUuXG4gICAgICAvLyBEaXNhYmxlIGl0IGFuZCBhdHRhY2ggdGhlIFR5cGVTY3JpcHQgb25lIGluc3RlYWQuXG4gICAgICBwcm9qZW5yY0phdmE6IGZhbHNlLFxuICAgICAgcHJvamVuQ3JlZGVudGlhbHM6IGdpdGh1Yi5HaXRodWJDcmVkZW50aWFscy5mcm9tUGVyc29uYWxBY2Nlc3NUb2tlbih7XG4gICAgICAgIHNlY3JldDogb3B0aW9ucy5naGVUb2tlblNlY3JldCA/PyBERUZBVUxUX0dIRV9UT0tFTl9TRUNSRVQsXG4gICAgICB9KSxcbiAgICB9KTtcblxuICAgIC8vIGAucHJvamVucmMudHNgICsgYG5weCBwcm9qZW5gLCBzYW1lIGFzIGV2ZXJ5IG90aGVyIHR5cGUgaGVyZS4gVGhlXG4gICAgLy8gTWF2ZW4gcmVwbyBuZWVkcyBubyBUeXBlU2NyaXB0IHRvb2xjaGFpbiBvZiBpdHMgb3duIC0gdGhlIHJ1bm5lciBpc1xuICAgIC8vIGZldGNoZWQgKHBpbm5lZCkgYnkgbnB4IGF0IHN5bnRoIHRpbWUuXG4gICAgYXR0YWNoVHlwZVNjcmlwdFByb2plbnJjKHRoaXMpO1xuXG4gICAgY29uc3QgZ2ggPSB0aGlzLmdpdGh1YjtcbiAgICBpZiAoIWdoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0phdmFNYXZlblByb2plY3QgcmVxdWlyZXMgR2l0SHViIGludGVncmF0aW9uJyk7XG4gICAgfVxuXG4gICAgYXBwbHlJbnRlcm5hbEFjdGlvbk92ZXJyaWRlcyhnaCk7XG5cbiAgICBuZXcgUHJvamVuRHJpZnRDaGVja1dvcmtmbG93KHRoaXMsIHtcbiAgICAgIGdoZVRva2VuU2VjcmV0OiBvcHRpb25zLmdoZVRva2VuU2VjcmV0ID8/IERFRkFVTFRfR0hFX1RPS0VOX1NFQ1JFVCxcbiAgICB9KTtcbiAgICBuZXcgV29ya2Zsb3dDaGFuZ2VOb3RpY2VXb3JrZmxvdyh0aGlzKTtcbiAgICBuZXcgQWN0aW9uc0FsbG93bGlzdEd1YXJkKHRoaXMpO1xuXG4gICAgY29uc3QgcG9zdEJ1aWxkU3RlcHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iU3RlcFtdID0gW107XG4gICAgaWYgKG9wdGlvbnMuc29uYXJQcm9qZWN0S2V5KSB7XG4gICAgICBwb3N0QnVpbGRTdGVwcy5wdXNoKHtcbiAgICAgICAgbmFtZTogJ1NvbmFyUXViZSBzY2FuJyxcbiAgICAgICAgcnVuOiBgbXZuIC1CIHNvbmFyOnNvbmFyIC1Ec29uYXIucHJvamVjdEtleT0ke29wdGlvbnMuc29uYXJQcm9qZWN0S2V5fWAsXG4gICAgICAgIGVudjogeyBTT05BUl9UT0tFTjogJyR7eyBzZWNyZXRzLlNPTkFSX1RPS0VOIH19JyB9LFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5idWlsZFZlcmlmeVdvcmtmbG93ID0gbmV3IGdpdGh1Yi5UYXNrV29ya2Zsb3coZ2gsIHtcbiAgICAgIG5hbWU6ICdidWlsZCcsXG4gICAgICBqb2JJZDogJ2J1aWxkJyxcbiAgICAgIHRhc2s6IHRoaXMuYnVpbGRUYXNrLFxuICAgICAgdHJpZ2dlcnM6IHsgcHVsbFJlcXVlc3Q6IHt9LCB3b3JrZmxvd0Rpc3BhdGNoOiB7fSB9LFxuICAgICAgcGVybWlzc2lvbnM6IHsgY29udGVudHM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5SRUFEIH0sXG4gICAgICBwb3N0QnVpbGRTdGVwcyxcbiAgICB9KTtcblxuICAgIHRoaXMudXBncmFkZVRhc2sgPSB0aGlzLmFkZFRhc2soJ3VwZ3JhZGUnLCB7XG4gICAgICBleGVjOiAnbXZuIC1CIHZlcnNpb25zOnVzZS1sYXRlc3QtcmVsZWFzZXMgdmVyc2lvbnM6dXBkYXRlLXByb3BlcnRpZXMnLFxuICAgIH0pO1xuICAgIG5ldyBVcGdyYWRlV29ya2Zsb3codGhpcywgeyB0YXNrOiB0aGlzLnVwZ3JhZGVUYXNrIH0pO1xuICB9XG59XG4iXX0=
@@ -11,7 +11,7 @@ const java_maven_base_1 = require("./java-maven-base");
11
11
  * Central); publish and deploy are both manual-dispatch, not on every merge.
12
12
  */
13
13
  class JavaServiceProject extends java_maven_base_1.JavaMavenProject {
14
- static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaServiceProject", version: "0.0.2" };
14
+ static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaServiceProject", version: "0.0.4" };
15
15
  constructor(options) {
16
16
  super(options);
17
17
  this.pom.addDependency('org.springframework.boot/spring-boot-starter-web@^3');
@@ -19,11 +19,12 @@ class JavaServiceProject extends java_maven_base_1.JavaMavenProject {
19
19
  if (options.useFlyway ?? true) {
20
20
  new flyway_migration_1.FlywayMigration(this);
21
21
  }
22
- const cdkDeployHook = options.cdkDeployHook ?? { enabled: true };
23
- if (cdkDeployHook.enabled ?? true) {
24
- new cdk_deploy_hook_1.CdkDeployHook(this, options.environments ?? ['prod'], cdkDeployHook);
22
+ if (options.cdkDeployHook ?? true) {
23
+ new cdk_deploy_hook_1.CdkDeployHook(this, options.environments ?? ['prod'], {
24
+ targetRepo: options.cdkDeployTargetRepo,
25
+ });
25
26
  }
26
27
  }
27
28
  }
28
29
  exports.JavaServiceProject = JavaServiceProject;
29
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1zZXJ2aWNlLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qYXZhLXNlcnZpY2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsa0VBQTZEO0FBQzdELGdFQUE0RDtBQUM1RCxvRUFBZ0U7QUFDaEUsdURBQXFEO0FBR3JEOzs7R0FHRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsa0NBQWdCOztJQUN0RCxZQUFZLE9BQWtDO1FBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFFOUUsSUFBSSw4QkFBYSxDQUFDLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVwRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUIsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxPQUFPLENBQUMsYUFBYSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ2pFLElBQUksYUFBYSxDQUFDLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQyxJQUFJLCtCQUFhLENBQ2YsSUFBSSxFQUNKLE9BQU8sQ0FBQyxZQUFZLElBQUksQ0FBQyxNQUFNLENBQUMsRUFDaEMsYUFBYSxDQUNkLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQzs7QUFwQkgsZ0RBcUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2RrRGVwbG95SG9vayB9IGZyb20gJy4vY29tcG9uZW50cy9jZGstZGVwbG95LWhvb2snO1xuaW1wb3J0IHsgRG9ja2VyUHVibGlzaCB9IGZyb20gJy4vY29tcG9uZW50cy9kb2NrZXItcHVibGlzaCc7XG5pbXBvcnQgeyBGbHl3YXlNaWdyYXRpb24gfSBmcm9tICcuL2NvbXBvbmVudHMvZmx5d2F5LW1pZ3JhdGlvbic7XG5pbXBvcnQgeyBKYXZhTWF2ZW5Qcm9qZWN0IH0gZnJvbSAnLi9qYXZhLW1hdmVuLWJhc2UnO1xuaW1wb3J0IHsgSmF2YVNlcnZpY2VQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5cbi8qKlxuICogU3ByaW5nYm9vdCBzZXJ2aWNlIGFwcGxpY2F0aW9uLiBQdWJsaXNoZXMgdG8gRG9ja2VyIEh1YiAobmV2ZXIgTWF2ZW5cbiAqIENlbnRyYWwpOyBwdWJsaXNoIGFuZCBkZXBsb3kgYXJlIGJvdGggbWFudWFsLWRpc3BhdGNoLCBub3Qgb24gZXZlcnkgbWVyZ2UuXG4gKi9cbmV4cG9ydCBjbGFzcyBKYXZhU2VydmljZVByb2plY3QgZXh0ZW5kcyBKYXZhTWF2ZW5Qcm9qZWN0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9uczogSmF2YVNlcnZpY2VQcm9qZWN0T3B0aW9ucykge1xuICAgIHN1cGVyKG9wdGlvbnMpO1xuXG4gICAgdGhpcy5wb20uYWRkRGVwZW5kZW5jeSgnb3JnLnNwcmluZ2ZyYW1ld29yay5ib290L3NwcmluZy1ib290LXN0YXJ0ZXItd2ViQF4zJyk7XG5cbiAgICBuZXcgRG9ja2VyUHVibGlzaCh0aGlzLCB7IGRvY2tlclJlZ2lzdHJ5OiBvcHRpb25zLmRvY2tlclJlZ2lzdHJ5IH0pO1xuXG4gICAgaWYgKG9wdGlvbnMudXNlRmx5d2F5ID8/IHRydWUpIHtcbiAgICAgIG5ldyBGbHl3YXlNaWdyYXRpb24odGhpcyk7XG4gICAgfVxuXG4gICAgY29uc3QgY2RrRGVwbG95SG9vayA9IG9wdGlvbnMuY2RrRGVwbG95SG9vayA/PyB7IGVuYWJsZWQ6IHRydWUgfTtcbiAgICBpZiAoY2RrRGVwbG95SG9vay5lbmFibGVkID8/IHRydWUpIHtcbiAgICAgIG5ldyBDZGtEZXBsb3lIb29rKFxuICAgICAgICB0aGlzLFxuICAgICAgICBvcHRpb25zLmVudmlyb25tZW50cyA/PyBbJ3Byb2QnXSxcbiAgICAgICAgY2RrRGVwbG95SG9vayxcbiAgICAgICk7XG4gICAgfVxuICB9XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1zZXJ2aWNlLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qYXZhLXNlcnZpY2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsa0VBQTZEO0FBQzdELGdFQUE0RDtBQUM1RCxvRUFBZ0U7QUFDaEUsdURBQXFEO0FBR3JEOzs7R0FHRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsa0NBQWdCOztJQUN0RCxZQUFZLE9BQWtDO1FBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFFOUUsSUFBSSw4QkFBYSxDQUFDLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVwRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUIsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSwrQkFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hELFVBQVUsRUFBRSxPQUFPLENBQUMsbUJBQW1CO2FBQ3hDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQWpCSCxnREFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEZXBsb3lIb29rIH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1kZXBsb3ktaG9vayc7XG5pbXBvcnQgeyBEb2NrZXJQdWJsaXNoIH0gZnJvbSAnLi9jb21wb25lbnRzL2RvY2tlci1wdWJsaXNoJztcbmltcG9ydCB7IEZseXdheU1pZ3JhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9mbHl3YXktbWlncmF0aW9uJztcbmltcG9ydCB7IEphdmFNYXZlblByb2plY3QgfSBmcm9tICcuL2phdmEtbWF2ZW4tYmFzZSc7XG5pbXBvcnQgeyBKYXZhU2VydmljZVByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuLyoqXG4gKiBTcHJpbmdib290IHNlcnZpY2UgYXBwbGljYXRpb24uIFB1Ymxpc2hlcyB0byBEb2NrZXIgSHViIChuZXZlciBNYXZlblxuICogQ2VudHJhbCk7IHB1Ymxpc2ggYW5kIGRlcGxveSBhcmUgYm90aCBtYW51YWwtZGlzcGF0Y2gsIG5vdCBvbiBldmVyeSBtZXJnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFTZXJ2aWNlUHJvamVjdCBleHRlbmRzIEphdmFNYXZlblByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKYXZhU2VydmljZVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLnBvbS5hZGREZXBlbmRlbmN5KCdvcmcuc3ByaW5nZnJhbWV3b3JrLmJvb3Qvc3ByaW5nLWJvb3Qtc3RhcnRlci13ZWJAXjMnKTtcblxuICAgIG5ldyBEb2NrZXJQdWJsaXNoKHRoaXMsIHsgZG9ja2VyUmVnaXN0cnk6IG9wdGlvbnMuZG9ja2VyUmVnaXN0cnkgfSk7XG5cbiAgICBpZiAob3B0aW9ucy51c2VGbHl3YXkgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEZseXdheU1pZ3JhdGlvbih0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jZGtEZXBsb3lIb29rID8/IHRydWUpIHtcbiAgICAgIG5ldyBDZGtEZXBsb3lIb29rKHRoaXMsIG9wdGlvbnMuZW52aXJvbm1lbnRzID8/IFsncHJvZCddLCB7XG4gICAgICAgIHRhcmdldFJlcG86IG9wdGlvbnMuY2RrRGVwbG95VGFyZ2V0UmVwbyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -17,9 +17,13 @@ export interface JavaLibraryProjectOptions extends CommonJavaOptions {
17
17
  readonly publishCodeIndex?: boolean;
18
18
  }
19
19
  export interface CdkDeployHookOptions {
20
- /** @default true */
21
- readonly enabled?: boolean;
22
- /** The companion CDK infra/app repo (owner/repo) that owns the actual infrastructure. */
20
+ /**
21
+ * The companion CDK infra/app repo (owner/repo) that owns the actual
22
+ * infrastructure.
23
+ *
24
+ * @default - the workflow is still generated, but its only step fails with
25
+ * instructions (see `CdkDeployHook`)
26
+ */
23
27
  readonly targetRepo?: string;
24
28
  }
25
29
  export interface JavaServiceProjectOptions extends CommonJavaOptions {
@@ -27,8 +31,26 @@ export interface JavaServiceProjectOptions extends CommonJavaOptions {
27
31
  readonly dockerRegistry?: string;
28
32
  /** @default true */
29
33
  readonly useFlyway?: boolean;
30
- /** @default { enabled: true } */
31
- readonly cdkDeployHook?: CdkDeployHookOptions;
34
+ /**
35
+ * The companion CDK infra/app repo (`owner/repo`) whose `deploy.yml` the
36
+ * `deploy-cdk` workflow dispatches.
37
+ *
38
+ * A plain string rather than a nested struct so that
39
+ * `projen new --from @xpertss/projen-types java_service` can pass it
40
+ * (`--cdk-deploy-target-repo owner/repo`): projen's CLI can only render
41
+ * options whose type is a string/number/boolean/array/enum, so a
42
+ * struct-typed option is invisible to it.
43
+ *
44
+ * @default - `deploy-cdk.yml` is generated with a single failing step that
45
+ * tells you to set this
46
+ */
47
+ readonly cdkDeployTargetRepo?: string;
48
+ /**
49
+ * Whether to generate the `deploy-cdk` workflow at all.
50
+ *
51
+ * @default true
52
+ */
53
+ readonly cdkDeployHook?: boolean;
32
54
  /**
33
55
  * Deploy targets to offer on the `CdkDeployHook`'s manual-dispatch
34
56
  * workflow, when the hook is enabled.
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25KYXZhT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBhcnRpZmFjdElkOiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IFwiMC4xLjBcIiAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBTb25hclF1YmUgcHJvamVjdCBrZXkuIElmIHVuc2V0LCB0aGUgc29uYXIgc2NhbiBzdGVwIGlzIHNraXBwZWQuICovXG4gIHJlYWRvbmx5IHNvbmFyUHJvamVjdEtleT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCIgKi9cbiAgcmVhZG9ubHkgZ2hlVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YUxpYnJhcnlQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkphdmFPcHRpb25zIHtcbiAgLyoqIFVzZSBNYXZlbiBDZW50cmFsJ3MgT0lEQyB0cnVzdGVkLXB1Ymxpc2hpbmcgZmxvdyBpbnN0ZWFkIG9mIHNlY3JldC1iYXNlZCBHUEcgc2lnbmluZy4gKi9cbiAgcmVhZG9ubHkgbWF2ZW5DZW50cmFsT2lkYz86IGJvb2xlYW47XG5cbiAgLyoqIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgcHVibGlzaENvZGVJbmRleD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRGVwbG95SG9va09wdGlvbnMge1xuICAvKiogQGRlZmF1bHQgdHJ1ZSAqL1xuICByZWFkb25seSBlbmFibGVkPzogYm9vbGVhbjtcblxuICAvKiogVGhlIGNvbXBhbmlvbiBDREsgaW5mcmEvYXBwIHJlcG8gKG93bmVyL3JlcG8pIHRoYXQgb3ducyB0aGUgYWN0dWFsIGluZnJhc3RydWN0dXJlLiAqL1xuICByZWFkb25seSB0YXJnZXRSZXBvPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFTZXJ2aWNlUHJvamVjdE9wdGlvbnMgZXh0ZW5kcyBDb21tb25KYXZhT3B0aW9ucyB7XG4gIC8qKiBAZGVmYXVsdCBcImRvY2tlci5pb1wiICovXG4gIHJlYWRvbmx5IGRvY2tlclJlZ2lzdHJ5Pzogc3RyaW5nO1xuXG4gIC8qKiBAZGVmYXVsdCB0cnVlICovXG4gIHJlYWRvbmx5IHVzZUZseXdheT86IGJvb2xlYW47XG5cbiAgLyoqIEBkZWZhdWx0IHsgZW5hYmxlZDogdHJ1ZSB9ICovXG4gIHJlYWRvbmx5IGNka0RlcGxveUhvb2s/OiBDZGtEZXBsb3lIb29rT3B0aW9ucztcblxuICAvKipcbiAgICogRGVwbG95IHRhcmdldHMgdG8gb2ZmZXIgb24gdGhlIGBDZGtEZXBsb3lIb29rYCdzIG1hbnVhbC1kaXNwYXRjaFxuICAgKiB3b3JrZmxvdywgd2hlbiB0aGUgaG9vayBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXCJwcm9kXCJdXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudHM/OiAoc3RyaW5nIHwgRW52aXJvbm1lbnRPcHRpb25zKVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFBcHBQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkphdmFPcHRpb25zIHtcbiAgLyoqIEBkZWZhdWx0IFwiaHR0cHM6Ly9tYXZlbi5wa2cuZ2l0aHViLmNvbS9PV05FUi9SRVBPXCIgKGRlcml2ZWQgZnJvbSB0aGUgcmVwb3NpdG9yeSBVUkwpICovXG4gIHJlYWRvbmx5IGdoUGFja2FnZXNSZWdpc3RyeT86IHN0cmluZztcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25KYXZhT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBhcnRpZmFjdElkOiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IFwiMC4xLjBcIiAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBTb25hclF1YmUgcHJvamVjdCBrZXkuIElmIHVuc2V0LCB0aGUgc29uYXIgc2NhbiBzdGVwIGlzIHNraXBwZWQuICovXG4gIHJlYWRvbmx5IHNvbmFyUHJvamVjdEtleT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCIgKi9cbiAgcmVhZG9ubHkgZ2hlVG9rZW5TZWNyZXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSmF2YUxpYnJhcnlQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkphdmFPcHRpb25zIHtcbiAgLyoqIFVzZSBNYXZlbiBDZW50cmFsJ3MgT0lEQyB0cnVzdGVkLXB1Ymxpc2hpbmcgZmxvdyBpbnN0ZWFkIG9mIHNlY3JldC1iYXNlZCBHUEcgc2lnbmluZy4gKi9cbiAgcmVhZG9ubHkgbWF2ZW5DZW50cmFsT2lkYz86IGJvb2xlYW47XG5cbiAgLyoqIEBkZWZhdWx0IHRydWUgKi9cbiAgcmVhZG9ubHkgcHVibGlzaENvZGVJbmRleD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2RrRGVwbG95SG9va09wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGNvbXBhbmlvbiBDREsgaW5mcmEvYXBwIHJlcG8gKG93bmVyL3JlcG8pIHRoYXQgb3ducyB0aGUgYWN0dWFsXG4gICAqIGluZnJhc3RydWN0dXJlLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSB3b3JrZmxvdyBpcyBzdGlsbCBnZW5lcmF0ZWQsIGJ1dCBpdHMgb25seSBzdGVwIGZhaWxzIHdpdGhcbiAgICogaW5zdHJ1Y3Rpb25zIChzZWUgYENka0RlcGxveUhvb2tgKVxuICAgKi9cbiAgcmVhZG9ubHkgdGFyZ2V0UmVwbz86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBKYXZhU2VydmljZVByb2plY3RPcHRpb25zIGV4dGVuZHMgQ29tbW9uSmF2YU9wdGlvbnMge1xuICAvKiogQGRlZmF1bHQgXCJkb2NrZXIuaW9cIiAqL1xuICByZWFkb25seSBkb2NrZXJSZWdpc3RyeT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgdHJ1ZSAqL1xuICByZWFkb25seSB1c2VGbHl3YXk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgY29tcGFuaW9uIENESyBpbmZyYS9hcHAgcmVwbyAoYG93bmVyL3JlcG9gKSB3aG9zZSBgZGVwbG95LnltbGAgdGhlXG4gICAqIGBkZXBsb3ktY2RrYCB3b3JrZmxvdyBkaXNwYXRjaGVzLlxuICAgKlxuICAgKiBBIHBsYWluIHN0cmluZyByYXRoZXIgdGhhbiBhIG5lc3RlZCBzdHJ1Y3Qgc28gdGhhdFxuICAgKiBgcHJvamVuIG5ldyAtLWZyb20gQHhwZXJ0c3MvcHJvamVuLXR5cGVzIGphdmFfc2VydmljZWAgY2FuIHBhc3MgaXRcbiAgICogKGAtLWNkay1kZXBsb3ktdGFyZ2V0LXJlcG8gb3duZXIvcmVwb2ApOiBwcm9qZW4ncyBDTEkgY2FuIG9ubHkgcmVuZGVyXG4gICAqIG9wdGlvbnMgd2hvc2UgdHlwZSBpcyBhIHN0cmluZy9udW1iZXIvYm9vbGVhbi9hcnJheS9lbnVtLCBzbyBhXG4gICAqIHN0cnVjdC10eXBlZCBvcHRpb24gaXMgaW52aXNpYmxlIHRvIGl0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGBkZXBsb3ktY2RrLnltbGAgaXMgZ2VuZXJhdGVkIHdpdGggYSBzaW5nbGUgZmFpbGluZyBzdGVwIHRoYXRcbiAgICogdGVsbHMgeW91IHRvIHNldCB0aGlzXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBsb3lUYXJnZXRSZXBvPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGdlbmVyYXRlIHRoZSBgZGVwbG95LWNka2Agd29ya2Zsb3cgYXQgYWxsLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICByZWFkb25seSBjZGtEZXBsb3lIb29rPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogRGVwbG95IHRhcmdldHMgdG8gb2ZmZXIgb24gdGhlIGBDZGtEZXBsb3lIb29rYCdzIG1hbnVhbC1kaXNwYXRjaFxuICAgKiB3b3JrZmxvdywgd2hlbiB0aGUgaG9vayBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAZGVmYXVsdCBbXCJwcm9kXCJdXG4gICAqL1xuICByZWFkb25seSBlbnZpcm9ubWVudHM/OiAoc3RyaW5nIHwgRW52aXJvbm1lbnRPcHRpb25zKVtdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEphdmFBcHBQcm9qZWN0T3B0aW9ucyBleHRlbmRzIENvbW1vbkphdmFPcHRpb25zIHtcbiAgLyoqIEBkZWZhdWx0IFwiaHR0cHM6Ly9tYXZlbi5wa2cuZ2l0aHViLmNvbS9PV05FUi9SRVBPXCIgKGRlcml2ZWQgZnJvbSB0aGUgcmVwb3NpdG9yeSBVUkwpICovXG4gIHJlYWRvbmx5IGdoUGFja2FnZXNSZWdpc3RyeT86IHN0cmluZztcbn1cbiJdfQ==
package/package.json CHANGED
@@ -41,7 +41,7 @@
41
41
  "@types/node": "^26.5.1",
42
42
  "@typescript-eslint/eslint-plugin": "^8",
43
43
  "@typescript-eslint/parser": "^8",
44
- "commit-and-tag-version": "^12",
44
+ "commit-and-tag-version": "^13",
45
45
  "constructs": "^10.0.0",
46
46
  "eslint": "^9",
47
47
  "eslint-import-resolver-typescript": "^4.4.5",
@@ -82,7 +82,7 @@
82
82
  "publishConfig": {
83
83
  "access": "public"
84
84
  },
85
- "version": "0.0.2",
85
+ "version": "0.0.4",
86
86
  "jest": {
87
87
  "coverageProvider": "v8",
88
88
  "testMatch": [