@xpertss/projen-types 0.0.12 → 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 +2602 -750
- package/API.md +5753 -1420
- package/README.md +335 -37
- package/lib/actions/action-build-workflow.js +1 -1
- package/lib/actions/action-dogfood-workflow.d.ts +4 -4
- package/lib/actions/action-dogfood-workflow.js +4 -4
- 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
package/.jsii
CHANGED
|
@@ -106,7 +106,7 @@
|
|
|
106
106
|
},
|
|
107
107
|
"name": "@xpertss/projen-types",
|
|
108
108
|
"readme": {
|
|
109
|
-
"markdown": "# @xpertss/projen-types\n\nProjen project types for CDK/TypeScript and Java/Maven projects.\n\nInstead of hand-maintaining `pom.xml`, `cdk.json`, and GitHub workflows, you declare a project type in a `.projenrc.ts` file and let [projen](https://github.com/projen/projen) generate (and keep up to date) the whole scaffold: build files, source skeletons, CI workflows, and deploy pipelines.\n\n## Project types at a glance\n\n| Type | What it is | Publishes to | Generated workflows |\n| --- | --- | --- | --- |\n| `CdkInfraProject` | Pure-infrastructure CDK stacks (CloudFront, Route53, SQS, API Gateway, Cognito, ECR/ECS for externally-built images) | - | `build` (PR checks), `deploy` (manual dispatch) |\n| `CdkAppProject` | Full TypeScript service behind API Gateway: infra + app source + database | - | `build`, `deploy`, `app-build` (PR checks) |\n| `JavaLibraryProject` | Reusable Java library | Maven Central | `build`, `upgrade` (nightly), `publish-maven-central`, `codeindex` |\n| `JavaServiceProject` | Spring Boot service | Docker Hub | `build`, `upgrade` (nightly), `publish-docker`, `deploy-cdk` |\n| `JavaAppProject` | GUI/TUI/CLI Java application | GitHub Packages | `build`, `upgrade` (nightly), `publish-ghpackages` |\n| `GitHubActionProject` | Reusable GitHub Action or Workflow | GitHub Releases | `build`, `test-dogfood`, `sonar`, `release` |\n\nTwo foundation classes are also exported for advanced use: `CdkTypescriptProject` (shared CDK + TypeScript base for the CDK types) and `JavaMavenProject` (shared Maven base for the Java types).\n\nAll project types:\n\n- run a **drift check** in PR builds - a job that re-runs projen and fails if generated files were hand-edited. Edit `.projenrc.ts`, then run `npx projen`; never edit generated files directly.\n- use the GitHub secret `PROJEN_GITHUB_TOKEN` (a fine-grained PAT) for projen's automation. Override with `gheTokenSecret`.\n- make all publishing/deploying **manual** (workflow_dispatch) rather than on every merge.\n\n## Getting started\n\nScaffold the repo with projen's own bootstrap, pointed at this package:\n\n```bash\nmkdir my-project && cd my-project\ngit init\nnpx projen new --from @xpertss/projen-types cdk_infra --name my-project\n```\n\nThat writes a starter `.projenrc.ts`, synthesizes the whole scaffold and\ninstalls dependencies. The type names `projen new` accepts are `cdk_infra`,\n`cdk_app`, `java_library`, `java_service`, `java_app` and\n`git_hub_action`; pass a bogus one to have it list them. Required options\nbecome flags: `--name` for every type, plus `--group-id`/`--artifact-id`\n(Java) and `--sonar-host-url` (`git_hub_action`). Any other plainly-typed\noption can be passed the same way - `--cdk-deploy-target-repo owner/repo`,\n`--docker-registry ghcr.io`, `--no-use-flyway`, and so on.\n\nCommit the result. From then on, every change to the scaffold goes through\n`.projenrc.ts` followed by `npx projen`:\n\n```bash\nnpx projen\n```\n\nEvery type scaffolds from that one command; no option is *required* that\n`projen new` cannot pass. The structured options - `environments` and\n`GitHubActionProject`'s `dogfood` - are ones projen's CLI cannot render\ninto a projenrc, so they are added afterwards by editing `.projenrc.ts` and\nre-running `npx projen`. Leaving `environments` out simply generates no\ndeploy workflow; leaving `dogfood` out (or a service's\n`cdkDeployTargetRepo`) still generates the workflow, with one step that\nfails and tells you what to add - a gate this package considers load-bearing\nis allowed to be missing loudly, never silently.\n\nThe `name` option must match the `name` field in the project's `package.json` (for the CDK types) or the project name used by projen's `java.JavaProject` (for the Java types).\n\n## Updating an existing project when this package changes\n\nYour generated scaffold reflects the *installed* version of `@xpertss/projen-types` - `npx projen` reads your project type from the package in `node_modules`, not from this repository. So when this package ships a change (a bug fix, a new generated file, or altered workflow behavior), an existing project picks it up by bumping the dependency and re-synthesizing. A stale `node_modules` silently regenerates with the old behavior, so the bump is the load-bearing step.\n\nUsing the [`auto-commit` action](#githubactionproject) as a running example, say a new release adds the `# Purpose:` workflow header and SonarCloud wording. In the `auto-commit` repo:\n\n```bash\nnpm view @xpertss/projen-types version # what's the newest release?\nnpm i -D @xpertss/projen-types@latest # bump the installed project type\nnpx projen # re-synthesize every generated file\ngit diff # review before committing\n```\n\nThe diff here is the workflows gaining a `# Purpose:` comment and `sonar.yml` reflecting the SonarCloud wording. Commit the result with a normal `chore:` or `fix:` message - you never hand-edit the generated files themselves.\n\n## Examples\n\n### CdkInfraProject\n\nPure infrastructure stacks with optional ECR/ECS and edge-networking constructs.\n\n```typescript\n// .projenrc.ts\nimport { CdkInfraProject } from '@xpertss/projen-types';\n\nconst project = new CdkInfraProject({\n name: 'media-edge-infra',\n environments: [\n 'dev',\n { name: 'stage', accountId: '111111111111', region: 'eu-central-1' },\n { name: 'prod', accountId: '222222222222', region: 'eu-central-1', requiresApproval: true },\n ],\n edgeResources: ['cloudfront', 'route53', 'sqs'],\n ecrEcs: { enabled: true, externalImageSource: true },\n slackWebhookSecret: 'SLACK_DEPLOY_WEBHOOK',\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `cdk.json`, `cdk synth` / `cdk diff` / `cdk deploy` tasks, and the standard `AwsCdkTypeScriptApp` layout (CDK 2.189.1 by default).\n- `.github/workflows/build.yml` - PR build that hard-fails on projen drift.\n- `.github/workflows/deploy.yml` - manual dispatch with one `deploy-<env>` job per environment (runs `cdk deploy --all` with `--context environment=<env>`); `requiresApproval` environments get a GitHub Environment approval gate; a Slack notification step is added when `slackWebhookSecret` is set.\n- `src/constructs/edge-networking.ts` - helper constructs only for the requested `edgeResources` (`cloudfront`, `route53`, `apigateway`, `cognito`, `sqs`).\n- `src/constructs/ecr-ecs.ts` when `ecrEcs.enabled` - ECR repo + Fargate service; `externalImageSource: true` (default) means the service pulls an image built outside this repo.\n\n### CdkAppProject\n\n`CdkInfraProject` plus application source, a database construct, and an app-level build workflow.\n\n```typescript\n// .projenrc.ts\nimport { CdkAppProject } from '@xpertss/projen-types';\n\nconst project = new CdkAppProject({\n name: 'video-api',\n environments: ['dev', 'prod'],\n edgeResources: ['apigateway'],\n database: { engine: 'postgres', migrationTool: 'flyway' },\n appEntryPoint: 'src/app.ts',\n});\n\nproject.synth();\n```\n\nEverything from `CdkInfraProject`, plus:\n\n- `src/app.ts` - application entrypoint stub (`export function handler()`).\n- `src/handlers/example.ts` - API Gateway proxy handler stub, with `@types/aws-lambda` added as a dev dependency.\n- `src/constructs/database.ts` - a `Database` construct stub for the chosen engine (`postgres`/`mysql` -> RDS, `dynamodb` -> DynamoDB). `migrationTool` (no default, intentionally) is added as a dev dependency and referenced in the stub - wiring it up is left to you.\n- `.github/workflows/app-build.yml` - runs the project's test task on every PR, then checks for projen drift.\n\n### JavaLibraryProject\n\nA reusable Java library published to Maven Central.\n\n```typescript\n// .projenrc.ts\nimport { JavaLibraryProject } from '@xpertss/projen-types';\n\nconst project = new JavaLibraryProject({\n name: 'common-utils',\n groupId: 'org.xpertss',\n artifactId: 'common-utils',\n version: '1.0.0',\n sonarProjectKey: 'org.xpertss:common-utils',\n mavenCentralOidc: true,\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `pom.xml` (via projen's `java.JavaProject`) with the given GAV coordinates.\n- `.github/workflows/build.yml` - PR build + projen drift check, plus a SonarQube scan step when `sonarProjectKey` is set (needs a `SONAR_TOKEN` secret).\n- `.github/workflows/upgrade.yml` - nightly (03:00 UTC) PR running `mvn versions:use-latest-releases versions:update-properties`.\n- `.github/workflows/publish-maven-central.yml` - manual dispatch running `mvn -B deploy -P release`. With `mavenCentralOidc: true` it uses Maven Central's OIDC trusted publishing (no GPG secrets needed); otherwise it expects the secrets `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD`.\n- `.github/workflows/codeindex.yml` - on push to `main`, generates a Java source index under `.cai/` (disable with `publishCodeIndex: false`).\n\n### JavaServiceProject\n\nA Spring Boot service that publishes a Docker image and can trigger deploys in a companion CDK repo.\n\n```typescript\n// .projenrc.ts\nimport { JavaServiceProject } from '@xpertss/projen-types';\n\nconst project = new JavaServiceProject({\n name: 'stream-processor',\n groupId: 'org.xpertss',\n artifactId: 'stream-processor',\n dockerRegistry: 'docker.io/xpertss',\n cdkDeployTargetRepo: 'xpertss/stream-infra',\n environments: ['dev', { name: 'prod', requiresApproval: true }],\n});\n\nproject.synth();\n```\n\nYou get (everything from `JavaMavenProject` - `pom.xml`, `build` + drift check, nightly `upgrade` - plus):\n\n- `spring-boot-starter-web` added to the pom.\n- `.github/workflows/publish-docker.yml` - manual dispatch: `mvn -B package && docker build -t <registry>/<name>:<sha>`, logged in with the `DOCKER_USERNAME` / `DOCKER_PASSWORD` secrets. `dockerRegistry` defaults to `docker.io`.\n- Flyway wiring when `useFlyway` (default `true`): `flyway-maven-plugin` ^10 + `flyway-core` ^10 in the pom, and `src/main/resources/db/migration/V1__init.sql`.\n- `.github/workflows/deploy-cdk.yml` (the `CdkDeployHook`, generated by default) - manual dispatch with an environment selector; each job sends a `workflow_dispatch` to `deploy.yml` in the companion `cdkDeployTargetRepo` (a `CdkInfraProject`/`CdkAppProject` repo). With no `cdkDeployTargetRepo` set, the workflow is still generated but each job's only step fails with instructions - it is dispatch-only, so that lands on whoever tries to deploy rather than on every PR. Turn the workflow off entirely with `cdkDeployHook: false`. `environments` defaults to `['prod']`.\n\n### JavaAppProject\n\nA GUI/TUI/CLI Java application published to GitHub Packages only - no Maven Central, no Docker, no CDK deploy hook.\n\n```typescript\n// .projenrc.ts\nimport { JavaAppProject } from '@xpertss/projen-types';\n\nconst project = new JavaAppProject({\n name: 'studio-cli',\n groupId: 'org.xpertss',\n artifactId: 'studio-cli',\n ghPackagesRegistry: 'https://maven.pkg.github.com/xpertss/studio-cli',\n});\n\nproject.synth();\n```\n\nYou get everything from `JavaMavenProject`, plus `.github/workflows/publish-ghpackages.yml` - manual dispatch running `mvn -B deploy -DaltDeploymentRepository=github::<registry>`, authenticated with `GITHUB_TOKEN`. `ghPackagesRegistry` defaults to `https://maven.pkg.github.com/<repo>` derived from the repository URL.\n\n### GitHubActionProject\n\nA reusable GitHub Action or Workflow. This example scaffolds an action that stages a folder and, only if it changed, commits and pushes it.\n\n```typescript\n// .projenrc.ts\nimport { GitHubActionProject } from '@xpertss/projen-types';\n\nconst project = new GitHubActionProject({\n name: 'auto-commit',\n description: 'Stage a folder and, only if it changed, commit and push it',\n sonarHostUrl: 'https://sonarcloud.io', // required, no default - your SonarCloud URL\n dogfood: {\n // Two scenario steps: the \"changed\" path and the \"no-op\" path are both\n // load-bearing behavior for this action (a double-commit or a\n // push-when-empty bug is the failure mode a hand-rolled inline-shell\n // alternative is most likely to introduce).\n scenario: [\n {\n name: 'Changed path',\n fixtureSteps: [\n 'echo \"$(date -u +%Y%m%dT%H%M%SZ)\" >> test/fixtures/dogfood-state.txt',\n ],\n inputs: {\n commit_message: 'test: dogfood',\n branches: 'test/dogfood',\n },\n assertions: [\n // step id defaults to a slug of `name` - here \"changed-path-0\"\n '[ \"${{ steps.changed-path-0.outputs.committed }}\" = \"true\" ]',\n ],\n },\n {\n // No fixture change this time - nothing new to commit.\n name: 'No-op path',\n id: 'no-op-check', // pin an explicit id instead of relying on the default slug\n inputs: {\n commit_message: 'test: dogfood',\n branches: 'test/dogfood',\n },\n assertions: [\n '[ \"${{ steps.no-op-check.outputs.committed }}\" = \"false\" ]',\n ],\n },\n ],\n cleanup: [\n 'git push origin --delete test/dogfood || true',\n ],\n },\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `action.yml` and `auto-commit.sh` are hand-written - this type only lints their content via `build.yml`'s shellcheck/yamllint/actionlint checks.\n- `.github/workflows/build.yml` - lint gate: `apt`-installed shellcheck/yamllint plus a pinned, SHA-256-verified `actionlint` release binary. Gates `main` alongside `sonar.yml`.\n- `.github/workflows/test-dogfood.yml` - runs the `dogfood.scenario` steps above against this repo's own `action.yml` (via `uses: .`), then the shared `cleanup`, on `workflow_dispatch`, every `pull_request`, and nightly. Omit `dogfood` and the workflow still exists, with one step that fails on every PR until you declare a scenario - AD-001 allows a dogfood to be missing loudly, never silently. A *partial* `dogfood` (a scenario with no cleanup) is a synth error.\n- `.github/workflows/sonar.yml` - SonarCloud scan via the Scanner CLI (the quality gate blocks the PR), scanning `action.yml`/`.github/workflows/**`/`**/*.sh` explicitly.\n- `.github/workflows/release.yml` - `feat:`/`fix:` commits on `main` bump the version, tag `vX.Y.Z`, and create a GitHub Release.\n- `.github/workflows/projen-drift-check.yml` and `workflow-change-notice.yml` - drift detection and a change notice, always included.\n- `package.json` (**private**, version source only), `.yamllint`, `LICENSE` (MIT by default), and a `README.md` template - all regenerated by `npx projen`.\n\nNeeds the same two secrets as everything else in this package: `PROJEN_GITHUB_TOKEN` (used for automated PR comments) and `SONAR_TOKEN` (the Sonar scan). Onboard a brand-new action repo following [Getting started](#getting-started), write the `.projenrc.ts` above, then hand-write `action.yml`/`auto-commit.sh`/`test/fixtures/`.\n\n## Common options\n\nCDK project types (`CdkInfraProjectOptions` / `CdkAppProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name; must match `package.json` |\n| `cdkVersion` | `2.189.1` | AWS CDK version |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n| `slackWebhookSecret` | - | GitHub secret with a Slack webhook URL for deploy notifications |\n| `environments` | - (no `deploy` workflow) | Deploy targets for the `deploy` workflow; strings or `EnvironmentOptions` |\n| `ecrEcs` | - | `EcrEcsOptions` - `enabled`, `externalImageSource` (default `true`) |\n| `edgeResources` | - | Subset of `cloudfront`, `route53`, `apigateway`, `cognito`, `sqs` |\n| `database` | - (app only) | `DatabaseOptions` - `engine` (`postgres`/`mysql`/`dynamodb`, default `postgres`), `migrationTool` |\n| `appEntryPoint` | `src/app.ts` (app only) | Path of the generated application entrypoint |\n\nJava project types (`JavaLibraryProjectOptions` / `JavaServiceProjectOptions` / `JavaAppProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name |\n| `groupId` | - (required) | Maven group id |\n| `artifactId` | - (required) | Maven artifact id |\n| `version` | `0.1.0` | Maven version |\n| `sonarProjectKey` | - | SonarQube project key; the sonar step is skipped when unset |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n| `cdkDeployTargetRepo` | - (service only; `deploy-cdk.yml` fails until set) | Companion CDK repo (`owner/repo`) whose `deploy.yml` the deploy hook dispatches |\n| `cdkDeployHook` | `true` (service only) | Whether to generate `deploy-cdk.yml` at all |\n| `dockerRegistry` | `docker.io` (service only) | Registry the Docker image is pushed to |\n| `useFlyway` | `true` (service only) | Flyway plugin/dependency + `V1__init.sql` |\n\n`EnvironmentOptions` for deploy targets:\n\n```text\ninterface EnvironmentOptions {\n readonly name: string; // e.g. \"dev\", \"stage\", \"prod\"\n readonly accountId?: string; // AWS account id (CDK deploys)\n readonly region?: string; // AWS region (CDK deploys)\n readonly requiresApproval?: boolean; // GitHub Environment approval gate (default false)\n}\n```\n\nPlain strings (`'dev'`) are shorthand for `{ name: 'dev' }`.\n\n`GitHubActionProjectOptions`:\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name |\n| `description` | - | One-line description; used in the default README template and recorded in the private `package.json` |\n| `sonarHostUrl` | - (required) | URL of your SonarCloud instance (e.g. `https://sonarcloud.io`); must be reachable from github.com-hosted runners |\n| `sonarTokenSecret` | `SONAR_TOKEN` | GitHub secret holding the Sonar token |\n| `sonarPullRequestGate` | `true` | Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate |\n| `dogfood` | - (a `test-dogfood.yml` that fails until you declare one) | `ActionDogfoodOptions` - the scenario that exercises the action end-to-end via `uses: .` |\n| `license` | `MIT` | SPDX identifier for the generated `LICENSE` |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n\n`ActionDogfoodOptions`/`ActionDogfoodStep` - the dogfood scenario (`test-dogfood.yml`):\n\n```text\ninterface ActionDogfoodOptions {\n readonly scenario: ActionDogfoodStep[]; // one or more, run in order - required\n readonly cleanup: string[]; // shared, run once at the end with `if: always()` - required\n}\n\ninterface ActionDogfoodStep {\n readonly name: string; // labels this step-group's generated workflow steps\n readonly id?: string; // step id for the `uses: .` call; default: a slug of `name`\n readonly fixtureSteps?: string[]; // shell, before the invocation (default: none)\n readonly inputs?: Record<string, string>; // `with:` for this invocation (default: none)\n readonly assertions: string[]; // shell, after the invocation - required, job fails unless all exit 0\n}\n```\n\nMost actions need exactly one `scenario` step. Actions with a re-run/no-op/idempotency behavior to verify (e.g. `auto-commit`'s no-op-on-no-change path, `create-pull-request`'s reuse-the-PR path) declare two - the second typically omits `fixtureSteps` so its invocation sees no new state, and its assertion checks the opposite outcome of the first. Reference an invocation's own outputs from a later assertion via `${{ steps.<id>.outputs.<name> }}`, using either the default slug or an explicit `id`.\n\n## Required GitHub secrets\n\n| Secret | Used by | Notes |\n| --- | --- | --- |\n| `PROJEN_GITHUB_TOKEN` | all types | PAT for projen's self-mutation/automation; override via `gheTokenSecret` |\n| `SONAR_TOKEN` | Java types with `sonarProjectKey`; `GitHubActionProject` | SonarQube scan step in `build.yml` / `sonar.yml`; override via `sonarTokenSecret` on `GitHubActionProject` |\n| `DOCKER_USERNAME` / `DOCKER_PASSWORD` | `JavaServiceProject` | Docker image push |\n| `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD` | `JavaLibraryProject` without `mavenCentralOidc` | Not needed with OIDC trusted publishing |\n| (your Slack webhook secret) | CDK types with `slackWebhookSecret` | Deploy notifications |\n\n## Going further\n\nThe project types are composed from smaller components you can also attach to your own projects:\n\n| Component | Applies to | Purpose |\n| --- | --- | --- |\n| `AppRuntimeScaffold` | `NodeProject` | App source skeleton (`app.ts` + handlers) |\n| `DatabaseComponent` | `NodeProject` | Database construct stub + migration tool wiring |\n| `EcrEcsConstructs` | `Project` | ECR + Fargate ECS construct helper |\n| `EdgeNetworkingConstructs` | `Project` | Per-resource edge networking construct helpers |\n| `MavenCentralPublish` | `JavaProject` | Manual-dispatch Maven Central publish workflow |\n| `DockerPublish` | `JavaProject` | Manual-dispatch Docker build+push workflow |\n| `GitHubPackagesPublish` | `JavaProject` | Manual-dispatch GitHub Packages publish workflow |\n| `FlywayMigration` | `JavaProject` | Flyway plugin/dependency + migrations directory |\n| `CdkDeployHook` | `JavaProject` | Manual-dispatch workflow that triggers `deploy.yml` in a companion CDK repo |\n| `CodeIndexWorkflow` | `JavaProject` | Code index generation on push to `main` |\n| `ActionBuildWorkflow` | `GitHubProject` | The `lint` task (shellcheck/yamllint/pinned actionlint) + `build.yml` |\n| `ActionDogfoodWorkflow` | `GitHubProject` | `test-dogfood.yml` from an `ActionDogfoodOptions` scenario |\n| `ActionSonarWorkflow` | `GitHubProject` | `sonar.yml` (SonarCloud scan via the Scanner CLI) |\n\nExample - adding a Docker publish to a plain projen `JavaProject`:\n\n```typescript\nimport { java } from 'projen';\nimport { DockerPublish } from '@xpertss/projen-types';\n\nconst project = new java.JavaProject({\n name: 'my-service',\n groupId: 'org.xpertss',\n artifactId: 'my-service',\n});\n\nnew DockerPublish(project, { dockerRegistry: 'ghcr.io' });\n\nproject.synth();\n```\n\nThe full API reference, including every option and property, is in [API.md](./API.md).\n"
|
|
109
|
+
"markdown": "# @xpertss/projen-types\n\nProjen project types for CDK/TypeScript and Java/Maven projects.\n\nInstead of hand-maintaining `pom.xml`, `cdk.json`, and GitHub workflows, you declare a project type in a `.projenrc.ts` file and let [projen](https://github.com/projen/projen) generate (and keep up to date) the whole scaffold: build files, source skeletons, CI workflows, and deploy pipelines.\n\n## Project types at a glance\n\n| Type | What it is | Publishes to | Generated workflows |\n| --- | --- | --- | --- |\n| `CdkInfraProject` | Pure-infrastructure CDK stacks (CloudFront, Route53, SQS, API Gateway, Cognito, ECR/ECS for externally-built images) | - | `build` (PR checks), `deploy` (manual dispatch) |\n| `CdkAppProject` | Full TypeScript service behind API Gateway: infra + app source + database | - | `build`, `deploy`, `app-build` (PR checks) |\n| `JavaMavenProject` | Plain Maven project, single- or multi-module, no framework | - | `build`, `upgrade` (nightly report) |\n| `JavaLibraryProject` | Reusable Java library | Maven Central | `build`, `upgrade` (nightly report), `publish-maven-central`, `codeindex` |\n| `JavaAppProject` | GUI/TUI/CLI Java application | GitHub Packages | `build`, `upgrade` (nightly report), `publish-ghpackages` |\n| `JavaSpringBootProject` | Spring Boot on Maven, single- or multi-module, **no Docker** | - | `build`, `upgrade` (nightly report) |\n| `JavaServiceProject` | Spring Boot service deployed as a container | Docker Hub | `build`, `upgrade` (nightly report), `publish-docker`, `deploy-cdk` |\n| `GitHubActionProject` | Reusable GitHub Action or Workflow | GitHub Releases | `build`, `test-dogfood`, `sonar`, `release` |\n\nThe Java types are layered, so pick the lowest layer that does what you need:\n\n```text\nJavaMavenProject java_maven Maven only; single- or multi-module; any supported Java line\n├── JavaLibraryProject java_library + Maven Central publish, source/javadoc jars, code index\n├── JavaAppProject java_app + GitHub Packages publish\n└── JavaSpringBootProject java_spring_boot + Spring Boot BOM and executable-jar repackaging; no Docker/Flyway/CDK\n └── JavaServiceProject java_service + Docker publish, Flyway, CDK deploy hook (single-module)\n```\n\nEvery Java type targets a configurable Java line (`javaVersion`: `1.8`, `17`, `21` or `25`; see [Java version support](#java-version-support)), and every one except `JavaServiceProject` can be a multi-module Maven reactor (see [JavaMavenProject](#javamavenproject)).\n\nOne foundation class is also exported for advanced use: `CdkTypescriptProject` (shared CDK + TypeScript base for the CDK types).\n\nAll project types:\n\n- run a **drift check** in PR builds - a job that re-runs projen and fails if generated files were hand-edited. Edit `.projenrc.ts`, then run `npx projen`; never edit generated files directly.\n- use the GitHub secret `PROJEN_GITHUB_TOKEN` (a fine-grained PAT) for projen's automation. Override with `gheTokenSecret`.\n- make all publishing/deploying **manual** (workflow_dispatch) rather than on every merge.\n\n## Getting started\n\nScaffold the repo with projen's own bootstrap, pointed at this package:\n\n```bash\nmkdir my-project && cd my-project\ngit init\nnpx projen new --from @xpertss/projen-types cdk_infra --name my-project\n```\n\nThat writes a starter `.projenrc.ts`, synthesizes the whole scaffold and\ninstalls dependencies. The type names `projen new` accepts are `cdk_infra`,\n`cdk_app`, `java_maven`, `java_library`, `java_app`, `java_spring_boot`,\n`java_service` and `git_hub_action`; pass a bogus one to have it list them.\nRequired options become flags: `--name` for every type, plus\n`--group-id`/`--artifact-id` (Java) and `--sonar-host-url`\n(`git_hub_action`). Any other plainly-typed option can be passed the same\nway - `--java-version 1.8`, `--cdk-deploy-target-repo owner/repo`,\n`--docker-registry ghcr.io`, `--no-use-flyway`, and so on. Modules can't be\npassed on the command line; add them to `.projenrc.ts` afterwards (see\n[JavaMavenProject](#javamavenproject)).\n\n**Adding projen to a repo that already has content.** `projen new` runs\n`git init` and commits the scaffold by default. In a repo with existing work,\npass `--no-git` so it writes the files and leaves committing to you:\n\n```bash\ncd existing-repo\nnpx projen new --from @xpertss/projen-types java_spring_boot --name obeya --group-id org.xpertss.obeya --artifact-id obeya-parent --no-git\n```\n\n**Commit a lockfile.** The generated `build.yml` and drift check install the\ntoolchain with `npm ci`, which needs a committed `package-lock.json`, and\n`projen new` doesn't always leave one behind. Run `npm install` once and\ncommit `package-lock.json` along with the scaffold. Without it those\nworkflows fail with an `::error::` that says exactly this. For the Java\ntypes, `package.json` is generated, and it pins `projen` and\n`@xpertss/projen-types` to **exact** versions (no `^`), so every machine and\nCI run uses the same generator. A floating range would make the drift check\nreport the differences between generator versions as drift.\n\nCommit the result. From then on, every change to the scaffold goes through\n`.projenrc.ts` followed by `npx projen`:\n\n```bash\nnpx projen\n```\n\nEvery type scaffolds from that one command; no option is *required* that\n`projen new` cannot pass. The structured options - `environments` and\n`GitHubActionProject`'s `dogfood` - are ones projen's CLI cannot render\ninto a projenrc, so they are added afterwards by editing `.projenrc.ts` and\nre-running `npx projen`. Leaving `environments` out simply generates no\ndeploy workflow; leaving `dogfood` out (or a service's\n`cdkDeployTargetRepo`) still generates the workflow, with one step that\nfails and tells you what to add - a gate this package considers load-bearing\nis allowed to be missing loudly, never silently.\n\nThe `name` option must match the `name` field in the project's `package.json` (for the CDK types). For the Java types it becomes the root pom's `<name>` and the generated `package.json` name.\n\n> **Never write projen's generated-file marker text literally in `.projenrc.ts`.** projen deletes, as an orphaned generated file, any file containing the marker line (`~~ Generated by projen. To modify, ...`), and that includes `.projenrc.ts` itself. When you generate a file yourself (for example with `TextFile`), insert the marker through the file's `marker` property: ``file.addLine(`# ${file.marker}`)``.\n\n## Updating an existing project when this package changes\n\nYour generated scaffold reflects the *installed* version of `@xpertss/projen-types` - `npx projen` reads your project type from the package in `node_modules`, not from this repository. So when this package ships a change (a bug fix, a new generated file, or altered workflow behavior), an existing project picks it up by bumping the dependency and re-synthesizing. A stale `node_modules` silently regenerates with the old behavior, so the bump is the load-bearing step.\n\nUsing the [`auto-commit` action](#githubactionproject) as a running example, say a new release adds the `# Purpose:` workflow header and SonarCloud wording. In the `auto-commit` repo:\n\n```bash\nnpm view @xpertss/projen-types version # what's the newest release?\nnpm i -D @xpertss/projen-types@latest # bump the installed project type\nnpx projen # re-synthesize every generated file\ngit diff # review before committing\n```\n\nThe diff here is the workflows gaining a `# Purpose:` comment and `sonar.yml` reflecting the SonarCloud wording. Commit the result with a normal `chore:` or `fix:` message - you never hand-edit the generated files themselves.\n\n## Examples\n\n### CdkInfraProject\n\nPure infrastructure stacks with optional ECR/ECS and edge-networking constructs.\n\nScaffold it with the `cdk_infra` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types cdk_infra --name media-edge-infra\n```\n\n```typescript\n// .projenrc.ts\nimport { CdkInfraProject } from '@xpertss/projen-types';\n\nconst project = new CdkInfraProject({\n name: 'media-edge-infra',\n environments: [\n 'dev',\n { name: 'stage', accountId: '111111111111', region: 'eu-central-1' },\n { name: 'prod', accountId: '222222222222', region: 'eu-central-1', requiresApproval: true },\n ],\n edgeResources: ['cloudfront', 'route53', 'sqs'],\n ecrEcs: { enabled: true, externalImageSource: true },\n slackWebhookSecret: 'SLACK_DEPLOY_WEBHOOK',\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `cdk.json`, `cdk synth` / `cdk diff` / `cdk deploy` tasks, and the standard `AwsCdkTypeScriptApp` layout (CDK 2.189.1 by default).\n- `.github/workflows/build.yml` - PR build that hard-fails on projen drift.\n- `.github/workflows/deploy.yml` - manual dispatch with one `deploy-<env>` job per environment (runs `cdk deploy --all` with `--context environment=<env>`); `requiresApproval` environments get a GitHub Environment approval gate; a Slack notification step is added when `slackWebhookSecret` is set.\n- `src/constructs/edge-networking.ts` - helper constructs only for the requested `edgeResources` (`cloudfront`, `route53`, `apigateway`, `cognito`, `sqs`).\n- `src/constructs/ecr-ecs.ts` when `ecrEcs.enabled` - ECR repo + Fargate service; `externalImageSource: true` (default) means the service pulls an image built outside this repo.\n\n### CdkAppProject\n\n`CdkInfraProject` plus application source, a database construct, and an app-level build workflow.\n\nScaffold it with the `cdk_app` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types cdk_app --name video-api\n```\n\n```typescript\n// .projenrc.ts\nimport { CdkAppProject } from '@xpertss/projen-types';\n\nconst project = new CdkAppProject({\n name: 'video-api',\n environments: ['dev', 'prod'],\n edgeResources: ['apigateway'],\n database: { engine: 'postgres', migrationTool: 'flyway' },\n appEntryPoint: 'src/app.ts',\n});\n\nproject.synth();\n```\n\nEverything from `CdkInfraProject`, plus:\n\n- `src/app.ts` - application entrypoint stub (`export function handler()`).\n- `src/handlers/example.ts` - API Gateway proxy handler stub, with `@types/aws-lambda` added as a dev dependency.\n- `src/constructs/database.ts` - a `Database` construct stub for the chosen engine (`postgres`/`mysql` -> RDS, `dynamodb` -> DynamoDB). `migrationTool` (no default, intentionally) is added as a dev dependency and referenced in the stub - wiring it up is left to you.\n- `.github/workflows/app-build.yml` - runs the project's test task on every PR, then checks for projen drift.\n\n### JavaMavenProject\n\nA plain Maven build with no framework and no publish target. It's the base of every other Java type, and it's usable on its own. It's single-module until you add a module, then it's a multi-module reactor.\n\nScaffold it with the `java_maven` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types java_maven --name legacy-tools --group-id org.xpertss --artifact-id legacy-tools --java-version 1.8\n```\n\n**Single module:**\n\n```typescript\n// .projenrc.ts\nimport { JavaMavenProject } from '@xpertss/projen-types';\n\nconst project = new JavaMavenProject({\n name: 'legacy-tools',\n groupId: 'org.xpertss',\n artifactId: 'legacy-tools',\n javaVersion: '1.8',\n});\n\nproject.addDependency('commons-io/commons-io@2.20.0'); // exact version\nproject.addTestDependency('org.assertj/assertj-core@3.27.3');\n\nproject.synth();\n```\n\n**Multi-module:** each `addModule()` call adds a module directory with its own generated `pom.xml`. The root pom becomes the `pom`-packaged reactor parent. Everything stays one projen project, with one `.projen/`, one `.gitignore` and one `tasks.json`.\n\n```typescript\n// .projenrc.ts\nimport { JavaMavenProject } from '@xpertss/projen-types';\n\nconst project = new JavaMavenProject({\n name: 'toolkit',\n groupId: 'org.xpertss.toolkit',\n artifactId: 'toolkit-parent',\n version: '0.1.0-SNAPSHOT',\n javaVersion: '17',\n});\n\nconst model = project.addModule({ dir: 'toolkit-model', artifactId: 'toolkit-model', description: 'Domain model' });\nconst stub = project.addModule({ dir: 'tools/stub-model', artifactId: 'toolkit-stub-model' }); // nested dirs are fine\nconst cli = project.addModule({ dir: 'toolkit-cli', artifactId: 'toolkit-cli' });\n\nstub.addModuleDependency(model); // sibling module: versionless\ncli.addModuleDependency(model);\ncli.addDependency('info.picocli/picocli@4.7.7'); // pinned: the version moves to the parent\ncli.addDependency('org.yaml/snakeyaml'); // versionless: managed below\nproject.addManagedDependency('org.yaml/snakeyaml@2.4');\nproject.addBom('org.testcontainers/testcontainers-bom@1.21.3');\n\nproject.synth();\n```\n\nWhat the reactor looks like:\n\n- **Root `pom.xml`:**\n - `<packaging>pom</packaging>`, with `<modules>` in `addModule` order.\n - `<dependencyManagement>` holds the BOM imports first (`type=pom`, `scope=import`), then every module at `${project.version}`, then every pinned version.\n - `<pluginManagement>` holds the plugin versions, and versionless `<plugins>` are inherited by every module: compiler, surefire, failsafe, jar, and enforcer.\n - `junit-jupiter` is a test dependency every module inherits. Its version comes from `junit-bom`, or from the Spring Boot BOM in the Spring Boot types.\n- **Module `pom.xml`:** `<parent>` with the right `relativePath` (`tools/stub-model` → `../../pom.xml`), then `artifactId`, `name`, `description`, and versionless `<dependencies>`. Nothing else, unless the module adds plugins.\n- A version given to `module.addDependency`/`addTestDependency`/`addPlugin` is moved into the parent's `<dependencyManagement>`/`<pluginManagement>`, so every module that uses an artifact gets the same version. Pinning one artifact at two different versions fails the synth.\n- The synth fails with a clear message on:\n - two modules with the same `artifactId`\n - two modules with the same `dir`, or one `dir` nested inside another\n - a `dir` outside the repo\n - a module depending on itself\n - `packaging` set to anything but `pom` on a project with modules\n\nYou get:\n\n- the root `pom.xml` (and one per module), written by this package:\n - **exact versions only**: a range such as `^1`, `~1.2` or `[1,2)` fails the synth\n - the compiler level, enforcer rule and JUnit line all follow `javaVersion`\n- one Maven run per build. `npx projen build` synthesizes, then runs `mvn -B verify`: compile, unit tests (surefire), package, and `*IT` integration tests (failsafe). There is no `mvn deploy` and no `dist/`.\n- `.github/workflows/build.yml`: a PR build that installs the pinned Node toolchain (`npm ci`) and the project's JDK (`actions/setup-java`, Maven cache), then runs `npx projen build`, plus a SonarQube step when `sonarProjectKey` is set. See [Adding CI jobs](#adding-ci-jobs-to-a-java-project).\n- `.github/workflows/upgrade.yml`: a nightly (03:00 UTC) **report** of available dependency and plugin updates in the job summary. It changes nothing, because every version comes from `.projenrc.ts`; apply an update there. Turn it off with `upgradeWorkflow: false`. The same report runs locally with `npx projen upgrade`.\n- the projen drift check, `LICENSE` (MIT by default), `.editorconfig`, and a generated `package.json` that pins the projen toolchain exactly.\n- no sample code, unless `sample: true` on a single-module project.\n\n### JavaLibraryProject\n\nA reusable Java library published to Maven Central.\n\nScaffold it with the `java_library` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types java_library --name common-utils --group-id org.xpertss --artifact-id common-utils\n```\n\n```typescript\n// .projenrc.ts\nimport { JavaLibraryProject } from '@xpertss/projen-types';\n\nconst project = new JavaLibraryProject({\n name: 'common-utils',\n groupId: 'org.xpertss',\n artifactId: 'common-utils',\n version: '1.0.0',\n sonarProjectKey: 'org.xpertss:common-utils',\n mavenCentralOidc: true,\n});\n\nproject.synth();\n```\n\nYou get everything from [`JavaMavenProject`](#javamavenproject), so modules work here too, plus:\n\n- `maven-source-plugin` and `maven-javadoc-plugin`, attaching the `-sources`/`-javadoc` jars Maven Central requires. In a multi-module library every module attaches them.\n- `.github/workflows/publish-maven-central.yml` - manual dispatch running `mvn -B deploy -P release`. With `mavenCentralOidc: true` it uses Maven Central's OIDC trusted publishing (no GPG secrets needed); otherwise it expects the secrets `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD`.\n- `.github/workflows/codeindex.yml` - on push to `main`, generates a Java source index under `.cai/` covering every module (disable with `publishCodeIndex: false`).\n\n### JavaSpringBootProject\n\nSpring Boot on Maven, single- or multi-module, **without** Docker, Flyway or a deploy hook. It's [`JavaMavenProject`](#javamavenproject) plus Spring Boot dependency management. Use it for a Spring Boot repo that ships something other than this package's container image, such as a multi-module control plane, or for a Boot app you deploy your own way.\n\nScaffold it with the `java_spring_boot` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types java_spring_boot --name obeya --group-id org.xpertss.obeya --artifact-id obeya-parent\n```\n\n```typescript\n// .projenrc.ts\nimport { JavaSpringBootProject } from '@xpertss/projen-types';\n\nconst project = new JavaSpringBootProject({\n name: 'obeya',\n groupId: 'org.xpertss.obeya',\n artifactId: 'obeya-parent',\n version: '0.1.0-SNAPSHOT',\n javaVersion: '21',\n copyrightOwner: 'Xpert Software',\n});\n\n// plain jar modules: shared libraries, clients, tools\nconst model = project.addModule({ dir: 'obeya-model', artifactId: 'obeya-model' });\nconst client = project.addModule({ dir: 'obeya-api-client', artifactId: 'obeya-api-client' });\nclient.addModuleDependency(model);\n\n// a Spring Boot application module, repackaged into an executable jar\nconst server = project.addSpringBootModule({ dir: 'obeya-server', artifactId: 'obeya-server' });\nserver.addModuleDependency(model);\nserver.addDependency('org.springframework.boot/spring-boot-starter-web'); // versionless: Boot's BOM manages it\nserver.addTestDependency('org.springframework.boot/spring-boot-starter-test');\n\nproject.addBom('org.testcontainers/testcontainers-bom@1.21.3');\n\nproject.synth();\n```\n\nYou get everything from [`JavaMavenProject`](#javamavenproject), plus:\n\n- `spring-boot-dependencies` imported as the **first** BOM, so starters and every library Boot manages (JUnit included) are added without a version. `springBootVersion` sets it; the default is the newest release of the line that supports `javaVersion` (see [Java version support](#java-version-support)).\n- `spring-boot-maven-plugin`, versioned in `<pluginManagement>`:\n - In a **single-module** project the root jar is repackaged into an executable jar.\n - In a **multi-module** project only modules added with `addSpringBootModule()` are repackaged; `addModule()` modules stay plain jars.\n - A repackaged module needs its `@SpringBootApplication` class before `mvn verify` passes, because `repackage` fails with `Unable to find main class` until one exists. Add a module as a plain `addModule()` while it's still empty.\n- failsafe configured to run integration tests against the compiled classes rather than the repackaged jar (as `spring-boot-starter-parent` does).\n- no starters, no Docker, no Flyway, no CDK. Add the starters you need with `addDependency`.\n\n### JavaServiceProject\n\nA Spring Boot service that publishes a Docker image and can trigger deploys in a companion CDK repo. It is [`JavaSpringBootProject`](#javaspringbootproject) plus Docker, Flyway and a deploy hook. It is **single-module**, because the Docker build, the migrations and the deploy hook all assume one deployable at the repo root; `addModule()` fails and points you to `JavaSpringBootProject`.\n\nScaffold it with the `java_service` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types java_service --name stream-processor --group-id org.xpertss --artifact-id stream-processor\n```\n\n```typescript\n// .projenrc.ts\nimport { JavaServiceProject } from '@xpertss/projen-types';\n\nconst project = new JavaServiceProject({\n name: 'stream-processor',\n groupId: 'org.xpertss',\n artifactId: 'stream-processor',\n dockerRegistry: 'docker.io/xpertss',\n cdkDeployTargetRepo: 'xpertss/stream-infra',\n environments: ['dev', { name: 'prod', requiresApproval: true }],\n});\n\nproject.synth();\n```\n\nYou get everything from [`JavaSpringBootProject`](#javaspringbootproject) (and so from `JavaMavenProject`), plus:\n\n- `spring-boot-starter-web` added to the pom (versionless; Boot's BOM manages it).\n- `.github/workflows/publish-docker.yml` - manual dispatch: `mvn -B package && docker build -t <registry>/<name>:<sha>`, logged in with the `DOCKER_USERNAME` / `DOCKER_PASSWORD` secrets. `dockerRegistry` defaults to `docker.io`.\n- Flyway wiring when `useFlyway` (default `true`): `flyway-core` (versionless, so it matches what Boot's Flyway auto-configuration expects), `flyway-maven-plugin` pinned for the Java line, and `src/main/resources/db/migration/V1__init.sql`.\n- `.github/workflows/deploy-cdk.yml` (the `CdkDeployHook`, generated by default) - manual dispatch with an environment selector; each job sends a `workflow_dispatch` to `deploy.yml` in the companion `cdkDeployTargetRepo` (a `CdkInfraProject`/`CdkAppProject` repo). With no `cdkDeployTargetRepo` set, the workflow is still generated but each job's only step fails with instructions - it is dispatch-only, so that lands on whoever tries to deploy rather than on every PR. Turn the workflow off entirely with `cdkDeployHook: false`. `environments` defaults to `['prod']`.\n\n### JavaAppProject\n\nA GUI/TUI/CLI Java application published to GitHub Packages only - no Maven Central, no Docker, no CDK deploy hook.\n\nScaffold it with the `java_app` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types java_app --name studio-cli --group-id org.xpertss --artifact-id studio-cli\n```\n\n```typescript\n// .projenrc.ts\nimport { JavaAppProject } from '@xpertss/projen-types';\n\nconst project = new JavaAppProject({\n name: 'studio-cli',\n groupId: 'org.xpertss',\n artifactId: 'studio-cli',\n ghPackagesRegistry: 'https://maven.pkg.github.com/xpertss/studio-cli',\n});\n\nproject.synth();\n```\n\nYou get everything from [`JavaMavenProject`](#javamavenproject) (modules included), plus `.github/workflows/publish-ghpackages.yml` - manual dispatch running `mvn -B deploy -DaltDeploymentRepository=github::<registry>`, authenticated with `GITHUB_TOKEN`. `ghPackagesRegistry` defaults to `https://maven.pkg.github.com/<repo>` derived from the repository URL.\n\n### GitHubActionProject\n\nA reusable GitHub Action or Workflow. This example scaffolds an action that stages a folder and, only if it changed, commits and pushes it.\n\nScaffold it with the `git_hub_action` type:\n\n```bash\nnpx projen new --from @xpertss/projen-types git_hub_action --name auto-commit --sonar-host-url https://sonarcloud.io\n```\n\n```typescript\n// .projenrc.ts\nimport { GitHubActionProject } from '@xpertss/projen-types';\n\nconst project = new GitHubActionProject({\n name: 'auto-commit',\n description: 'Stage a folder and, only if it changed, commit and push it',\n sonarHostUrl: 'https://sonarcloud.io', // required, no default - your SonarCloud URL\n dogfood: {\n // Two scenario steps: the \"changed\" path and the \"no-op\" path are both\n // load-bearing behavior for this action (a double-commit or a\n // push-when-empty bug is the failure mode a hand-rolled inline-shell\n // alternative is most likely to introduce).\n scenario: [\n {\n name: 'Changed path',\n fixtureSteps: [\n 'echo \"$(date -u +%Y%m%dT%H%M%SZ)\" >> test/fixtures/dogfood-state.txt',\n ],\n inputs: {\n commit_message: 'test: dogfood',\n branches: 'test/dogfood',\n },\n assertions: [\n // step id defaults to a slug of `name` - here \"changed-path-0\"\n '[ \"${{ steps.changed-path-0.outputs.committed }}\" = \"true\" ]',\n ],\n },\n {\n // No fixture change this time - nothing new to commit.\n name: 'No-op path',\n id: 'no-op-check', // pin an explicit id instead of relying on the default slug\n inputs: {\n commit_message: 'test: dogfood',\n branches: 'test/dogfood',\n },\n assertions: [\n '[ \"${{ steps.no-op-check.outputs.committed }}\" = \"false\" ]',\n ],\n },\n ],\n cleanup: [\n 'git push origin --delete test/dogfood || true',\n ],\n },\n});\n\nproject.synth();\n```\n\nYou get:\n\n- `action.yml` and `auto-commit.sh` are hand-written - this type only lints their content via `build.yml`'s shellcheck/yamllint/actionlint checks.\n- `.github/workflows/build.yml` - lint gate: `apt`-installed shellcheck/yamllint plus a pinned, SHA-256-verified `actionlint` release binary. Gates `main` alongside `sonar.yml`.\n- `.github/workflows/test-dogfood.yml` - runs the `dogfood.scenario` steps above against this repo's own `action.yml` (via `uses: ./`), then the shared `cleanup`, on `workflow_dispatch`, every `pull_request`, and nightly. Omit `dogfood` and the workflow still exists, with one step that fails on every PR until you declare a scenario - AD-001 allows a dogfood to be missing loudly, never silently. A *partial* `dogfood` (a scenario with no cleanup) is a synth error.\n- `.github/workflows/sonar.yml` - SonarCloud scan via the Scanner CLI (the quality gate blocks the PR), scanning `action.yml`/`.github/workflows/**`/`**/*.sh` explicitly.\n- `.github/workflows/release.yml` - `feat:`/`fix:` commits on `main` bump the version, tag `vX.Y.Z`, and create a GitHub Release.\n- `.github/workflows/projen-drift-check.yml` and `workflow-change-notice.yml` - drift detection and a change notice, always included.\n- `package.json` (**private**, version source only), `.yamllint`, `LICENSE` (MIT by default), and a `README.md` template - all regenerated by `npx projen`.\n\nNeeds the same two secrets as everything else in this package: `PROJEN_GITHUB_TOKEN` (used for automated PR comments) and `SONAR_TOKEN` (the Sonar scan). Onboard a brand-new action repo following [Getting started](#getting-started), write the `.projenrc.ts` above, then hand-write `action.yml`/`auto-commit.sh`/`test/fixtures/`.\n\n## Java version support\n\n`javaVersion` picks the Java line a Java project targets. It defaults to `21`; the supported lines are `1.8` (alias `8`), `17`, `21` and `25`, and any other value fails the synth with that list. **Nothing in the generated build is hard-coded to one Java line.** Everything that depends on it comes from one table in this package, grouped by line:\n\n| | `1.8` | `17` | `21` | `25` |\n| --- | --- | --- | --- | --- |\n| Compiler level | `maven.compiler.source`/`target` = `1.8` (javac 8 has no `--release`) | `maven.compiler.release` = `17` | `release` = `21` | `release` = `25` |\n| Enforcer `requireJavaVersion` | `[1.8,)` | `[17,)` | `[21,)` | `[25,)` |\n| JUnit (`junit-bom`) | 5.14.4 (JUnit 6 needs Java 17) | 6.1.3 | 6.1.3 | 6.1.3 |\n| Default Spring Boot (`JavaSpringBootProject`) | 2.7.18 (Boot 3+ needs Java 17; a 3.x+ `springBootVersion` fails the synth) | 4.1.1 | 4.1.1 | 4.1.1 |\n| `flyway-maven-plugin` (`JavaServiceProject`) | 9.22.3 | 13.9.0 | 13.9.0 | 13.9.0 |\n| CI JDK (`actions/setup-java` `java-version`) | `8` | `17` | `21` | `25` |\n\nMaven plugins (the same on every line, because all of them run on JDK 8): `maven-compiler-plugin` 3.16.0, `maven-surefire-plugin`/`maven-failsafe-plugin` 3.6.0, `maven-jar-plugin` 3.5.1, `maven-enforcer-plugin` 3.6.3, `maven-source-plugin` 3.4.0 and `maven-javadoc-plugin` 3.12.0 (library only), `versions-maven-plugin` 2.22.0 (the `upgrade` report).\n\n**The enforcer.** `maven-enforcer-plugin` fails the build at the start when the JDK or Maven running it is older than the project needs. Without it you get confusing compiler errors later, or a jar built for the wrong runtime. Its Java rule always follows `javaVersion`. The Maven rule defaults to `[3.9,)`; change it with `minMavenVersion`, or drop the plugin entirely with `enforcer: false`. CI installs the matching JDK through `setup-java`, so the rule only fires on a developer machine with the wrong JDK. A Java 1.8 project builds on any newer JDK (the rule is a minimum), but the JDK 8 runtime API is guaranteed only when you build on JDK 8.\n\n**Overriding a version.** `pluginVersions` replaces any default in the table, keyed by `groupId/artifactId`, with an exact version:\n\n```typescript\nnew JavaMavenProject({\n name: 'svc',\n groupId: 'org.xpertss',\n artifactId: 'svc',\n pluginVersions: {\n 'org.apache.maven.plugins/maven-surefire-plugin': '3.5.6',\n 'org.junit/junit-bom': '5.14.4',\n },\n});\n```\n\n`project.pinnedVersion('org.apache.maven.plugins/maven-surefire-plugin')` returns the version in effect, for reuse in your own plugin config.\n\n**New Java lines** are one new row in this package's version table and a release. Until a line is listed, `javaVersion` rejects it rather than guessing.\n\n## Adding CI jobs to a Java project\n\n`build.yml` is exposed as `project.buildVerifyWorkflow`, so jobs are added through projen's `addJob` rather than `addOverride`. `project.ciSetupSteps` holds the steps every Maven job here needs: pinned Node, `npm ci`, and the project's JDK with a Maven cache. Every job in `build.yml` can then be made a required check on `main`.\n\n```typescript\nimport { github } from 'projen';\n\nproject.buildVerifyWorkflow.addJob('integration', {\n name: 'Container integration tests',\n runsOn: ['self-hosted', 'linux', 'fedora', 'podman'],\n permissions: { contents: github.workflows.JobPermission.READ },\n steps: [\n { name: 'Checkout', uses: 'actions/checkout@v7' },\n ...project.ciSetupSteps,\n { name: 'Integration tests', run: 'mvn -B verify -Pcontainer-its' },\n ],\n});\n```\n\n## Common options\n\nCDK project types (`CdkInfraProjectOptions` / `CdkAppProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name; must match `package.json` |\n| `cdkVersion` | `2.189.1` | AWS CDK version |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n| `slackWebhookSecret` | - | GitHub secret with a Slack webhook URL for deploy notifications |\n| `environments` | - (no `deploy` workflow) | Deploy targets for the `deploy` workflow; strings or `EnvironmentOptions` |\n| `ecrEcs` | - | `EcrEcsOptions` - `enabled`, `externalImageSource` (default `true`) |\n| `edgeResources` | - | Subset of `cloudfront`, `route53`, `apigateway`, `cognito`, `sqs` |\n| `database` | - (app only) | `DatabaseOptions` - `engine` (`postgres`/`mysql`/`dynamodb`, default `postgres`), `migrationTool` |\n| `appEntryPoint` | `src/app.ts` (app only) | Path of the generated application entrypoint |\n\nJava project types (`JavaMavenProjectOptions` and everything built on it - `JavaLibraryProjectOptions`, `JavaAppProjectOptions`, `JavaSpringBootProjectOptions`, `JavaServiceProjectOptions`):\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name |\n| `groupId` | - (required) | Maven group id |\n| `artifactId` | - (required) | Maven artifact id (of the reactor parent, in a multi-module project) |\n| `version` | `0.1.0` | Maven version; must be exact |\n| `description` / `url` | - | Written to the root pom |\n| `javaVersion` | `21` | Java line: `1.8`, `17`, `21`, `25` - see [Java version support](#java-version-support) |\n| `javaDistribution` | `temurin` | `actions/setup-java` distribution for CI |\n| `packaging` | `jar` | Root packaging while the project has no modules; a project with modules is always `pom` |\n| `sample` | `false` | Starter `Main` + test under the `groupId` package (single-module only) |\n| `enforcer` | `true` | `maven-enforcer-plugin` with Maven and Java version rules |\n| `minMavenVersion` | `3.9` | The enforcer's `requireMavenVersion` minimum |\n| `pluginVersions` | - | Exact-version overrides for this package's defaults, keyed by `groupId/artifactId` |\n| `licensed` | `true` | Write a `LICENSE` |\n| `license` | `MIT` | SPDX identifier for the `LICENSE` |\n| `copyrightOwner` / `copyrightPeriod` | `xpertss` / current year | Named in the `LICENSE` |\n| `editorconfig` | `true` | Write a projen-managed `.editorconfig` (also on the CDK and action types) |\n| `upgradeWorkflow` | `true` | Generate the nightly update report (`upgrade.yml`) |\n| `sonarProjectKey` | - | SonarQube project key; the sonar step is skipped when unset |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n| `springBootVersion` | newest Boot for `javaVersion` (Spring Boot types only) | Exact Spring Boot version: the BOM and `spring-boot-maven-plugin` |\n| `cdkDeployTargetRepo` | - (service only; `deploy-cdk.yml` fails until set) | Companion CDK repo (`owner/repo`) whose `deploy.yml` the deploy hook dispatches |\n| `cdkDeployHook` | `true` (service only) | Whether to generate `deploy-cdk.yml` at all |\n| `dockerRegistry` | `docker.io` (service only) | Registry the Docker image is pushed to |\n| `useFlyway` | `true` (service only) | Flyway plugin/dependency + `V1__init.sql` |\n\n`EnvironmentOptions` for deploy targets:\n\n```text\ninterface EnvironmentOptions {\n readonly name: string; // e.g. \"dev\", \"stage\", \"prod\"\n readonly accountId?: string; // AWS account id (CDK deploys)\n readonly region?: string; // AWS region (CDK deploys)\n readonly requiresApproval?: boolean; // GitHub Environment approval gate (default false)\n}\n```\n\nPlain strings (`'dev'`) are shorthand for `{ name: 'dev' }`.\n\n`GitHubActionProjectOptions`:\n\n| Option | Default | Description |\n| --- | --- | --- |\n| `name` | - (required) | Project name |\n| `description` | - | One-line description; used in the default README template and recorded in the private `package.json` |\n| `sonarHostUrl` | - (required) | URL of your SonarCloud instance (e.g. `https://sonarcloud.io`); must be reachable from github.com-hosted runners |\n| `sonarTokenSecret` | `SONAR_TOKEN` | GitHub secret holding the Sonar token |\n| `sonarPullRequestGate` | `true` | Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate |\n| `dogfood` | - (a `test-dogfood.yml` that fails until you declare one) | `ActionDogfoodOptions` - the scenario that exercises the action end-to-end via `uses: ./` |\n| `license` | `MIT` | SPDX identifier for the generated `LICENSE` |\n| `gheTokenSecret` | `PROJEN_GITHUB_TOKEN` | GitHub secret holding projen's PAT |\n\n`ActionDogfoodOptions`/`ActionDogfoodStep` - the dogfood scenario (`test-dogfood.yml`):\n\n```text\ninterface ActionDogfoodOptions {\n readonly scenario: ActionDogfoodStep[]; // one or more, run in order - required\n readonly cleanup: string[]; // shared, run once at the end with `if: always()` - required\n}\n\ninterface ActionDogfoodStep {\n readonly name: string; // labels this step-group's generated workflow steps\n readonly id?: string; // step id for the `uses: ./` call; default: a slug of `name`\n readonly fixtureSteps?: string[]; // shell, before the invocation (default: none)\n readonly inputs?: Record<string, string>; // `with:` for this invocation (default: none)\n readonly assertions: string[]; // shell, after the invocation - required, job fails unless all exit 0\n}\n```\n\nMost actions need exactly one `scenario` step. Actions with a re-run/no-op/idempotency behavior to verify (e.g. `auto-commit`'s no-op-on-no-change path, `create-pull-request`'s reuse-the-PR path) declare two - the second typically omits `fixtureSteps` so its invocation sees no new state, and its assertion checks the opposite outcome of the first. Reference an invocation's own outputs from a later assertion via `${{ steps.<id>.outputs.<name> }}`, using either the default slug or an explicit `id`.\n\n## Required GitHub secrets\n\n| Secret | Used by | Notes |\n| --- | --- | --- |\n| `PROJEN_GITHUB_TOKEN` | all types | PAT for projen's self-mutation/automation; override via `gheTokenSecret` |\n| `SONAR_TOKEN` | Java types with `sonarProjectKey`; `GitHubActionProject` | SonarQube scan step in `build.yml` / `sonar.yml`; override via `sonarTokenSecret` on `GitHubActionProject` |\n| `DOCKER_USERNAME` / `DOCKER_PASSWORD` | `JavaServiceProject` | Docker image push |\n| `MAVEN_GPG_PRIVATE_KEY`, `MAVEN_GPG_PASSPHRASE`, `MAVEN_CENTRAL_USERNAME`, `MAVEN_CENTRAL_PASSWORD` | `JavaLibraryProject` without `mavenCentralOidc` | Not needed with OIDC trusted publishing |\n| (your Slack webhook secret) | CDK types with `slackWebhookSecret` | Deploy notifications |\n\n## Customizing `.gitignore`\n\nEvery project type already ignores JetBrains IDE state (`/.idea/*`) and the `/spec/` directory with all of its subdirectories (local plans and specs, never committed). The Java types also ignore Maven `target/` output and Eclipse files. To ignore more, call the inherited `addGitIgnore()` method after constructing the project in your `.projenrc.ts`:\n\n```typescript\n// .projenrc.ts\nimport { CdkInfraProject } from '@xpertss/projen-types';\n\nconst project = new CdkInfraProject({\n name: 'my-infra',\n});\n\nproject.addGitIgnore('*.log');\nproject.addGitIgnore('.env.*');\nproject.addGitIgnore('/build/');\n\nproject.synth();\n```\n\nThe same works for every type - just swap the class (e.g. `JavaServiceProject`, `GitHubActionProject`). Each call takes one standard gitignore glob pattern. There is no `gitignore` constructor option: the project types' option interfaces do not expose one, so patterns go through `addGitIgnore()` instead.\n\nRe-run `npx projen` after editing - `.gitignore` is a generated file, so hand-editing it is caught by the drift check.\n\n## Going further\n\nThe project types are composed from smaller components you can also attach to your own projects:\n\n| Component | Applies to | Purpose |\n| --- | --- | --- |\n| `AppRuntimeScaffold` | `NodeProject` | App source skeleton (`app.ts` + handlers) |\n| `DatabaseComponent` | `NodeProject` | Database construct stub + migration tool wiring |\n| `EcrEcsConstructs` | `Project` | ECR + Fargate ECS construct helper |\n| `EdgeNetworkingConstructs` | `Project` | Per-resource edge networking construct helpers |\n| `MavenPom` | `Project` | A `pom.xml` with modules, BOM imports, dependency/plugin management, and exact versions only |\n| `MavenModule` | `JavaMavenProject` | One module of a reactor (created by `addModule()`) |\n| `MavenUpgradeReport` | `GitHubProject` | Nightly report-only `upgrade.yml` |\n| `MavenCentralPublish` | `JavaMavenProject` | Manual-dispatch Maven Central publish workflow |\n| `DockerPublish` | `JavaMavenProject` | Manual-dispatch Docker build+push workflow |\n| `GitHubPackagesPublish` | `JavaMavenProject` | Manual-dispatch GitHub Packages publish workflow |\n| `FlywayMigration` | `JavaSpringBootProject` | Flyway plugin/dependency + migrations directory |\n| `CdkDeployHook` | `JavaMavenProject` | Manual-dispatch workflow that triggers `deploy.yml` in a companion CDK repo |\n| `CodeIndexWorkflow` | `JavaMavenProject` | Code index generation on push to `main` |\n| `ActionBuildWorkflow` | `GitHubProject` | The `lint` task (shellcheck/yamllint/pinned actionlint) + `build.yml` |\n| `ActionDogfoodWorkflow` | `GitHubProject` | `test-dogfood.yml` from an `ActionDogfoodOptions` scenario |\n| `ActionSonarWorkflow` | `GitHubProject` | `sonar.yml` (SonarCloud scan via the Scanner CLI) |\n\nExample - adding a Docker publish to a `JavaMavenProject` (`JavaServiceProject` is the packaged version of this, with Spring Boot):\n\n```typescript\nimport { DockerPublish, JavaMavenProject } from '@xpertss/projen-types';\n\nconst project = new JavaMavenProject({\n name: 'my-service',\n groupId: 'org.xpertss',\n artifactId: 'my-service',\n});\n\nnew DockerPublish(project, { dockerRegistry: 'ghcr.io' });\n\nproject.synth();\n```\n\nThe full API reference, including every option and property, is in [API.md](./API.md).\n"
|
|
110
110
|
},
|
|
111
111
|
"repository": {
|
|
112
112
|
"type": "git",
|
|
@@ -247,7 +247,7 @@
|
|
|
247
247
|
"datatype": true,
|
|
248
248
|
"docs": {
|
|
249
249
|
"stability": "experimental",
|
|
250
|
-
"summary": "One invocation of the action within the dogfood scenario: optional fixture setup, the `uses:
|
|
250
|
+
"summary": "One invocation of the action within the dogfood scenario: optional fixture setup, the `uses: ./` call with this step's inputs, then this step's assertions. Most actions need exactly one; actions with a re-run/no-op behavior to verify (e.g. F006's reuse-the-PR path, F007's no-op-commit path) declare two."
|
|
251
251
|
},
|
|
252
252
|
"fqn": "@xpertss/projen-types.ActionDogfoodStep",
|
|
253
253
|
"kind": "interface",
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
"docs": {
|
|
323
323
|
"default": "- a slug derived from `name`, disambiguated by position",
|
|
324
324
|
"stability": "experimental",
|
|
325
|
-
"summary": "Step id for the `uses:
|
|
325
|
+
"summary": "Step id for the `uses: ./` invocation, so a later assertion can reference this step's outputs via `${{ steps.<id>.outputs.<name> }}`."
|
|
326
326
|
},
|
|
327
327
|
"immutable": true,
|
|
328
328
|
"locationInModule": {
|
|
@@ -340,7 +340,7 @@
|
|
|
340
340
|
"docs": {
|
|
341
341
|
"default": "{}",
|
|
342
342
|
"stability": "experimental",
|
|
343
|
-
"summary": "`with:` inputs for this invocation's local `uses:
|
|
343
|
+
"summary": "`with:` inputs for this invocation's local `uses: ./` call."
|
|
344
344
|
},
|
|
345
345
|
"immutable": true,
|
|
346
346
|
"locationInModule": {
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
"docs": {
|
|
368
368
|
"remarks": "Omitting `options` generates the workflow with a single failing step (see\n`UNCONFIGURED_STEPS`). A *partially* declared dogfood is still a synth\nerror: if you wrote a scenario by hand, you can write its cleanup too.",
|
|
369
369
|
"stability": "experimental",
|
|
370
|
-
"summary": "Per AD-001's dogfood test: the composite action is run **against this repo**, end-to-end, via a local `uses:
|
|
370
|
+
"summary": "Per AD-001's dogfood test: the composite action is run **against this repo**, end-to-end, via a local `uses: ./` reference - no external harness. Builds `test-dogfood.yml` from an ordered `scenario` of invocation steps (see `ActionDogfoodStep`) followed by a shared cleanup step."
|
|
371
371
|
},
|
|
372
372
|
"fqn": "@xpertss/projen-types.ActionDogfoodWorkflow",
|
|
373
373
|
"initializer": {
|
|
@@ -628,7 +628,7 @@
|
|
|
628
628
|
"kind": "interface",
|
|
629
629
|
"locationInModule": {
|
|
630
630
|
"filename": "src/cdk/options.ts",
|
|
631
|
-
"line":
|
|
631
|
+
"line": 68
|
|
632
632
|
},
|
|
633
633
|
"name": "CdkAppProjectOptions",
|
|
634
634
|
"properties": [
|
|
@@ -641,7 +641,7 @@
|
|
|
641
641
|
"immutable": true,
|
|
642
642
|
"locationInModule": {
|
|
643
643
|
"filename": "src/cdk/options.ts",
|
|
644
|
-
"line":
|
|
644
|
+
"line": 72
|
|
645
645
|
},
|
|
646
646
|
"name": "appEntryPoint",
|
|
647
647
|
"optional": true,
|
|
@@ -657,7 +657,7 @@
|
|
|
657
657
|
"immutable": true,
|
|
658
658
|
"locationInModule": {
|
|
659
659
|
"filename": "src/cdk/options.ts",
|
|
660
|
-
"line":
|
|
660
|
+
"line": 69
|
|
661
661
|
},
|
|
662
662
|
"name": "database",
|
|
663
663
|
"optional": true,
|
|
@@ -689,7 +689,7 @@
|
|
|
689
689
|
{
|
|
690
690
|
"name": "project",
|
|
691
691
|
"type": {
|
|
692
|
-
"fqn": "projen.
|
|
692
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject"
|
|
693
693
|
}
|
|
694
694
|
},
|
|
695
695
|
{
|
|
@@ -739,7 +739,7 @@
|
|
|
739
739
|
"kind": "interface",
|
|
740
740
|
"locationInModule": {
|
|
741
741
|
"filename": "src/java/options.ts",
|
|
742
|
-
"line":
|
|
742
|
+
"line": 152
|
|
743
743
|
},
|
|
744
744
|
"name": "CdkDeployHookOptions",
|
|
745
745
|
"properties": [
|
|
@@ -753,7 +753,7 @@
|
|
|
753
753
|
"immutable": true,
|
|
754
754
|
"locationInModule": {
|
|
755
755
|
"filename": "src/java/options.ts",
|
|
756
|
-
"line":
|
|
756
|
+
"line": 160
|
|
757
757
|
},
|
|
758
758
|
"name": "targetRepo",
|
|
759
759
|
"optional": true,
|
|
@@ -811,7 +811,7 @@
|
|
|
811
811
|
"kind": "interface",
|
|
812
812
|
"locationInModule": {
|
|
813
813
|
"filename": "src/cdk/options.ts",
|
|
814
|
-
"line":
|
|
814
|
+
"line": 39
|
|
815
815
|
},
|
|
816
816
|
"name": "CdkInfraProjectOptions",
|
|
817
817
|
"properties": [
|
|
@@ -823,7 +823,7 @@
|
|
|
823
823
|
"immutable": true,
|
|
824
824
|
"locationInModule": {
|
|
825
825
|
"filename": "src/cdk/options.ts",
|
|
826
|
-
"line":
|
|
826
|
+
"line": 55
|
|
827
827
|
},
|
|
828
828
|
"name": "ecrEcs",
|
|
829
829
|
"optional": true,
|
|
@@ -839,7 +839,7 @@
|
|
|
839
839
|
"immutable": true,
|
|
840
840
|
"locationInModule": {
|
|
841
841
|
"filename": "src/cdk/options.ts",
|
|
842
|
-
"line":
|
|
842
|
+
"line": 57
|
|
843
843
|
},
|
|
844
844
|
"name": "edgeResources",
|
|
845
845
|
"optional": true,
|
|
@@ -863,7 +863,7 @@
|
|
|
863
863
|
"immutable": true,
|
|
864
864
|
"locationInModule": {
|
|
865
865
|
"filename": "src/cdk/options.ts",
|
|
866
|
-
"line":
|
|
866
|
+
"line": 53
|
|
867
867
|
},
|
|
868
868
|
"name": "environments",
|
|
869
869
|
"optional": true,
|
|
@@ -902,7 +902,7 @@
|
|
|
902
902
|
},
|
|
903
903
|
"locationInModule": {
|
|
904
904
|
"filename": "src/cdk/cdk-typescript-base.ts",
|
|
905
|
-
"line":
|
|
905
|
+
"line": 30
|
|
906
906
|
},
|
|
907
907
|
"parameters": [
|
|
908
908
|
{
|
|
@@ -916,7 +916,7 @@
|
|
|
916
916
|
"kind": "class",
|
|
917
917
|
"locationInModule": {
|
|
918
918
|
"filename": "src/cdk/cdk-typescript-base.ts",
|
|
919
|
-
"line":
|
|
919
|
+
"line": 29
|
|
920
920
|
},
|
|
921
921
|
"name": "CdkTypescriptProject",
|
|
922
922
|
"symbolId": "src/cdk/cdk-typescript-base:CdkTypescriptProject"
|
|
@@ -934,7 +934,7 @@
|
|
|
934
934
|
"kind": "interface",
|
|
935
935
|
"locationInModule": {
|
|
936
936
|
"filename": "src/cdk/cdk-typescript-base.ts",
|
|
937
|
-
"line":
|
|
937
|
+
"line": 18
|
|
938
938
|
},
|
|
939
939
|
"name": "CdkTypescriptProjectOptions",
|
|
940
940
|
"properties": [
|
|
@@ -946,7 +946,7 @@
|
|
|
946
946
|
"immutable": true,
|
|
947
947
|
"locationInModule": {
|
|
948
948
|
"filename": "src/cdk/cdk-typescript-base.ts",
|
|
949
|
-
"line":
|
|
949
|
+
"line": 19
|
|
950
950
|
},
|
|
951
951
|
"name": "environments",
|
|
952
952
|
"optional": true,
|
|
@@ -991,7 +991,7 @@
|
|
|
991
991
|
{
|
|
992
992
|
"name": "project",
|
|
993
993
|
"type": {
|
|
994
|
-
"fqn": "projen.
|
|
994
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject"
|
|
995
995
|
}
|
|
996
996
|
}
|
|
997
997
|
]
|
|
@@ -1050,6 +1050,24 @@
|
|
|
1050
1050
|
"primitive": "string"
|
|
1051
1051
|
}
|
|
1052
1052
|
},
|
|
1053
|
+
{
|
|
1054
|
+
"abstract": true,
|
|
1055
|
+
"docs": {
|
|
1056
|
+
"default": "true",
|
|
1057
|
+
"stability": "experimental",
|
|
1058
|
+
"summary": "Write a projen-managed `.editorconfig`."
|
|
1059
|
+
},
|
|
1060
|
+
"immutable": true,
|
|
1061
|
+
"locationInModule": {
|
|
1062
|
+
"filename": "src/cdk/options.ts",
|
|
1063
|
+
"line": 36
|
|
1064
|
+
},
|
|
1065
|
+
"name": "editorconfig",
|
|
1066
|
+
"optional": true,
|
|
1067
|
+
"type": {
|
|
1068
|
+
"primitive": "boolean"
|
|
1069
|
+
}
|
|
1070
|
+
},
|
|
1053
1071
|
{
|
|
1054
1072
|
"abstract": true,
|
|
1055
1073
|
"docs": {
|
|
@@ -1132,15 +1150,16 @@
|
|
|
1132
1150
|
{
|
|
1133
1151
|
"abstract": true,
|
|
1134
1152
|
"docs": {
|
|
1135
|
-
"default": "\"
|
|
1136
|
-
"stability": "experimental"
|
|
1153
|
+
"default": "\"xpertss\" (same as `GitHubActionProject`)",
|
|
1154
|
+
"stability": "experimental",
|
|
1155
|
+
"summary": "Copyright owner named in the `LICENSE`."
|
|
1137
1156
|
},
|
|
1138
1157
|
"immutable": true,
|
|
1139
1158
|
"locationInModule": {
|
|
1140
1159
|
"filename": "src/java/options.ts",
|
|
1141
|
-
"line":
|
|
1160
|
+
"line": 103
|
|
1142
1161
|
},
|
|
1143
|
-
"name": "
|
|
1162
|
+
"name": "copyrightOwner",
|
|
1144
1163
|
"optional": true,
|
|
1145
1164
|
"type": {
|
|
1146
1165
|
"primitive": "string"
|
|
@@ -1149,16 +1168,16 @@
|
|
|
1149
1168
|
{
|
|
1150
1169
|
"abstract": true,
|
|
1151
1170
|
"docs": {
|
|
1152
|
-
"
|
|
1171
|
+
"default": "- the current year",
|
|
1153
1172
|
"stability": "experimental",
|
|
1154
|
-
"summary": "
|
|
1173
|
+
"summary": "Copyright period named in the `LICENSE`."
|
|
1155
1174
|
},
|
|
1156
1175
|
"immutable": true,
|
|
1157
1176
|
"locationInModule": {
|
|
1158
1177
|
"filename": "src/java/options.ts",
|
|
1159
|
-
"line":
|
|
1178
|
+
"line": 109
|
|
1160
1179
|
},
|
|
1161
|
-
"name": "
|
|
1180
|
+
"name": "copyrightPeriod",
|
|
1162
1181
|
"optional": true,
|
|
1163
1182
|
"type": {
|
|
1164
1183
|
"primitive": "string"
|
|
@@ -1167,353 +1186,126 @@
|
|
|
1167
1186
|
{
|
|
1168
1187
|
"abstract": true,
|
|
1169
1188
|
"docs": {
|
|
1170
|
-
"default": "
|
|
1171
|
-
"stability": "experimental"
|
|
1189
|
+
"default": "- none",
|
|
1190
|
+
"stability": "experimental",
|
|
1191
|
+
"summary": "Project description, written to the root pom."
|
|
1172
1192
|
},
|
|
1173
1193
|
"immutable": true,
|
|
1174
1194
|
"locationInModule": {
|
|
1175
1195
|
"filename": "src/java/options.ts",
|
|
1176
|
-
"line":
|
|
1196
|
+
"line": 12
|
|
1177
1197
|
},
|
|
1178
|
-
"name": "
|
|
1198
|
+
"name": "description",
|
|
1179
1199
|
"optional": true,
|
|
1180
1200
|
"type": {
|
|
1181
1201
|
"primitive": "string"
|
|
1182
1202
|
}
|
|
1183
|
-
}
|
|
1184
|
-
],
|
|
1185
|
-
"symbolId": "src/java/options:CommonJavaOptions"
|
|
1186
|
-
},
|
|
1187
|
-
"@xpertss/projen-types.DatabaseComponent": {
|
|
1188
|
-
"assembly": "@xpertss/projen-types",
|
|
1189
|
-
"base": "projen.Component",
|
|
1190
|
-
"docs": {
|
|
1191
|
-
"remarks": "The migration tool\nitself is left fully pluggable per the spec's open question - if\n`migrationTool` is provided it's added as a dev dependency and left for\nthe consuming team to wire up; no opinionated default is imposed.",
|
|
1192
|
-
"stability": "experimental",
|
|
1193
|
-
"summary": "DB provisioning construct + migration tooling wiring."
|
|
1194
|
-
},
|
|
1195
|
-
"fqn": "@xpertss/projen-types.DatabaseComponent",
|
|
1196
|
-
"initializer": {
|
|
1197
|
-
"docs": {
|
|
1198
|
-
"stability": "experimental"
|
|
1199
|
-
},
|
|
1200
|
-
"locationInModule": {
|
|
1201
|
-
"filename": "src/cdk/database-component.ts",
|
|
1202
|
-
"line": 11
|
|
1203
1203
|
},
|
|
1204
|
-
"parameters": [
|
|
1205
|
-
{
|
|
1206
|
-
"name": "project",
|
|
1207
|
-
"type": {
|
|
1208
|
-
"fqn": "projen.javascript.NodeProject"
|
|
1209
|
-
}
|
|
1210
|
-
},
|
|
1211
|
-
{
|
|
1212
|
-
"name": "options",
|
|
1213
|
-
"optional": true,
|
|
1214
|
-
"type": {
|
|
1215
|
-
"fqn": "@xpertss/projen-types.DatabaseOptions"
|
|
1216
|
-
}
|
|
1217
|
-
}
|
|
1218
|
-
]
|
|
1219
|
-
},
|
|
1220
|
-
"kind": "class",
|
|
1221
|
-
"locationInModule": {
|
|
1222
|
-
"filename": "src/cdk/database-component.ts",
|
|
1223
|
-
"line": 10
|
|
1224
|
-
},
|
|
1225
|
-
"name": "DatabaseComponent",
|
|
1226
|
-
"symbolId": "src/cdk/database-component:DatabaseComponent"
|
|
1227
|
-
},
|
|
1228
|
-
"@xpertss/projen-types.DatabaseOptions": {
|
|
1229
|
-
"assembly": "@xpertss/projen-types",
|
|
1230
|
-
"datatype": true,
|
|
1231
|
-
"docs": {
|
|
1232
|
-
"stability": "experimental"
|
|
1233
|
-
},
|
|
1234
|
-
"fqn": "@xpertss/projen-types.DatabaseOptions",
|
|
1235
|
-
"kind": "interface",
|
|
1236
|
-
"locationInModule": {
|
|
1237
|
-
"filename": "src/cdk/options.ts",
|
|
1238
|
-
"line": 54
|
|
1239
|
-
},
|
|
1240
|
-
"name": "DatabaseOptions",
|
|
1241
|
-
"properties": [
|
|
1242
1204
|
{
|
|
1243
1205
|
"abstract": true,
|
|
1244
1206
|
"docs": {
|
|
1245
|
-
"default": "
|
|
1246
|
-
"stability": "experimental"
|
|
1207
|
+
"default": "true",
|
|
1208
|
+
"stability": "experimental",
|
|
1209
|
+
"summary": "Write a projen-managed `.editorconfig`."
|
|
1247
1210
|
},
|
|
1248
1211
|
"immutable": true,
|
|
1249
1212
|
"locationInModule": {
|
|
1250
|
-
"filename": "src/
|
|
1251
|
-
"line":
|
|
1213
|
+
"filename": "src/java/options.ts",
|
|
1214
|
+
"line": 115
|
|
1252
1215
|
},
|
|
1253
|
-
"name": "
|
|
1216
|
+
"name": "editorconfig",
|
|
1254
1217
|
"optional": true,
|
|
1255
1218
|
"type": {
|
|
1256
|
-
"primitive": "
|
|
1219
|
+
"primitive": "boolean"
|
|
1257
1220
|
}
|
|
1258
1221
|
},
|
|
1259
1222
|
{
|
|
1260
1223
|
"abstract": true,
|
|
1261
1224
|
"docs": {
|
|
1225
|
+
"default": "true",
|
|
1226
|
+
"remarks": "Its Java rule always follows\n`javaVersion`.",
|
|
1262
1227
|
"stability": "experimental",
|
|
1263
|
-
"summary": "
|
|
1228
|
+
"summary": "Add `maven-enforcer-plugin`, which fails the build up front when the JDK or Maven running it is older than the project needs (rather than later, with confusing compiler errors)."
|
|
1264
1229
|
},
|
|
1265
1230
|
"immutable": true,
|
|
1266
1231
|
"locationInModule": {
|
|
1267
|
-
"filename": "src/
|
|
1268
|
-
"line":
|
|
1232
|
+
"filename": "src/java/options.ts",
|
|
1233
|
+
"line": 67
|
|
1269
1234
|
},
|
|
1270
|
-
"name": "
|
|
1235
|
+
"name": "enforcer",
|
|
1271
1236
|
"optional": true,
|
|
1272
1237
|
"type": {
|
|
1273
|
-
"primitive": "
|
|
1238
|
+
"primitive": "boolean"
|
|
1274
1239
|
}
|
|
1275
|
-
}
|
|
1276
|
-
],
|
|
1277
|
-
"symbolId": "src/cdk/options:DatabaseOptions"
|
|
1278
|
-
},
|
|
1279
|
-
"@xpertss/projen-types.DockerPublish": {
|
|
1280
|
-
"assembly": "@xpertss/projen-types",
|
|
1281
|
-
"base": "projen.Component",
|
|
1282
|
-
"docs": {
|
|
1283
|
-
"stability": "experimental",
|
|
1284
|
-
"summary": "On-demand build+push of a Docker image, defaulting to Docker Hub."
|
|
1285
|
-
},
|
|
1286
|
-
"fqn": "@xpertss/projen-types.DockerPublish",
|
|
1287
|
-
"initializer": {
|
|
1288
|
-
"docs": {
|
|
1289
|
-
"stability": "experimental"
|
|
1290
|
-
},
|
|
1291
|
-
"locationInModule": {
|
|
1292
|
-
"filename": "src/java/components/docker-publish.ts",
|
|
1293
|
-
"line": 12
|
|
1294
1240
|
},
|
|
1295
|
-
"parameters": [
|
|
1296
|
-
{
|
|
1297
|
-
"name": "project",
|
|
1298
|
-
"type": {
|
|
1299
|
-
"fqn": "projen.java.JavaProject"
|
|
1300
|
-
}
|
|
1301
|
-
},
|
|
1302
|
-
{
|
|
1303
|
-
"name": "options",
|
|
1304
|
-
"optional": true,
|
|
1305
|
-
"type": {
|
|
1306
|
-
"fqn": "@xpertss/projen-types.DockerPublishOptions"
|
|
1307
|
-
}
|
|
1308
|
-
}
|
|
1309
|
-
]
|
|
1310
|
-
},
|
|
1311
|
-
"kind": "class",
|
|
1312
|
-
"locationInModule": {
|
|
1313
|
-
"filename": "src/java/components/docker-publish.ts",
|
|
1314
|
-
"line": 11
|
|
1315
|
-
},
|
|
1316
|
-
"name": "DockerPublish",
|
|
1317
|
-
"symbolId": "src/java/components/docker-publish:DockerPublish"
|
|
1318
|
-
},
|
|
1319
|
-
"@xpertss/projen-types.DockerPublishOptions": {
|
|
1320
|
-
"assembly": "@xpertss/projen-types",
|
|
1321
|
-
"datatype": true,
|
|
1322
|
-
"docs": {
|
|
1323
|
-
"stability": "experimental"
|
|
1324
|
-
},
|
|
1325
|
-
"fqn": "@xpertss/projen-types.DockerPublishOptions",
|
|
1326
|
-
"kind": "interface",
|
|
1327
|
-
"locationInModule": {
|
|
1328
|
-
"filename": "src/java/components/docker-publish.ts",
|
|
1329
|
-
"line": 5
|
|
1330
|
-
},
|
|
1331
|
-
"name": "DockerPublishOptions",
|
|
1332
|
-
"properties": [
|
|
1333
1241
|
{
|
|
1334
1242
|
"abstract": true,
|
|
1335
1243
|
"docs": {
|
|
1336
|
-
"default": "\"
|
|
1244
|
+
"default": "\"PROJEN_GITHUB_TOKEN\"",
|
|
1337
1245
|
"stability": "experimental"
|
|
1338
1246
|
},
|
|
1339
1247
|
"immutable": true,
|
|
1340
1248
|
"locationInModule": {
|
|
1341
|
-
"filename": "src/java/
|
|
1342
|
-
"line":
|
|
1249
|
+
"filename": "src/java/options.ts",
|
|
1250
|
+
"line": 21
|
|
1343
1251
|
},
|
|
1344
|
-
"name": "
|
|
1252
|
+
"name": "gheTokenSecret",
|
|
1345
1253
|
"optional": true,
|
|
1346
1254
|
"type": {
|
|
1347
1255
|
"primitive": "string"
|
|
1348
1256
|
}
|
|
1349
|
-
}
|
|
1350
|
-
],
|
|
1351
|
-
"symbolId": "src/java/components/docker-publish:DockerPublishOptions"
|
|
1352
|
-
},
|
|
1353
|
-
"@xpertss/projen-types.EcrEcsConstructs": {
|
|
1354
|
-
"assembly": "@xpertss/projen-types",
|
|
1355
|
-
"base": "projen.Component",
|
|
1356
|
-
"docs": {
|
|
1357
|
-
"remarks": "`externalImageSource` controls whether the\nservice pulls an externally-published image (infra-only projects) or one\nbuilt from this project's own source (app projects).",
|
|
1358
|
-
"stability": "experimental",
|
|
1359
|
-
"summary": "Reusable construct helper for an ECR repo + Fargate ECS cluster/service standing up a container image."
|
|
1360
|
-
},
|
|
1361
|
-
"fqn": "@xpertss/projen-types.EcrEcsConstructs",
|
|
1362
|
-
"initializer": {
|
|
1363
|
-
"docs": {
|
|
1364
|
-
"stability": "experimental"
|
|
1365
|
-
},
|
|
1366
|
-
"locationInModule": {
|
|
1367
|
-
"filename": "src/cdk/components/ecr-ecs-constructs.ts",
|
|
1368
|
-
"line": 12
|
|
1369
1257
|
},
|
|
1370
|
-
"parameters": [
|
|
1371
|
-
{
|
|
1372
|
-
"name": "project",
|
|
1373
|
-
"type": {
|
|
1374
|
-
"fqn": "projen.Project"
|
|
1375
|
-
}
|
|
1376
|
-
},
|
|
1377
|
-
{
|
|
1378
|
-
"name": "options",
|
|
1379
|
-
"optional": true,
|
|
1380
|
-
"type": {
|
|
1381
|
-
"fqn": "@xpertss/projen-types.EcrEcsOptions"
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
]
|
|
1385
|
-
},
|
|
1386
|
-
"kind": "class",
|
|
1387
|
-
"locationInModule": {
|
|
1388
|
-
"filename": "src/cdk/components/ecr-ecs-constructs.ts",
|
|
1389
|
-
"line": 11
|
|
1390
|
-
},
|
|
1391
|
-
"name": "EcrEcsConstructs",
|
|
1392
|
-
"symbolId": "src/cdk/components/ecr-ecs-constructs:EcrEcsConstructs"
|
|
1393
|
-
},
|
|
1394
|
-
"@xpertss/projen-types.EcrEcsOptions": {
|
|
1395
|
-
"assembly": "@xpertss/projen-types",
|
|
1396
|
-
"datatype": true,
|
|
1397
|
-
"docs": {
|
|
1398
|
-
"stability": "experimental"
|
|
1399
|
-
},
|
|
1400
|
-
"fqn": "@xpertss/projen-types.EcrEcsOptions",
|
|
1401
|
-
"kind": "interface",
|
|
1402
|
-
"locationInModule": {
|
|
1403
|
-
"filename": "src/cdk/options.ts",
|
|
1404
|
-
"line": 10
|
|
1405
|
-
},
|
|
1406
|
-
"name": "EcrEcsOptions",
|
|
1407
|
-
"properties": [
|
|
1408
1258
|
{
|
|
1409
1259
|
"abstract": true,
|
|
1410
1260
|
"docs": {
|
|
1411
|
-
"default": "
|
|
1412
|
-
"stability": "experimental"
|
|
1261
|
+
"default": "\"temurin\"",
|
|
1262
|
+
"stability": "experimental",
|
|
1263
|
+
"summary": "`actions/setup-java` distribution CI installs the JDK from."
|
|
1413
1264
|
},
|
|
1414
1265
|
"immutable": true,
|
|
1415
1266
|
"locationInModule": {
|
|
1416
|
-
"filename": "src/
|
|
1417
|
-
"line":
|
|
1267
|
+
"filename": "src/java/options.ts",
|
|
1268
|
+
"line": 40
|
|
1418
1269
|
},
|
|
1419
|
-
"name": "
|
|
1270
|
+
"name": "javaDistribution",
|
|
1420
1271
|
"optional": true,
|
|
1421
1272
|
"type": {
|
|
1422
|
-
"primitive": "
|
|
1273
|
+
"primitive": "string"
|
|
1423
1274
|
}
|
|
1424
1275
|
},
|
|
1425
1276
|
{
|
|
1426
1277
|
"abstract": true,
|
|
1427
1278
|
"docs": {
|
|
1428
|
-
"default": "
|
|
1279
|
+
"default": "\"21\"",
|
|
1280
|
+
"remarks": "Drives every Java-dependent part of the generated build: the compiler\nlevel (`maven.compiler.release`, or `source`/`target` for 1.8, which has\nno `--release`), the enforcer's `requireJavaVersion` rule, the JUnit line,\nthe default Spring Boot line, and the JDK CI installs. Any other value\nfails at synth and lists the supported lines.",
|
|
1429
1281
|
"stability": "experimental",
|
|
1430
|
-
"summary": "
|
|
1282
|
+
"summary": "Java line the build targets: `1.8` (alias `8`), `17`, `21`, or `25`."
|
|
1431
1283
|
},
|
|
1432
1284
|
"immutable": true,
|
|
1433
1285
|
"locationInModule": {
|
|
1434
|
-
"filename": "src/
|
|
1435
|
-
"line":
|
|
1286
|
+
"filename": "src/java/options.ts",
|
|
1287
|
+
"line": 34
|
|
1436
1288
|
},
|
|
1437
|
-
"name": "
|
|
1289
|
+
"name": "javaVersion",
|
|
1438
1290
|
"optional": true,
|
|
1439
1291
|
"type": {
|
|
1440
|
-
"primitive": "
|
|
1292
|
+
"primitive": "string"
|
|
1441
1293
|
}
|
|
1442
|
-
}
|
|
1443
|
-
],
|
|
1444
|
-
"symbolId": "src/cdk/options:EcrEcsOptions"
|
|
1445
|
-
},
|
|
1446
|
-
"@xpertss/projen-types.EdgeNetworkingConstructs": {
|
|
1447
|
-
"assembly": "@xpertss/projen-types",
|
|
1448
|
-
"base": "projen.Component",
|
|
1449
|
-
"docs": {
|
|
1450
|
-
"stability": "experimental",
|
|
1451
|
-
"summary": "Construct helpers for CloudFront/Route53/API Gateway/Cognito/SQS, scoped to whichever `edgeResources` the consuming project type opts into."
|
|
1452
|
-
},
|
|
1453
|
-
"fqn": "@xpertss/projen-types.EdgeNetworkingConstructs",
|
|
1454
|
-
"initializer": {
|
|
1455
|
-
"docs": {
|
|
1456
|
-
"stability": "experimental"
|
|
1457
1294
|
},
|
|
1458
|
-
"locationInModule": {
|
|
1459
|
-
"filename": "src/cdk/components/edge-networking-constructs.ts",
|
|
1460
|
-
"line": 46
|
|
1461
|
-
},
|
|
1462
|
-
"parameters": [
|
|
1463
|
-
{
|
|
1464
|
-
"name": "project",
|
|
1465
|
-
"type": {
|
|
1466
|
-
"fqn": "projen.Project"
|
|
1467
|
-
}
|
|
1468
|
-
},
|
|
1469
|
-
{
|
|
1470
|
-
"name": "resources",
|
|
1471
|
-
"type": {
|
|
1472
|
-
"collection": {
|
|
1473
|
-
"elementtype": {
|
|
1474
|
-
"primitive": "string"
|
|
1475
|
-
},
|
|
1476
|
-
"kind": "array"
|
|
1477
|
-
}
|
|
1478
|
-
}
|
|
1479
|
-
}
|
|
1480
|
-
]
|
|
1481
|
-
},
|
|
1482
|
-
"kind": "class",
|
|
1483
|
-
"locationInModule": {
|
|
1484
|
-
"filename": "src/cdk/components/edge-networking-constructs.ts",
|
|
1485
|
-
"line": 45
|
|
1486
|
-
},
|
|
1487
|
-
"name": "EdgeNetworkingConstructs",
|
|
1488
|
-
"symbolId": "src/cdk/components/edge-networking-constructs:EdgeNetworkingConstructs"
|
|
1489
|
-
},
|
|
1490
|
-
"@xpertss/projen-types.EnvironmentOptions": {
|
|
1491
|
-
"assembly": "@xpertss/projen-types",
|
|
1492
|
-
"datatype": true,
|
|
1493
|
-
"docs": {
|
|
1494
|
-
"stability": "experimental",
|
|
1495
|
-
"summary": "A single named deployment target used by manual-dispatch deploy workflows."
|
|
1496
|
-
},
|
|
1497
|
-
"fqn": "@xpertss/projen-types.EnvironmentOptions",
|
|
1498
|
-
"kind": "interface",
|
|
1499
|
-
"locationInModule": {
|
|
1500
|
-
"filename": "src/common/environment-options.ts",
|
|
1501
|
-
"line": 4
|
|
1502
|
-
},
|
|
1503
|
-
"name": "EnvironmentOptions",
|
|
1504
|
-
"properties": [
|
|
1505
1295
|
{
|
|
1506
1296
|
"abstract": true,
|
|
1507
1297
|
"docs": {
|
|
1298
|
+
"default": "\"MIT\"",
|
|
1508
1299
|
"stability": "experimental",
|
|
1509
|
-
"summary": "
|
|
1300
|
+
"summary": "SPDX identifier for the generated `LICENSE`."
|
|
1510
1301
|
},
|
|
1511
1302
|
"immutable": true,
|
|
1512
1303
|
"locationInModule": {
|
|
1513
|
-
"filename": "src/
|
|
1514
|
-
"line":
|
|
1304
|
+
"filename": "src/java/options.ts",
|
|
1305
|
+
"line": 97
|
|
1515
1306
|
},
|
|
1516
|
-
"name": "
|
|
1307
|
+
"name": "license",
|
|
1308
|
+
"optional": true,
|
|
1517
1309
|
"type": {
|
|
1518
1310
|
"primitive": "string"
|
|
1519
1311
|
}
|
|
@@ -1521,32 +1313,35 @@
|
|
|
1521
1313
|
{
|
|
1522
1314
|
"abstract": true,
|
|
1523
1315
|
"docs": {
|
|
1316
|
+
"default": "true",
|
|
1524
1317
|
"stability": "experimental",
|
|
1525
|
-
"summary": "
|
|
1318
|
+
"summary": "Write a `LICENSE` file."
|
|
1526
1319
|
},
|
|
1527
1320
|
"immutable": true,
|
|
1528
1321
|
"locationInModule": {
|
|
1529
|
-
"filename": "src/
|
|
1530
|
-
"line":
|
|
1322
|
+
"filename": "src/java/options.ts",
|
|
1323
|
+
"line": 91
|
|
1531
1324
|
},
|
|
1532
|
-
"name": "
|
|
1325
|
+
"name": "licensed",
|
|
1533
1326
|
"optional": true,
|
|
1534
1327
|
"type": {
|
|
1535
|
-
"primitive": "
|
|
1328
|
+
"primitive": "boolean"
|
|
1536
1329
|
}
|
|
1537
1330
|
},
|
|
1538
1331
|
{
|
|
1539
1332
|
"abstract": true,
|
|
1540
1333
|
"docs": {
|
|
1334
|
+
"default": "\"3.9\"",
|
|
1335
|
+
"remarks": "Ignored when `enforcer` is false.",
|
|
1541
1336
|
"stability": "experimental",
|
|
1542
|
-
"summary": "
|
|
1337
|
+
"summary": "Lowest Maven version the enforcer accepts (`requireMavenVersion [<this>,)`)."
|
|
1543
1338
|
},
|
|
1544
1339
|
"immutable": true,
|
|
1545
1340
|
"locationInModule": {
|
|
1546
|
-
"filename": "src/
|
|
1547
|
-
"line":
|
|
1341
|
+
"filename": "src/java/options.ts",
|
|
1342
|
+
"line": 75
|
|
1548
1343
|
},
|
|
1549
|
-
"name": "
|
|
1344
|
+
"name": "minMavenVersion",
|
|
1550
1345
|
"optional": true,
|
|
1551
1346
|
"type": {
|
|
1552
1347
|
"primitive": "string"
|
|
@@ -1555,194 +1350,113 @@
|
|
|
1555
1350
|
{
|
|
1556
1351
|
"abstract": true,
|
|
1557
1352
|
"docs": {
|
|
1558
|
-
"default": "
|
|
1353
|
+
"default": "\"jar\"",
|
|
1354
|
+
"remarks": "Once\n`addModule()` is called the root pom is always `pom`-packaged (and\nsetting anything other than `pom` here is a synth error).",
|
|
1559
1355
|
"stability": "experimental",
|
|
1560
|
-
"summary": "
|
|
1356
|
+
"summary": "Maven packaging of the root pom while the project has no modules."
|
|
1561
1357
|
},
|
|
1562
1358
|
"immutable": true,
|
|
1563
1359
|
"locationInModule": {
|
|
1564
|
-
"filename": "src/
|
|
1565
|
-
"line":
|
|
1360
|
+
"filename": "src/java/options.ts",
|
|
1361
|
+
"line": 49
|
|
1566
1362
|
},
|
|
1567
|
-
"name": "
|
|
1363
|
+
"name": "packaging",
|
|
1568
1364
|
"optional": true,
|
|
1569
1365
|
"type": {
|
|
1570
|
-
"primitive": "
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
],
|
|
1574
|
-
"symbolId": "src/common/environment-options:EnvironmentOptions"
|
|
1575
|
-
},
|
|
1576
|
-
"@xpertss/projen-types.FlywayMigration": {
|
|
1577
|
-
"assembly": "@xpertss/projen-types",
|
|
1578
|
-
"base": "projen.Component",
|
|
1579
|
-
"docs": {
|
|
1580
|
-
"stability": "experimental",
|
|
1581
|
-
"summary": "Adds Flyway config/dependencies + a migrations directory for DB migrations."
|
|
1582
|
-
},
|
|
1583
|
-
"fqn": "@xpertss/projen-types.FlywayMigration",
|
|
1584
|
-
"initializer": {
|
|
1585
|
-
"docs": {
|
|
1586
|
-
"stability": "experimental"
|
|
1587
|
-
},
|
|
1588
|
-
"locationInModule": {
|
|
1589
|
-
"filename": "src/java/components/flyway-migration.ts",
|
|
1590
|
-
"line": 6
|
|
1591
|
-
},
|
|
1592
|
-
"parameters": [
|
|
1593
|
-
{
|
|
1594
|
-
"name": "project",
|
|
1595
|
-
"type": {
|
|
1596
|
-
"fqn": "projen.java.JavaProject"
|
|
1597
|
-
}
|
|
1366
|
+
"primitive": "string"
|
|
1598
1367
|
}
|
|
1599
|
-
]
|
|
1600
|
-
},
|
|
1601
|
-
"kind": "class",
|
|
1602
|
-
"locationInModule": {
|
|
1603
|
-
"filename": "src/java/components/flyway-migration.ts",
|
|
1604
|
-
"line": 5
|
|
1605
|
-
},
|
|
1606
|
-
"name": "FlywayMigration",
|
|
1607
|
-
"symbolId": "src/java/components/flyway-migration:FlywayMigration"
|
|
1608
|
-
},
|
|
1609
|
-
"@xpertss/projen-types.GitHubActionProject": {
|
|
1610
|
-
"assembly": "@xpertss/projen-types",
|
|
1611
|
-
"base": "projen.github.GitHubProject",
|
|
1612
|
-
"docs": {
|
|
1613
|
-
"stability": "experimental",
|
|
1614
|
-
"summary": "Scaffolds the repo lifecycle (AD-001) around a hand-committed, composite (shell) GitHub Action: the `build`/`test-dogfood`/`sonar`/`release` workflows, versioning and release discipline, the F003 verify components, and repo boilerplate (a private version-source `package.json`, `.yamllint`, `LICENSE`, and a `README.md` template). The action's own content (`action.yml`, its shell scripts, `test/` fixtures) is authored by hand per the action's own F### spec - this type only lints it."
|
|
1615
|
-
},
|
|
1616
|
-
"fqn": "@xpertss/projen-types.GitHubActionProject",
|
|
1617
|
-
"initializer": {
|
|
1618
|
-
"docs": {
|
|
1619
|
-
"stability": "experimental"
|
|
1620
1368
|
},
|
|
1621
|
-
"locationInModule": {
|
|
1622
|
-
"filename": "src/actions/github-action-project.ts",
|
|
1623
|
-
"line": 133
|
|
1624
|
-
},
|
|
1625
|
-
"parameters": [
|
|
1626
|
-
{
|
|
1627
|
-
"name": "options",
|
|
1628
|
-
"type": {
|
|
1629
|
-
"fqn": "@xpertss/projen-types.GitHubActionProjectOptions"
|
|
1630
|
-
}
|
|
1631
|
-
}
|
|
1632
|
-
]
|
|
1633
|
-
},
|
|
1634
|
-
"kind": "class",
|
|
1635
|
-
"locationInModule": {
|
|
1636
|
-
"filename": "src/actions/github-action-project.ts",
|
|
1637
|
-
"line": 127
|
|
1638
|
-
},
|
|
1639
|
-
"name": "GitHubActionProject",
|
|
1640
|
-
"properties": [
|
|
1641
1369
|
{
|
|
1370
|
+
"abstract": true,
|
|
1642
1371
|
"docs": {
|
|
1643
|
-
"
|
|
1372
|
+
"default": "- the defaults for `javaVersion`",
|
|
1373
|
+
"stability": "experimental",
|
|
1374
|
+
"summary": "Overrides for the plugin/BOM versions this package pins by default, keyed by `groupId/artifactId`, e.g. `{ 'org.apache.maven.plugins/maven-surefire-plugin': '3.5.6' }`. Values must be exact versions."
|
|
1644
1375
|
},
|
|
1645
1376
|
"immutable": true,
|
|
1646
1377
|
"locationInModule": {
|
|
1647
|
-
"filename": "src/
|
|
1648
|
-
"line":
|
|
1378
|
+
"filename": "src/java/options.ts",
|
|
1379
|
+
"line": 85
|
|
1649
1380
|
},
|
|
1650
|
-
"name": "
|
|
1381
|
+
"name": "pluginVersions",
|
|
1382
|
+
"optional": true,
|
|
1651
1383
|
"type": {
|
|
1652
|
-
"
|
|
1384
|
+
"collection": {
|
|
1385
|
+
"elementtype": {
|
|
1386
|
+
"primitive": "string"
|
|
1387
|
+
},
|
|
1388
|
+
"kind": "map"
|
|
1389
|
+
}
|
|
1653
1390
|
}
|
|
1654
1391
|
},
|
|
1655
1392
|
{
|
|
1393
|
+
"abstract": true,
|
|
1656
1394
|
"docs": {
|
|
1657
|
-
"
|
|
1395
|
+
"default": "false",
|
|
1396
|
+
"remarks": "Never written for a multi-module project.",
|
|
1397
|
+
"stability": "experimental",
|
|
1398
|
+
"summary": "Write a starter `Main` class and test under the `groupId` package, if `src/` does not exist yet."
|
|
1658
1399
|
},
|
|
1659
1400
|
"immutable": true,
|
|
1660
1401
|
"locationInModule": {
|
|
1661
|
-
"filename": "src/
|
|
1662
|
-
"line":
|
|
1402
|
+
"filename": "src/java/options.ts",
|
|
1403
|
+
"line": 57
|
|
1663
1404
|
},
|
|
1664
|
-
"name": "
|
|
1405
|
+
"name": "sample",
|
|
1406
|
+
"optional": true,
|
|
1665
1407
|
"type": {
|
|
1666
|
-
"
|
|
1408
|
+
"primitive": "boolean"
|
|
1667
1409
|
}
|
|
1668
1410
|
},
|
|
1669
1411
|
{
|
|
1412
|
+
"abstract": true,
|
|
1670
1413
|
"docs": {
|
|
1671
|
-
"
|
|
1414
|
+
"remarks": "If unset, the sonar scan step is skipped.",
|
|
1415
|
+
"stability": "experimental",
|
|
1416
|
+
"summary": "SonarCloud project key."
|
|
1672
1417
|
},
|
|
1673
1418
|
"immutable": true,
|
|
1674
1419
|
"locationInModule": {
|
|
1675
|
-
"filename": "src/
|
|
1676
|
-
"line":
|
|
1420
|
+
"filename": "src/java/options.ts",
|
|
1421
|
+
"line": 18
|
|
1677
1422
|
},
|
|
1678
|
-
"name": "
|
|
1423
|
+
"name": "sonarProjectKey",
|
|
1424
|
+
"optional": true,
|
|
1679
1425
|
"type": {
|
|
1680
|
-
"
|
|
1426
|
+
"primitive": "string"
|
|
1681
1427
|
}
|
|
1682
1428
|
},
|
|
1683
|
-
{
|
|
1684
|
-
"docs": {
|
|
1685
|
-
"stability": "experimental"
|
|
1686
|
-
},
|
|
1687
|
-
"immutable": true,
|
|
1688
|
-
"locationInModule": {
|
|
1689
|
-
"filename": "src/actions/github-action-project.ts",
|
|
1690
|
-
"line": 130
|
|
1691
|
-
},
|
|
1692
|
-
"name": "sonarWorkflow",
|
|
1693
|
-
"type": {
|
|
1694
|
-
"fqn": "@xpertss/projen-types.ActionSonarWorkflow"
|
|
1695
|
-
}
|
|
1696
|
-
}
|
|
1697
|
-
],
|
|
1698
|
-
"symbolId": "src/actions/github-action-project:GitHubActionProject"
|
|
1699
|
-
},
|
|
1700
|
-
"@xpertss/projen-types.GitHubActionProjectOptions": {
|
|
1701
|
-
"assembly": "@xpertss/projen-types",
|
|
1702
|
-
"datatype": true,
|
|
1703
|
-
"docs": {
|
|
1704
|
-
"stability": "experimental"
|
|
1705
|
-
},
|
|
1706
|
-
"fqn": "@xpertss/projen-types.GitHubActionProjectOptions",
|
|
1707
|
-
"interfaces": [
|
|
1708
|
-
"projen.github.GitHubProjectOptions"
|
|
1709
|
-
],
|
|
1710
|
-
"kind": "interface",
|
|
1711
|
-
"locationInModule": {
|
|
1712
|
-
"filename": "src/actions/github-action-project.ts",
|
|
1713
|
-
"line": 35
|
|
1714
|
-
},
|
|
1715
|
-
"name": "GitHubActionProjectOptions",
|
|
1716
|
-
"properties": [
|
|
1717
1429
|
{
|
|
1718
1430
|
"abstract": true,
|
|
1719
1431
|
"docs": {
|
|
1432
|
+
"default": "true",
|
|
1720
1433
|
"stability": "experimental",
|
|
1721
|
-
"summary": "
|
|
1434
|
+
"summary": "Generate the nightly `upgrade.yml` workflow, which reports available dependency and plugin updates in the job summary (it never edits files - versions are changed in `.projenrc.ts`)."
|
|
1722
1435
|
},
|
|
1723
1436
|
"immutable": true,
|
|
1724
1437
|
"locationInModule": {
|
|
1725
|
-
"filename": "src/
|
|
1726
|
-
"line":
|
|
1438
|
+
"filename": "src/java/options.ts",
|
|
1439
|
+
"line": 124
|
|
1727
1440
|
},
|
|
1728
|
-
"name": "
|
|
1441
|
+
"name": "upgradeWorkflow",
|
|
1442
|
+
"optional": true,
|
|
1729
1443
|
"type": {
|
|
1730
|
-
"primitive": "
|
|
1444
|
+
"primitive": "boolean"
|
|
1731
1445
|
}
|
|
1732
1446
|
},
|
|
1733
1447
|
{
|
|
1734
1448
|
"abstract": true,
|
|
1735
1449
|
"docs": {
|
|
1736
|
-
"
|
|
1450
|
+
"default": "- none",
|
|
1737
1451
|
"stability": "experimental",
|
|
1738
|
-
"summary": "
|
|
1452
|
+
"summary": "Project URL, written to the root pom."
|
|
1739
1453
|
},
|
|
1740
1454
|
"immutable": true,
|
|
1741
1455
|
"locationInModule": {
|
|
1742
|
-
"filename": "src/
|
|
1743
|
-
"line":
|
|
1456
|
+
"filename": "src/java/options.ts",
|
|
1457
|
+
"line": 15
|
|
1744
1458
|
},
|
|
1745
|
-
"name": "
|
|
1459
|
+
"name": "url",
|
|
1746
1460
|
"optional": true,
|
|
1747
1461
|
"type": {
|
|
1748
1462
|
"primitive": "string"
|
|
@@ -1751,53 +1465,90 @@
|
|
|
1751
1465
|
{
|
|
1752
1466
|
"abstract": true,
|
|
1753
1467
|
"docs": {
|
|
1754
|
-
"default": "
|
|
1755
|
-
"
|
|
1756
|
-
"stability": "experimental",
|
|
1757
|
-
"summary": "The dogfood scenario (AD-001)."
|
|
1468
|
+
"default": "\"0.1.0\"",
|
|
1469
|
+
"stability": "experimental"
|
|
1758
1470
|
},
|
|
1759
1471
|
"immutable": true,
|
|
1760
1472
|
"locationInModule": {
|
|
1761
|
-
"filename": "src/
|
|
1762
|
-
"line":
|
|
1473
|
+
"filename": "src/java/options.ts",
|
|
1474
|
+
"line": 9
|
|
1763
1475
|
},
|
|
1764
|
-
"name": "
|
|
1476
|
+
"name": "version",
|
|
1765
1477
|
"optional": true,
|
|
1766
1478
|
"type": {
|
|
1767
|
-
"
|
|
1479
|
+
"primitive": "string"
|
|
1768
1480
|
}
|
|
1481
|
+
}
|
|
1482
|
+
],
|
|
1483
|
+
"symbolId": "src/java/options:CommonJavaOptions"
|
|
1484
|
+
},
|
|
1485
|
+
"@xpertss/projen-types.DatabaseComponent": {
|
|
1486
|
+
"assembly": "@xpertss/projen-types",
|
|
1487
|
+
"base": "projen.Component",
|
|
1488
|
+
"docs": {
|
|
1489
|
+
"remarks": "The migration tool\nitself is left fully pluggable per the spec's open question - if\n`migrationTool` is provided it's added as a dev dependency and left for\nthe consuming team to wire up; no opinionated default is imposed.",
|
|
1490
|
+
"stability": "experimental",
|
|
1491
|
+
"summary": "DB provisioning construct + migration tooling wiring."
|
|
1492
|
+
},
|
|
1493
|
+
"fqn": "@xpertss/projen-types.DatabaseComponent",
|
|
1494
|
+
"initializer": {
|
|
1495
|
+
"docs": {
|
|
1496
|
+
"stability": "experimental"
|
|
1769
1497
|
},
|
|
1770
|
-
{
|
|
1771
|
-
"
|
|
1772
|
-
"
|
|
1773
|
-
|
|
1774
|
-
|
|
1775
|
-
|
|
1776
|
-
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
"line": 49
|
|
1498
|
+
"locationInModule": {
|
|
1499
|
+
"filename": "src/cdk/database-component.ts",
|
|
1500
|
+
"line": 11
|
|
1501
|
+
},
|
|
1502
|
+
"parameters": [
|
|
1503
|
+
{
|
|
1504
|
+
"name": "project",
|
|
1505
|
+
"type": {
|
|
1506
|
+
"fqn": "projen.javascript.NodeProject"
|
|
1507
|
+
}
|
|
1781
1508
|
},
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
"
|
|
1509
|
+
{
|
|
1510
|
+
"name": "options",
|
|
1511
|
+
"optional": true,
|
|
1512
|
+
"type": {
|
|
1513
|
+
"fqn": "@xpertss/projen-types.DatabaseOptions"
|
|
1514
|
+
}
|
|
1786
1515
|
}
|
|
1787
|
-
|
|
1516
|
+
]
|
|
1517
|
+
},
|
|
1518
|
+
"kind": "class",
|
|
1519
|
+
"locationInModule": {
|
|
1520
|
+
"filename": "src/cdk/database-component.ts",
|
|
1521
|
+
"line": 10
|
|
1522
|
+
},
|
|
1523
|
+
"name": "DatabaseComponent",
|
|
1524
|
+
"symbolId": "src/cdk/database-component:DatabaseComponent"
|
|
1525
|
+
},
|
|
1526
|
+
"@xpertss/projen-types.DatabaseOptions": {
|
|
1527
|
+
"assembly": "@xpertss/projen-types",
|
|
1528
|
+
"datatype": true,
|
|
1529
|
+
"docs": {
|
|
1530
|
+
"stability": "experimental"
|
|
1531
|
+
},
|
|
1532
|
+
"fqn": "@xpertss/projen-types.DatabaseOptions",
|
|
1533
|
+
"kind": "interface",
|
|
1534
|
+
"locationInModule": {
|
|
1535
|
+
"filename": "src/cdk/options.ts",
|
|
1536
|
+
"line": 60
|
|
1537
|
+
},
|
|
1538
|
+
"name": "DatabaseOptions",
|
|
1539
|
+
"properties": [
|
|
1788
1540
|
{
|
|
1789
1541
|
"abstract": true,
|
|
1790
1542
|
"docs": {
|
|
1791
|
-
"default": "\"
|
|
1792
|
-
"stability": "experimental"
|
|
1793
|
-
"summary": "SPDX identifier for the generated `LICENSE`."
|
|
1543
|
+
"default": "\"postgres\"",
|
|
1544
|
+
"stability": "experimental"
|
|
1794
1545
|
},
|
|
1795
1546
|
"immutable": true,
|
|
1796
1547
|
"locationInModule": {
|
|
1797
|
-
"filename": "src/
|
|
1798
|
-
"line":
|
|
1548
|
+
"filename": "src/cdk/options.ts",
|
|
1549
|
+
"line": 62
|
|
1799
1550
|
},
|
|
1800
|
-
"name": "
|
|
1551
|
+
"name": "engine",
|
|
1801
1552
|
"optional": true,
|
|
1802
1553
|
"type": {
|
|
1803
1554
|
"primitive": "string"
|
|
@@ -1806,440 +1557,2484 @@
|
|
|
1806
1557
|
{
|
|
1807
1558
|
"abstract": true,
|
|
1808
1559
|
"docs": {
|
|
1809
|
-
"default": "true",
|
|
1810
1560
|
"stability": "experimental",
|
|
1811
|
-
"summary": "
|
|
1561
|
+
"summary": "Migration tool to wire up, e.g. \"flyway\", \"liquibase\", \"prisma\". Left pluggable - no default."
|
|
1812
1562
|
},
|
|
1813
1563
|
"immutable": true,
|
|
1814
1564
|
"locationInModule": {
|
|
1815
|
-
"filename": "src/
|
|
1565
|
+
"filename": "src/cdk/options.ts",
|
|
1816
1566
|
"line": 65
|
|
1817
1567
|
},
|
|
1818
|
-
"name": "
|
|
1819
|
-
"optional": true,
|
|
1820
|
-
"type": {
|
|
1821
|
-
"primitive": "boolean"
|
|
1822
|
-
}
|
|
1823
|
-
},
|
|
1824
|
-
{
|
|
1825
|
-
"abstract": true,
|
|
1826
|
-
"docs": {
|
|
1827
|
-
"default": "\"SONAR_TOKEN\"",
|
|
1828
|
-
"stability": "experimental"
|
|
1829
|
-
},
|
|
1830
|
-
"immutable": true,
|
|
1831
|
-
"locationInModule": {
|
|
1832
|
-
"filename": "src/actions/github-action-project.ts",
|
|
1833
|
-
"line": 59
|
|
1834
|
-
},
|
|
1835
|
-
"name": "sonarTokenSecret",
|
|
1568
|
+
"name": "migrationTool",
|
|
1836
1569
|
"optional": true,
|
|
1837
1570
|
"type": {
|
|
1838
1571
|
"primitive": "string"
|
|
1839
1572
|
}
|
|
1840
1573
|
}
|
|
1841
1574
|
],
|
|
1842
|
-
"symbolId": "src/
|
|
1575
|
+
"symbolId": "src/cdk/options:DatabaseOptions"
|
|
1843
1576
|
},
|
|
1844
|
-
"@xpertss/projen-types.
|
|
1577
|
+
"@xpertss/projen-types.DockerPublish": {
|
|
1845
1578
|
"assembly": "@xpertss/projen-types",
|
|
1846
1579
|
"base": "projen.Component",
|
|
1847
1580
|
"docs": {
|
|
1848
1581
|
"stability": "experimental",
|
|
1849
|
-
"summary": "On-demand
|
|
1582
|
+
"summary": "On-demand build+push of a Docker image, defaulting to Docker Hub."
|
|
1850
1583
|
},
|
|
1851
|
-
"fqn": "@xpertss/projen-types.
|
|
1584
|
+
"fqn": "@xpertss/projen-types.DockerPublish",
|
|
1852
1585
|
"initializer": {
|
|
1853
1586
|
"docs": {
|
|
1854
1587
|
"stability": "experimental"
|
|
1855
1588
|
},
|
|
1856
1589
|
"locationInModule": {
|
|
1857
|
-
"filename": "src/java/components/
|
|
1590
|
+
"filename": "src/java/components/docker-publish.ts",
|
|
1858
1591
|
"line": 12
|
|
1859
1592
|
},
|
|
1860
1593
|
"parameters": [
|
|
1861
1594
|
{
|
|
1862
1595
|
"name": "project",
|
|
1863
1596
|
"type": {
|
|
1864
|
-
"fqn": "projen.
|
|
1597
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject"
|
|
1865
1598
|
}
|
|
1866
1599
|
},
|
|
1867
1600
|
{
|
|
1868
1601
|
"name": "options",
|
|
1869
1602
|
"optional": true,
|
|
1870
1603
|
"type": {
|
|
1871
|
-
"fqn": "@xpertss/projen-types.
|
|
1604
|
+
"fqn": "@xpertss/projen-types.DockerPublishOptions"
|
|
1872
1605
|
}
|
|
1873
1606
|
}
|
|
1874
1607
|
]
|
|
1875
1608
|
},
|
|
1876
1609
|
"kind": "class",
|
|
1877
1610
|
"locationInModule": {
|
|
1878
|
-
"filename": "src/java/components/
|
|
1611
|
+
"filename": "src/java/components/docker-publish.ts",
|
|
1879
1612
|
"line": 11
|
|
1880
1613
|
},
|
|
1881
|
-
"name": "
|
|
1882
|
-
"symbolId": "src/java/components/
|
|
1614
|
+
"name": "DockerPublish",
|
|
1615
|
+
"symbolId": "src/java/components/docker-publish:DockerPublish"
|
|
1883
1616
|
},
|
|
1884
|
-
"@xpertss/projen-types.
|
|
1617
|
+
"@xpertss/projen-types.DockerPublishOptions": {
|
|
1885
1618
|
"assembly": "@xpertss/projen-types",
|
|
1886
1619
|
"datatype": true,
|
|
1887
1620
|
"docs": {
|
|
1888
1621
|
"stability": "experimental"
|
|
1889
1622
|
},
|
|
1890
|
-
"fqn": "@xpertss/projen-types.
|
|
1623
|
+
"fqn": "@xpertss/projen-types.DockerPublishOptions",
|
|
1891
1624
|
"kind": "interface",
|
|
1892
1625
|
"locationInModule": {
|
|
1893
|
-
"filename": "src/java/components/
|
|
1626
|
+
"filename": "src/java/components/docker-publish.ts",
|
|
1894
1627
|
"line": 5
|
|
1895
1628
|
},
|
|
1896
|
-
"name": "
|
|
1629
|
+
"name": "DockerPublishOptions",
|
|
1897
1630
|
"properties": [
|
|
1898
1631
|
{
|
|
1899
1632
|
"abstract": true,
|
|
1900
1633
|
"docs": {
|
|
1901
|
-
"default": "
|
|
1634
|
+
"default": "\"docker.io\"",
|
|
1902
1635
|
"stability": "experimental"
|
|
1903
1636
|
},
|
|
1904
1637
|
"immutable": true,
|
|
1905
1638
|
"locationInModule": {
|
|
1906
|
-
"filename": "src/java/components/
|
|
1639
|
+
"filename": "src/java/components/docker-publish.ts",
|
|
1907
1640
|
"line": 7
|
|
1908
1641
|
},
|
|
1909
|
-
"name": "
|
|
1642
|
+
"name": "dockerRegistry",
|
|
1910
1643
|
"optional": true,
|
|
1911
1644
|
"type": {
|
|
1912
1645
|
"primitive": "string"
|
|
1913
1646
|
}
|
|
1914
1647
|
}
|
|
1915
1648
|
],
|
|
1916
|
-
"symbolId": "src/java/components/
|
|
1649
|
+
"symbolId": "src/java/components/docker-publish:DockerPublishOptions"
|
|
1917
1650
|
},
|
|
1918
|
-
"@xpertss/projen-types.
|
|
1651
|
+
"@xpertss/projen-types.EcrEcsConstructs": {
|
|
1919
1652
|
"assembly": "@xpertss/projen-types",
|
|
1920
|
-
"base": "
|
|
1653
|
+
"base": "projen.Component",
|
|
1921
1654
|
"docs": {
|
|
1922
|
-
"remarks": "
|
|
1655
|
+
"remarks": "`externalImageSource` controls whether the\nservice pulls an externally-published image (infra-only projects) or one\nbuilt from this project's own source (app projects).",
|
|
1923
1656
|
"stability": "experimental",
|
|
1924
|
-
"summary": "
|
|
1657
|
+
"summary": "Reusable construct helper for an ECR repo + Fargate ECS cluster/service standing up a container image."
|
|
1925
1658
|
},
|
|
1926
|
-
"fqn": "@xpertss/projen-types.
|
|
1659
|
+
"fqn": "@xpertss/projen-types.EcrEcsConstructs",
|
|
1927
1660
|
"initializer": {
|
|
1928
1661
|
"docs": {
|
|
1929
1662
|
"stability": "experimental"
|
|
1930
1663
|
},
|
|
1931
1664
|
"locationInModule": {
|
|
1932
|
-
"filename": "src/
|
|
1933
|
-
"line":
|
|
1665
|
+
"filename": "src/cdk/components/ecr-ecs-constructs.ts",
|
|
1666
|
+
"line": 12
|
|
1934
1667
|
},
|
|
1935
1668
|
"parameters": [
|
|
1669
|
+
{
|
|
1670
|
+
"name": "project",
|
|
1671
|
+
"type": {
|
|
1672
|
+
"fqn": "projen.Project"
|
|
1673
|
+
}
|
|
1674
|
+
},
|
|
1936
1675
|
{
|
|
1937
1676
|
"name": "options",
|
|
1677
|
+
"optional": true,
|
|
1938
1678
|
"type": {
|
|
1939
|
-
"fqn": "@xpertss/projen-types.
|
|
1679
|
+
"fqn": "@xpertss/projen-types.EcrEcsOptions"
|
|
1940
1680
|
}
|
|
1941
1681
|
}
|
|
1942
1682
|
]
|
|
1943
1683
|
},
|
|
1944
1684
|
"kind": "class",
|
|
1945
1685
|
"locationInModule": {
|
|
1946
|
-
"filename": "src/
|
|
1947
|
-
"line":
|
|
1686
|
+
"filename": "src/cdk/components/ecr-ecs-constructs.ts",
|
|
1687
|
+
"line": 11
|
|
1948
1688
|
},
|
|
1949
|
-
"name": "
|
|
1950
|
-
"symbolId": "src/
|
|
1689
|
+
"name": "EcrEcsConstructs",
|
|
1690
|
+
"symbolId": "src/cdk/components/ecr-ecs-constructs:EcrEcsConstructs"
|
|
1951
1691
|
},
|
|
1952
|
-
"@xpertss/projen-types.
|
|
1692
|
+
"@xpertss/projen-types.EcrEcsOptions": {
|
|
1953
1693
|
"assembly": "@xpertss/projen-types",
|
|
1954
1694
|
"datatype": true,
|
|
1955
1695
|
"docs": {
|
|
1956
1696
|
"stability": "experimental"
|
|
1957
1697
|
},
|
|
1958
|
-
"fqn": "@xpertss/projen-types.
|
|
1959
|
-
"interfaces": [
|
|
1960
|
-
"@xpertss/projen-types.CommonJavaOptions"
|
|
1961
|
-
],
|
|
1698
|
+
"fqn": "@xpertss/projen-types.EcrEcsOptions",
|
|
1962
1699
|
"kind": "interface",
|
|
1963
1700
|
"locationInModule": {
|
|
1964
|
-
"filename": "src/
|
|
1965
|
-
"line":
|
|
1701
|
+
"filename": "src/cdk/options.ts",
|
|
1702
|
+
"line": 10
|
|
1966
1703
|
},
|
|
1967
|
-
"name": "
|
|
1704
|
+
"name": "EcrEcsOptions",
|
|
1968
1705
|
"properties": [
|
|
1969
1706
|
{
|
|
1970
1707
|
"abstract": true,
|
|
1971
1708
|
"docs": {
|
|
1972
|
-
"default": "
|
|
1709
|
+
"default": "false",
|
|
1973
1710
|
"stability": "experimental"
|
|
1974
1711
|
},
|
|
1975
1712
|
"immutable": true,
|
|
1976
1713
|
"locationInModule": {
|
|
1977
|
-
"filename": "src/
|
|
1978
|
-
"line":
|
|
1714
|
+
"filename": "src/cdk/options.ts",
|
|
1715
|
+
"line": 12
|
|
1979
1716
|
},
|
|
1980
|
-
"name": "
|
|
1717
|
+
"name": "enabled",
|
|
1981
1718
|
"optional": true,
|
|
1982
1719
|
"type": {
|
|
1983
|
-
"primitive": "
|
|
1720
|
+
"primitive": "boolean"
|
|
1721
|
+
}
|
|
1722
|
+
},
|
|
1723
|
+
{
|
|
1724
|
+
"abstract": true,
|
|
1725
|
+
"docs": {
|
|
1726
|
+
"default": "true",
|
|
1727
|
+
"stability": "experimental",
|
|
1728
|
+
"summary": "Whether the ECS service stands up an externally-built image (infra-only) rather than one built from this project's own source."
|
|
1729
|
+
},
|
|
1730
|
+
"immutable": true,
|
|
1731
|
+
"locationInModule": {
|
|
1732
|
+
"filename": "src/cdk/options.ts",
|
|
1733
|
+
"line": 20
|
|
1734
|
+
},
|
|
1735
|
+
"name": "externalImageSource",
|
|
1736
|
+
"optional": true,
|
|
1737
|
+
"type": {
|
|
1738
|
+
"primitive": "boolean"
|
|
1984
1739
|
}
|
|
1985
1740
|
}
|
|
1986
1741
|
],
|
|
1987
|
-
"symbolId": "src/
|
|
1742
|
+
"symbolId": "src/cdk/options:EcrEcsOptions"
|
|
1988
1743
|
},
|
|
1989
|
-
"@xpertss/projen-types.
|
|
1744
|
+
"@xpertss/projen-types.EdgeNetworkingConstructs": {
|
|
1990
1745
|
"assembly": "@xpertss/projen-types",
|
|
1991
|
-
"base": "
|
|
1746
|
+
"base": "projen.Component",
|
|
1992
1747
|
"docs": {
|
|
1993
1748
|
"stability": "experimental",
|
|
1994
|
-
"summary": "
|
|
1749
|
+
"summary": "Construct helpers for CloudFront/Route53/API Gateway/Cognito/SQS, scoped to whichever `edgeResources` the consuming project type opts into."
|
|
1995
1750
|
},
|
|
1996
|
-
"fqn": "@xpertss/projen-types.
|
|
1751
|
+
"fqn": "@xpertss/projen-types.EdgeNetworkingConstructs",
|
|
1997
1752
|
"initializer": {
|
|
1998
1753
|
"docs": {
|
|
1999
1754
|
"stability": "experimental"
|
|
2000
1755
|
},
|
|
2001
1756
|
"locationInModule": {
|
|
2002
|
-
"filename": "src/
|
|
2003
|
-
"line":
|
|
1757
|
+
"filename": "src/cdk/components/edge-networking-constructs.ts",
|
|
1758
|
+
"line": 46
|
|
2004
1759
|
},
|
|
2005
1760
|
"parameters": [
|
|
2006
1761
|
{
|
|
2007
|
-
"name": "
|
|
1762
|
+
"name": "project",
|
|
2008
1763
|
"type": {
|
|
2009
|
-
"fqn": "
|
|
1764
|
+
"fqn": "projen.Project"
|
|
1765
|
+
}
|
|
1766
|
+
},
|
|
1767
|
+
{
|
|
1768
|
+
"name": "resources",
|
|
1769
|
+
"type": {
|
|
1770
|
+
"collection": {
|
|
1771
|
+
"elementtype": {
|
|
1772
|
+
"primitive": "string"
|
|
1773
|
+
},
|
|
1774
|
+
"kind": "array"
|
|
1775
|
+
}
|
|
2010
1776
|
}
|
|
2011
1777
|
}
|
|
2012
1778
|
]
|
|
2013
1779
|
},
|
|
2014
1780
|
"kind": "class",
|
|
2015
1781
|
"locationInModule": {
|
|
2016
|
-
"filename": "src/
|
|
2017
|
-
"line":
|
|
1782
|
+
"filename": "src/cdk/components/edge-networking-constructs.ts",
|
|
1783
|
+
"line": 45
|
|
2018
1784
|
},
|
|
2019
|
-
"name": "
|
|
2020
|
-
"symbolId": "src/
|
|
1785
|
+
"name": "EdgeNetworkingConstructs",
|
|
1786
|
+
"symbolId": "src/cdk/components/edge-networking-constructs:EdgeNetworkingConstructs"
|
|
2021
1787
|
},
|
|
2022
|
-
"@xpertss/projen-types.
|
|
1788
|
+
"@xpertss/projen-types.EnvironmentOptions": {
|
|
2023
1789
|
"assembly": "@xpertss/projen-types",
|
|
2024
1790
|
"datatype": true,
|
|
2025
1791
|
"docs": {
|
|
2026
|
-
"stability": "experimental"
|
|
1792
|
+
"stability": "experimental",
|
|
1793
|
+
"summary": "A single named deployment target used by manual-dispatch deploy workflows."
|
|
2027
1794
|
},
|
|
2028
|
-
"fqn": "@xpertss/projen-types.
|
|
2029
|
-
"interfaces": [
|
|
2030
|
-
"@xpertss/projen-types.CommonJavaOptions"
|
|
2031
|
-
],
|
|
1795
|
+
"fqn": "@xpertss/projen-types.EnvironmentOptions",
|
|
2032
1796
|
"kind": "interface",
|
|
2033
1797
|
"locationInModule": {
|
|
2034
|
-
"filename": "src/
|
|
2035
|
-
"line":
|
|
1798
|
+
"filename": "src/common/environment-options.ts",
|
|
1799
|
+
"line": 4
|
|
2036
1800
|
},
|
|
2037
|
-
"name": "
|
|
1801
|
+
"name": "EnvironmentOptions",
|
|
2038
1802
|
"properties": [
|
|
2039
1803
|
{
|
|
2040
1804
|
"abstract": true,
|
|
2041
1805
|
"docs": {
|
|
2042
1806
|
"stability": "experimental",
|
|
2043
|
-
"summary": "
|
|
1807
|
+
"summary": "Environment name, e.g. \"dev\", \"stage\", \"prod\"."
|
|
2044
1808
|
},
|
|
2045
1809
|
"immutable": true,
|
|
2046
1810
|
"locationInModule": {
|
|
2047
|
-
"filename": "src/
|
|
1811
|
+
"filename": "src/common/environment-options.ts",
|
|
1812
|
+
"line": 6
|
|
1813
|
+
},
|
|
1814
|
+
"name": "name",
|
|
1815
|
+
"type": {
|
|
1816
|
+
"primitive": "string"
|
|
1817
|
+
}
|
|
1818
|
+
},
|
|
1819
|
+
{
|
|
1820
|
+
"abstract": true,
|
|
1821
|
+
"docs": {
|
|
1822
|
+
"stability": "experimental",
|
|
1823
|
+
"summary": "AWS account id to deploy into, if relevant to the deploy steps used."
|
|
1824
|
+
},
|
|
1825
|
+
"immutable": true,
|
|
1826
|
+
"locationInModule": {
|
|
1827
|
+
"filename": "src/common/environment-options.ts",
|
|
1828
|
+
"line": 9
|
|
1829
|
+
},
|
|
1830
|
+
"name": "accountId",
|
|
1831
|
+
"optional": true,
|
|
1832
|
+
"type": {
|
|
1833
|
+
"primitive": "string"
|
|
1834
|
+
}
|
|
1835
|
+
},
|
|
1836
|
+
{
|
|
1837
|
+
"abstract": true,
|
|
1838
|
+
"docs": {
|
|
1839
|
+
"stability": "experimental",
|
|
1840
|
+
"summary": "AWS region to deploy into, if relevant to the deploy steps used."
|
|
1841
|
+
},
|
|
1842
|
+
"immutable": true,
|
|
1843
|
+
"locationInModule": {
|
|
1844
|
+
"filename": "src/common/environment-options.ts",
|
|
1845
|
+
"line": 12
|
|
1846
|
+
},
|
|
1847
|
+
"name": "region",
|
|
1848
|
+
"optional": true,
|
|
1849
|
+
"type": {
|
|
1850
|
+
"primitive": "string"
|
|
1851
|
+
}
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
"abstract": true,
|
|
1855
|
+
"docs": {
|
|
1856
|
+
"default": "false",
|
|
1857
|
+
"stability": "experimental",
|
|
1858
|
+
"summary": "Whether this environment requires a GitHub Environment approval gate before the deploy job is allowed to run."
|
|
1859
|
+
},
|
|
1860
|
+
"immutable": true,
|
|
1861
|
+
"locationInModule": {
|
|
1862
|
+
"filename": "src/common/environment-options.ts",
|
|
2048
1863
|
"line": 20
|
|
2049
1864
|
},
|
|
2050
|
-
"name": "
|
|
1865
|
+
"name": "requiresApproval",
|
|
2051
1866
|
"optional": true,
|
|
2052
1867
|
"type": {
|
|
2053
1868
|
"primitive": "boolean"
|
|
2054
1869
|
}
|
|
1870
|
+
}
|
|
1871
|
+
],
|
|
1872
|
+
"symbolId": "src/common/environment-options:EnvironmentOptions"
|
|
1873
|
+
},
|
|
1874
|
+
"@xpertss/projen-types.FlywayMigration": {
|
|
1875
|
+
"assembly": "@xpertss/projen-types",
|
|
1876
|
+
"base": "projen.Component",
|
|
1877
|
+
"docs": {
|
|
1878
|
+
"remarks": "`flyway-core` is versionless - Spring Boot's BOM manages it, so\nit always matches what Boot's Flyway auto-configuration expects. The Maven\nplugin (which Boot's BOM does not manage) is pinned for the Java line.",
|
|
1879
|
+
"stability": "experimental",
|
|
1880
|
+
"summary": "Adds Flyway config/dependencies + a migrations directory for DB migrations."
|
|
1881
|
+
},
|
|
1882
|
+
"fqn": "@xpertss/projen-types.FlywayMigration",
|
|
1883
|
+
"initializer": {
|
|
1884
|
+
"docs": {
|
|
1885
|
+
"stability": "experimental"
|
|
1886
|
+
},
|
|
1887
|
+
"locationInModule": {
|
|
1888
|
+
"filename": "src/java/components/flyway-migration.ts",
|
|
1889
|
+
"line": 12
|
|
1890
|
+
},
|
|
1891
|
+
"parameters": [
|
|
1892
|
+
{
|
|
1893
|
+
"name": "project",
|
|
1894
|
+
"type": {
|
|
1895
|
+
"fqn": "@xpertss/projen-types.JavaSpringBootProject"
|
|
1896
|
+
}
|
|
1897
|
+
}
|
|
1898
|
+
]
|
|
1899
|
+
},
|
|
1900
|
+
"kind": "class",
|
|
1901
|
+
"locationInModule": {
|
|
1902
|
+
"filename": "src/java/components/flyway-migration.ts",
|
|
1903
|
+
"line": 11
|
|
1904
|
+
},
|
|
1905
|
+
"name": "FlywayMigration",
|
|
1906
|
+
"symbolId": "src/java/components/flyway-migration:FlywayMigration"
|
|
1907
|
+
},
|
|
1908
|
+
"@xpertss/projen-types.GitHubActionProject": {
|
|
1909
|
+
"assembly": "@xpertss/projen-types",
|
|
1910
|
+
"base": "projen.github.GitHubProject",
|
|
1911
|
+
"docs": {
|
|
1912
|
+
"stability": "experimental",
|
|
1913
|
+
"summary": "Scaffolds the repo lifecycle (AD-001) around a hand-committed, composite (shell) GitHub Action: the `build`/`test-dogfood`/`sonar`/`release` workflows, versioning and release discipline, the F003 verify components, and repo boilerplate (a private version-source `package.json`, `.yamllint`, `LICENSE`, and a `README.md` template). The action's own content (`action.yml`, its shell scripts, `test/` fixtures) is authored by hand per the action's own F### spec - this type only lints it."
|
|
1914
|
+
},
|
|
1915
|
+
"fqn": "@xpertss/projen-types.GitHubActionProject",
|
|
1916
|
+
"initializer": {
|
|
1917
|
+
"docs": {
|
|
1918
|
+
"stability": "experimental"
|
|
1919
|
+
},
|
|
1920
|
+
"locationInModule": {
|
|
1921
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1922
|
+
"line": 140
|
|
1923
|
+
},
|
|
1924
|
+
"parameters": [
|
|
1925
|
+
{
|
|
1926
|
+
"name": "options",
|
|
1927
|
+
"type": {
|
|
1928
|
+
"fqn": "@xpertss/projen-types.GitHubActionProjectOptions"
|
|
1929
|
+
}
|
|
1930
|
+
}
|
|
1931
|
+
]
|
|
1932
|
+
},
|
|
1933
|
+
"kind": "class",
|
|
1934
|
+
"locationInModule": {
|
|
1935
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1936
|
+
"line": 134
|
|
1937
|
+
},
|
|
1938
|
+
"name": "GitHubActionProject",
|
|
1939
|
+
"properties": [
|
|
1940
|
+
{
|
|
1941
|
+
"docs": {
|
|
1942
|
+
"stability": "experimental"
|
|
1943
|
+
},
|
|
1944
|
+
"immutable": true,
|
|
1945
|
+
"locationInModule": {
|
|
1946
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1947
|
+
"line": 135
|
|
1948
|
+
},
|
|
1949
|
+
"name": "buildWorkflow",
|
|
1950
|
+
"type": {
|
|
1951
|
+
"fqn": "@xpertss/projen-types.ActionBuildWorkflow"
|
|
1952
|
+
}
|
|
2055
1953
|
},
|
|
2056
1954
|
{
|
|
2057
|
-
"abstract": true,
|
|
2058
1955
|
"docs": {
|
|
2059
|
-
"default": "true",
|
|
2060
1956
|
"stability": "experimental"
|
|
2061
1957
|
},
|
|
2062
1958
|
"immutable": true,
|
|
2063
1959
|
"locationInModule": {
|
|
2064
|
-
"filename": "src/
|
|
2065
|
-
"line":
|
|
1960
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1961
|
+
"line": 136
|
|
2066
1962
|
},
|
|
2067
|
-
"name": "
|
|
1963
|
+
"name": "dogfoodWorkflow",
|
|
1964
|
+
"type": {
|
|
1965
|
+
"fqn": "@xpertss/projen-types.ActionDogfoodWorkflow"
|
|
1966
|
+
}
|
|
1967
|
+
},
|
|
1968
|
+
{
|
|
1969
|
+
"docs": {
|
|
1970
|
+
"stability": "experimental"
|
|
1971
|
+
},
|
|
1972
|
+
"immutable": true,
|
|
1973
|
+
"locationInModule": {
|
|
1974
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1975
|
+
"line": 138
|
|
1976
|
+
},
|
|
1977
|
+
"name": "release",
|
|
1978
|
+
"type": {
|
|
1979
|
+
"fqn": "projen.release.Release"
|
|
1980
|
+
}
|
|
1981
|
+
},
|
|
1982
|
+
{
|
|
1983
|
+
"docs": {
|
|
1984
|
+
"stability": "experimental"
|
|
1985
|
+
},
|
|
1986
|
+
"immutable": true,
|
|
1987
|
+
"locationInModule": {
|
|
1988
|
+
"filename": "src/actions/github-action-project.ts",
|
|
1989
|
+
"line": 137
|
|
1990
|
+
},
|
|
1991
|
+
"name": "sonarWorkflow",
|
|
1992
|
+
"type": {
|
|
1993
|
+
"fqn": "@xpertss/projen-types.ActionSonarWorkflow"
|
|
1994
|
+
}
|
|
1995
|
+
}
|
|
1996
|
+
],
|
|
1997
|
+
"symbolId": "src/actions/github-action-project:GitHubActionProject"
|
|
1998
|
+
},
|
|
1999
|
+
"@xpertss/projen-types.GitHubActionProjectOptions": {
|
|
2000
|
+
"assembly": "@xpertss/projen-types",
|
|
2001
|
+
"datatype": true,
|
|
2002
|
+
"docs": {
|
|
2003
|
+
"stability": "experimental"
|
|
2004
|
+
},
|
|
2005
|
+
"fqn": "@xpertss/projen-types.GitHubActionProjectOptions",
|
|
2006
|
+
"interfaces": [
|
|
2007
|
+
"projen.github.GitHubProjectOptions"
|
|
2008
|
+
],
|
|
2009
|
+
"kind": "interface",
|
|
2010
|
+
"locationInModule": {
|
|
2011
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2012
|
+
"line": 36
|
|
2013
|
+
},
|
|
2014
|
+
"name": "GitHubActionProjectOptions",
|
|
2015
|
+
"properties": [
|
|
2016
|
+
{
|
|
2017
|
+
"abstract": true,
|
|
2018
|
+
"docs": {
|
|
2019
|
+
"stability": "experimental",
|
|
2020
|
+
"summary": "URL of the org's SonarCloud instance (e.g. `https://sonarcloud.io`). MUST be reachable from github.com-hosted (public) runners (AD-001). Required, no default: a guessed server is worse than a loud failure."
|
|
2021
|
+
},
|
|
2022
|
+
"immutable": true,
|
|
2023
|
+
"locationInModule": {
|
|
2024
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2025
|
+
"line": 57
|
|
2026
|
+
},
|
|
2027
|
+
"name": "sonarHostUrl",
|
|
2028
|
+
"type": {
|
|
2029
|
+
"primitive": "string"
|
|
2030
|
+
}
|
|
2031
|
+
},
|
|
2032
|
+
{
|
|
2033
|
+
"abstract": true,
|
|
2034
|
+
"docs": {
|
|
2035
|
+
"remarks": "Used in the default README\ntemplate and recorded in the private `package.json`.",
|
|
2036
|
+
"stability": "experimental",
|
|
2037
|
+
"summary": "One-line description of the action."
|
|
2038
|
+
},
|
|
2039
|
+
"immutable": true,
|
|
2040
|
+
"locationInModule": {
|
|
2041
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2042
|
+
"line": 42
|
|
2043
|
+
},
|
|
2044
|
+
"name": "description",
|
|
2068
2045
|
"optional": true,
|
|
2069
2046
|
"type": {
|
|
2070
|
-
"primitive": "
|
|
2047
|
+
"primitive": "string"
|
|
2048
|
+
}
|
|
2049
|
+
},
|
|
2050
|
+
{
|
|
2051
|
+
"abstract": true,
|
|
2052
|
+
"docs": {
|
|
2053
|
+
"default": "- `test-dogfood.yml` runs one failing step that tells you to\ndeclare a scenario",
|
|
2054
|
+
"remarks": "What fixture state, what to assert, and\nhow to clean up are specified by the action's own F### spec - the\nhighest-risk behavior of that action.\n\nIts type is a struct, which projen's CLI cannot render into a projenrc,\nso it can only be written by hand - it is therefore optional, because a\n*required* option `projen new` cannot supply would make this project\ntype impossible to scaffold. AD-001's \"never a silent no-op dogfood\"\nrule is enforced instead by the workflow it generates in that case: a\nsingle step that fails on every PR until a scenario is declared.",
|
|
2055
|
+
"stability": "experimental",
|
|
2056
|
+
"summary": "The dogfood scenario (AD-001)."
|
|
2057
|
+
},
|
|
2058
|
+
"immutable": true,
|
|
2059
|
+
"locationInModule": {
|
|
2060
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2061
|
+
"line": 83
|
|
2062
|
+
},
|
|
2063
|
+
"name": "dogfood",
|
|
2064
|
+
"optional": true,
|
|
2065
|
+
"type": {
|
|
2066
|
+
"fqn": "@xpertss/projen-types.ActionDogfoodOptions"
|
|
2067
|
+
}
|
|
2068
|
+
},
|
|
2069
|
+
{
|
|
2070
|
+
"abstract": true,
|
|
2071
|
+
"docs": {
|
|
2072
|
+
"default": "true",
|
|
2073
|
+
"stability": "experimental",
|
|
2074
|
+
"summary": "Write a projen-managed `.editorconfig`."
|
|
2075
|
+
},
|
|
2076
|
+
"immutable": true,
|
|
2077
|
+
"locationInModule": {
|
|
2078
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2079
|
+
"line": 95
|
|
2080
|
+
},
|
|
2081
|
+
"name": "editorconfig",
|
|
2082
|
+
"optional": true,
|
|
2083
|
+
"type": {
|
|
2084
|
+
"primitive": "boolean"
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
"abstract": true,
|
|
2089
|
+
"docs": {
|
|
2090
|
+
"default": "\"PROJEN_GITHUB_TOKEN\"",
|
|
2091
|
+
"stability": "experimental",
|
|
2092
|
+
"summary": "Name of the GitHub Actions secret holding the PAT used for projen-automation PR comments (F003) and, when the action has a `token` input, the dogfood's invocation of it."
|
|
2093
|
+
},
|
|
2094
|
+
"immutable": true,
|
|
2095
|
+
"locationInModule": {
|
|
2096
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2097
|
+
"line": 50
|
|
2098
|
+
},
|
|
2099
|
+
"name": "gheTokenSecret",
|
|
2100
|
+
"optional": true,
|
|
2101
|
+
"type": {
|
|
2102
|
+
"primitive": "string"
|
|
2103
|
+
}
|
|
2104
|
+
},
|
|
2105
|
+
{
|
|
2106
|
+
"abstract": true,
|
|
2107
|
+
"docs": {
|
|
2108
|
+
"default": "\"MIT\"",
|
|
2109
|
+
"stability": "experimental",
|
|
2110
|
+
"summary": "SPDX identifier for the generated `LICENSE`."
|
|
2111
|
+
},
|
|
2112
|
+
"immutable": true,
|
|
2113
|
+
"locationInModule": {
|
|
2114
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2115
|
+
"line": 89
|
|
2116
|
+
},
|
|
2117
|
+
"name": "license",
|
|
2118
|
+
"optional": true,
|
|
2119
|
+
"type": {
|
|
2120
|
+
"primitive": "string"
|
|
2121
|
+
}
|
|
2122
|
+
},
|
|
2123
|
+
{
|
|
2124
|
+
"abstract": true,
|
|
2125
|
+
"docs": {
|
|
2126
|
+
"default": "true",
|
|
2127
|
+
"stability": "experimental",
|
|
2128
|
+
"summary": "Whether `sonar.yml` also runs on `pull_request` as a pass/fail gate."
|
|
2129
|
+
},
|
|
2130
|
+
"immutable": true,
|
|
2131
|
+
"locationInModule": {
|
|
2132
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2133
|
+
"line": 66
|
|
2134
|
+
},
|
|
2135
|
+
"name": "sonarPullRequestGate",
|
|
2136
|
+
"optional": true,
|
|
2137
|
+
"type": {
|
|
2138
|
+
"primitive": "boolean"
|
|
2139
|
+
}
|
|
2140
|
+
},
|
|
2141
|
+
{
|
|
2142
|
+
"abstract": true,
|
|
2143
|
+
"docs": {
|
|
2144
|
+
"default": "\"SONAR_TOKEN\"",
|
|
2145
|
+
"stability": "experimental"
|
|
2146
|
+
},
|
|
2147
|
+
"immutable": true,
|
|
2148
|
+
"locationInModule": {
|
|
2149
|
+
"filename": "src/actions/github-action-project.ts",
|
|
2150
|
+
"line": 60
|
|
2151
|
+
},
|
|
2152
|
+
"name": "sonarTokenSecret",
|
|
2153
|
+
"optional": true,
|
|
2154
|
+
"type": {
|
|
2155
|
+
"primitive": "string"
|
|
2156
|
+
}
|
|
2157
|
+
}
|
|
2158
|
+
],
|
|
2159
|
+
"symbolId": "src/actions/github-action-project:GitHubActionProjectOptions"
|
|
2160
|
+
},
|
|
2161
|
+
"@xpertss/projen-types.GitHubPackagesPublish": {
|
|
2162
|
+
"assembly": "@xpertss/projen-types",
|
|
2163
|
+
"base": "projen.Component",
|
|
2164
|
+
"docs": {
|
|
2165
|
+
"stability": "experimental",
|
|
2166
|
+
"summary": "On-demand publish to GitHub Packages."
|
|
2167
|
+
},
|
|
2168
|
+
"fqn": "@xpertss/projen-types.GitHubPackagesPublish",
|
|
2169
|
+
"initializer": {
|
|
2170
|
+
"docs": {
|
|
2171
|
+
"stability": "experimental"
|
|
2172
|
+
},
|
|
2173
|
+
"locationInModule": {
|
|
2174
|
+
"filename": "src/java/components/github-packages-publish.ts",
|
|
2175
|
+
"line": 12
|
|
2176
|
+
},
|
|
2177
|
+
"parameters": [
|
|
2178
|
+
{
|
|
2179
|
+
"name": "project",
|
|
2180
|
+
"type": {
|
|
2181
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject"
|
|
2182
|
+
}
|
|
2183
|
+
},
|
|
2184
|
+
{
|
|
2185
|
+
"name": "options",
|
|
2186
|
+
"optional": true,
|
|
2187
|
+
"type": {
|
|
2188
|
+
"fqn": "@xpertss/projen-types.GitHubPackagesPublishOptions"
|
|
2189
|
+
}
|
|
2190
|
+
}
|
|
2191
|
+
]
|
|
2192
|
+
},
|
|
2193
|
+
"kind": "class",
|
|
2194
|
+
"locationInModule": {
|
|
2195
|
+
"filename": "src/java/components/github-packages-publish.ts",
|
|
2196
|
+
"line": 11
|
|
2197
|
+
},
|
|
2198
|
+
"name": "GitHubPackagesPublish",
|
|
2199
|
+
"symbolId": "src/java/components/github-packages-publish:GitHubPackagesPublish"
|
|
2200
|
+
},
|
|
2201
|
+
"@xpertss/projen-types.GitHubPackagesPublishOptions": {
|
|
2202
|
+
"assembly": "@xpertss/projen-types",
|
|
2203
|
+
"datatype": true,
|
|
2204
|
+
"docs": {
|
|
2205
|
+
"stability": "experimental"
|
|
2206
|
+
},
|
|
2207
|
+
"fqn": "@xpertss/projen-types.GitHubPackagesPublishOptions",
|
|
2208
|
+
"kind": "interface",
|
|
2209
|
+
"locationInModule": {
|
|
2210
|
+
"filename": "src/java/components/github-packages-publish.ts",
|
|
2211
|
+
"line": 5
|
|
2212
|
+
},
|
|
2213
|
+
"name": "GitHubPackagesPublishOptions",
|
|
2214
|
+
"properties": [
|
|
2215
|
+
{
|
|
2216
|
+
"abstract": true,
|
|
2217
|
+
"docs": {
|
|
2218
|
+
"default": "derived from the repository URL",
|
|
2219
|
+
"stability": "experimental"
|
|
2220
|
+
},
|
|
2221
|
+
"immutable": true,
|
|
2222
|
+
"locationInModule": {
|
|
2223
|
+
"filename": "src/java/components/github-packages-publish.ts",
|
|
2224
|
+
"line": 7
|
|
2225
|
+
},
|
|
2226
|
+
"name": "ghPackagesRegistry",
|
|
2227
|
+
"optional": true,
|
|
2228
|
+
"type": {
|
|
2229
|
+
"primitive": "string"
|
|
2230
|
+
}
|
|
2231
|
+
}
|
|
2232
|
+
],
|
|
2233
|
+
"symbolId": "src/java/components/github-packages-publish:GitHubPackagesPublishOptions"
|
|
2234
|
+
},
|
|
2235
|
+
"@xpertss/projen-types.JavaAppProject": {
|
|
2236
|
+
"assembly": "@xpertss/projen-types",
|
|
2237
|
+
"base": "@xpertss/projen-types.JavaMavenProject",
|
|
2238
|
+
"docs": {
|
|
2239
|
+
"remarks": "Publishes to GitHub Packages only -\nexplicitly excludes Maven Central, Docker, and CDK deploy hooks.",
|
|
2240
|
+
"stability": "experimental",
|
|
2241
|
+
"summary": "GUI/TUI/CLI Java application."
|
|
2242
|
+
},
|
|
2243
|
+
"fqn": "@xpertss/projen-types.JavaAppProject",
|
|
2244
|
+
"initializer": {
|
|
2245
|
+
"docs": {
|
|
2246
|
+
"stability": "experimental"
|
|
2247
|
+
},
|
|
2248
|
+
"locationInModule": {
|
|
2249
|
+
"filename": "src/java/java-app-project.ts",
|
|
2250
|
+
"line": 10
|
|
2251
|
+
},
|
|
2252
|
+
"parameters": [
|
|
2253
|
+
{
|
|
2254
|
+
"name": "options",
|
|
2255
|
+
"type": {
|
|
2256
|
+
"fqn": "@xpertss/projen-types.JavaAppProjectOptions"
|
|
2257
|
+
}
|
|
2258
|
+
}
|
|
2259
|
+
]
|
|
2260
|
+
},
|
|
2261
|
+
"kind": "class",
|
|
2262
|
+
"locationInModule": {
|
|
2263
|
+
"filename": "src/java/java-app-project.ts",
|
|
2264
|
+
"line": 9
|
|
2265
|
+
},
|
|
2266
|
+
"name": "JavaAppProject",
|
|
2267
|
+
"symbolId": "src/java/java-app-project:JavaAppProject"
|
|
2268
|
+
},
|
|
2269
|
+
"@xpertss/projen-types.JavaAppProjectOptions": {
|
|
2270
|
+
"assembly": "@xpertss/projen-types",
|
|
2271
|
+
"datatype": true,
|
|
2272
|
+
"docs": {
|
|
2273
|
+
"stability": "experimental"
|
|
2274
|
+
},
|
|
2275
|
+
"fqn": "@xpertss/projen-types.JavaAppProjectOptions",
|
|
2276
|
+
"interfaces": [
|
|
2277
|
+
"@xpertss/projen-types.CommonJavaOptions"
|
|
2278
|
+
],
|
|
2279
|
+
"kind": "interface",
|
|
2280
|
+
"locationInModule": {
|
|
2281
|
+
"filename": "src/java/options.ts",
|
|
2282
|
+
"line": 201
|
|
2283
|
+
},
|
|
2284
|
+
"name": "JavaAppProjectOptions",
|
|
2285
|
+
"properties": [
|
|
2286
|
+
{
|
|
2287
|
+
"abstract": true,
|
|
2288
|
+
"docs": {
|
|
2289
|
+
"default": "\"https://maven.pkg.github.com/OWNER/REPO\" (derived from the repository URL)",
|
|
2290
|
+
"stability": "experimental"
|
|
2291
|
+
},
|
|
2292
|
+
"immutable": true,
|
|
2293
|
+
"locationInModule": {
|
|
2294
|
+
"filename": "src/java/options.ts",
|
|
2295
|
+
"line": 203
|
|
2296
|
+
},
|
|
2297
|
+
"name": "ghPackagesRegistry",
|
|
2298
|
+
"optional": true,
|
|
2299
|
+
"type": {
|
|
2300
|
+
"primitive": "string"
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
],
|
|
2304
|
+
"symbolId": "src/java/options:JavaAppProjectOptions"
|
|
2305
|
+
},
|
|
2306
|
+
"@xpertss/projen-types.JavaLibraryProject": {
|
|
2307
|
+
"assembly": "@xpertss/projen-types",
|
|
2308
|
+
"base": "@xpertss/projen-types.JavaMavenProject",
|
|
2309
|
+
"docs": {
|
|
2310
|
+
"remarks": "Single- or\nmulti-module; attaches the source and javadoc jars Central requires (in a\nreactor, every module inherits them).",
|
|
2311
|
+
"stability": "experimental",
|
|
2312
|
+
"summary": "Reusable Java library, published to Maven Central."
|
|
2313
|
+
},
|
|
2314
|
+
"fqn": "@xpertss/projen-types.JavaLibraryProject",
|
|
2315
|
+
"initializer": {
|
|
2316
|
+
"docs": {
|
|
2317
|
+
"stability": "experimental"
|
|
2318
|
+
},
|
|
2319
|
+
"locationInModule": {
|
|
2320
|
+
"filename": "src/java/java-library-project.ts",
|
|
2321
|
+
"line": 13
|
|
2322
|
+
},
|
|
2323
|
+
"parameters": [
|
|
2324
|
+
{
|
|
2325
|
+
"name": "options",
|
|
2326
|
+
"type": {
|
|
2327
|
+
"fqn": "@xpertss/projen-types.JavaLibraryProjectOptions"
|
|
2328
|
+
}
|
|
2329
|
+
}
|
|
2330
|
+
]
|
|
2331
|
+
},
|
|
2332
|
+
"kind": "class",
|
|
2333
|
+
"locationInModule": {
|
|
2334
|
+
"filename": "src/java/java-library-project.ts",
|
|
2335
|
+
"line": 12
|
|
2336
|
+
},
|
|
2337
|
+
"name": "JavaLibraryProject",
|
|
2338
|
+
"symbolId": "src/java/java-library-project:JavaLibraryProject"
|
|
2339
|
+
},
|
|
2340
|
+
"@xpertss/projen-types.JavaLibraryProjectOptions": {
|
|
2341
|
+
"assembly": "@xpertss/projen-types",
|
|
2342
|
+
"datatype": true,
|
|
2343
|
+
"docs": {
|
|
2344
|
+
"stability": "experimental"
|
|
2345
|
+
},
|
|
2346
|
+
"fqn": "@xpertss/projen-types.JavaLibraryProjectOptions",
|
|
2347
|
+
"interfaces": [
|
|
2348
|
+
"@xpertss/projen-types.CommonJavaOptions"
|
|
2349
|
+
],
|
|
2350
|
+
"kind": "interface",
|
|
2351
|
+
"locationInModule": {
|
|
2352
|
+
"filename": "src/java/options.ts",
|
|
2353
|
+
"line": 144
|
|
2354
|
+
},
|
|
2355
|
+
"name": "JavaLibraryProjectOptions",
|
|
2356
|
+
"properties": [
|
|
2357
|
+
{
|
|
2358
|
+
"abstract": true,
|
|
2359
|
+
"docs": {
|
|
2360
|
+
"stability": "experimental",
|
|
2361
|
+
"summary": "Use Maven Central's OIDC trusted-publishing flow instead of secret-based GPG signing."
|
|
2362
|
+
},
|
|
2363
|
+
"immutable": true,
|
|
2364
|
+
"locationInModule": {
|
|
2365
|
+
"filename": "src/java/options.ts",
|
|
2366
|
+
"line": 146
|
|
2367
|
+
},
|
|
2368
|
+
"name": "mavenCentralOidc",
|
|
2369
|
+
"optional": true,
|
|
2370
|
+
"type": {
|
|
2371
|
+
"primitive": "boolean"
|
|
2372
|
+
}
|
|
2373
|
+
},
|
|
2374
|
+
{
|
|
2375
|
+
"abstract": true,
|
|
2376
|
+
"docs": {
|
|
2377
|
+
"default": "true",
|
|
2378
|
+
"stability": "experimental"
|
|
2379
|
+
},
|
|
2380
|
+
"immutable": true,
|
|
2381
|
+
"locationInModule": {
|
|
2382
|
+
"filename": "src/java/options.ts",
|
|
2383
|
+
"line": 149
|
|
2384
|
+
},
|
|
2385
|
+
"name": "publishCodeIndex",
|
|
2386
|
+
"optional": true,
|
|
2387
|
+
"type": {
|
|
2388
|
+
"primitive": "boolean"
|
|
2389
|
+
}
|
|
2390
|
+
}
|
|
2391
|
+
],
|
|
2392
|
+
"symbolId": "src/java/options:JavaLibraryProjectOptions"
|
|
2393
|
+
},
|
|
2394
|
+
"@xpertss/projen-types.JavaMavenProject": {
|
|
2395
|
+
"assembly": "@xpertss/projen-types",
|
|
2396
|
+
"base": "projen.github.GitHubProject",
|
|
2397
|
+
"docs": {
|
|
2398
|
+
"remarks": "It is the base of every Java type in this package and is\nusable on its own (`projen new ... java_maven`).\n\n- The pom is written by this package (`MavenPom`), not projen's\n `java.Pom`: exact versions only, BOM imports, `<modules>`,\n `<dependencyManagement>`, `<pluginManagement>`.\n- Everything Java-version-dependent (compiler level, enforcer rule, JUnit\n line, CI JDK) follows `javaVersion`.\n- With no `addModule()` calls the root pom is the artifact. After the\n first `addModule()` it is a `pom`-packaged reactor parent and the\n modules inherit its plugins and test dependencies.\n- `npx projen build` synthesizes, then runs Maven once: `mvn -B verify`\n (unit tests via surefire, `*IT` tests via failsafe).\n- CI: a PR build (with an optional SonarQube scan), the projen drift\n check, and a nightly report-only update check.",
|
|
2399
|
+
"stability": "experimental",
|
|
2400
|
+
"summary": "Baseline Maven project, single- or multi-module, with no framework assumptions."
|
|
2401
|
+
},
|
|
2402
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject",
|
|
2403
|
+
"initializer": {
|
|
2404
|
+
"docs": {
|
|
2405
|
+
"stability": "experimental"
|
|
2406
|
+
},
|
|
2407
|
+
"locationInModule": {
|
|
2408
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2409
|
+
"line": 84
|
|
2410
|
+
},
|
|
2411
|
+
"parameters": [
|
|
2412
|
+
{
|
|
2413
|
+
"name": "options",
|
|
2414
|
+
"type": {
|
|
2415
|
+
"fqn": "@xpertss/projen-types.JavaMavenProjectOptions"
|
|
2416
|
+
}
|
|
2417
|
+
}
|
|
2418
|
+
]
|
|
2419
|
+
},
|
|
2420
|
+
"kind": "class",
|
|
2421
|
+
"locationInModule": {
|
|
2422
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2423
|
+
"line": 55
|
|
2424
|
+
},
|
|
2425
|
+
"methods": [
|
|
2426
|
+
{
|
|
2427
|
+
"docs": {
|
|
2428
|
+
"stability": "experimental",
|
|
2429
|
+
"summary": "Imports a BOM into the root `<dependencyManagement>` (`type=pom`, `scope=import`)."
|
|
2430
|
+
},
|
|
2431
|
+
"locationInModule": {
|
|
2432
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2433
|
+
"line": 274
|
|
2434
|
+
},
|
|
2435
|
+
"name": "addBom",
|
|
2436
|
+
"parameters": [
|
|
2437
|
+
{
|
|
2438
|
+
"docs": {
|
|
2439
|
+
"summary": "`groupId/artifactId@version`."
|
|
2440
|
+
},
|
|
2441
|
+
"name": "spec",
|
|
2442
|
+
"type": {
|
|
2443
|
+
"primitive": "string"
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
]
|
|
2447
|
+
},
|
|
2448
|
+
{
|
|
2449
|
+
"docs": {
|
|
2450
|
+
"remarks": "In a multi-module\nproject every module inherits it; use `MavenModule.addDependency` for\none module.",
|
|
2451
|
+
"stability": "experimental",
|
|
2452
|
+
"summary": "Adds a compile-scope dependency to the root pom."
|
|
2453
|
+
},
|
|
2454
|
+
"locationInModule": {
|
|
2455
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2456
|
+
"line": 296
|
|
2457
|
+
},
|
|
2458
|
+
"name": "addDependency",
|
|
2459
|
+
"parameters": [
|
|
2460
|
+
{
|
|
2461
|
+
"docs": {
|
|
2462
|
+
"summary": "`groupId/artifactId[@version]` - exact version, or none when a BOM manages it."
|
|
2463
|
+
},
|
|
2464
|
+
"name": "spec",
|
|
2465
|
+
"type": {
|
|
2466
|
+
"primitive": "string"
|
|
2467
|
+
}
|
|
2468
|
+
}
|
|
2469
|
+
]
|
|
2470
|
+
},
|
|
2471
|
+
{
|
|
2472
|
+
"docs": {
|
|
2473
|
+
"stability": "experimental",
|
|
2474
|
+
"summary": "Pins a version in the root `<dependencyManagement>` without adding the dependency, so modules (or the root) can use it versionless."
|
|
2475
|
+
},
|
|
2476
|
+
"locationInModule": {
|
|
2477
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2478
|
+
"line": 284
|
|
2479
|
+
},
|
|
2480
|
+
"name": "addManagedDependency",
|
|
2481
|
+
"parameters": [
|
|
2482
|
+
{
|
|
2483
|
+
"docs": {
|
|
2484
|
+
"summary": "`groupId/artifactId@version`."
|
|
2485
|
+
},
|
|
2486
|
+
"name": "spec",
|
|
2487
|
+
"type": {
|
|
2488
|
+
"primitive": "string"
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
]
|
|
2492
|
+
},
|
|
2493
|
+
{
|
|
2494
|
+
"docs": {
|
|
2495
|
+
"remarks": "may be nested,\ne.g. `tools/stub-model`) and turns the root pom into the reactor parent\n(`packaging=pom`, `<modules>` in the order added). The parent manages\nevery module at `${project.version}`, so modules depend on each other\nwith `addModuleDependency()`, versionless.",
|
|
2496
|
+
"stability": "experimental",
|
|
2497
|
+
"summary": "Adds a Maven module in `dir` (relative to the repo root;"
|
|
2498
|
+
},
|
|
2499
|
+
"locationInModule": {
|
|
2500
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2501
|
+
"line": 243
|
|
2502
|
+
},
|
|
2503
|
+
"name": "addModule",
|
|
2504
|
+
"parameters": [
|
|
2505
|
+
{
|
|
2506
|
+
"name": "options",
|
|
2507
|
+
"type": {
|
|
2508
|
+
"fqn": "@xpertss/projen-types.MavenModuleOptions"
|
|
2509
|
+
}
|
|
2510
|
+
}
|
|
2511
|
+
],
|
|
2512
|
+
"returns": {
|
|
2513
|
+
"type": {
|
|
2514
|
+
"fqn": "@xpertss/projen-types.MavenModule"
|
|
2515
|
+
}
|
|
2516
|
+
}
|
|
2517
|
+
},
|
|
2518
|
+
{
|
|
2519
|
+
"docs": {
|
|
2520
|
+
"stability": "experimental",
|
|
2521
|
+
"summary": "Adds a build plugin to the root pom (inherited by every module)."
|
|
2522
|
+
},
|
|
2523
|
+
"locationInModule": {
|
|
2524
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2525
|
+
"line": 306
|
|
2526
|
+
},
|
|
2527
|
+
"name": "addPlugin",
|
|
2528
|
+
"parameters": [
|
|
2529
|
+
{
|
|
2530
|
+
"name": "spec",
|
|
2531
|
+
"type": {
|
|
2532
|
+
"primitive": "string"
|
|
2533
|
+
}
|
|
2534
|
+
},
|
|
2535
|
+
{
|
|
2536
|
+
"name": "options",
|
|
2537
|
+
"optional": true,
|
|
2538
|
+
"type": {
|
|
2539
|
+
"fqn": "projen.java.PluginOptions"
|
|
2540
|
+
}
|
|
2541
|
+
}
|
|
2542
|
+
]
|
|
2543
|
+
},
|
|
2544
|
+
{
|
|
2545
|
+
"docs": {
|
|
2546
|
+
"stability": "experimental",
|
|
2547
|
+
"summary": "Adds a test-scope dependency to the root pom (inherited by every module)."
|
|
2548
|
+
},
|
|
2549
|
+
"locationInModule": {
|
|
2550
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2551
|
+
"line": 301
|
|
2552
|
+
},
|
|
2553
|
+
"name": "addTestDependency",
|
|
2554
|
+
"parameters": [
|
|
2555
|
+
{
|
|
2556
|
+
"name": "spec",
|
|
2557
|
+
"type": {
|
|
2558
|
+
"primitive": "string"
|
|
2559
|
+
}
|
|
2560
|
+
}
|
|
2561
|
+
]
|
|
2562
|
+
},
|
|
2563
|
+
{
|
|
2564
|
+
"docs": {
|
|
2565
|
+
"stability": "experimental",
|
|
2566
|
+
"summary": "The newest Spring Boot major version `javaVersion` supports, or undefined when this package knows of no cap."
|
|
2567
|
+
},
|
|
2568
|
+
"locationInModule": {
|
|
2569
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2570
|
+
"line": 334
|
|
2571
|
+
},
|
|
2572
|
+
"name": "maxSpringBootMajor",
|
|
2573
|
+
"protected": true,
|
|
2574
|
+
"returns": {
|
|
2575
|
+
"optional": true,
|
|
2576
|
+
"type": {
|
|
2577
|
+
"primitive": "number"
|
|
2578
|
+
}
|
|
2579
|
+
}
|
|
2580
|
+
},
|
|
2581
|
+
{
|
|
2582
|
+
"docs": {
|
|
2583
|
+
"stability": "experimental",
|
|
2584
|
+
"summary": "The exact version this project uses for a `groupId/artifactId` it pins by default: the `pluginVersions` override if set, otherwise the default for `javaVersion`."
|
|
2585
|
+
},
|
|
2586
|
+
"locationInModule": {
|
|
2587
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2588
|
+
"line": 322
|
|
2589
|
+
},
|
|
2590
|
+
"name": "pinnedVersion",
|
|
2591
|
+
"parameters": [
|
|
2592
|
+
{
|
|
2593
|
+
"name": "coordinates",
|
|
2594
|
+
"type": {
|
|
2595
|
+
"primitive": "string"
|
|
2596
|
+
}
|
|
2597
|
+
}
|
|
2598
|
+
],
|
|
2599
|
+
"returns": {
|
|
2600
|
+
"type": {
|
|
2601
|
+
"primitive": "string"
|
|
2602
|
+
}
|
|
2603
|
+
}
|
|
2604
|
+
},
|
|
2605
|
+
{
|
|
2606
|
+
"docs": {
|
|
2607
|
+
"stability": "experimental",
|
|
2608
|
+
"summary": "Called before all components are synthesized."
|
|
2609
|
+
},
|
|
2610
|
+
"locationInModule": {
|
|
2611
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2612
|
+
"line": 310
|
|
2613
|
+
},
|
|
2614
|
+
"name": "preSynthesize",
|
|
2615
|
+
"overrides": "projen.Project"
|
|
2616
|
+
}
|
|
2617
|
+
],
|
|
2618
|
+
"name": "JavaMavenProject",
|
|
2619
|
+
"properties": [
|
|
2620
|
+
{
|
|
2621
|
+
"docs": {
|
|
2622
|
+
"stability": "experimental",
|
|
2623
|
+
"summary": "The PR build workflow (`build.yml`). Add jobs to it with `buildVerifyWorkflow.addJob(id, job)`; use `ciSetupSteps` for a job that needs Node, the projen toolchain, and the JDK."
|
|
2624
|
+
},
|
|
2625
|
+
"immutable": true,
|
|
2626
|
+
"locationInModule": {
|
|
2627
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2628
|
+
"line": 70
|
|
2629
|
+
},
|
|
2630
|
+
"name": "buildVerifyWorkflow",
|
|
2631
|
+
"type": {
|
|
2632
|
+
"fqn": "projen.github.TaskWorkflow"
|
|
2633
|
+
}
|
|
2634
|
+
},
|
|
2635
|
+
{
|
|
2636
|
+
"docs": {
|
|
2637
|
+
"stability": "experimental",
|
|
2638
|
+
"summary": "Steps that install Node (pinned), `npm ci`, and the project's JDK with a Maven cache - the setup every Maven CI job in this repo needs."
|
|
2639
|
+
},
|
|
2640
|
+
"immutable": true,
|
|
2641
|
+
"locationInModule": {
|
|
2642
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2643
|
+
"line": 76
|
|
2644
|
+
},
|
|
2645
|
+
"name": "ciSetupSteps",
|
|
2646
|
+
"type": {
|
|
2647
|
+
"collection": {
|
|
2648
|
+
"elementtype": {
|
|
2649
|
+
"fqn": "projen.github.workflows.JobStep"
|
|
2650
|
+
},
|
|
2651
|
+
"kind": "array"
|
|
2652
|
+
}
|
|
2653
|
+
}
|
|
2654
|
+
},
|
|
2655
|
+
{
|
|
2656
|
+
"docs": {
|
|
2657
|
+
"stability": "experimental",
|
|
2658
|
+
"summary": "The canonical Java line the build targets (`1.8`, `17`, `21`, `25`)."
|
|
2659
|
+
},
|
|
2660
|
+
"immutable": true,
|
|
2661
|
+
"locationInModule": {
|
|
2662
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2663
|
+
"line": 60
|
|
2664
|
+
},
|
|
2665
|
+
"name": "javaVersion",
|
|
2666
|
+
"type": {
|
|
2667
|
+
"primitive": "string"
|
|
2668
|
+
}
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
"docs": {
|
|
2672
|
+
"stability": "experimental",
|
|
2673
|
+
"summary": "The modules added with `addModule()`, in order."
|
|
2674
|
+
},
|
|
2675
|
+
"immutable": true,
|
|
2676
|
+
"locationInModule": {
|
|
2677
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2678
|
+
"line": 232
|
|
2679
|
+
},
|
|
2680
|
+
"name": "modules",
|
|
2681
|
+
"type": {
|
|
2682
|
+
"collection": {
|
|
2683
|
+
"elementtype": {
|
|
2684
|
+
"fqn": "@xpertss/projen-types.MavenModule"
|
|
2685
|
+
},
|
|
2686
|
+
"kind": "array"
|
|
2687
|
+
}
|
|
2688
|
+
}
|
|
2689
|
+
},
|
|
2690
|
+
{
|
|
2691
|
+
"docs": {
|
|
2692
|
+
"stability": "experimental",
|
|
2693
|
+
"summary": "The root `pom.xml`."
|
|
2694
|
+
},
|
|
2695
|
+
"immutable": true,
|
|
2696
|
+
"locationInModule": {
|
|
2697
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2698
|
+
"line": 57
|
|
2699
|
+
},
|
|
2700
|
+
"name": "pom",
|
|
2701
|
+
"type": {
|
|
2702
|
+
"fqn": "@xpertss/projen-types.MavenPom"
|
|
2703
|
+
}
|
|
2704
|
+
},
|
|
2705
|
+
{
|
|
2706
|
+
"docs": {
|
|
2707
|
+
"stability": "experimental",
|
|
2708
|
+
"summary": "Prints available dependency/plugin updates (`npx projen upgrade`)."
|
|
2709
|
+
},
|
|
2710
|
+
"immutable": true,
|
|
2711
|
+
"locationInModule": {
|
|
2712
|
+
"filename": "src/java/java-maven-base.ts",
|
|
2713
|
+
"line": 63
|
|
2714
|
+
},
|
|
2715
|
+
"name": "upgradeTask",
|
|
2716
|
+
"type": {
|
|
2717
|
+
"fqn": "projen.Task"
|
|
2718
|
+
}
|
|
2719
|
+
}
|
|
2720
|
+
],
|
|
2721
|
+
"symbolId": "src/java/java-maven-base:JavaMavenProject"
|
|
2722
|
+
},
|
|
2723
|
+
"@xpertss/projen-types.JavaMavenProjectOptions": {
|
|
2724
|
+
"assembly": "@xpertss/projen-types",
|
|
2725
|
+
"datatype": true,
|
|
2726
|
+
"docs": {
|
|
2727
|
+
"stability": "experimental",
|
|
2728
|
+
"summary": "Options for `JavaMavenProject`."
|
|
2729
|
+
},
|
|
2730
|
+
"fqn": "@xpertss/projen-types.JavaMavenProjectOptions",
|
|
2731
|
+
"interfaces": [
|
|
2732
|
+
"@xpertss/projen-types.CommonJavaOptions"
|
|
2733
|
+
],
|
|
2734
|
+
"kind": "interface",
|
|
2735
|
+
"locationInModule": {
|
|
2736
|
+
"filename": "src/java/options.ts",
|
|
2737
|
+
"line": 128
|
|
2738
|
+
},
|
|
2739
|
+
"name": "JavaMavenProjectOptions",
|
|
2740
|
+
"symbolId": "src/java/options:JavaMavenProjectOptions"
|
|
2741
|
+
},
|
|
2742
|
+
"@xpertss/projen-types.JavaServiceProject": {
|
|
2743
|
+
"assembly": "@xpertss/projen-types",
|
|
2744
|
+
"base": "@xpertss/projen-types.JavaSpringBootProject",
|
|
2745
|
+
"docs": {
|
|
2746
|
+
"remarks": "Publish and deploy\nare both manual-dispatch, not on every merge.\n\nSingle-module only: the Docker build, Flyway migrations and deploy hook\nall assume one deployable at the repo root. For a multi-module Spring Boot\nrepo use `JavaSpringBootProject`.",
|
|
2747
|
+
"stability": "experimental",
|
|
2748
|
+
"summary": "Spring Boot service application deployed as a container: `JavaSpringBootProject` plus Docker publishing (Docker Hub by default - never Maven Central), Flyway, and a CDK deploy hook."
|
|
2749
|
+
},
|
|
2750
|
+
"fqn": "@xpertss/projen-types.JavaServiceProject",
|
|
2751
|
+
"initializer": {
|
|
2752
|
+
"docs": {
|
|
2753
|
+
"stability": "experimental"
|
|
2754
|
+
},
|
|
2755
|
+
"locationInModule": {
|
|
2756
|
+
"filename": "src/java/java-service-project.ts",
|
|
2757
|
+
"line": 19
|
|
2758
|
+
},
|
|
2759
|
+
"parameters": [
|
|
2760
|
+
{
|
|
2761
|
+
"name": "options",
|
|
2762
|
+
"type": {
|
|
2763
|
+
"fqn": "@xpertss/projen-types.JavaServiceProjectOptions"
|
|
2764
|
+
}
|
|
2765
|
+
}
|
|
2766
|
+
]
|
|
2767
|
+
},
|
|
2768
|
+
"kind": "class",
|
|
2769
|
+
"locationInModule": {
|
|
2770
|
+
"filename": "src/java/java-service-project.ts",
|
|
2771
|
+
"line": 18
|
|
2772
|
+
},
|
|
2773
|
+
"methods": [
|
|
2774
|
+
{
|
|
2775
|
+
"docs": {
|
|
2776
|
+
"remarks": "Use\n`JavaSpringBootProject` for a multi-module Spring Boot repo.",
|
|
2777
|
+
"stability": "experimental",
|
|
2778
|
+
"summary": "Not supported: `JavaServiceProject` is single-module."
|
|
2779
|
+
},
|
|
2780
|
+
"locationInModule": {
|
|
2781
|
+
"filename": "src/java/java-service-project.ts",
|
|
2782
|
+
"line": 41
|
|
2783
|
+
},
|
|
2784
|
+
"name": "addModule",
|
|
2785
|
+
"overrides": "@xpertss/projen-types.JavaMavenProject",
|
|
2786
|
+
"parameters": [
|
|
2787
|
+
{
|
|
2788
|
+
"name": "_options",
|
|
2789
|
+
"type": {
|
|
2790
|
+
"fqn": "@xpertss/projen-types.MavenModuleOptions"
|
|
2791
|
+
}
|
|
2792
|
+
}
|
|
2793
|
+
],
|
|
2794
|
+
"returns": {
|
|
2795
|
+
"type": {
|
|
2796
|
+
"fqn": "@xpertss/projen-types.MavenModule"
|
|
2797
|
+
}
|
|
2798
|
+
}
|
|
2799
|
+
}
|
|
2800
|
+
],
|
|
2801
|
+
"name": "JavaServiceProject",
|
|
2802
|
+
"symbolId": "src/java/java-service-project:JavaServiceProject"
|
|
2803
|
+
},
|
|
2804
|
+
"@xpertss/projen-types.JavaServiceProjectOptions": {
|
|
2805
|
+
"assembly": "@xpertss/projen-types",
|
|
2806
|
+
"datatype": true,
|
|
2807
|
+
"docs": {
|
|
2808
|
+
"stability": "experimental"
|
|
2809
|
+
},
|
|
2810
|
+
"fqn": "@xpertss/projen-types.JavaServiceProjectOptions",
|
|
2811
|
+
"interfaces": [
|
|
2812
|
+
"@xpertss/projen-types.JavaSpringBootProjectOptions"
|
|
2813
|
+
],
|
|
2814
|
+
"kind": "interface",
|
|
2815
|
+
"locationInModule": {
|
|
2816
|
+
"filename": "src/java/options.ts",
|
|
2817
|
+
"line": 163
|
|
2818
|
+
},
|
|
2819
|
+
"name": "JavaServiceProjectOptions",
|
|
2820
|
+
"properties": [
|
|
2821
|
+
{
|
|
2822
|
+
"abstract": true,
|
|
2823
|
+
"docs": {
|
|
2824
|
+
"default": "true",
|
|
2825
|
+
"stability": "experimental",
|
|
2826
|
+
"summary": "Whether to generate the `deploy-cdk` workflow at all."
|
|
2827
|
+
},
|
|
2828
|
+
"immutable": true,
|
|
2829
|
+
"locationInModule": {
|
|
2830
|
+
"filename": "src/java/options.ts",
|
|
2831
|
+
"line": 190
|
|
2832
|
+
},
|
|
2833
|
+
"name": "cdkDeployHook",
|
|
2834
|
+
"optional": true,
|
|
2835
|
+
"type": {
|
|
2836
|
+
"primitive": "boolean"
|
|
2837
|
+
}
|
|
2838
|
+
},
|
|
2839
|
+
{
|
|
2840
|
+
"abstract": true,
|
|
2841
|
+
"docs": {
|
|
2842
|
+
"custom": {
|
|
2843
|
+
"xpertss": "/projen-types java_service` can pass it\n(`--cdk-deploy-target-repo owner/repo`): projen's CLI can only render\noptions whose type is a string/number/boolean/array/enum, so a\nstruct-typed option is invisible to it."
|
|
2844
|
+
},
|
|
2845
|
+
"default": "- `deploy-cdk.yml` is generated with a single failing step that\ntells you to set this",
|
|
2846
|
+
"remarks": "A plain string rather than a nested struct so that\n`projen new --from",
|
|
2847
|
+
"stability": "experimental",
|
|
2848
|
+
"summary": "The companion CDK infra/app repo (`owner/repo`) whose `deploy.yml` the `deploy-cdk` workflow dispatches."
|
|
2849
|
+
},
|
|
2850
|
+
"immutable": true,
|
|
2851
|
+
"locationInModule": {
|
|
2852
|
+
"filename": "src/java/options.ts",
|
|
2853
|
+
"line": 183
|
|
2854
|
+
},
|
|
2855
|
+
"name": "cdkDeployTargetRepo",
|
|
2856
|
+
"optional": true,
|
|
2857
|
+
"type": {
|
|
2858
|
+
"primitive": "string"
|
|
2859
|
+
}
|
|
2860
|
+
},
|
|
2861
|
+
{
|
|
2862
|
+
"abstract": true,
|
|
2863
|
+
"docs": {
|
|
2864
|
+
"default": "\"docker.io\"",
|
|
2865
|
+
"stability": "experimental"
|
|
2866
|
+
},
|
|
2867
|
+
"immutable": true,
|
|
2868
|
+
"locationInModule": {
|
|
2869
|
+
"filename": "src/java/options.ts",
|
|
2870
|
+
"line": 165
|
|
2871
|
+
},
|
|
2872
|
+
"name": "dockerRegistry",
|
|
2873
|
+
"optional": true,
|
|
2874
|
+
"type": {
|
|
2875
|
+
"primitive": "string"
|
|
2876
|
+
}
|
|
2877
|
+
},
|
|
2878
|
+
{
|
|
2879
|
+
"abstract": true,
|
|
2880
|
+
"docs": {
|
|
2881
|
+
"default": "[\"prod\"]",
|
|
2882
|
+
"stability": "experimental",
|
|
2883
|
+
"summary": "Deploy targets to offer on the `CdkDeployHook`'s manual-dispatch workflow, when the hook is enabled."
|
|
2884
|
+
},
|
|
2885
|
+
"immutable": true,
|
|
2886
|
+
"locationInModule": {
|
|
2887
|
+
"filename": "src/java/options.ts",
|
|
2888
|
+
"line": 198
|
|
2889
|
+
},
|
|
2890
|
+
"name": "environments",
|
|
2891
|
+
"optional": true,
|
|
2892
|
+
"type": {
|
|
2893
|
+
"collection": {
|
|
2894
|
+
"elementtype": {
|
|
2895
|
+
"union": {
|
|
2896
|
+
"types": [
|
|
2897
|
+
{
|
|
2898
|
+
"primitive": "string"
|
|
2899
|
+
},
|
|
2900
|
+
{
|
|
2901
|
+
"fqn": "@xpertss/projen-types.EnvironmentOptions"
|
|
2902
|
+
}
|
|
2903
|
+
]
|
|
2904
|
+
}
|
|
2905
|
+
},
|
|
2906
|
+
"kind": "array"
|
|
2907
|
+
}
|
|
2908
|
+
}
|
|
2909
|
+
},
|
|
2910
|
+
{
|
|
2911
|
+
"abstract": true,
|
|
2912
|
+
"docs": {
|
|
2913
|
+
"default": "true",
|
|
2914
|
+
"stability": "experimental"
|
|
2915
|
+
},
|
|
2916
|
+
"immutable": true,
|
|
2917
|
+
"locationInModule": {
|
|
2918
|
+
"filename": "src/java/options.ts",
|
|
2919
|
+
"line": 168
|
|
2920
|
+
},
|
|
2921
|
+
"name": "useFlyway",
|
|
2922
|
+
"optional": true,
|
|
2923
|
+
"type": {
|
|
2924
|
+
"primitive": "boolean"
|
|
2925
|
+
}
|
|
2926
|
+
}
|
|
2927
|
+
],
|
|
2928
|
+
"symbolId": "src/java/options:JavaServiceProjectOptions"
|
|
2929
|
+
},
|
|
2930
|
+
"@xpertss/projen-types.JavaSpringBootProject": {
|
|
2931
|
+
"assembly": "@xpertss/projen-types",
|
|
2932
|
+
"base": "@xpertss/projen-types.JavaMavenProject",
|
|
2933
|
+
"docs": {
|
|
2934
|
+
"remarks": "- `spring-boot-dependencies` is imported as the first BOM, so starters and\n the libraries Boot manages (JUnit included) are added versionless.\n- `spring-boot-maven-plugin` is versioned in `<pluginManagement>`. A\n single-module project repackages its root jar into an executable one.\n In a multi-module project only modules added with\n `addSpringBootModule()` are repackaged; `addModule()` modules stay plain\n jars (shared libraries, clients, ...).\n\n`JavaServiceProject` builds on this and adds Docker publishing, Flyway,\nand a CDK deploy hook.",
|
|
2935
|
+
"stability": "experimental",
|
|
2936
|
+
"summary": "Spring Boot on Maven, single- or multi-module, with no Docker, Flyway or CDK - `JavaMavenProject` plus Spring Boot dependency management."
|
|
2937
|
+
},
|
|
2938
|
+
"fqn": "@xpertss/projen-types.JavaSpringBootProject",
|
|
2939
|
+
"initializer": {
|
|
2940
|
+
"docs": {
|
|
2941
|
+
"stability": "experimental"
|
|
2942
|
+
},
|
|
2943
|
+
"locationInModule": {
|
|
2944
|
+
"filename": "src/java/java-spring-boot-project.ts",
|
|
2945
|
+
"line": 33
|
|
2946
|
+
},
|
|
2947
|
+
"parameters": [
|
|
2948
|
+
{
|
|
2949
|
+
"name": "options",
|
|
2950
|
+
"type": {
|
|
2951
|
+
"fqn": "@xpertss/projen-types.JavaSpringBootProjectOptions"
|
|
2952
|
+
}
|
|
2953
|
+
}
|
|
2954
|
+
]
|
|
2955
|
+
},
|
|
2956
|
+
"kind": "class",
|
|
2957
|
+
"locationInModule": {
|
|
2958
|
+
"filename": "src/java/java-spring-boot-project.ts",
|
|
2959
|
+
"line": 29
|
|
2960
|
+
},
|
|
2961
|
+
"methods": [
|
|
2962
|
+
{
|
|
2963
|
+
"docs": {
|
|
2964
|
+
"stability": "experimental",
|
|
2965
|
+
"summary": "Adds a module that is a Spring Boot application: like `addModule()`, plus `spring-boot-maven-plugin`'s `repackage`, which turns the module's jar into an executable one."
|
|
2966
|
+
},
|
|
2967
|
+
"locationInModule": {
|
|
2968
|
+
"filename": "src/java/java-spring-boot-project.ts",
|
|
2969
|
+
"line": 65
|
|
2970
|
+
},
|
|
2971
|
+
"name": "addSpringBootModule",
|
|
2972
|
+
"parameters": [
|
|
2973
|
+
{
|
|
2974
|
+
"name": "options",
|
|
2975
|
+
"type": {
|
|
2976
|
+
"fqn": "@xpertss/projen-types.MavenModuleOptions"
|
|
2977
|
+
}
|
|
2978
|
+
}
|
|
2979
|
+
],
|
|
2980
|
+
"returns": {
|
|
2981
|
+
"type": {
|
|
2982
|
+
"fqn": "@xpertss/projen-types.MavenModule"
|
|
2983
|
+
}
|
|
2984
|
+
}
|
|
2985
|
+
},
|
|
2986
|
+
{
|
|
2987
|
+
"docs": {
|
|
2988
|
+
"stability": "experimental",
|
|
2989
|
+
"summary": "Called before all components are synthesized."
|
|
2990
|
+
},
|
|
2991
|
+
"locationInModule": {
|
|
2992
|
+
"filename": "src/java/java-spring-boot-project.ts",
|
|
2993
|
+
"line": 71
|
|
2994
|
+
},
|
|
2995
|
+
"name": "preSynthesize",
|
|
2996
|
+
"overrides": "@xpertss/projen-types.JavaMavenProject"
|
|
2997
|
+
}
|
|
2998
|
+
],
|
|
2999
|
+
"name": "JavaSpringBootProject",
|
|
3000
|
+
"properties": [
|
|
3001
|
+
{
|
|
3002
|
+
"docs": {
|
|
3003
|
+
"stability": "experimental",
|
|
3004
|
+
"summary": "The Spring Boot version (BOM and Maven plugin)."
|
|
3005
|
+
},
|
|
3006
|
+
"immutable": true,
|
|
3007
|
+
"locationInModule": {
|
|
3008
|
+
"filename": "src/java/java-spring-boot-project.ts",
|
|
3009
|
+
"line": 31
|
|
3010
|
+
},
|
|
3011
|
+
"name": "springBootVersion",
|
|
3012
|
+
"type": {
|
|
3013
|
+
"primitive": "string"
|
|
3014
|
+
}
|
|
3015
|
+
}
|
|
3016
|
+
],
|
|
3017
|
+
"symbolId": "src/java/java-spring-boot-project:JavaSpringBootProject"
|
|
3018
|
+
},
|
|
3019
|
+
"@xpertss/projen-types.JavaSpringBootProjectOptions": {
|
|
3020
|
+
"assembly": "@xpertss/projen-types",
|
|
3021
|
+
"datatype": true,
|
|
3022
|
+
"docs": {
|
|
3023
|
+
"stability": "experimental",
|
|
3024
|
+
"summary": "Options for `JavaSpringBootProject`."
|
|
3025
|
+
},
|
|
3026
|
+
"fqn": "@xpertss/projen-types.JavaSpringBootProjectOptions",
|
|
3027
|
+
"interfaces": [
|
|
3028
|
+
"@xpertss/projen-types.CommonJavaOptions"
|
|
3029
|
+
],
|
|
3030
|
+
"kind": "interface",
|
|
3031
|
+
"locationInModule": {
|
|
3032
|
+
"filename": "src/java/options.ts",
|
|
3033
|
+
"line": 131
|
|
3034
|
+
},
|
|
3035
|
+
"name": "JavaSpringBootProjectOptions",
|
|
3036
|
+
"properties": [
|
|
3037
|
+
{
|
|
3038
|
+
"abstract": true,
|
|
3039
|
+
"docs": {
|
|
3040
|
+
"default": "- the newest release of the line supporting `javaVersion`\n(2.7.x for 1.8, otherwise the current major)",
|
|
3041
|
+
"remarks": "Must be an exact version.\nSpring Boot 3 and later need Java 17+, so with `javaVersion: '1.8'` only\na 2.x version is accepted.",
|
|
3042
|
+
"stability": "experimental",
|
|
3043
|
+
"summary": "Spring Boot version: imports `spring-boot-dependencies` as the first BOM, and versions `spring-boot-maven-plugin`."
|
|
3044
|
+
},
|
|
3045
|
+
"immutable": true,
|
|
3046
|
+
"locationInModule": {
|
|
3047
|
+
"filename": "src/java/options.ts",
|
|
3048
|
+
"line": 141
|
|
3049
|
+
},
|
|
3050
|
+
"name": "springBootVersion",
|
|
3051
|
+
"optional": true,
|
|
3052
|
+
"type": {
|
|
3053
|
+
"primitive": "string"
|
|
3054
|
+
}
|
|
3055
|
+
}
|
|
3056
|
+
],
|
|
3057
|
+
"symbolId": "src/java/options:JavaSpringBootProjectOptions"
|
|
3058
|
+
},
|
|
3059
|
+
"@xpertss/projen-types.MavenCentralPublish": {
|
|
3060
|
+
"assembly": "@xpertss/projen-types",
|
|
3061
|
+
"base": "projen.Component",
|
|
3062
|
+
"docs": {
|
|
3063
|
+
"stability": "experimental",
|
|
3064
|
+
"summary": "On-demand publish workflow to Maven Central, with GPG signing (secrets) or OIDC trusted publishing."
|
|
3065
|
+
},
|
|
3066
|
+
"fqn": "@xpertss/projen-types.MavenCentralPublish",
|
|
3067
|
+
"initializer": {
|
|
3068
|
+
"docs": {
|
|
3069
|
+
"stability": "experimental"
|
|
3070
|
+
},
|
|
3071
|
+
"locationInModule": {
|
|
3072
|
+
"filename": "src/java/components/maven-central-publish.ts",
|
|
3073
|
+
"line": 15
|
|
3074
|
+
},
|
|
3075
|
+
"parameters": [
|
|
3076
|
+
{
|
|
3077
|
+
"name": "project",
|
|
3078
|
+
"type": {
|
|
3079
|
+
"fqn": "@xpertss/projen-types.JavaMavenProject"
|
|
3080
|
+
}
|
|
3081
|
+
},
|
|
3082
|
+
{
|
|
3083
|
+
"name": "options",
|
|
3084
|
+
"optional": true,
|
|
3085
|
+
"type": {
|
|
3086
|
+
"fqn": "@xpertss/projen-types.MavenCentralPublishOptions"
|
|
3087
|
+
}
|
|
3088
|
+
}
|
|
3089
|
+
]
|
|
3090
|
+
},
|
|
3091
|
+
"kind": "class",
|
|
3092
|
+
"locationInModule": {
|
|
3093
|
+
"filename": "src/java/components/maven-central-publish.ts",
|
|
3094
|
+
"line": 14
|
|
3095
|
+
},
|
|
3096
|
+
"name": "MavenCentralPublish",
|
|
3097
|
+
"symbolId": "src/java/components/maven-central-publish:MavenCentralPublish"
|
|
3098
|
+
},
|
|
3099
|
+
"@xpertss/projen-types.MavenCentralPublishOptions": {
|
|
3100
|
+
"assembly": "@xpertss/projen-types",
|
|
3101
|
+
"datatype": true,
|
|
3102
|
+
"docs": {
|
|
3103
|
+
"stability": "experimental"
|
|
3104
|
+
},
|
|
3105
|
+
"fqn": "@xpertss/projen-types.MavenCentralPublishOptions",
|
|
3106
|
+
"kind": "interface",
|
|
3107
|
+
"locationInModule": {
|
|
3108
|
+
"filename": "src/java/components/maven-central-publish.ts",
|
|
3109
|
+
"line": 5
|
|
3110
|
+
},
|
|
3111
|
+
"name": "MavenCentralPublishOptions",
|
|
3112
|
+
"properties": [
|
|
3113
|
+
{
|
|
3114
|
+
"abstract": true,
|
|
3115
|
+
"docs": {
|
|
3116
|
+
"default": "false",
|
|
3117
|
+
"stability": "experimental"
|
|
3118
|
+
},
|
|
3119
|
+
"immutable": true,
|
|
3120
|
+
"locationInModule": {
|
|
3121
|
+
"filename": "src/java/components/maven-central-publish.ts",
|
|
3122
|
+
"line": 7
|
|
3123
|
+
},
|
|
3124
|
+
"name": "mavenCentralOidc",
|
|
3125
|
+
"optional": true,
|
|
3126
|
+
"type": {
|
|
3127
|
+
"primitive": "boolean"
|
|
3128
|
+
}
|
|
3129
|
+
}
|
|
3130
|
+
],
|
|
3131
|
+
"symbolId": "src/java/components/maven-central-publish:MavenCentralPublishOptions"
|
|
3132
|
+
},
|
|
3133
|
+
"@xpertss/projen-types.MavenCoordinates": {
|
|
3134
|
+
"assembly": "@xpertss/projen-types",
|
|
3135
|
+
"datatype": true,
|
|
3136
|
+
"docs": {
|
|
3137
|
+
"stability": "experimental",
|
|
3138
|
+
"summary": "Parsed `groupId/artifactId[@version]` spec."
|
|
3139
|
+
},
|
|
3140
|
+
"fqn": "@xpertss/projen-types.MavenCoordinates",
|
|
3141
|
+
"kind": "interface",
|
|
3142
|
+
"locationInModule": {
|
|
3143
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3144
|
+
"line": 16
|
|
3145
|
+
},
|
|
3146
|
+
"name": "MavenCoordinates",
|
|
3147
|
+
"properties": [
|
|
3148
|
+
{
|
|
3149
|
+
"abstract": true,
|
|
3150
|
+
"docs": {
|
|
3151
|
+
"stability": "experimental"
|
|
3152
|
+
},
|
|
3153
|
+
"immutable": true,
|
|
3154
|
+
"locationInModule": {
|
|
3155
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3156
|
+
"line": 18
|
|
3157
|
+
},
|
|
3158
|
+
"name": "artifactId",
|
|
3159
|
+
"type": {
|
|
3160
|
+
"primitive": "string"
|
|
3161
|
+
}
|
|
3162
|
+
},
|
|
3163
|
+
{
|
|
3164
|
+
"abstract": true,
|
|
3165
|
+
"docs": {
|
|
3166
|
+
"stability": "experimental"
|
|
3167
|
+
},
|
|
3168
|
+
"immutable": true,
|
|
3169
|
+
"locationInModule": {
|
|
3170
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3171
|
+
"line": 17
|
|
3172
|
+
},
|
|
3173
|
+
"name": "groupId",
|
|
3174
|
+
"type": {
|
|
3175
|
+
"primitive": "string"
|
|
3176
|
+
}
|
|
3177
|
+
},
|
|
3178
|
+
{
|
|
3179
|
+
"abstract": true,
|
|
3180
|
+
"docs": {
|
|
3181
|
+
"stability": "experimental"
|
|
3182
|
+
},
|
|
3183
|
+
"immutable": true,
|
|
3184
|
+
"locationInModule": {
|
|
3185
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3186
|
+
"line": 19
|
|
3187
|
+
},
|
|
3188
|
+
"name": "version",
|
|
3189
|
+
"optional": true,
|
|
3190
|
+
"type": {
|
|
3191
|
+
"primitive": "string"
|
|
3192
|
+
}
|
|
3193
|
+
}
|
|
3194
|
+
],
|
|
3195
|
+
"symbolId": "src/java/maven/maven-pom:MavenCoordinates"
|
|
3196
|
+
},
|
|
3197
|
+
"@xpertss/projen-types.MavenModule": {
|
|
3198
|
+
"assembly": "@xpertss/projen-types",
|
|
3199
|
+
"base": "projen.Component",
|
|
3200
|
+
"docs": {
|
|
3201
|
+
"remarks": "The module pom holds `<parent>`, `artifactId`, `name`, `description` and\nversionless dependencies/plugins. Any version given to `addDependency`,\n`addTestDependency` or `addPlugin` is moved into the parent pom's\n`<dependencyManagement>`/`<pluginManagement>`, so every module that uses\nan artifact gets the same version.",
|
|
3202
|
+
"stability": "experimental",
|
|
3203
|
+
"summary": "One module of a Maven reactor: a `<dir>/pom.xml` owned by the root project (not a projen subproject - there is still one `.projen/`, one `.gitignore` and one `tasks.json`). Created by `JavaMavenProject.addModule()`."
|
|
3204
|
+
},
|
|
3205
|
+
"fqn": "@xpertss/projen-types.MavenModule",
|
|
3206
|
+
"initializer": {
|
|
3207
|
+
"docs": {
|
|
3208
|
+
"stability": "experimental"
|
|
3209
|
+
},
|
|
3210
|
+
"locationInModule": {
|
|
3211
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3212
|
+
"line": 26
|
|
3213
|
+
},
|
|
3214
|
+
"parameters": [
|
|
3215
|
+
{
|
|
3216
|
+
"name": "project",
|
|
3217
|
+
"type": {
|
|
3218
|
+
"fqn": "projen.Project"
|
|
3219
|
+
}
|
|
3220
|
+
},
|
|
3221
|
+
{
|
|
3222
|
+
"name": "parentPom",
|
|
3223
|
+
"type": {
|
|
3224
|
+
"fqn": "@xpertss/projen-types.MavenPom"
|
|
3225
|
+
}
|
|
3226
|
+
},
|
|
3227
|
+
{
|
|
3228
|
+
"name": "options",
|
|
3229
|
+
"type": {
|
|
3230
|
+
"fqn": "@xpertss/projen-types.MavenModuleOptions"
|
|
3231
|
+
}
|
|
3232
|
+
}
|
|
3233
|
+
]
|
|
3234
|
+
},
|
|
3235
|
+
"kind": "class",
|
|
3236
|
+
"locationInModule": {
|
|
3237
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3238
|
+
"line": 16
|
|
3239
|
+
},
|
|
3240
|
+
"methods": [
|
|
3241
|
+
{
|
|
3242
|
+
"docs": {
|
|
3243
|
+
"remarks": "A version, if given, is pinned in the\nparent's `<dependencyManagement>` and the module entry stays versionless.",
|
|
3244
|
+
"stability": "experimental",
|
|
3245
|
+
"summary": "Adds a compile-scope dependency."
|
|
3246
|
+
},
|
|
3247
|
+
"locationInModule": {
|
|
3248
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3249
|
+
"line": 60
|
|
3250
|
+
},
|
|
3251
|
+
"name": "addDependency",
|
|
3252
|
+
"parameters": [
|
|
3253
|
+
{
|
|
3254
|
+
"docs": {
|
|
3255
|
+
"summary": "`groupId/artifactId[@version]`."
|
|
3256
|
+
},
|
|
3257
|
+
"name": "spec",
|
|
3258
|
+
"type": {
|
|
3259
|
+
"primitive": "string"
|
|
3260
|
+
}
|
|
3261
|
+
}
|
|
3262
|
+
]
|
|
3263
|
+
},
|
|
3264
|
+
{
|
|
3265
|
+
"docs": {
|
|
3266
|
+
"default": "- compile scope",
|
|
3267
|
+
"remarks": "The dependency is versionless here; the\nparent manages every module at `${project.version}`.",
|
|
3268
|
+
"stability": "experimental",
|
|
3269
|
+
"summary": "Depends on a sibling module."
|
|
3270
|
+
},
|
|
3271
|
+
"locationInModule": {
|
|
3272
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3273
|
+
"line": 88
|
|
3274
|
+
},
|
|
3275
|
+
"name": "addModuleDependency",
|
|
3276
|
+
"parameters": [
|
|
3277
|
+
{
|
|
3278
|
+
"name": "module",
|
|
3279
|
+
"type": {
|
|
3280
|
+
"fqn": "@xpertss/projen-types.MavenModule"
|
|
3281
|
+
}
|
|
3282
|
+
},
|
|
3283
|
+
{
|
|
3284
|
+
"docs": {
|
|
3285
|
+
"summary": "Maven scope (`test`, `provided`, ...)."
|
|
3286
|
+
},
|
|
3287
|
+
"name": "scope",
|
|
3288
|
+
"optional": true,
|
|
3289
|
+
"type": {
|
|
3290
|
+
"primitive": "string"
|
|
3291
|
+
}
|
|
3292
|
+
}
|
|
3293
|
+
]
|
|
3294
|
+
},
|
|
3295
|
+
{
|
|
3296
|
+
"docs": {
|
|
3297
|
+
"remarks": "A version, if given, is pinned in the parent's\n`<pluginManagement>` and the module entry stays versionless.",
|
|
3298
|
+
"stability": "experimental",
|
|
3299
|
+
"summary": "Adds a build plugin."
|
|
3300
|
+
},
|
|
3301
|
+
"locationInModule": {
|
|
3302
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3303
|
+
"line": 73
|
|
3304
|
+
},
|
|
3305
|
+
"name": "addPlugin",
|
|
3306
|
+
"parameters": [
|
|
3307
|
+
{
|
|
3308
|
+
"name": "spec",
|
|
3309
|
+
"type": {
|
|
3310
|
+
"primitive": "string"
|
|
3311
|
+
}
|
|
3312
|
+
},
|
|
3313
|
+
{
|
|
3314
|
+
"name": "options",
|
|
3315
|
+
"optional": true,
|
|
3316
|
+
"type": {
|
|
3317
|
+
"fqn": "projen.java.PluginOptions"
|
|
3318
|
+
}
|
|
3319
|
+
}
|
|
3320
|
+
]
|
|
3321
|
+
},
|
|
3322
|
+
{
|
|
3323
|
+
"docs": {
|
|
3324
|
+
"remarks": "versions are hoisted like `addDependency`.",
|
|
3325
|
+
"stability": "experimental",
|
|
3326
|
+
"summary": "Adds a `test`-scoped dependency;"
|
|
3327
|
+
},
|
|
3328
|
+
"locationInModule": {
|
|
3329
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3330
|
+
"line": 65
|
|
3331
|
+
},
|
|
3332
|
+
"name": "addTestDependency",
|
|
3333
|
+
"parameters": [
|
|
3334
|
+
{
|
|
3335
|
+
"name": "spec",
|
|
3336
|
+
"type": {
|
|
3337
|
+
"primitive": "string"
|
|
3338
|
+
}
|
|
3339
|
+
}
|
|
3340
|
+
]
|
|
3341
|
+
}
|
|
3342
|
+
],
|
|
3343
|
+
"name": "MavenModule",
|
|
3344
|
+
"properties": [
|
|
3345
|
+
{
|
|
3346
|
+
"docs": {
|
|
3347
|
+
"stability": "experimental"
|
|
3348
|
+
},
|
|
3349
|
+
"immutable": true,
|
|
3350
|
+
"locationInModule": {
|
|
3351
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3352
|
+
"line": 19
|
|
3353
|
+
},
|
|
3354
|
+
"name": "artifactId",
|
|
3355
|
+
"type": {
|
|
3356
|
+
"primitive": "string"
|
|
3357
|
+
}
|
|
3358
|
+
},
|
|
3359
|
+
{
|
|
3360
|
+
"docs": {
|
|
3361
|
+
"stability": "experimental",
|
|
3362
|
+
"summary": "Module directory, relative to the repo root."
|
|
3363
|
+
},
|
|
3364
|
+
"immutable": true,
|
|
3365
|
+
"locationInModule": {
|
|
3366
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3367
|
+
"line": 18
|
|
3368
|
+
},
|
|
3369
|
+
"name": "dir",
|
|
3370
|
+
"type": {
|
|
3371
|
+
"primitive": "string"
|
|
3372
|
+
}
|
|
3373
|
+
},
|
|
3374
|
+
{
|
|
3375
|
+
"docs": {
|
|
3376
|
+
"stability": "experimental",
|
|
3377
|
+
"summary": "The module's own `pom.xml`."
|
|
3378
|
+
},
|
|
3379
|
+
"immutable": true,
|
|
3380
|
+
"locationInModule": {
|
|
3381
|
+
"filename": "src/java/maven/maven-module.ts",
|
|
3382
|
+
"line": 21
|
|
3383
|
+
},
|
|
3384
|
+
"name": "pom",
|
|
3385
|
+
"type": {
|
|
3386
|
+
"fqn": "@xpertss/projen-types.MavenPom"
|
|
3387
|
+
}
|
|
3388
|
+
}
|
|
3389
|
+
],
|
|
3390
|
+
"symbolId": "src/java/maven/maven-module:MavenModule"
|
|
3391
|
+
},
|
|
3392
|
+
"@xpertss/projen-types.MavenModuleOptions": {
|
|
3393
|
+
"assembly": "@xpertss/projen-types",
|
|
3394
|
+
"datatype": true,
|
|
3395
|
+
"docs": {
|
|
3396
|
+
"stability": "experimental",
|
|
3397
|
+
"summary": "Options for `JavaMavenProject.addModule()`."
|
|
3398
|
+
},
|
|
3399
|
+
"fqn": "@xpertss/projen-types.MavenModuleOptions",
|
|
3400
|
+
"kind": "interface",
|
|
3401
|
+
"locationInModule": {
|
|
3402
|
+
"filename": "src/java/options.ts",
|
|
3403
|
+
"line": 207
|
|
3404
|
+
},
|
|
3405
|
+
"name": "MavenModuleOptions",
|
|
3406
|
+
"properties": [
|
|
3407
|
+
{
|
|
3408
|
+
"abstract": true,
|
|
3409
|
+
"docs": {
|
|
3410
|
+
"stability": "experimental"
|
|
3411
|
+
},
|
|
3412
|
+
"immutable": true,
|
|
3413
|
+
"locationInModule": {
|
|
3414
|
+
"filename": "src/java/options.ts",
|
|
3415
|
+
"line": 214
|
|
3416
|
+
},
|
|
3417
|
+
"name": "artifactId",
|
|
3418
|
+
"type": {
|
|
3419
|
+
"primitive": "string"
|
|
3420
|
+
}
|
|
3421
|
+
},
|
|
3422
|
+
{
|
|
3423
|
+
"abstract": true,
|
|
3424
|
+
"docs": {
|
|
3425
|
+
"stability": "experimental",
|
|
3426
|
+
"summary": "Module directory, relative to the repo root (may be nested, e.g. `tools/stub-model`). Its `pom.xml` is generated there."
|
|
3427
|
+
},
|
|
3428
|
+
"immutable": true,
|
|
3429
|
+
"locationInModule": {
|
|
3430
|
+
"filename": "src/java/options.ts",
|
|
3431
|
+
"line": 212
|
|
3432
|
+
},
|
|
3433
|
+
"name": "dir",
|
|
3434
|
+
"type": {
|
|
3435
|
+
"primitive": "string"
|
|
3436
|
+
}
|
|
3437
|
+
},
|
|
3438
|
+
{
|
|
3439
|
+
"abstract": true,
|
|
3440
|
+
"docs": {
|
|
3441
|
+
"default": "- none",
|
|
3442
|
+
"stability": "experimental"
|
|
3443
|
+
},
|
|
3444
|
+
"immutable": true,
|
|
3445
|
+
"locationInModule": {
|
|
3446
|
+
"filename": "src/java/options.ts",
|
|
3447
|
+
"line": 220
|
|
3448
|
+
},
|
|
3449
|
+
"name": "description",
|
|
3450
|
+
"optional": true,
|
|
3451
|
+
"type": {
|
|
3452
|
+
"primitive": "string"
|
|
3453
|
+
}
|
|
3454
|
+
},
|
|
3455
|
+
{
|
|
3456
|
+
"abstract": true,
|
|
3457
|
+
"docs": {
|
|
3458
|
+
"default": "- the artifactId",
|
|
3459
|
+
"stability": "experimental"
|
|
3460
|
+
},
|
|
3461
|
+
"immutable": true,
|
|
3462
|
+
"locationInModule": {
|
|
3463
|
+
"filename": "src/java/options.ts",
|
|
3464
|
+
"line": 217
|
|
3465
|
+
},
|
|
3466
|
+
"name": "name",
|
|
3467
|
+
"optional": true,
|
|
3468
|
+
"type": {
|
|
3469
|
+
"primitive": "string"
|
|
3470
|
+
}
|
|
3471
|
+
},
|
|
3472
|
+
{
|
|
3473
|
+
"abstract": true,
|
|
3474
|
+
"docs": {
|
|
3475
|
+
"default": "\"jar\"",
|
|
3476
|
+
"stability": "experimental"
|
|
3477
|
+
},
|
|
3478
|
+
"immutable": true,
|
|
3479
|
+
"locationInModule": {
|
|
3480
|
+
"filename": "src/java/options.ts",
|
|
3481
|
+
"line": 223
|
|
3482
|
+
},
|
|
3483
|
+
"name": "packaging",
|
|
3484
|
+
"optional": true,
|
|
3485
|
+
"type": {
|
|
3486
|
+
"primitive": "string"
|
|
3487
|
+
}
|
|
3488
|
+
}
|
|
3489
|
+
],
|
|
3490
|
+
"symbolId": "src/java/options:MavenModuleOptions"
|
|
3491
|
+
},
|
|
3492
|
+
"@xpertss/projen-types.MavenPom": {
|
|
3493
|
+
"assembly": "@xpertss/projen-types",
|
|
3494
|
+
"base": "projen.Component",
|
|
3495
|
+
"docs": {
|
|
3496
|
+
"remarks": "Supports `<modules>`, `<dependencyManagement>` (including BOM imports),\n`<pluginManagement>`, and versionless dependencies/plugins - what a Maven\nreactor needs and `java.Pom` cannot express. Every version it writes is\nexact; a spec carrying a range throws. Plugin executions render one\n`<goals>` element per execution (projen's `java.Pom` repeats `<goals>`,\nwhich Maven 3.9 rejects as non-parseable).\n\nAdding the same `groupId/artifactId` twice merges: a later version\nreplaces an earlier one only if the earlier had none (two different\nversions throw), and plugin options are merged - `configuration` shallowly,\n`executions` and `dependencies` appended.",
|
|
3497
|
+
"stability": "experimental",
|
|
3498
|
+
"summary": "A `pom.xml` written by this package (rather than projen's `java.Pom`)."
|
|
3499
|
+
},
|
|
3500
|
+
"fqn": "@xpertss/projen-types.MavenPom",
|
|
3501
|
+
"initializer": {
|
|
3502
|
+
"docs": {
|
|
3503
|
+
"stability": "experimental"
|
|
3504
|
+
},
|
|
3505
|
+
"locationInModule": {
|
|
3506
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3507
|
+
"line": 153
|
|
3508
|
+
},
|
|
3509
|
+
"parameters": [
|
|
3510
|
+
{
|
|
3511
|
+
"name": "project",
|
|
3512
|
+
"type": {
|
|
3513
|
+
"fqn": "projen.Project"
|
|
3514
|
+
}
|
|
3515
|
+
},
|
|
3516
|
+
{
|
|
3517
|
+
"name": "options",
|
|
3518
|
+
"type": {
|
|
3519
|
+
"fqn": "@xpertss/projen-types.MavenPomOptions"
|
|
3520
|
+
}
|
|
3521
|
+
}
|
|
3522
|
+
]
|
|
3523
|
+
},
|
|
3524
|
+
"kind": "class",
|
|
3525
|
+
"locationInModule": {
|
|
3526
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3527
|
+
"line": 121
|
|
3528
|
+
},
|
|
3529
|
+
"methods": [
|
|
3530
|
+
{
|
|
3531
|
+
"docs": {
|
|
3532
|
+
"remarks": "BOMs are written in the order added, before every other\nmanaged dependency.",
|
|
3533
|
+
"stability": "experimental",
|
|
3534
|
+
"summary": "Imports a BOM into `<dependencyManagement>` (`type=pom`, `scope=import`)."
|
|
3535
|
+
},
|
|
3536
|
+
"locationInModule": {
|
|
3537
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3538
|
+
"line": 190
|
|
3539
|
+
},
|
|
3540
|
+
"name": "addBom",
|
|
3541
|
+
"parameters": [
|
|
3542
|
+
{
|
|
3543
|
+
"docs": {
|
|
3544
|
+
"summary": "`groupId/artifactId@version` - the version is required."
|
|
3545
|
+
},
|
|
3546
|
+
"name": "spec",
|
|
3547
|
+
"type": {
|
|
3548
|
+
"primitive": "string"
|
|
3549
|
+
}
|
|
3550
|
+
}
|
|
3551
|
+
]
|
|
3552
|
+
},
|
|
3553
|
+
{
|
|
3554
|
+
"docs": {
|
|
3555
|
+
"stability": "experimental",
|
|
3556
|
+
"summary": "Adds a dependency (compile scope unless `scope` is given)."
|
|
3557
|
+
},
|
|
3558
|
+
"locationInModule": {
|
|
3559
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3560
|
+
"line": 232
|
|
3561
|
+
},
|
|
3562
|
+
"name": "addDependency",
|
|
3563
|
+
"parameters": [
|
|
3564
|
+
{
|
|
3565
|
+
"docs": {
|
|
3566
|
+
"summary": "`groupId/artifactId[@version]` - omit the version when a BOM or the parent's `<dependencyManagement>` manages it."
|
|
3567
|
+
},
|
|
3568
|
+
"name": "spec",
|
|
3569
|
+
"type": {
|
|
3570
|
+
"primitive": "string"
|
|
3571
|
+
}
|
|
3572
|
+
},
|
|
3573
|
+
{
|
|
3574
|
+
"docs": {
|
|
3575
|
+
"summary": "Maven scope (`test`, `provided`, `runtime`, ...)."
|
|
3576
|
+
},
|
|
3577
|
+
"name": "scope",
|
|
3578
|
+
"optional": true,
|
|
3579
|
+
"type": {
|
|
3580
|
+
"primitive": "string"
|
|
3581
|
+
}
|
|
3582
|
+
}
|
|
3583
|
+
]
|
|
3584
|
+
},
|
|
3585
|
+
{
|
|
3586
|
+
"docs": {
|
|
3587
|
+
"stability": "experimental",
|
|
3588
|
+
"summary": "Pins a version in `<dependencyManagement>` without adding the dependency itself."
|
|
3589
|
+
},
|
|
3590
|
+
"locationInModule": {
|
|
3591
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3592
|
+
"line": 217
|
|
3593
|
+
},
|
|
3594
|
+
"name": "addManagedDependency",
|
|
3595
|
+
"parameters": [
|
|
3596
|
+
{
|
|
3597
|
+
"docs": {
|
|
3598
|
+
"summary": "`groupId/artifactId@version` - the version is required."
|
|
3599
|
+
},
|
|
3600
|
+
"name": "spec",
|
|
3601
|
+
"type": {
|
|
3602
|
+
"primitive": "string"
|
|
3603
|
+
}
|
|
3604
|
+
}
|
|
3605
|
+
]
|
|
3606
|
+
},
|
|
3607
|
+
{
|
|
3608
|
+
"docs": {
|
|
3609
|
+
"stability": "experimental",
|
|
3610
|
+
"summary": "Adds a plugin to `<build><pluginManagement>` only: it pins the version (and optional default configuration) for this pom and its modules without running the plugin here."
|
|
3611
|
+
},
|
|
3612
|
+
"locationInModule": {
|
|
3613
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3614
|
+
"line": 260
|
|
3615
|
+
},
|
|
3616
|
+
"name": "addManagedPlugin",
|
|
3617
|
+
"parameters": [
|
|
3618
|
+
{
|
|
3619
|
+
"name": "spec",
|
|
3620
|
+
"type": {
|
|
3621
|
+
"primitive": "string"
|
|
3622
|
+
}
|
|
3623
|
+
},
|
|
3624
|
+
{
|
|
3625
|
+
"name": "options",
|
|
3626
|
+
"optional": true,
|
|
3627
|
+
"type": {
|
|
3628
|
+
"fqn": "projen.java.PluginOptions"
|
|
3629
|
+
}
|
|
3630
|
+
}
|
|
3631
|
+
]
|
|
3632
|
+
},
|
|
3633
|
+
{
|
|
3634
|
+
"docs": {
|
|
3635
|
+
"stability": "experimental",
|
|
3636
|
+
"summary": "Adds a `<module>` (a path relative to this pom's directory)."
|
|
3637
|
+
},
|
|
3638
|
+
"locationInModule": {
|
|
3639
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3640
|
+
"line": 177
|
|
3641
|
+
},
|
|
3642
|
+
"name": "addModule",
|
|
3643
|
+
"parameters": [
|
|
3644
|
+
{
|
|
3645
|
+
"name": "path",
|
|
3646
|
+
"type": {
|
|
3647
|
+
"primitive": "string"
|
|
3648
|
+
}
|
|
3649
|
+
}
|
|
3650
|
+
]
|
|
3651
|
+
},
|
|
3652
|
+
{
|
|
3653
|
+
"docs": {
|
|
3654
|
+
"stability": "experimental",
|
|
3655
|
+
"summary": "Adds a build plugin to `<build><plugins>`."
|
|
3656
|
+
},
|
|
3657
|
+
"locationInModule": {
|
|
3658
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3659
|
+
"line": 251
|
|
3660
|
+
},
|
|
3661
|
+
"name": "addPlugin",
|
|
3662
|
+
"parameters": [
|
|
3663
|
+
{
|
|
3664
|
+
"docs": {
|
|
3665
|
+
"summary": "`groupId/artifactId[@version]` - omit the version when `<pluginManagement>` (here or in the parent) manages it."
|
|
3666
|
+
},
|
|
3667
|
+
"name": "spec",
|
|
3668
|
+
"type": {
|
|
3669
|
+
"primitive": "string"
|
|
3670
|
+
}
|
|
3671
|
+
},
|
|
3672
|
+
{
|
|
3673
|
+
"name": "options",
|
|
3674
|
+
"optional": true,
|
|
3675
|
+
"type": {
|
|
3676
|
+
"fqn": "projen.java.PluginOptions"
|
|
3677
|
+
}
|
|
3678
|
+
}
|
|
3679
|
+
]
|
|
3680
|
+
},
|
|
3681
|
+
{
|
|
3682
|
+
"docs": {
|
|
3683
|
+
"stability": "experimental",
|
|
3684
|
+
"summary": "Adds a `<pluginRepository>`."
|
|
3685
|
+
},
|
|
3686
|
+
"locationInModule": {
|
|
3687
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3688
|
+
"line": 275
|
|
3689
|
+
},
|
|
3690
|
+
"name": "addPluginRepository",
|
|
3691
|
+
"parameters": [
|
|
3692
|
+
{
|
|
3693
|
+
"name": "repository",
|
|
3694
|
+
"type": {
|
|
3695
|
+
"fqn": "projen.java.MavenRepository"
|
|
3696
|
+
}
|
|
3697
|
+
}
|
|
3698
|
+
]
|
|
3699
|
+
},
|
|
3700
|
+
{
|
|
3701
|
+
"docs": {
|
|
3702
|
+
"stability": "experimental",
|
|
3703
|
+
"summary": "Sets a `<properties>` entry."
|
|
3704
|
+
},
|
|
3705
|
+
"locationInModule": {
|
|
3706
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3707
|
+
"line": 172
|
|
3708
|
+
},
|
|
3709
|
+
"name": "addProperty",
|
|
3710
|
+
"parameters": [
|
|
3711
|
+
{
|
|
3712
|
+
"name": "name",
|
|
3713
|
+
"type": {
|
|
3714
|
+
"primitive": "string"
|
|
3715
|
+
}
|
|
3716
|
+
},
|
|
3717
|
+
{
|
|
3718
|
+
"name": "value",
|
|
3719
|
+
"type": {
|
|
3720
|
+
"primitive": "string"
|
|
3721
|
+
}
|
|
3722
|
+
}
|
|
3723
|
+
]
|
|
3724
|
+
},
|
|
3725
|
+
{
|
|
3726
|
+
"docs": {
|
|
3727
|
+
"stability": "experimental",
|
|
3728
|
+
"summary": "Adds a `<repository>`."
|
|
3729
|
+
},
|
|
3730
|
+
"locationInModule": {
|
|
3731
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3732
|
+
"line": 270
|
|
3733
|
+
},
|
|
3734
|
+
"name": "addRepository",
|
|
3735
|
+
"parameters": [
|
|
3736
|
+
{
|
|
3737
|
+
"name": "repository",
|
|
3738
|
+
"type": {
|
|
3739
|
+
"fqn": "projen.java.MavenRepository"
|
|
3740
|
+
}
|
|
3741
|
+
}
|
|
3742
|
+
]
|
|
3743
|
+
},
|
|
3744
|
+
{
|
|
3745
|
+
"docs": {
|
|
3746
|
+
"stability": "experimental",
|
|
3747
|
+
"summary": "Adds a `test`-scoped dependency."
|
|
3748
|
+
},
|
|
3749
|
+
"locationInModule": {
|
|
3750
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3751
|
+
"line": 241
|
|
3752
|
+
},
|
|
3753
|
+
"name": "addTestDependency",
|
|
3754
|
+
"parameters": [
|
|
3755
|
+
{
|
|
3756
|
+
"name": "spec",
|
|
3757
|
+
"type": {
|
|
3758
|
+
"primitive": "string"
|
|
3759
|
+
}
|
|
3760
|
+
}
|
|
3761
|
+
]
|
|
3762
|
+
},
|
|
3763
|
+
{
|
|
3764
|
+
"docs": {
|
|
3765
|
+
"stability": "experimental",
|
|
3766
|
+
"summary": "True if a plugin with these `groupId/artifactId` coordinates is in `<plugins>`."
|
|
3767
|
+
},
|
|
3768
|
+
"locationInModule": {
|
|
3769
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3770
|
+
"line": 265
|
|
3771
|
+
},
|
|
3772
|
+
"name": "hasPlugin",
|
|
3773
|
+
"parameters": [
|
|
3774
|
+
{
|
|
3775
|
+
"name": "coordinates",
|
|
3776
|
+
"type": {
|
|
3777
|
+
"primitive": "string"
|
|
3778
|
+
}
|
|
3779
|
+
}
|
|
3780
|
+
],
|
|
3781
|
+
"returns": {
|
|
3782
|
+
"type": {
|
|
3783
|
+
"primitive": "boolean"
|
|
3784
|
+
}
|
|
3785
|
+
}
|
|
3786
|
+
},
|
|
3787
|
+
{
|
|
3788
|
+
"docs": {
|
|
3789
|
+
"stability": "experimental",
|
|
3790
|
+
"summary": "Removes a BOM import added by `addBom`, if present."
|
|
3791
|
+
},
|
|
3792
|
+
"locationInModule": {
|
|
3793
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3794
|
+
"line": 204
|
|
3795
|
+
},
|
|
3796
|
+
"name": "removeBom",
|
|
3797
|
+
"parameters": [
|
|
3798
|
+
{
|
|
3799
|
+
"name": "coordinates",
|
|
3800
|
+
"type": {
|
|
3801
|
+
"primitive": "string"
|
|
3802
|
+
}
|
|
3803
|
+
}
|
|
3804
|
+
]
|
|
3805
|
+
}
|
|
3806
|
+
],
|
|
3807
|
+
"name": "MavenPom",
|
|
3808
|
+
"properties": [
|
|
3809
|
+
{
|
|
3810
|
+
"docs": {
|
|
3811
|
+
"stability": "experimental"
|
|
3812
|
+
},
|
|
3813
|
+
"immutable": true,
|
|
3814
|
+
"locationInModule": {
|
|
3815
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3816
|
+
"line": 125
|
|
3817
|
+
},
|
|
3818
|
+
"name": "artifactId",
|
|
3819
|
+
"type": {
|
|
3820
|
+
"primitive": "string"
|
|
3821
|
+
}
|
|
3822
|
+
},
|
|
3823
|
+
{
|
|
3824
|
+
"docs": {
|
|
3825
|
+
"stability": "experimental",
|
|
3826
|
+
"summary": "Path of the pom, relative to the project root."
|
|
3827
|
+
},
|
|
3828
|
+
"immutable": true,
|
|
3829
|
+
"locationInModule": {
|
|
3830
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3831
|
+
"line": 123
|
|
3832
|
+
},
|
|
3833
|
+
"name": "filePath",
|
|
3834
|
+
"type": {
|
|
3835
|
+
"primitive": "string"
|
|
3836
|
+
}
|
|
3837
|
+
},
|
|
3838
|
+
{
|
|
3839
|
+
"docs": {
|
|
3840
|
+
"stability": "experimental"
|
|
3841
|
+
},
|
|
3842
|
+
"immutable": true,
|
|
3843
|
+
"locationInModule": {
|
|
3844
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3845
|
+
"line": 128
|
|
3846
|
+
},
|
|
3847
|
+
"name": "description",
|
|
3848
|
+
"optional": true,
|
|
3849
|
+
"type": {
|
|
3850
|
+
"primitive": "string"
|
|
3851
|
+
}
|
|
3852
|
+
},
|
|
3853
|
+
{
|
|
3854
|
+
"docs": {
|
|
3855
|
+
"stability": "experimental"
|
|
3856
|
+
},
|
|
3857
|
+
"immutable": true,
|
|
3858
|
+
"locationInModule": {
|
|
3859
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3860
|
+
"line": 124
|
|
3861
|
+
},
|
|
3862
|
+
"name": "groupId",
|
|
3863
|
+
"optional": true,
|
|
3864
|
+
"type": {
|
|
3865
|
+
"primitive": "string"
|
|
3866
|
+
}
|
|
3867
|
+
},
|
|
3868
|
+
{
|
|
3869
|
+
"docs": {
|
|
3870
|
+
"stability": "experimental"
|
|
3871
|
+
},
|
|
3872
|
+
"immutable": true,
|
|
3873
|
+
"locationInModule": {
|
|
3874
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3875
|
+
"line": 127
|
|
3876
|
+
},
|
|
3877
|
+
"name": "name",
|
|
3878
|
+
"optional": true,
|
|
3879
|
+
"type": {
|
|
3880
|
+
"primitive": "string"
|
|
3881
|
+
}
|
|
3882
|
+
},
|
|
3883
|
+
{
|
|
3884
|
+
"docs": {
|
|
3885
|
+
"stability": "experimental"
|
|
3886
|
+
},
|
|
3887
|
+
"immutable": true,
|
|
3888
|
+
"locationInModule": {
|
|
3889
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3890
|
+
"line": 130
|
|
3891
|
+
},
|
|
3892
|
+
"name": "parent",
|
|
3893
|
+
"optional": true,
|
|
3894
|
+
"type": {
|
|
3895
|
+
"fqn": "projen.java.ParentPom"
|
|
3896
|
+
}
|
|
3897
|
+
},
|
|
3898
|
+
{
|
|
3899
|
+
"docs": {
|
|
3900
|
+
"stability": "experimental"
|
|
3901
|
+
},
|
|
3902
|
+
"immutable": true,
|
|
3903
|
+
"locationInModule": {
|
|
3904
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3905
|
+
"line": 129
|
|
3906
|
+
},
|
|
3907
|
+
"name": "url",
|
|
3908
|
+
"optional": true,
|
|
3909
|
+
"type": {
|
|
3910
|
+
"primitive": "string"
|
|
3911
|
+
}
|
|
3912
|
+
},
|
|
3913
|
+
{
|
|
3914
|
+
"docs": {
|
|
3915
|
+
"stability": "experimental"
|
|
3916
|
+
},
|
|
3917
|
+
"immutable": true,
|
|
3918
|
+
"locationInModule": {
|
|
3919
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3920
|
+
"line": 126
|
|
3921
|
+
},
|
|
3922
|
+
"name": "version",
|
|
3923
|
+
"optional": true,
|
|
3924
|
+
"type": {
|
|
3925
|
+
"primitive": "string"
|
|
3926
|
+
}
|
|
3927
|
+
},
|
|
3928
|
+
{
|
|
3929
|
+
"docs": {
|
|
3930
|
+
"stability": "experimental",
|
|
3931
|
+
"summary": "When true, the versions of `<plugins>` entries are written into `<pluginManagement>` and the `<plugins>` entries stay versionless - the shape a reactor parent wants, so modules can redeclare a plugin without repeating its version."
|
|
3932
|
+
},
|
|
3933
|
+
"locationInModule": {
|
|
3934
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3935
|
+
"line": 141
|
|
3936
|
+
},
|
|
3937
|
+
"name": "managePluginVersions",
|
|
3938
|
+
"type": {
|
|
3939
|
+
"primitive": "boolean"
|
|
3940
|
+
}
|
|
3941
|
+
},
|
|
3942
|
+
{
|
|
3943
|
+
"docs": {
|
|
3944
|
+
"stability": "experimental",
|
|
3945
|
+
"summary": "Maven packaging (`jar`, `pom`, ...)."
|
|
3946
|
+
},
|
|
3947
|
+
"locationInModule": {
|
|
3948
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3949
|
+
"line": 133
|
|
3950
|
+
},
|
|
3951
|
+
"name": "packaging",
|
|
3952
|
+
"type": {
|
|
3953
|
+
"primitive": "string"
|
|
2071
3954
|
}
|
|
2072
3955
|
}
|
|
2073
3956
|
],
|
|
2074
|
-
"symbolId": "src/java/
|
|
3957
|
+
"symbolId": "src/java/maven/maven-pom:MavenPom"
|
|
2075
3958
|
},
|
|
2076
|
-
"@xpertss/projen-types.
|
|
3959
|
+
"@xpertss/projen-types.MavenPomOptions": {
|
|
2077
3960
|
"assembly": "@xpertss/projen-types",
|
|
2078
|
-
"
|
|
3961
|
+
"datatype": true,
|
|
2079
3962
|
"docs": {
|
|
2080
3963
|
"stability": "experimental",
|
|
2081
|
-
"summary": "
|
|
2082
|
-
},
|
|
2083
|
-
"fqn": "@xpertss/projen-types.JavaMavenProject",
|
|
2084
|
-
"initializer": {
|
|
2085
|
-
"docs": {
|
|
2086
|
-
"stability": "experimental"
|
|
2087
|
-
},
|
|
2088
|
-
"locationInModule": {
|
|
2089
|
-
"filename": "src/java/java-maven-base.ts",
|
|
2090
|
-
"line": 23
|
|
2091
|
-
},
|
|
2092
|
-
"parameters": [
|
|
2093
|
-
{
|
|
2094
|
-
"name": "options",
|
|
2095
|
-
"type": {
|
|
2096
|
-
"fqn": "@xpertss/projen-types.JavaMavenProjectOptions"
|
|
2097
|
-
}
|
|
2098
|
-
}
|
|
2099
|
-
]
|
|
3964
|
+
"summary": "Options for `MavenPom`."
|
|
2100
3965
|
},
|
|
2101
|
-
"
|
|
3966
|
+
"fqn": "@xpertss/projen-types.MavenPomOptions",
|
|
3967
|
+
"kind": "interface",
|
|
2102
3968
|
"locationInModule": {
|
|
2103
|
-
"filename": "src/java/
|
|
2104
|
-
"line":
|
|
3969
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3970
|
+
"line": 54
|
|
2105
3971
|
},
|
|
2106
|
-
"name": "
|
|
3972
|
+
"name": "MavenPomOptions",
|
|
2107
3973
|
"properties": [
|
|
2108
3974
|
{
|
|
3975
|
+
"abstract": true,
|
|
2109
3976
|
"docs": {
|
|
2110
3977
|
"stability": "experimental"
|
|
2111
3978
|
},
|
|
2112
3979
|
"immutable": true,
|
|
2113
3980
|
"locationInModule": {
|
|
2114
|
-
"filename": "src/java/
|
|
2115
|
-
"line":
|
|
3981
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3982
|
+
"line": 67
|
|
2116
3983
|
},
|
|
2117
|
-
"name": "
|
|
3984
|
+
"name": "artifactId",
|
|
2118
3985
|
"type": {
|
|
2119
|
-
"
|
|
3986
|
+
"primitive": "string"
|
|
2120
3987
|
}
|
|
2121
3988
|
},
|
|
2122
3989
|
{
|
|
3990
|
+
"abstract": true,
|
|
2123
3991
|
"docs": {
|
|
3992
|
+
"default": "- none",
|
|
2124
3993
|
"stability": "experimental"
|
|
2125
3994
|
},
|
|
2126
3995
|
"immutable": true,
|
|
2127
3996
|
"locationInModule": {
|
|
2128
|
-
"filename": "src/java/
|
|
2129
|
-
"line":
|
|
3997
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
3998
|
+
"line": 82
|
|
2130
3999
|
},
|
|
2131
|
-
"name": "
|
|
4000
|
+
"name": "description",
|
|
4001
|
+
"optional": true,
|
|
2132
4002
|
"type": {
|
|
2133
|
-
"
|
|
4003
|
+
"primitive": "string"
|
|
2134
4004
|
}
|
|
2135
|
-
}
|
|
2136
|
-
],
|
|
2137
|
-
"symbolId": "src/java/java-maven-base:JavaMavenProject"
|
|
2138
|
-
},
|
|
2139
|
-
"@xpertss/projen-types.JavaMavenProjectOptions": {
|
|
2140
|
-
"assembly": "@xpertss/projen-types",
|
|
2141
|
-
"datatype": true,
|
|
2142
|
-
"docs": {
|
|
2143
|
-
"stability": "experimental"
|
|
2144
|
-
},
|
|
2145
|
-
"fqn": "@xpertss/projen-types.JavaMavenProjectOptions",
|
|
2146
|
-
"interfaces": [
|
|
2147
|
-
"@xpertss/projen-types.CommonJavaOptions"
|
|
2148
|
-
],
|
|
2149
|
-
"kind": "interface",
|
|
2150
|
-
"locationInModule": {
|
|
2151
|
-
"filename": "src/java/java-maven-base.ts",
|
|
2152
|
-
"line": 11
|
|
2153
|
-
},
|
|
2154
|
-
"name": "JavaMavenProjectOptions",
|
|
2155
|
-
"symbolId": "src/java/java-maven-base:JavaMavenProjectOptions"
|
|
2156
|
-
},
|
|
2157
|
-
"@xpertss/projen-types.JavaServiceProject": {
|
|
2158
|
-
"assembly": "@xpertss/projen-types",
|
|
2159
|
-
"base": "@xpertss/projen-types.JavaMavenProject",
|
|
2160
|
-
"docs": {
|
|
2161
|
-
"remarks": "Publishes to Docker Hub (never Maven\nCentral); publish and deploy are both manual-dispatch, not on every merge.",
|
|
2162
|
-
"stability": "experimental",
|
|
2163
|
-
"summary": "Springboot service application."
|
|
2164
|
-
},
|
|
2165
|
-
"fqn": "@xpertss/projen-types.JavaServiceProject",
|
|
2166
|
-
"initializer": {
|
|
2167
|
-
"docs": {
|
|
2168
|
-
"stability": "experimental"
|
|
2169
|
-
},
|
|
2170
|
-
"locationInModule": {
|
|
2171
|
-
"filename": "src/java/java-service-project.ts",
|
|
2172
|
-
"line": 12
|
|
2173
4005
|
},
|
|
2174
|
-
"parameters": [
|
|
2175
|
-
{
|
|
2176
|
-
"name": "options",
|
|
2177
|
-
"type": {
|
|
2178
|
-
"fqn": "@xpertss/projen-types.JavaServiceProjectOptions"
|
|
2179
|
-
}
|
|
2180
|
-
}
|
|
2181
|
-
]
|
|
2182
|
-
},
|
|
2183
|
-
"kind": "class",
|
|
2184
|
-
"locationInModule": {
|
|
2185
|
-
"filename": "src/java/java-service-project.ts",
|
|
2186
|
-
"line": 11
|
|
2187
|
-
},
|
|
2188
|
-
"name": "JavaServiceProject",
|
|
2189
|
-
"symbolId": "src/java/java-service-project:JavaServiceProject"
|
|
2190
|
-
},
|
|
2191
|
-
"@xpertss/projen-types.JavaServiceProjectOptions": {
|
|
2192
|
-
"assembly": "@xpertss/projen-types",
|
|
2193
|
-
"datatype": true,
|
|
2194
|
-
"docs": {
|
|
2195
|
-
"stability": "experimental"
|
|
2196
|
-
},
|
|
2197
|
-
"fqn": "@xpertss/projen-types.JavaServiceProjectOptions",
|
|
2198
|
-
"interfaces": [
|
|
2199
|
-
"@xpertss/projen-types.CommonJavaOptions"
|
|
2200
|
-
],
|
|
2201
|
-
"kind": "interface",
|
|
2202
|
-
"locationInModule": {
|
|
2203
|
-
"filename": "src/java/options.ts",
|
|
2204
|
-
"line": 37
|
|
2205
|
-
},
|
|
2206
|
-
"name": "JavaServiceProjectOptions",
|
|
2207
|
-
"properties": [
|
|
2208
4006
|
{
|
|
2209
4007
|
"abstract": true,
|
|
2210
4008
|
"docs": {
|
|
2211
|
-
"default": "
|
|
4009
|
+
"default": "\"pom.xml\"",
|
|
2212
4010
|
"stability": "experimental",
|
|
2213
|
-
"summary": "
|
|
4011
|
+
"summary": "Path of the pom, relative to the project root."
|
|
2214
4012
|
},
|
|
2215
4013
|
"immutable": true,
|
|
2216
4014
|
"locationInModule": {
|
|
2217
|
-
"filename": "src/java/
|
|
2218
|
-
"line":
|
|
4015
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4016
|
+
"line": 59
|
|
2219
4017
|
},
|
|
2220
|
-
"name": "
|
|
4018
|
+
"name": "filePath",
|
|
2221
4019
|
"optional": true,
|
|
2222
4020
|
"type": {
|
|
2223
|
-
"primitive": "
|
|
4021
|
+
"primitive": "string"
|
|
2224
4022
|
}
|
|
2225
4023
|
},
|
|
2226
4024
|
{
|
|
2227
4025
|
"abstract": true,
|
|
2228
4026
|
"docs": {
|
|
2229
|
-
"
|
|
2230
|
-
|
|
2231
|
-
},
|
|
2232
|
-
"default": "- `deploy-cdk.yml` is generated with a single failing step that\ntells you to set this",
|
|
2233
|
-
"remarks": "A plain string rather than a nested struct so that\n`projen new --from",
|
|
4027
|
+
"default": "- inherited from the parent",
|
|
4028
|
+
"remarks": "Omit in a module pom to inherit it from `<parent>`.",
|
|
2234
4029
|
"stability": "experimental",
|
|
2235
|
-
"summary": "
|
|
4030
|
+
"summary": "`groupId`."
|
|
2236
4031
|
},
|
|
2237
4032
|
"immutable": true,
|
|
2238
4033
|
"locationInModule": {
|
|
2239
|
-
"filename": "src/java/
|
|
2240
|
-
"line":
|
|
4034
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4035
|
+
"line": 65
|
|
2241
4036
|
},
|
|
2242
|
-
"name": "
|
|
4037
|
+
"name": "groupId",
|
|
2243
4038
|
"optional": true,
|
|
2244
4039
|
"type": {
|
|
2245
4040
|
"primitive": "string"
|
|
@@ -2248,15 +4043,15 @@
|
|
|
2248
4043
|
{
|
|
2249
4044
|
"abstract": true,
|
|
2250
4045
|
"docs": {
|
|
2251
|
-
"default": "
|
|
4046
|
+
"default": "- none",
|
|
2252
4047
|
"stability": "experimental"
|
|
2253
4048
|
},
|
|
2254
4049
|
"immutable": true,
|
|
2255
4050
|
"locationInModule": {
|
|
2256
|
-
"filename": "src/java/
|
|
2257
|
-
"line":
|
|
4051
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4052
|
+
"line": 79
|
|
2258
4053
|
},
|
|
2259
|
-
"name": "
|
|
4054
|
+
"name": "name",
|
|
2260
4055
|
"optional": true,
|
|
2261
4056
|
"type": {
|
|
2262
4057
|
"primitive": "string"
|
|
@@ -2265,128 +4060,185 @@
|
|
|
2265
4060
|
{
|
|
2266
4061
|
"abstract": true,
|
|
2267
4062
|
"docs": {
|
|
2268
|
-
"default": "
|
|
2269
|
-
"stability": "experimental"
|
|
2270
|
-
"summary": "Deploy targets to offer on the `CdkDeployHook`'s manual-dispatch workflow, when the hook is enabled."
|
|
4063
|
+
"default": "\"jar\"",
|
|
4064
|
+
"stability": "experimental"
|
|
2271
4065
|
},
|
|
2272
4066
|
"immutable": true,
|
|
2273
4067
|
"locationInModule": {
|
|
2274
|
-
"filename": "src/java/
|
|
2275
|
-
"line":
|
|
4068
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4069
|
+
"line": 76
|
|
2276
4070
|
},
|
|
2277
|
-
"name": "
|
|
4071
|
+
"name": "packaging",
|
|
2278
4072
|
"optional": true,
|
|
2279
4073
|
"type": {
|
|
2280
|
-
"
|
|
2281
|
-
"elementtype": {
|
|
2282
|
-
"union": {
|
|
2283
|
-
"types": [
|
|
2284
|
-
{
|
|
2285
|
-
"primitive": "string"
|
|
2286
|
-
},
|
|
2287
|
-
{
|
|
2288
|
-
"fqn": "@xpertss/projen-types.EnvironmentOptions"
|
|
2289
|
-
}
|
|
2290
|
-
]
|
|
2291
|
-
}
|
|
2292
|
-
},
|
|
2293
|
-
"kind": "array"
|
|
2294
|
-
}
|
|
4074
|
+
"primitive": "string"
|
|
2295
4075
|
}
|
|
2296
4076
|
},
|
|
2297
4077
|
{
|
|
2298
4078
|
"abstract": true,
|
|
2299
4079
|
"docs": {
|
|
2300
|
-
"default": "
|
|
4080
|
+
"default": "- no parent",
|
|
2301
4081
|
"stability": "experimental"
|
|
2302
4082
|
},
|
|
2303
4083
|
"immutable": true,
|
|
2304
4084
|
"locationInModule": {
|
|
2305
|
-
"filename": "src/java/
|
|
2306
|
-
"line":
|
|
4085
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4086
|
+
"line": 88
|
|
2307
4087
|
},
|
|
2308
|
-
"name": "
|
|
4088
|
+
"name": "parent",
|
|
2309
4089
|
"optional": true,
|
|
2310
4090
|
"type": {
|
|
2311
|
-
"
|
|
4091
|
+
"fqn": "projen.java.ParentPom"
|
|
4092
|
+
}
|
|
4093
|
+
},
|
|
4094
|
+
{
|
|
4095
|
+
"abstract": true,
|
|
4096
|
+
"docs": {
|
|
4097
|
+
"default": "- none",
|
|
4098
|
+
"stability": "experimental"
|
|
4099
|
+
},
|
|
4100
|
+
"immutable": true,
|
|
4101
|
+
"locationInModule": {
|
|
4102
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4103
|
+
"line": 85
|
|
4104
|
+
},
|
|
4105
|
+
"name": "url",
|
|
4106
|
+
"optional": true,
|
|
4107
|
+
"type": {
|
|
4108
|
+
"primitive": "string"
|
|
4109
|
+
}
|
|
4110
|
+
},
|
|
4111
|
+
{
|
|
4112
|
+
"abstract": true,
|
|
4113
|
+
"docs": {
|
|
4114
|
+
"default": "- inherited from the parent",
|
|
4115
|
+
"remarks": "Omit in a module pom to inherit it from `<parent>`.",
|
|
4116
|
+
"stability": "experimental",
|
|
4117
|
+
"summary": "`version`."
|
|
4118
|
+
},
|
|
4119
|
+
"immutable": true,
|
|
4120
|
+
"locationInModule": {
|
|
4121
|
+
"filename": "src/java/maven/maven-pom.ts",
|
|
4122
|
+
"line": 73
|
|
4123
|
+
},
|
|
4124
|
+
"name": "version",
|
|
4125
|
+
"optional": true,
|
|
4126
|
+
"type": {
|
|
4127
|
+
"primitive": "string"
|
|
2312
4128
|
}
|
|
2313
4129
|
}
|
|
2314
4130
|
],
|
|
2315
|
-
"symbolId": "src/java/
|
|
4131
|
+
"symbolId": "src/java/maven/maven-pom:MavenPomOptions"
|
|
2316
4132
|
},
|
|
2317
|
-
"@xpertss/projen-types.
|
|
4133
|
+
"@xpertss/projen-types.MavenUpgradeReport": {
|
|
2318
4134
|
"assembly": "@xpertss/projen-types",
|
|
2319
4135
|
"base": "projen.Component",
|
|
2320
4136
|
"docs": {
|
|
4137
|
+
"remarks": "It deliberately changes nothing. Every version in a generated pom comes\nfrom `.projenrc.ts` (or this package's defaults), so rewriting `pom.xml`\nwould just be reverted by the next `npx projen` and flagged by the drift\ncheck. Apply an update by changing the version in `.projenrc.ts`.",
|
|
2321
4138
|
"stability": "experimental",
|
|
2322
|
-
"summary": "
|
|
4139
|
+
"summary": "Nightly, report-only dependency check for the Maven types: runs the `upgrade` task (`versions:display-dependency-updates` and `display-plugin-updates`) and writes the available updates into the job summary."
|
|
2323
4140
|
},
|
|
2324
|
-
"fqn": "@xpertss/projen-types.
|
|
4141
|
+
"fqn": "@xpertss/projen-types.MavenUpgradeReport",
|
|
2325
4142
|
"initializer": {
|
|
2326
4143
|
"docs": {
|
|
2327
4144
|
"stability": "experimental"
|
|
2328
4145
|
},
|
|
2329
4146
|
"locationInModule": {
|
|
2330
|
-
"filename": "src/java/components/maven-
|
|
2331
|
-
"line":
|
|
4147
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
4148
|
+
"line": 27
|
|
2332
4149
|
},
|
|
2333
4150
|
"parameters": [
|
|
2334
4151
|
{
|
|
2335
|
-
"name": "
|
|
4152
|
+
"name": "scope",
|
|
2336
4153
|
"type": {
|
|
2337
|
-
"fqn": "projen.
|
|
4154
|
+
"fqn": "projen.github.GitHubProject"
|
|
2338
4155
|
}
|
|
2339
4156
|
},
|
|
2340
4157
|
{
|
|
2341
4158
|
"name": "options",
|
|
2342
|
-
"optional": true,
|
|
2343
4159
|
"type": {
|
|
2344
|
-
"fqn": "@xpertss/projen-types.
|
|
4160
|
+
"fqn": "@xpertss/projen-types.MavenUpgradeReportOptions"
|
|
2345
4161
|
}
|
|
2346
4162
|
}
|
|
2347
4163
|
]
|
|
2348
4164
|
},
|
|
2349
4165
|
"kind": "class",
|
|
2350
4166
|
"locationInModule": {
|
|
2351
|
-
"filename": "src/java/components/maven-
|
|
2352
|
-
"line":
|
|
4167
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
4168
|
+
"line": 24
|
|
2353
4169
|
},
|
|
2354
|
-
"name": "
|
|
2355
|
-
"
|
|
4170
|
+
"name": "MavenUpgradeReport",
|
|
4171
|
+
"properties": [
|
|
4172
|
+
{
|
|
4173
|
+
"docs": {
|
|
4174
|
+
"stability": "experimental"
|
|
4175
|
+
},
|
|
4176
|
+
"immutable": true,
|
|
4177
|
+
"locationInModule": {
|
|
4178
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
4179
|
+
"line": 25
|
|
4180
|
+
},
|
|
4181
|
+
"name": "workflow",
|
|
4182
|
+
"type": {
|
|
4183
|
+
"fqn": "projen.github.GithubWorkflow"
|
|
4184
|
+
}
|
|
4185
|
+
}
|
|
4186
|
+
],
|
|
4187
|
+
"symbolId": "src/java/components/maven-upgrade-report:MavenUpgradeReport"
|
|
2356
4188
|
},
|
|
2357
|
-
"@xpertss/projen-types.
|
|
4189
|
+
"@xpertss/projen-types.MavenUpgradeReportOptions": {
|
|
2358
4190
|
"assembly": "@xpertss/projen-types",
|
|
2359
4191
|
"datatype": true,
|
|
2360
4192
|
"docs": {
|
|
2361
4193
|
"stability": "experimental"
|
|
2362
4194
|
},
|
|
2363
|
-
"fqn": "@xpertss/projen-types.
|
|
4195
|
+
"fqn": "@xpertss/projen-types.MavenUpgradeReportOptions",
|
|
2364
4196
|
"kind": "interface",
|
|
2365
4197
|
"locationInModule": {
|
|
2366
|
-
"filename": "src/java/components/maven-
|
|
4198
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
2367
4199
|
"line": 5
|
|
2368
4200
|
},
|
|
2369
|
-
"name": "
|
|
4201
|
+
"name": "MavenUpgradeReportOptions",
|
|
2370
4202
|
"properties": [
|
|
2371
4203
|
{
|
|
2372
4204
|
"abstract": true,
|
|
2373
4205
|
"docs": {
|
|
2374
|
-
"
|
|
2375
|
-
"
|
|
4206
|
+
"stability": "experimental",
|
|
4207
|
+
"summary": "Steps that install Node, the projen toolchain, and the JDK."
|
|
2376
4208
|
},
|
|
2377
4209
|
"immutable": true,
|
|
2378
4210
|
"locationInModule": {
|
|
2379
|
-
"filename": "src/java/components/maven-
|
|
4211
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
4212
|
+
"line": 10
|
|
4213
|
+
},
|
|
4214
|
+
"name": "setupSteps",
|
|
4215
|
+
"type": {
|
|
4216
|
+
"collection": {
|
|
4217
|
+
"elementtype": {
|
|
4218
|
+
"fqn": "projen.github.workflows.JobStep"
|
|
4219
|
+
},
|
|
4220
|
+
"kind": "array"
|
|
4221
|
+
}
|
|
4222
|
+
}
|
|
4223
|
+
},
|
|
4224
|
+
{
|
|
4225
|
+
"abstract": true,
|
|
4226
|
+
"docs": {
|
|
4227
|
+
"stability": "experimental",
|
|
4228
|
+
"summary": "The task that prints the available updates."
|
|
4229
|
+
},
|
|
4230
|
+
"immutable": true,
|
|
4231
|
+
"locationInModule": {
|
|
4232
|
+
"filename": "src/java/components/maven-upgrade-report.ts",
|
|
2380
4233
|
"line": 7
|
|
2381
4234
|
},
|
|
2382
|
-
"name": "
|
|
2383
|
-
"optional": true,
|
|
4235
|
+
"name": "task",
|
|
2384
4236
|
"type": {
|
|
2385
|
-
"
|
|
4237
|
+
"fqn": "projen.Task"
|
|
2386
4238
|
}
|
|
2387
4239
|
}
|
|
2388
4240
|
],
|
|
2389
|
-
"symbolId": "src/java/components/maven-
|
|
4241
|
+
"symbolId": "src/java/components/maven-upgrade-report:MavenUpgradeReportOptions"
|
|
2390
4242
|
},
|
|
2391
4243
|
"@xpertss/projen-types.ProjenDriftCheckWorkflow": {
|
|
2392
4244
|
"assembly": "@xpertss/projen-types",
|
|
@@ -2401,7 +4253,7 @@
|
|
|
2401
4253
|
},
|
|
2402
4254
|
"locationInModule": {
|
|
2403
4255
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2404
|
-
"line":
|
|
4256
|
+
"line": 42
|
|
2405
4257
|
},
|
|
2406
4258
|
"parameters": [
|
|
2407
4259
|
{
|
|
@@ -2422,7 +4274,7 @@
|
|
|
2422
4274
|
"kind": "class",
|
|
2423
4275
|
"locationInModule": {
|
|
2424
4276
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2425
|
-
"line":
|
|
4277
|
+
"line": 39
|
|
2426
4278
|
},
|
|
2427
4279
|
"name": "ProjenDriftCheckWorkflow",
|
|
2428
4280
|
"properties": [
|
|
@@ -2433,7 +4285,7 @@
|
|
|
2433
4285
|
"immutable": true,
|
|
2434
4286
|
"locationInModule": {
|
|
2435
4287
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2436
|
-
"line":
|
|
4288
|
+
"line": 40
|
|
2437
4289
|
},
|
|
2438
4290
|
"name": "workflow",
|
|
2439
4291
|
"type": {
|
|
@@ -2455,7 +4307,7 @@
|
|
|
2455
4307
|
"kind": "interface",
|
|
2456
4308
|
"locationInModule": {
|
|
2457
4309
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2458
|
-
"line":
|
|
4310
|
+
"line": 19
|
|
2459
4311
|
},
|
|
2460
4312
|
"name": "ProjenDriftCheckWorkflowOptions",
|
|
2461
4313
|
"properties": [
|
|
@@ -2470,7 +4322,7 @@
|
|
|
2470
4322
|
"immutable": true,
|
|
2471
4323
|
"locationInModule": {
|
|
2472
4324
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2473
|
-
"line":
|
|
4325
|
+
"line": 33
|
|
2474
4326
|
},
|
|
2475
4327
|
"name": "gheTokenSecret",
|
|
2476
4328
|
"optional": true,
|
|
@@ -2488,7 +4340,7 @@
|
|
|
2488
4340
|
"immutable": true,
|
|
2489
4341
|
"locationInModule": {
|
|
2490
4342
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2491
|
-
"line":
|
|
4343
|
+
"line": 24
|
|
2492
4344
|
},
|
|
2493
4345
|
"name": "projenCommand",
|
|
2494
4346
|
"optional": true,
|
|
@@ -2505,7 +4357,7 @@
|
|
|
2505
4357
|
"immutable": true,
|
|
2506
4358
|
"locationInModule": {
|
|
2507
4359
|
"filename": "src/common/projen-drift-check-workflow.ts",
|
|
2508
|
-
"line":
|
|
4360
|
+
"line": 36
|
|
2509
4361
|
},
|
|
2510
4362
|
"name": "workflowName",
|
|
2511
4363
|
"optional": true,
|
|
@@ -2631,6 +4483,6 @@
|
|
|
2631
4483
|
"symbolId": "src/common/workflow-change-notice-workflow:WorkflowChangeNoticeWorkflowOptions"
|
|
2632
4484
|
}
|
|
2633
4485
|
},
|
|
2634
|
-
"version": "0.0.
|
|
2635
|
-
"fingerprint": "
|
|
4486
|
+
"version": "0.0.14",
|
|
4487
|
+
"fingerprint": "m7Kn+iVszSAlAvkih39SM40oeCFKhQI8hklwc8V2fMg="
|
|
2636
4488
|
}
|