@xpertss/projen-types 0.0.13 → 0.0.14
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 +2598 -746
- package/API.md +5752 -1419
- package/README.md +274 -35
- package/lib/actions/action-build-workflow.js +1 -1
- package/lib/actions/action-dogfood-workflow.js +1 -1
- package/lib/actions/action-sonar-workflow.js +1 -1
- package/lib/actions/github-action-project.d.ts +5 -0
- package/lib/actions/github-action-project.js +10 -3
- 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 +10 -3
- 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 +5 -0
- package/lib/cdk/options.js +1 -1
- package/lib/common/ci-steps.d.ts +14 -0
- package/lib/common/ci-steps.js +30 -0
- package/lib/common/editorconfig.d.ts +12 -0
- package/lib/common/editorconfig.js +44 -0
- package/lib/common/projen-drift-check-workflow.js +5 -15
- package/lib/common/workflow-change-notice-workflow.js +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -1
- package/lib/java/components/cdk-deploy-hook.d.ts +2 -2
- package/lib/java/components/cdk-deploy-hook.js +2 -2
- package/lib/java/components/code-index-workflow.d.ts +2 -2
- package/lib/java/components/code-index-workflow.js +5 -3
- package/lib/java/components/docker-publish.d.ts +2 -2
- package/lib/java/components/docker-publish.js +2 -2
- package/lib/java/components/flyway-migration.d.ts +8 -3
- package/lib/java/components/flyway-migration.js +11 -5
- package/lib/java/components/github-packages-publish.d.ts +2 -2
- package/lib/java/components/github-packages-publish.js +2 -2
- package/lib/java/components/maven-central-publish.d.ts +2 -2
- package/lib/java/components/maven-central-publish.js +2 -2
- package/lib/java/components/maven-upgrade-report.d.ts +22 -0
- package/lib/java/components/maven-upgrade-report.js +61 -0
- package/lib/java/java-app-project.js +1 -1
- package/lib/java/java-library-project.d.ts +5 -1
- package/lib/java/java-library-project.js +14 -3
- package/lib/java/java-maven-base.d.ts +91 -8
- package/lib/java/java-maven-base.js +339 -24
- package/lib/java/java-service-project.d.ts +17 -5
- package/lib/java/java-service-project.js +20 -7
- package/lib/java/java-spring-boot-project.d.ts +30 -0
- package/lib/java/java-spring-boot-project.js +68 -0
- package/lib/java/java-versions.d.ts +40 -0
- package/lib/java/java-versions.js +106 -0
- package/lib/java/maven/maven-module.d.ts +47 -0
- package/lib/java/maven/maven-module.js +99 -0
- package/lib/java/maven/maven-pom.d.ts +143 -0
- package/lib/java/maven/maven-pom.js +337 -0
- package/lib/java/options.d.ts +128 -1
- package/lib/java/options.js +1 -1
- package/package.json +1 -1
- package/lib/common/upgrade-workflow.d.ts +0 -18
- package/lib/common/upgrade-workflow.js +0 -45
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Component } from 'projen';
|
|
2
|
-
import type {
|
|
2
|
+
import type { JavaMavenProject } from '../java-maven-base';
|
|
3
3
|
export interface GitHubPackagesPublishOptions {
|
|
4
4
|
/** @default derived from the repository URL */
|
|
5
5
|
readonly ghPackagesRegistry?: string;
|
|
6
6
|
}
|
|
7
7
|
/** On-demand publish to GitHub Packages. */
|
|
8
8
|
export declare class GitHubPackagesPublish extends Component {
|
|
9
|
-
constructor(project:
|
|
9
|
+
constructor(project: JavaMavenProject, options?: GitHubPackagesPublishOptions);
|
|
10
10
|
}
|
|
@@ -6,7 +6,7 @@ const projen_1 = require("projen");
|
|
|
6
6
|
const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
7
7
|
/** On-demand publish to GitHub Packages. */
|
|
8
8
|
class GitHubPackagesPublish extends projen_1.Component {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.GitHubPackagesPublish", version: "0.0.14" };
|
|
10
10
|
constructor(project, options = {}) {
|
|
11
11
|
super(project, 'GitHubPackagesPublish');
|
|
12
12
|
const gh = project.github;
|
|
@@ -33,4 +33,4 @@ class GitHubPackagesPublish extends projen_1.Component {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
exports.GitHubPackagesPublish = GitHubPackagesPublish;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2l0aHViLXBhY2thZ2VzLXB1Ymxpc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvamF2YS9jb21wb25lbnRzL2dpdGh1Yi1wYWNrYWdlcy1wdWJsaXNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBMkM7QUFDM0Msb0VBQW9FO0FBUXBFLDRDQUE0QztBQUM1QyxNQUFhLHFCQUFzQixTQUFRLGtCQUFTOztJQUNsRCxZQUNFLE9BQXlCLEVBQ3pCLFVBQXdDLEVBQUU7UUFFMUMsS0FBSyxDQUFDLE9BQU8sRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO1FBRXhDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxNQUFNLFFBQVEsR0FDWixPQUFPLENBQUMsa0JBQWtCO1lBQzFCLHVEQUF1RCxDQUFDO1FBRTFELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEVBQUU7WUFDeEQsSUFBSSxFQUFFLG1EQUFtRCxRQUFRLEVBQUU7U0FDcEUsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNsRCxJQUFJLEVBQUUsb0JBQW9CO1lBQzFCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTtZQUNsQyxXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLGVBQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzdDLFFBQVEsRUFBRSxlQUFNLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxLQUFLO2FBQy9DO1lBQ0QsR0FBRyxFQUFFLEVBQUUsWUFBWSxFQUFFLDZCQUE2QixFQUFFO1NBQ3JELENBQUMsQ0FBQztRQUNILElBQUEsc0NBQW1CLEVBQ2pCLGVBQWUsQ0FBQyxJQUFJLEVBQ3BCLG9EQUFvRCxDQUNyRCxDQUFDO0lBQ0osQ0FBQzs7QUFuQ0gsc0RBb0NDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBnaXRodWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgbm90ZVdvcmtmbG93UHVycG9zZSB9IGZyb20gJy4uLy4uL2NvbW1vbi93b3JrZmxvdy1wdXJwb3NlJztcbmltcG9ydCB0eXBlIHsgSmF2YU1hdmVuUHJvamVjdCB9IGZyb20gJy4uL2phdmEtbWF2ZW4tYmFzZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2l0SHViUGFja2FnZXNQdWJsaXNoT3B0aW9ucyB7XG4gIC8qKiBAZGVmYXVsdCBkZXJpdmVkIGZyb20gdGhlIHJlcG9zaXRvcnkgVVJMICovXG4gIHJlYWRvbmx5IGdoUGFja2FnZXNSZWdpc3RyeT86IHN0cmluZztcbn1cblxuLyoqIE9uLWRlbWFuZCBwdWJsaXNoIHRvIEdpdEh1YiBQYWNrYWdlcy4gKi9cbmV4cG9ydCBjbGFzcyBHaXRIdWJQYWNrYWdlc1B1Ymxpc2ggZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9qZWN0OiBKYXZhTWF2ZW5Qcm9qZWN0LFxuICAgIG9wdGlvbnM6IEdpdEh1YlBhY2thZ2VzUHVibGlzaE9wdGlvbnMgPSB7fSxcbiAgKSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ0dpdEh1YlBhY2thZ2VzUHVibGlzaCcpO1xuXG4gICAgY29uc3QgZ2ggPSBwcm9qZWN0LmdpdGh1YjtcbiAgICBpZiAoIWdoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0dpdEh1YlBhY2thZ2VzUHVibGlzaCByZXF1aXJlcyBHaXRIdWIgaW50ZWdyYXRpb24nKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWdpc3RyeSA9XG4gICAgICBvcHRpb25zLmdoUGFja2FnZXNSZWdpc3RyeSA/P1xuICAgICAgJ2h0dHBzOi8vbWF2ZW4ucGtnLmdpdGh1Yi5jb20vJHt7IGdpdGh1Yi5yZXBvc2l0b3J5IH19JztcblxuICAgIGNvbnN0IHB1Ymxpc2hUYXNrID0gcHJvamVjdC5hZGRUYXNrKCdwdWJsaXNoOmdocGFja2FnZXMnLCB7XG4gICAgICBleGVjOiBgbXZuIC1CIGRlcGxveSAtRGFsdERlcGxveW1lbnRSZXBvc2l0b3J5PWdpdGh1Yjo6JHtyZWdpc3RyeX1gLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcHVibGlzaFdvcmtmbG93ID0gbmV3IGdpdGh1Yi5UYXNrV29ya2Zsb3coZ2gsIHtcbiAgICAgIG5hbWU6ICdwdWJsaXNoLWdocGFja2FnZXMnLFxuICAgICAgam9iSWQ6ICdwdWJsaXNoJyxcbiAgICAgIHRhc2s6IHB1Ymxpc2hUYXNrLFxuICAgICAgdHJpZ2dlcnM6IHsgd29ya2Zsb3dEaXNwYXRjaDoge30gfSxcbiAgICAgIHBlcm1pc3Npb25zOiB7XG4gICAgICAgIGNvbnRlbnRzOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uUkVBRCxcbiAgICAgICAgcGFja2FnZXM6IGdpdGh1Yi53b3JrZmxvd3MuSm9iUGVybWlzc2lvbi5XUklURSxcbiAgICAgIH0sXG4gICAgICBlbnY6IHsgR0lUSFVCX1RPS0VOOiAnJHt7IHNlY3JldHMuR0lUSFVCX1RPS0VOIH19JyB9LFxuICAgIH0pO1xuICAgIG5vdGVXb3JrZmxvd1B1cnBvc2UoXG4gICAgICBwdWJsaXNoV29ya2Zsb3cuZmlsZSxcbiAgICAgICdQdWJsaXNoIHRoZSBhcnRpZmFjdCB0byBHaXRIdWIgUGFja2FnZXMgb24gZGVtYW5kLicsXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component } from 'projen';
|
|
2
|
-
import type {
|
|
2
|
+
import type { JavaMavenProject } from '../java-maven-base';
|
|
3
3
|
export interface MavenCentralPublishOptions {
|
|
4
4
|
/** @default false */
|
|
5
5
|
readonly mavenCentralOidc?: boolean;
|
|
@@ -9,5 +9,5 @@ export interface MavenCentralPublishOptions {
|
|
|
9
9
|
* or OIDC trusted publishing.
|
|
10
10
|
*/
|
|
11
11
|
export declare class MavenCentralPublish extends Component {
|
|
12
|
-
constructor(project:
|
|
12
|
+
constructor(project: JavaMavenProject, options?: MavenCentralPublishOptions);
|
|
13
13
|
}
|
|
@@ -9,7 +9,7 @@ const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
|
9
9
|
* or OIDC trusted publishing.
|
|
10
10
|
*/
|
|
11
11
|
class MavenCentralPublish extends projen_1.Component {
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenCentralPublish", version: "0.0.14" };
|
|
13
13
|
constructor(project, options = {}) {
|
|
14
14
|
super(project, 'MavenCentralPublish');
|
|
15
15
|
const gh = project.github;
|
|
@@ -43,4 +43,4 @@ class MavenCentralPublish extends projen_1.Component {
|
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
45
|
exports.MavenCentralPublish = MavenCentralPublish;
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW4tY2VudHJhbC1wdWJsaXNoLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2phdmEvY29tcG9uZW50cy9tYXZlbi1jZW50cmFsLXB1Ymxpc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLG1DQUFpRDtBQUNqRCxvRUFBb0U7QUFRcEU7OztHQUdHO0FBQ0gsTUFBYSxtQkFBb0IsU0FBUSxrQkFBUzs7SUFDaEQsWUFBWSxPQUF5QixFQUFFLFVBQXNDLEVBQUU7UUFDN0UsS0FBSyxDQUFDLE9BQU8sRUFBRSxxQkFBcUIsQ0FBQyxDQUFDO1FBRXRDLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyxpREFBaUQsQ0FBQyxDQUFDO1FBQ3JFLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBUyxPQUFPLENBQUMsT0FBTyxDQUFDLHVCQUF1QixFQUFFO1lBQ2pFLElBQUksRUFBRSwwQkFBMEI7U0FDakMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsRUFBRTtZQUNsRCxJQUFJLEVBQUUsdUJBQXVCO1lBQzdCLEtBQUssRUFBRSxTQUFTO1lBQ2hCLElBQUksRUFBRSxXQUFXO1lBQ2pCLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsRUFBRTtZQUNsQyxXQUFXLEVBQUU7Z0JBQ1gsUUFBUSxFQUFFLGVBQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUk7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsZ0JBQWdCO29CQUMvQixDQUFDLENBQUMsZUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBSztvQkFDdEMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLElBQUk7YUFDeEM7WUFDRCxHQUFHLEVBQUUsT0FBTyxDQUFDLGdCQUFnQjtnQkFDM0IsQ0FBQyxDQUFDLEVBQUU7Z0JBQ0osQ0FBQyxDQUFDO29CQUNBLHFCQUFxQixFQUFFLHNDQUFzQztvQkFDN0Qsb0JBQW9CLEVBQUUscUNBQXFDO29CQUMzRCxzQkFBc0IsRUFBRSx1Q0FBdUM7b0JBQy9ELHNCQUFzQixFQUFFLHVDQUF1QztpQkFDaEU7U0FDSixDQUFDLENBQUM7UUFDSCxJQUFBLHNDQUFtQixFQUNqQixlQUFlLENBQUMsSUFBSSxFQUNwQixrREFBa0QsQ0FDbkQsQ0FBQztJQUNKLENBQUM7O0FBckNILGtEQXNDQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgVGFzaywgZ2l0aHViIH0gZnJvbSAncHJvamVuJztcbmltcG9ydCB7IG5vdGVXb3JrZmxvd1B1cnBvc2UgfSBmcm9tICcuLi8uLi9jb21tb24vd29ya2Zsb3ctcHVycG9zZSc7XG5pbXBvcnQgdHlwZSB7IEphdmFNYXZlblByb2plY3QgfSBmcm9tICcuLi9qYXZhLW1hdmVuLWJhc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hdmVuQ2VudHJhbFB1Ymxpc2hPcHRpb25zIHtcbiAgLyoqIEBkZWZhdWx0IGZhbHNlICovXG4gIHJlYWRvbmx5IG1hdmVuQ2VudHJhbE9pZGM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIE9uLWRlbWFuZCBwdWJsaXNoIHdvcmtmbG93IHRvIE1hdmVuIENlbnRyYWwsIHdpdGggR1BHIHNpZ25pbmcgKHNlY3JldHMpXG4gKiBvciBPSURDIHRydXN0ZWQgcHVibGlzaGluZy5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdmVuQ2VudHJhbFB1Ymxpc2ggZXh0ZW5kcyBDb21wb25lbnQge1xuICBjb25zdHJ1Y3Rvcihwcm9qZWN0OiBKYXZhTWF2ZW5Qcm9qZWN0LCBvcHRpb25zOiBNYXZlbkNlbnRyYWxQdWJsaXNoT3B0aW9ucyA9IHt9KSB7XG4gICAgc3VwZXIocHJvamVjdCwgJ01hdmVuQ2VudHJhbFB1Ymxpc2gnKTtcblxuICAgIGNvbnN0IGdoID0gcHJvamVjdC5naXRodWI7XG4gICAgaWYgKCFnaCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdNYXZlbkNlbnRyYWxQdWJsaXNoIHJlcXVpcmVzIEdpdEh1YiBpbnRlZ3JhdGlvbicpO1xuICAgIH1cblxuICAgIGNvbnN0IHB1Ymxpc2hUYXNrOiBUYXNrID0gcHJvamVjdC5hZGRUYXNrKCdwdWJsaXNoOm1hdmVuLWNlbnRyYWwnLCB7XG4gICAgICBleGVjOiAnbXZuIC1CIGRlcGxveSAtUCByZWxlYXNlJyxcbiAgICB9KTtcblxuICAgIGNvbnN0IHB1Ymxpc2hXb3JrZmxvdyA9IG5ldyBnaXRodWIuVGFza1dvcmtmbG93KGdoLCB7XG4gICAgICBuYW1lOiAncHVibGlzaC1tYXZlbi1jZW50cmFsJyxcbiAgICAgIGpvYklkOiAncHVibGlzaCcsXG4gICAgICB0YXNrOiBwdWJsaXNoVGFzayxcbiAgICAgIHRyaWdnZXJzOiB7IHdvcmtmbG93RGlzcGF0Y2g6IHt9IH0sXG4gICAgICBwZXJtaXNzaW9uczoge1xuICAgICAgICBjb250ZW50czogZ2l0aHViLndvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLlJFQUQsXG4gICAgICAgIGlkVG9rZW46IG9wdGlvbnMubWF2ZW5DZW50cmFsT2lkY1xuICAgICAgICAgID8gZ2l0aHViLndvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLldSSVRFXG4gICAgICAgICAgOiBnaXRodWIud29ya2Zsb3dzLkpvYlBlcm1pc3Npb24uTk9ORSxcbiAgICAgIH0sXG4gICAgICBlbnY6IG9wdGlvbnMubWF2ZW5DZW50cmFsT2lkY1xuICAgICAgICA/IHt9XG4gICAgICAgIDoge1xuICAgICAgICAgIE1BVkVOX0dQR19QUklWQVRFX0tFWTogJyR7eyBzZWNyZXRzLk1BVkVOX0dQR19QUklWQVRFX0tFWSB9fScsXG4gICAgICAgICAgTUFWRU5fR1BHX1BBU1NQSFJBU0U6ICcke3sgc2VjcmV0cy5NQVZFTl9HUEdfUEFTU1BIUkFTRSB9fScsXG4gICAgICAgICAgTUFWRU5fQ0VOVFJBTF9VU0VSTkFNRTogJyR7eyBzZWNyZXRzLk1BVkVOX0NFTlRSQUxfVVNFUk5BTUUgfX0nLFxuICAgICAgICAgIE1BVkVOX0NFTlRSQUxfUEFTU1dPUkQ6ICcke3sgc2VjcmV0cy5NQVZFTl9DRU5UUkFMX1BBU1NXT1JEIH19JyxcbiAgICAgICAgfSxcbiAgICB9KTtcbiAgICBub3RlV29ya2Zsb3dQdXJwb3NlKFxuICAgICAgcHVibGlzaFdvcmtmbG93LmZpbGUsXG4gICAgICAnUHVibGlzaCB0aGUgYXJ0aWZhY3QgdG8gTWF2ZW4gQ2VudHJhbCBvbiBkZW1hbmQuJyxcbiAgICApO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Component, Task, github } from 'projen';
|
|
2
|
+
export interface MavenUpgradeReportOptions {
|
|
3
|
+
/** The task that prints the available updates. */
|
|
4
|
+
readonly task: Task;
|
|
5
|
+
/** Steps that install Node, the projen toolchain, and the JDK. */
|
|
6
|
+
readonly setupSteps: github.workflows.JobStep[];
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Nightly, report-only dependency check for the Maven types: runs the
|
|
10
|
+
* `upgrade` task (`versions:display-dependency-updates` and
|
|
11
|
+
* `display-plugin-updates`) and writes the available updates into the job
|
|
12
|
+
* summary.
|
|
13
|
+
*
|
|
14
|
+
* It deliberately changes nothing. Every version in a generated pom comes
|
|
15
|
+
* from `.projenrc.ts` (or this package's defaults), so rewriting `pom.xml`
|
|
16
|
+
* would just be reverted by the next `npx projen` and flagged by the drift
|
|
17
|
+
* check. Apply an update by changing the version in `.projenrc.ts`.
|
|
18
|
+
*/
|
|
19
|
+
export declare class MavenUpgradeReport extends Component {
|
|
20
|
+
readonly workflow: github.GithubWorkflow;
|
|
21
|
+
constructor(scope: github.GitHubProject, options: MavenUpgradeReportOptions);
|
|
22
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MavenUpgradeReport = void 0;
|
|
4
|
+
const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
5
|
+
const projen_1 = require("projen");
|
|
6
|
+
const constants_1 = require("../../common/constants");
|
|
7
|
+
const workflow_purpose_1 = require("../../common/workflow-purpose");
|
|
8
|
+
/**
|
|
9
|
+
* Nightly, report-only dependency check for the Maven types: runs the
|
|
10
|
+
* `upgrade` task (`versions:display-dependency-updates` and
|
|
11
|
+
* `display-plugin-updates`) and writes the available updates into the job
|
|
12
|
+
* summary.
|
|
13
|
+
*
|
|
14
|
+
* It deliberately changes nothing. Every version in a generated pom comes
|
|
15
|
+
* from `.projenrc.ts` (or this package's defaults), so rewriting `pom.xml`
|
|
16
|
+
* would just be reverted by the next `npx projen` and flagged by the drift
|
|
17
|
+
* check. Apply an update by changing the version in `.projenrc.ts`.
|
|
18
|
+
*/
|
|
19
|
+
class MavenUpgradeReport extends projen_1.Component {
|
|
20
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.MavenUpgradeReport", version: "0.0.14" };
|
|
21
|
+
workflow;
|
|
22
|
+
constructor(scope, options) {
|
|
23
|
+
super(scope, 'MavenUpgradeReport');
|
|
24
|
+
const gh = scope.github;
|
|
25
|
+
if (!gh) {
|
|
26
|
+
throw new Error('MavenUpgradeReport requires GitHub integration to be enabled');
|
|
27
|
+
}
|
|
28
|
+
this.workflow = new projen_1.github.GithubWorkflow(gh, 'upgrade');
|
|
29
|
+
(0, workflow_purpose_1.noteWorkflowPurpose)(this.workflow.file, 'Report available Maven dependency and plugin updates nightly (job summary only; changes nothing).');
|
|
30
|
+
this.workflow.on({
|
|
31
|
+
schedule: [{ cron: constants_1.NIGHTLY_UPGRADE_SCHEDULE }],
|
|
32
|
+
workflowDispatch: {},
|
|
33
|
+
});
|
|
34
|
+
this.workflow.addJob('upgrade', {
|
|
35
|
+
runsOn: ['ubuntu-latest'],
|
|
36
|
+
permissions: { contents: projen_1.github.workflows.JobPermission.READ },
|
|
37
|
+
steps: [
|
|
38
|
+
{ name: 'Checkout', uses: 'actions/checkout@v7' },
|
|
39
|
+
...options.setupSteps,
|
|
40
|
+
{
|
|
41
|
+
name: 'Report available updates',
|
|
42
|
+
run: [
|
|
43
|
+
'set -o pipefail',
|
|
44
|
+
`npx projen ${options.task.name} | tee upgrade-report.txt`,
|
|
45
|
+
'{',
|
|
46
|
+
' echo "## Available Maven updates"',
|
|
47
|
+
' echo ""',
|
|
48
|
+
' echo "Apply an update by changing its version in .projenrc.ts and running npx projen."',
|
|
49
|
+
' echo ""',
|
|
50
|
+
' echo \'```\'',
|
|
51
|
+
' grep -E -- "->" upgrade-report.txt | sed -E "s/^\\[INFO\\] *//" | sort -u || echo "Everything is up to date."',
|
|
52
|
+
' echo \'```\'',
|
|
53
|
+
'} >> "$GITHUB_STEP_SUMMARY"',
|
|
54
|
+
].join('\n'),
|
|
55
|
+
},
|
|
56
|
+
],
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
exports.MavenUpgradeReport = MavenUpgradeReport;
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF2ZW4tdXBncmFkZS1yZXBvcnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvamF2YS9jb21wb25lbnRzL21hdmVuLXVwZ3JhZGUtcmVwb3J0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxtQ0FBaUQ7QUFDakQsc0RBQWtFO0FBQ2xFLG9FQUFvRTtBQVVwRTs7Ozs7Ozs7OztHQVVHO0FBQ0gsTUFBYSxrQkFBbUIsU0FBUSxrQkFBUzs7SUFDL0IsUUFBUSxDQUF3QjtJQUVoRCxZQUFZLEtBQTJCLEVBQUUsT0FBa0M7UUFDekUsS0FBSyxDQUFDLEtBQUssRUFBRSxvQkFBb0IsQ0FBQyxDQUFDO1FBRW5DLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFDeEIsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ1IsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1FBQ2xGLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksZUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDekQsSUFBQSxzQ0FBbUIsRUFDakIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQ2xCLG1HQUFtRyxDQUNwRyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDZixRQUFRLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxvQ0FBd0IsRUFBRSxDQUFDO1lBQzlDLGdCQUFnQixFQUFFLEVBQUU7U0FDckIsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsU0FBUyxFQUFFO1lBQzlCLE1BQU0sRUFBRSxDQUFDLGVBQWUsQ0FBQztZQUN6QixXQUFXLEVBQUUsRUFBRSxRQUFRLEVBQUUsZUFBTSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFO1lBQzlELEtBQUssRUFBRTtnQkFDTCxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixFQUFFO2dCQUNqRCxHQUFHLE9BQU8sQ0FBQyxVQUFVO2dCQUNyQjtvQkFDRSxJQUFJLEVBQUUsMEJBQTBCO29CQUNoQyxHQUFHLEVBQUU7d0JBQ0gsaUJBQWlCO3dCQUNqQixjQUFjLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSwyQkFBMkI7d0JBQzFELEdBQUc7d0JBQ0gscUNBQXFDO3dCQUNyQyxXQUFXO3dCQUNYLDBGQUEwRjt3QkFDMUYsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGlIQUFpSDt3QkFDakgsZ0JBQWdCO3dCQUNoQiw2QkFBNkI7cUJBQzlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztpQkFDYjthQUNGO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7QUE1Q0gsZ0RBNkNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUYXNrLCBnaXRodWIgfSBmcm9tICdwcm9qZW4nO1xuaW1wb3J0IHsgTklHSFRMWV9VUEdSQURFX1NDSEVEVUxFIH0gZnJvbSAnLi4vLi4vY29tbW9uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBub3RlV29ya2Zsb3dQdXJwb3NlIH0gZnJvbSAnLi4vLi4vY29tbW9uL3dvcmtmbG93LXB1cnBvc2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1hdmVuVXBncmFkZVJlcG9ydE9wdGlvbnMge1xuICAvKiogVGhlIHRhc2sgdGhhdCBwcmludHMgdGhlIGF2YWlsYWJsZSB1cGRhdGVzLiAqL1xuICByZWFkb25seSB0YXNrOiBUYXNrO1xuXG4gIC8qKiBTdGVwcyB0aGF0IGluc3RhbGwgTm9kZSwgdGhlIHByb2plbiB0b29sY2hhaW4sIGFuZCB0aGUgSkRLLiAqL1xuICByZWFkb25seSBzZXR1cFN0ZXBzOiBnaXRodWIud29ya2Zsb3dzLkpvYlN0ZXBbXTtcbn1cblxuLyoqXG4gKiBOaWdodGx5LCByZXBvcnQtb25seSBkZXBlbmRlbmN5IGNoZWNrIGZvciB0aGUgTWF2ZW4gdHlwZXM6IHJ1bnMgdGhlXG4gKiBgdXBncmFkZWAgdGFzayAoYHZlcnNpb25zOmRpc3BsYXktZGVwZW5kZW5jeS11cGRhdGVzYCBhbmRcbiAqIGBkaXNwbGF5LXBsdWdpbi11cGRhdGVzYCkgYW5kIHdyaXRlcyB0aGUgYXZhaWxhYmxlIHVwZGF0ZXMgaW50byB0aGUgam9iXG4gKiBzdW1tYXJ5LlxuICpcbiAqIEl0IGRlbGliZXJhdGVseSBjaGFuZ2VzIG5vdGhpbmcuIEV2ZXJ5IHZlcnNpb24gaW4gYSBnZW5lcmF0ZWQgcG9tIGNvbWVzXG4gKiBmcm9tIGAucHJvamVucmMudHNgIChvciB0aGlzIHBhY2thZ2UncyBkZWZhdWx0cyksIHNvIHJld3JpdGluZyBgcG9tLnhtbGBcbiAqIHdvdWxkIGp1c3QgYmUgcmV2ZXJ0ZWQgYnkgdGhlIG5leHQgYG5weCBwcm9qZW5gIGFuZCBmbGFnZ2VkIGJ5IHRoZSBkcmlmdFxuICogY2hlY2suIEFwcGx5IGFuIHVwZGF0ZSBieSBjaGFuZ2luZyB0aGUgdmVyc2lvbiBpbiBgLnByb2plbnJjLnRzYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdmVuVXBncmFkZVJlcG9ydCBleHRlbmRzIENvbXBvbmVudCB7XG4gIHB1YmxpYyByZWFkb25seSB3b3JrZmxvdzogZ2l0aHViLkdpdGh1YldvcmtmbG93O1xuXG4gIGNvbnN0cnVjdG9yKHNjb3BlOiBnaXRodWIuR2l0SHViUHJvamVjdCwgb3B0aW9uczogTWF2ZW5VcGdyYWRlUmVwb3J0T3B0aW9ucykge1xuICAgIHN1cGVyKHNjb3BlLCAnTWF2ZW5VcGdyYWRlUmVwb3J0Jyk7XG5cbiAgICBjb25zdCBnaCA9IHNjb3BlLmdpdGh1YjtcbiAgICBpZiAoIWdoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hdmVuVXBncmFkZVJlcG9ydCByZXF1aXJlcyBHaXRIdWIgaW50ZWdyYXRpb24gdG8gYmUgZW5hYmxlZCcpO1xuICAgIH1cblxuICAgIHRoaXMud29ya2Zsb3cgPSBuZXcgZ2l0aHViLkdpdGh1YldvcmtmbG93KGdoLCAndXBncmFkZScpO1xuICAgIG5vdGVXb3JrZmxvd1B1cnBvc2UoXG4gICAgICB0aGlzLndvcmtmbG93LmZpbGUsXG4gICAgICAnUmVwb3J0IGF2YWlsYWJsZSBNYXZlbiBkZXBlbmRlbmN5IGFuZCBwbHVnaW4gdXBkYXRlcyBuaWdodGx5IChqb2Igc3VtbWFyeSBvbmx5OyBjaGFuZ2VzIG5vdGhpbmcpLicsXG4gICAgKTtcbiAgICB0aGlzLndvcmtmbG93Lm9uKHtcbiAgICAgIHNjaGVkdWxlOiBbeyBjcm9uOiBOSUdIVExZX1VQR1JBREVfU0NIRURVTEUgfV0sXG4gICAgICB3b3JrZmxvd0Rpc3BhdGNoOiB7fSxcbiAgICB9KTtcbiAgICB0aGlzLndvcmtmbG93LmFkZEpvYigndXBncmFkZScsIHtcbiAgICAgIHJ1bnNPbjogWyd1YnVudHUtbGF0ZXN0J10sXG4gICAgICBwZXJtaXNzaW9uczogeyBjb250ZW50czogZ2l0aHViLndvcmtmbG93cy5Kb2JQZXJtaXNzaW9uLlJFQUQgfSxcbiAgICAgIHN0ZXBzOiBbXG4gICAgICAgIHsgbmFtZTogJ0NoZWNrb3V0JywgdXNlczogJ2FjdGlvbnMvY2hlY2tvdXRAdjcnIH0sXG4gICAgICAgIC4uLm9wdGlvbnMuc2V0dXBTdGVwcyxcbiAgICAgICAge1xuICAgICAgICAgIG5hbWU6ICdSZXBvcnQgYXZhaWxhYmxlIHVwZGF0ZXMnLFxuICAgICAgICAgIHJ1bjogW1xuICAgICAgICAgICAgJ3NldCAtbyBwaXBlZmFpbCcsXG4gICAgICAgICAgICBgbnB4IHByb2plbiAke29wdGlvbnMudGFzay5uYW1lfSB8IHRlZSB1cGdyYWRlLXJlcG9ydC50eHRgLFxuICAgICAgICAgICAgJ3snLFxuICAgICAgICAgICAgJyAgZWNobyBcIiMjIEF2YWlsYWJsZSBNYXZlbiB1cGRhdGVzXCInLFxuICAgICAgICAgICAgJyAgZWNobyBcIlwiJyxcbiAgICAgICAgICAgICcgIGVjaG8gXCJBcHBseSBhbiB1cGRhdGUgYnkgY2hhbmdpbmcgaXRzIHZlcnNpb24gaW4gLnByb2plbnJjLnRzIGFuZCBydW5uaW5nIG5weCBwcm9qZW4uXCInLFxuICAgICAgICAgICAgJyAgZWNobyBcIlwiJyxcbiAgICAgICAgICAgICcgIGVjaG8gXFwnYGBgXFwnJyxcbiAgICAgICAgICAgICcgIGdyZXAgLUUgLS0gXCItPlwiIHVwZ3JhZGUtcmVwb3J0LnR4dCB8IHNlZCAtRSBcInMvXlxcXFxbSU5GT1xcXFxdICovL1wiIHwgc29ydCAtdSB8fCBlY2hvIFwiRXZlcnl0aGluZyBpcyB1cCB0byBkYXRlLlwiJyxcbiAgICAgICAgICAgICcgIGVjaG8gXFwnYGBgXFwnJyxcbiAgICAgICAgICAgICd9ID4+IFwiJEdJVEhVQl9TVEVQX1NVTU1BUllcIicsXG4gICAgICAgICAgXS5qb2luKCdcXG4nKSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -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.14" };
|
|
13
13
|
constructor(options) {
|
|
14
14
|
super(options);
|
|
15
15
|
new github_packages_publish_1.GitHubPackagesPublish(this, {
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { JavaMavenProject } from './java-maven-base';
|
|
2
2
|
import { JavaLibraryProjectOptions } from './options';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Reusable Java library, published to Maven Central. Single- or
|
|
5
|
+
* multi-module; attaches the source and javadoc jars Central requires (in a
|
|
6
|
+
* reactor, every module inherits them).
|
|
7
|
+
*/
|
|
4
8
|
export declare class JavaLibraryProject extends JavaMavenProject {
|
|
5
9
|
constructor(options: JavaLibraryProjectOptions);
|
|
6
10
|
}
|
|
@@ -5,11 +5,22 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
5
5
|
const code_index_workflow_1 = require("./components/code-index-workflow");
|
|
6
6
|
const maven_central_publish_1 = require("./components/maven-central-publish");
|
|
7
7
|
const java_maven_base_1 = require("./java-maven-base");
|
|
8
|
-
|
|
8
|
+
const java_versions_1 = require("./java-versions");
|
|
9
|
+
/**
|
|
10
|
+
* Reusable Java library, published to Maven Central. Single- or
|
|
11
|
+
* multi-module; attaches the source and javadoc jars Central requires (in a
|
|
12
|
+
* reactor, every module inherits them).
|
|
13
|
+
*/
|
|
9
14
|
class JavaLibraryProject extends java_maven_base_1.JavaMavenProject {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.
|
|
15
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "@xpertss/projen-types.JavaLibraryProject", version: "0.0.14" };
|
|
11
16
|
constructor(options) {
|
|
12
17
|
super(options);
|
|
18
|
+
this.addPlugin(`${java_versions_1.MAVEN_SOURCE_PLUGIN}@${this.pinnedVersion(java_versions_1.MAVEN_SOURCE_PLUGIN)}`, {
|
|
19
|
+
executions: [{ id: 'attach-sources', goals: ['jar-no-fork'] }],
|
|
20
|
+
});
|
|
21
|
+
this.addPlugin(`${java_versions_1.MAVEN_JAVADOC_PLUGIN}@${this.pinnedVersion(java_versions_1.MAVEN_JAVADOC_PLUGIN)}`, {
|
|
22
|
+
executions: [{ id: 'attach-javadocs', goals: ['jar'] }],
|
|
23
|
+
});
|
|
13
24
|
new maven_central_publish_1.MavenCentralPublish(this, { mavenCentralOidc: options.mavenCentralOidc });
|
|
14
25
|
if (options.publishCodeIndex ?? true) {
|
|
15
26
|
new code_index_workflow_1.CodeIndexWorkflow(this);
|
|
@@ -17,4 +28,4 @@ class JavaLibraryProject extends java_maven_base_1.JavaMavenProject {
|
|
|
17
28
|
}
|
|
18
29
|
}
|
|
19
30
|
exports.JavaLibraryProject = JavaLibraryProject;
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiamF2YS1saWJyYXJ5LXByb2plY3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvamF2YS9qYXZhLWxpYnJhcnktcHJvamVjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMEVBQXFFO0FBQ3JFLDhFQUF5RTtBQUN6RSx1REFBcUQ7QUFDckQsbURBQTRFO0FBRzVFOzs7O0dBSUc7QUFDSCxNQUFhLGtCQUFtQixTQUFRLGtDQUFnQjs7SUFDdEQsWUFBWSxPQUFrQztRQUM1QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFZixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsbUNBQW1CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQ0FBbUIsQ0FBQyxFQUFFLEVBQUU7WUFDbEYsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztTQUMvRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsb0NBQW9CLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQ0FBb0IsQ0FBQyxFQUFFLEVBQUU7WUFDcEYsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztTQUN4RCxDQUFDLENBQUM7UUFFSCxJQUFJLDJDQUFtQixDQUFDLElBQUksRUFBRSxFQUFFLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFOUUsSUFBSSxPQUFPLENBQUMsZ0JBQWdCLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckMsSUFBSSx1Q0FBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixDQUFDO0lBQ0gsQ0FBQzs7QUFoQkgsZ0RBaUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29kZUluZGV4V29ya2Zsb3cgfSBmcm9tICcuL2NvbXBvbmVudHMvY29kZS1pbmRleC13b3JrZmxvdyc7XG5pbXBvcnQgeyBNYXZlbkNlbnRyYWxQdWJsaXNoIH0gZnJvbSAnLi9jb21wb25lbnRzL21hdmVuLWNlbnRyYWwtcHVibGlzaCc7XG5pbXBvcnQgeyBKYXZhTWF2ZW5Qcm9qZWN0IH0gZnJvbSAnLi9qYXZhLW1hdmVuLWJhc2UnO1xuaW1wb3J0IHsgTUFWRU5fSkFWQURPQ19QTFVHSU4sIE1BVkVOX1NPVVJDRV9QTFVHSU4gfSBmcm9tICcuL2phdmEtdmVyc2lvbnMnO1xuaW1wb3J0IHsgSmF2YUxpYnJhcnlQcm9qZWN0T3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5cbi8qKlxuICogUmV1c2FibGUgSmF2YSBsaWJyYXJ5LCBwdWJsaXNoZWQgdG8gTWF2ZW4gQ2VudHJhbC4gU2luZ2xlLSBvclxuICogbXVsdGktbW9kdWxlOyBhdHRhY2hlcyB0aGUgc291cmNlIGFuZCBqYXZhZG9jIGphcnMgQ2VudHJhbCByZXF1aXJlcyAoaW4gYVxuICogcmVhY3RvciwgZXZlcnkgbW9kdWxlIGluaGVyaXRzIHRoZW0pLlxuICovXG5leHBvcnQgY2xhc3MgSmF2YUxpYnJhcnlQcm9qZWN0IGV4dGVuZHMgSmF2YU1hdmVuUHJvamVjdCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEphdmFMaWJyYXJ5UHJvamVjdE9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX1NPVVJDRV9QTFVHSU59QCR7dGhpcy5waW5uZWRWZXJzaW9uKE1BVkVOX1NPVVJDRV9QTFVHSU4pfWAsIHtcbiAgICAgIGV4ZWN1dGlvbnM6IFt7IGlkOiAnYXR0YWNoLXNvdXJjZXMnLCBnb2FsczogWydqYXItbm8tZm9yayddIH1dLFxuICAgIH0pO1xuICAgIHRoaXMuYWRkUGx1Z2luKGAke01BVkVOX0pBVkFET0NfUExVR0lOfUAke3RoaXMucGlubmVkVmVyc2lvbihNQVZFTl9KQVZBRE9DX1BMVUdJTil9YCwge1xuICAgICAgZXhlY3V0aW9uczogW3sgaWQ6ICdhdHRhY2gtamF2YWRvY3MnLCBnb2FsczogWydqYXInXSB9XSxcbiAgICB9KTtcblxuICAgIG5ldyBNYXZlbkNlbnRyYWxQdWJsaXNoKHRoaXMsIHsgbWF2ZW5DZW50cmFsT2lkYzogb3B0aW9ucy5tYXZlbkNlbnRyYWxPaWRjIH0pO1xuXG4gICAgaWYgKG9wdGlvbnMucHVibGlzaENvZGVJbmRleCA/PyB0cnVlKSB7XG4gICAgICBuZXcgQ29kZUluZGV4V29ya2Zsb3codGhpcyk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -1,15 +1,98 @@
|
|
|
1
1
|
import { Task, github, java } from 'projen';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
}
|
|
2
|
+
import { MavenModule } from './maven/maven-module';
|
|
3
|
+
import { MavenPom } from './maven/maven-pom';
|
|
4
|
+
import { JavaMavenProjectOptions, MavenModuleOptions } from './options';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
6
|
+
* Baseline Maven project, single- or multi-module, with no framework
|
|
7
|
+
* assumptions. It is the base of every Java type in this package and is
|
|
8
|
+
* usable on its own (`projen new ... java_maven`).
|
|
9
|
+
*
|
|
10
|
+
* - The pom is written by this package (`MavenPom`), not projen's
|
|
11
|
+
* `java.Pom`: exact versions only, BOM imports, `<modules>`,
|
|
12
|
+
* `<dependencyManagement>`, `<pluginManagement>`.
|
|
13
|
+
* - Everything Java-version-dependent (compiler level, enforcer rule, JUnit
|
|
14
|
+
* line, CI JDK) follows `javaVersion`.
|
|
15
|
+
* - With no `addModule()` calls the root pom is the artifact. After the
|
|
16
|
+
* first `addModule()` it is a `pom`-packaged reactor parent and the
|
|
17
|
+
* modules inherit its plugins and test dependencies.
|
|
18
|
+
* - `npx projen build` synthesizes, then runs Maven once: `mvn -B verify`
|
|
19
|
+
* (unit tests via surefire, `*IT` tests via failsafe).
|
|
20
|
+
* - CI: a PR build (with an optional SonarQube scan), the projen drift
|
|
21
|
+
* check, and a nightly report-only update check.
|
|
10
22
|
*/
|
|
11
|
-
export declare class JavaMavenProject extends
|
|
23
|
+
export declare class JavaMavenProject extends github.GitHubProject {
|
|
24
|
+
/** The root `pom.xml`. */
|
|
25
|
+
readonly pom: MavenPom;
|
|
26
|
+
/** The canonical Java line the build targets (`1.8`, `17`, `21`, `25`). */
|
|
27
|
+
readonly javaVersion: string;
|
|
28
|
+
/** Prints available dependency/plugin updates (`npx projen upgrade`). */
|
|
12
29
|
readonly upgradeTask: Task;
|
|
30
|
+
/**
|
|
31
|
+
* The PR build workflow (`build.yml`). Add jobs to it with
|
|
32
|
+
* `buildVerifyWorkflow.addJob(id, job)`; use `ciSetupSteps` for a job that
|
|
33
|
+
* needs Node, the projen toolchain, and the JDK.
|
|
34
|
+
*/
|
|
13
35
|
readonly buildVerifyWorkflow: github.TaskWorkflow;
|
|
36
|
+
/**
|
|
37
|
+
* Steps that install Node (pinned), `npm ci`, and the project's JDK with a
|
|
38
|
+
* Maven cache - the setup every Maven CI job in this repo needs.
|
|
39
|
+
*/
|
|
40
|
+
readonly ciSetupSteps: github.workflows.JobStep[];
|
|
41
|
+
private readonly javaLine;
|
|
42
|
+
private readonly rootPackaging?;
|
|
43
|
+
private readonly groupId;
|
|
44
|
+
private readonly sample;
|
|
45
|
+
private readonly mavenModules;
|
|
14
46
|
constructor(options: JavaMavenProjectOptions);
|
|
47
|
+
/** The modules added with `addModule()`, in order. */
|
|
48
|
+
get modules(): MavenModule[];
|
|
49
|
+
/**
|
|
50
|
+
* Adds a Maven module in `dir` (relative to the repo root; may be nested,
|
|
51
|
+
* e.g. `tools/stub-model`) and turns the root pom into the reactor parent
|
|
52
|
+
* (`packaging=pom`, `<modules>` in the order added). The parent manages
|
|
53
|
+
* every module at `${project.version}`, so modules depend on each other
|
|
54
|
+
* with `addModuleDependency()`, versionless.
|
|
55
|
+
*/
|
|
56
|
+
addModule(options: MavenModuleOptions): MavenModule;
|
|
57
|
+
/**
|
|
58
|
+
* Imports a BOM into the root `<dependencyManagement>` (`type=pom`,
|
|
59
|
+
* `scope=import`).
|
|
60
|
+
*
|
|
61
|
+
* @param spec `groupId/artifactId@version`
|
|
62
|
+
*/
|
|
63
|
+
addBom(spec: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Pins a version in the root `<dependencyManagement>` without adding the
|
|
66
|
+
* dependency, so modules (or the root) can use it versionless.
|
|
67
|
+
*
|
|
68
|
+
* @param spec `groupId/artifactId@version`
|
|
69
|
+
*/
|
|
70
|
+
addManagedDependency(spec: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Adds a compile-scope dependency to the root pom. In a multi-module
|
|
73
|
+
* project every module inherits it; use `MavenModule.addDependency` for
|
|
74
|
+
* one module.
|
|
75
|
+
*
|
|
76
|
+
* @param spec `groupId/artifactId[@version]` - exact version, or none when
|
|
77
|
+
* a BOM manages it
|
|
78
|
+
*/
|
|
79
|
+
addDependency(spec: string): void;
|
|
80
|
+
/** Adds a test-scope dependency to the root pom (inherited by every module). */
|
|
81
|
+
addTestDependency(spec: string): void;
|
|
82
|
+
/** Adds a build plugin to the root pom (inherited by every module). */
|
|
83
|
+
addPlugin(spec: string, options?: java.PluginOptions): void;
|
|
84
|
+
preSynthesize(): void;
|
|
85
|
+
/**
|
|
86
|
+
* The exact version this project uses for a `groupId/artifactId` it pins
|
|
87
|
+
* by default: the `pluginVersions` override if set, otherwise the
|
|
88
|
+
* default for `javaVersion`.
|
|
89
|
+
*/
|
|
90
|
+
pinnedVersion(coordinates: string): string;
|
|
91
|
+
/**
|
|
92
|
+
* The newest Spring Boot major version `javaVersion` supports, or
|
|
93
|
+
* undefined when this package knows of no cap.
|
|
94
|
+
*/
|
|
95
|
+
protected maxSpringBootMajor(): number | undefined;
|
|
96
|
+
private configureBuild;
|
|
97
|
+
private addSample;
|
|
15
98
|
}
|