@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.
- package/.jsii +118 -103
- package/API.md +101 -61
- package/README.md +35 -13
- package/lib/actions/action-build-workflow.js +1 -1
- package/lib/actions/action-dogfood-workflow.d.ts +5 -1
- package/lib/actions/action-dogfood-workflow.js +49 -19
- package/lib/actions/action-sonar-workflow.js +1 -1
- package/lib/actions/github-action-project.d.ts +15 -6
- package/lib/actions/github-action-project.js +16 -24
- package/lib/cdk/app-runtime-scaffold.js +1 -1
- package/lib/cdk/cdk-app-project.js +1 -1
- package/lib/cdk/cdk-infra-project.js +1 -1
- package/lib/cdk/cdk-typescript-base.js +38 -2
- package/lib/cdk/components/ecr-ecs-constructs.js +1 -1
- package/lib/cdk/components/edge-networking-constructs.js +1 -1
- package/lib/cdk/database-component.js +1 -1
- package/lib/cdk/options.d.ts +14 -2
- package/lib/cdk/options.js +1 -1
- package/lib/common/actions-allowlist-guard.js +1 -1
- package/lib/common/projen-drift-check-workflow.js +7 -3
- package/lib/common/projenrc-ts.d.ts +22 -0
- package/lib/common/projenrc-ts.js +43 -0
- package/lib/common/workflow-change-notice-workflow.js +1 -1
- package/lib/java/components/cdk-deploy-hook.d.ts +7 -0
- package/lib/java/components/cdk-deploy-hook.js +26 -5
- package/lib/java/components/code-index-workflow.js +1 -1
- package/lib/java/components/docker-publish.js +1 -1
- package/lib/java/components/flyway-migration.js +1 -1
- package/lib/java/components/github-packages-publish.js +1 -1
- package/lib/java/components/maven-central-publish.js +1 -1
- package/lib/java/java-app-project.js +1 -1
- package/lib/java/java-library-project.js +1 -1
- package/lib/java/java-maven-base.js +21 -2
- package/lib/java/java-service-project.js +6 -5
- package/lib/java/options.d.ts +27 -5
- package/lib/java/options.js +1 -1
- 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.
|
|
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,
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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,
|
|
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.
|
|
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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1zZXJ2aWNlLXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qYXZhLXNlcnZpY2UtcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsa0VBQTZEO0FBQzdELGdFQUE0RDtBQUM1RCxvRUFBZ0U7QUFDaEUsdURBQXFEO0FBR3JEOzs7R0FHRztBQUNILE1BQWEsa0JBQW1CLFNBQVEsa0NBQWdCOztJQUN0RCxZQUFZLE9BQWtDO1FBQzVDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVmLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLHFEQUFxRCxDQUFDLENBQUM7UUFFOUUsSUFBSSw4QkFBYSxDQUFDLElBQUksRUFBRSxFQUFFLGNBQWMsRUFBRSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUVwRSxJQUFJLE9BQU8sQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFLENBQUM7WUFDOUIsSUFBSSxrQ0FBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUM7UUFFRCxJQUFJLE9BQU8sQ0FBQyxhQUFhLElBQUksSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSwrQkFBYSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7Z0JBQ3hELFVBQVUsRUFBRSxPQUFPLENBQUMsbUJBQW1CO2FBQ3hDLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDOztBQWpCSCxnREFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtEZXBsb3lIb29rIH0gZnJvbSAnLi9jb21wb25lbnRzL2Nkay1kZXBsb3ktaG9vayc7XG5pbXBvcnQgeyBEb2NrZXJQdWJsaXNoIH0gZnJvbSAnLi9jb21wb25lbnRzL2RvY2tlci1wdWJsaXNoJztcbmltcG9ydCB7IEZseXdheU1pZ3JhdGlvbiB9IGZyb20gJy4vY29tcG9uZW50cy9mbHl3YXktbWlncmF0aW9uJztcbmltcG9ydCB7IEphdmFNYXZlblByb2plY3QgfSBmcm9tICcuL2phdmEtbWF2ZW4tYmFzZSc7XG5pbXBvcnQgeyBKYXZhU2VydmljZVByb2plY3RPcHRpb25zIH0gZnJvbSAnLi9vcHRpb25zJztcblxuLyoqXG4gKiBTcHJpbmdib290IHNlcnZpY2UgYXBwbGljYXRpb24uIFB1Ymxpc2hlcyB0byBEb2NrZXIgSHViIChuZXZlciBNYXZlblxuICogQ2VudHJhbCk7IHB1Ymxpc2ggYW5kIGRlcGxveSBhcmUgYm90aCBtYW51YWwtZGlzcGF0Y2gsIG5vdCBvbiBldmVyeSBtZXJnZS5cbiAqL1xuZXhwb3J0IGNsYXNzIEphdmFTZXJ2aWNlUHJvamVjdCBleHRlbmRzIEphdmFNYXZlblByb2plY3Qge1xuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBKYXZhU2VydmljZVByb2plY3RPcHRpb25zKSB7XG4gICAgc3VwZXIob3B0aW9ucyk7XG5cbiAgICB0aGlzLnBvbS5hZGREZXBlbmRlbmN5KCdvcmcuc3ByaW5nZnJhbWV3b3JrLmJvb3Qvc3ByaW5nLWJvb3Qtc3RhcnRlci13ZWJAXjMnKTtcblxuICAgIG5ldyBEb2NrZXJQdWJsaXNoKHRoaXMsIHsgZG9ja2VyUmVnaXN0cnk6IG9wdGlvbnMuZG9ja2VyUmVnaXN0cnkgfSk7XG5cbiAgICBpZiAob3B0aW9ucy51c2VGbHl3YXkgPz8gdHJ1ZSkge1xuICAgICAgbmV3IEZseXdheU1pZ3JhdGlvbih0aGlzKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5jZGtEZXBsb3lIb29rID8/IHRydWUpIHtcbiAgICAgIG5ldyBDZGtEZXBsb3lIb29rKHRoaXMsIG9wdGlvbnMuZW52aXJvbm1lbnRzID8/IFsncHJvZCddLCB7XG4gICAgICAgIHRhcmdldFJlcG86IG9wdGlvbnMuY2RrRGVwbG95VGFyZ2V0UmVwbyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/lib/java/options.d.ts
CHANGED
|
@@ -17,9 +17,13 @@ export interface JavaLibraryProjectOptions extends CommonJavaOptions {
|
|
|
17
17
|
readonly publishCodeIndex?: boolean;
|
|
18
18
|
}
|
|
19
19
|
export interface CdkDeployHookOptions {
|
|
20
|
-
/**
|
|
21
|
-
|
|
22
|
-
|
|
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
|
-
/**
|
|
31
|
-
|
|
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.
|
package/lib/java/options.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9qYXZhL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudmlyb25tZW50T3B0aW9ucyB9IGZyb20gJy4uL2NvbW1vbi9lbnZpcm9ubWVudC1vcHRpb25zJztcblxuZXhwb3J0IGludGVyZmFjZSBDb21tb25KYXZhT3B0aW9ucyB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgZ3JvdXBJZDogc3RyaW5nO1xuICByZWFkb25seSBhcnRpZmFjdElkOiBzdHJpbmc7XG5cbiAgLyoqIEBkZWZhdWx0IFwiMC4xLjBcIiAqL1xuICByZWFkb25seSB2ZXJzaW9uPzogc3RyaW5nO1xuXG4gIC8qKiBTb25hclF1YmUgcHJvamVjdCBrZXkuIElmIHVuc2V0LCB0aGUgc29uYXIgc2NhbiBzdGVwIGlzIHNraXBwZWQuICovXG4gIHJlYWRvbmx5IHNvbmFyUHJvamVjdEtleT86IHN0cmluZztcblxuICAvKiogQGRlZmF1bHQgXCJQUk9KRU5fR0lUSFVCX1RPS0VOXCIgKi9cbiAgcmVhZG9ubHkgZ2hlVG9rZW5TZWNyZXQ/
|
|
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": "^
|
|
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.
|
|
85
|
+
"version": "0.0.4",
|
|
86
86
|
"jest": {
|
|
87
87
|
"coverageProvider": "v8",
|
|
88
88
|
"testMatch": [
|