software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProject Maven / Gradle / Ivy
package software.aws.awsprototypingsdk.pipeline;
/**
* Synthesizes a Typescript Project with a CI/CD pipeline.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.71.0 (build f1f58ae)", date = "2022-12-07T01:30:43.848Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.$Module.class, fqn = "aws-prototyping-sdk.pipeline.PDKPipelineTsProject")
public class PDKPipelineTsProject extends io.github.cdklabs.projen.awscdk.AwsCdkTypeScriptApp {
protected PDKPipelineTsProject(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected PDKPipelineTsProject(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public PDKPipelineTsProject(final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProjectOptions options) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* A fluent builder for {@link software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public static Builder create() {
return new Builder();
}
private final software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProjectOptions.Builder options;
private Builder() {
this.options = new software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProjectOptions.Builder();
}
/**
* (experimental) This is the name of your project.
*
* Default: $BASEDIR
*
* @return {@code this}
* @param name This is the name of your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder name(final java.lang.String name) {
this.options.name(name);
return this;
}
/**
* (experimental) Whether to commit the managed files by default.
*
* Default: true
*
* @return {@code this}
* @param commitGenerated Whether to commit the managed files by default. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder commitGenerated(final java.lang.Boolean commitGenerated) {
this.options.commitGenerated(commitGenerated);
return this;
}
/**
* (experimental) Configure logging options such as verbosity.
*
* Default: {}
*
* @return {@code this}
* @param logging Configure logging options such as verbosity. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder logging(final io.github.cdklabs.projen.LoggerOptions logging) {
this.options.logging(logging);
return this;
}
/**
* (experimental) The root directory of the project.
*
* Relative to this directory, all files are synthesized.
*
* If this project has a parent, this directory is relative to the parent
* directory and it cannot be the same as the parent or any of it's other
* sub-projects.
*
* Default: "."
*
* @return {@code this}
* @param outdir The root directory of the project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder outdir(final java.lang.String outdir) {
this.options.outdir(outdir);
return this;
}
/**
* (experimental) The parent project, if this project is part of a bigger project.
*
* @return {@code this}
* @param parent The parent project, if this project is part of a bigger project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parent(final io.github.cdklabs.projen.Project parent) {
this.options.parent(parent);
return this;
}
/**
* (experimental) The shell command to use in order to run the projen CLI.
*
* Can be used to customize in special environments.
*
* Default: "npx projen"
*
* @return {@code this}
* @param projenCommand The shell command to use in order to run the projen CLI. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCommand(final java.lang.String projenCommand) {
this.options.projenCommand(projenCommand);
return this;
}
/**
* (experimental) Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation.
*
* Default: false
*
* @return {@code this}
* @param projenrcJson Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJson(final java.lang.Boolean projenrcJson) {
this.options.projenrcJson(projenrcJson);
return this;
}
/**
* (experimental) Options for .projenrc.json.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJsonOptions Options for .projenrc.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJsonOptions(final io.github.cdklabs.projen.ProjenrcOptions projenrcJsonOptions) {
this.options.projenrcJsonOptions(projenrcJsonOptions);
return this;
}
/**
* (experimental) Use renovatebot to handle dependency upgrades.
*
* Default: false
*
* @return {@code this}
* @param renovatebot Use renovatebot to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebot(final java.lang.Boolean renovatebot) {
this.options.renovatebot(renovatebot);
return this;
}
/**
* (experimental) Options for renovatebot.
*
* Default: - default options
*
* @return {@code this}
* @param renovatebotOptions Options for renovatebot. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebotOptions(final io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions) {
this.options.renovatebotOptions(renovatebotOptions);
return this;
}
/**
* (experimental) Enable and configure the 'auto approve' workflow.
*
* Default: - auto approve is disabled
*
* @return {@code this}
* @param autoApproveOptions Enable and configure the 'auto approve' workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoApproveOptions(final io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions) {
this.options.autoApproveOptions(autoApproveOptions);
return this;
}
/**
* (experimental) Enable automatic merging on GitHub.
*
* Has no effect if github.mergify
* is set to false.
*
* Default: true
*
* @return {@code this}
* @param autoMerge Enable automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMerge(final java.lang.Boolean autoMerge) {
this.options.autoMerge(autoMerge);
return this;
}
/**
* (experimental) Configure options for automatic merging on GitHub.
*
* Has no effect if
* github.mergify
or autoMerge
is set to false.
*
* Default: - see defaults in `AutoMergeOptions`
*
* @return {@code this}
* @param autoMergeOptions Configure options for automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMergeOptions(final io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions) {
this.options.autoMergeOptions(autoMergeOptions);
return this;
}
/**
* (experimental) Add a `clobber` task which resets the repo to origin.
*
* Default: true
*
* @return {@code this}
* @param clobber Add a `clobber` task which resets the repo to origin. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clobber(final java.lang.Boolean clobber) {
this.options.clobber(clobber);
return this;
}
/**
* (experimental) Add a VSCode development environment (used for GitHub Codespaces).
*
* Default: false
*
* @return {@code this}
* @param devContainer Add a VSCode development environment (used for GitHub Codespaces). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder devContainer(final java.lang.Boolean devContainer) {
this.options.devContainer(devContainer);
return this;
}
/**
* (experimental) Enable GitHub integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param github Enable GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder github(final java.lang.Boolean github) {
this.options.github(github);
return this;
}
/**
* (experimental) Options for GitHub integration.
*
* Default: - see GitHubOptions
*
* @return {@code this}
* @param githubOptions Options for GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder githubOptions(final io.github.cdklabs.projen.github.GitHubOptions githubOptions) {
this.options.githubOptions(githubOptions);
return this;
}
/**
* (experimental) Add a Gitpod development environment.
*
* Default: false
*
* @return {@code this}
* @param gitpod Add a Gitpod development environment. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitpod(final java.lang.Boolean gitpod) {
this.options.gitpod(gitpod);
return this;
}
/**
* (deprecated) Whether mergify should be enabled on this repository or not.
*
* Default: true
*
* @return {@code this}
* @deprecated use `githubOptions.mergify` instead
* @param mergify Whether mergify should be enabled on this repository or not. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergify(final java.lang.Boolean mergify) {
this.options.mergify(mergify);
return this;
}
/**
* (deprecated) Options for mergify.
*
* Default: - default options
*
* @return {@code this}
* @deprecated use `githubOptions.mergifyOptions` instead
* @param mergifyOptions Options for mergify. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergifyOptions(final io.github.cdklabs.projen.github.MergifyOptions mergifyOptions) {
this.options.mergifyOptions(mergifyOptions);
return this;
}
/**
* (deprecated) Which type of project this is (library/app).
*
* Default: ProjectType.UNKNOWN
*
* @return {@code this}
* @deprecated no longer supported at the base project level
* @param projectType Which type of project this is (library/app). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projectType(final io.github.cdklabs.projen.ProjectType projectType) {
this.options.projectType(projectType);
return this;
}
/**
* (experimental) Choose a method of providing GitHub API access for projen workflows.
*
* Default: - use a personal access token named PROJEN_GITHUB_TOKEN
*
* @return {@code this}
* @param projenCredentials Choose a method of providing GitHub API access for projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCredentials(final io.github.cdklabs.projen.github.GithubCredentials projenCredentials) {
this.options.projenCredentials(projenCredentials);
return this;
}
/**
* (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
*
* This token needs to have the repo
, workflows
* and packages
scope.
*
* Default: "PROJEN_GITHUB_TOKEN"
*
* @return {@code this}
* @deprecated use `projenCredentials`
* @param projenTokenSecret The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projenTokenSecret(final java.lang.String projenTokenSecret) {
this.options.projenTokenSecret(projenTokenSecret);
return this;
}
/**
* (experimental) The README setup.
*
* Default: - { filename: 'README.md', contents: '# replace this' }
*
* Example:
*
*
* "{ filename: 'readme.md', contents: '# title' }"
*
*
* @return {@code this}
* @param readme The README setup. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder readme(final io.github.cdklabs.projen.SampleReadmeProps readme) {
this.options.readme(readme);
return this;
}
/**
* (experimental) Auto-close of stale issues and pull request.
*
* See staleOptions
for options.
*
* Default: false
*
* @return {@code this}
* @param stale Auto-close of stale issues and pull request. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stale(final java.lang.Boolean stale) {
this.options.stale(stale);
return this;
}
/**
* (experimental) Auto-close stale issues and pull requests.
*
* To disable set stale
to false
.
*
* Default: - see defaults in `StaleOptions`
*
* @return {@code this}
* @param staleOptions Auto-close stale issues and pull requests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder staleOptions(final io.github.cdklabs.projen.github.StaleOptions staleOptions) {
this.options.staleOptions(staleOptions);
return this;
}
/**
* (experimental) Enable VSCode integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param vscode Enable VSCode integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vscode(final java.lang.Boolean vscode) {
this.options.vscode(vscode);
return this;
}
/**
* (experimental) Allow the project to include `peerDependencies` and `bundledDependencies`.
*
* This is normally only allowed for libraries. For apps, there's no meaning
* for specifying these.
*
* Default: true
*
* @return {@code this}
* @param allowLibraryDependencies Allow the project to include `peerDependencies` and `bundledDependencies`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder allowLibraryDependencies(final java.lang.Boolean allowLibraryDependencies) {
this.options.allowLibraryDependencies(allowLibraryDependencies);
return this;
}
/**
* (experimental) Author's e-mail.
*
* @return {@code this}
* @param authorEmail Author's e-mail. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorEmail(final java.lang.String authorEmail) {
this.options.authorEmail(authorEmail);
return this;
}
/**
* (experimental) Author's name.
*
* @return {@code this}
* @param authorName Author's name. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorName(final java.lang.String authorName) {
this.options.authorName(authorName);
return this;
}
/**
* (experimental) Is the author an organization.
*
* @return {@code this}
* @param authorOrganization Is the author an organization. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorOrganization(final java.lang.Boolean authorOrganization) {
this.options.authorOrganization(authorOrganization);
return this;
}
/**
* (experimental) Author's URL / Website.
*
* @return {@code this}
* @param authorUrl Author's URL / Website. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder authorUrl(final java.lang.String authorUrl) {
this.options.authorUrl(authorUrl);
return this;
}
/**
* (experimental) Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section.
*
* Default: true
*
* @return {@code this}
* @param autoDetectBin Automatically add all executables under the `bin` directory to your `package.json` file under the `bin` section. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoDetectBin(final java.lang.Boolean autoDetectBin) {
this.options.autoDetectBin(autoDetectBin);
return this;
}
/**
* (experimental) Binary programs vended with your module.
*
* You can use this option to add/customize how binaries are represented in
* your package.json
, but unless autoDetectBin
is false
, every
* executable file under bin
will automatically be added to this section.
*
* @return {@code this}
* @param bin Binary programs vended with your module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bin(final java.util.Map bin) {
this.options.bin(bin);
return this;
}
/**
* (experimental) The email address to which issues should be reported.
*
* @return {@code this}
* @param bugsEmail The email address to which issues should be reported. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bugsEmail(final java.lang.String bugsEmail) {
this.options.bugsEmail(bugsEmail);
return this;
}
/**
* (experimental) The url to your project's issue tracker.
*
* @return {@code this}
* @param bugsUrl The url to your project's issue tracker. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bugsUrl(final java.lang.String bugsUrl) {
this.options.bugsUrl(bugsUrl);
return this;
}
/**
* (experimental) List of dependencies to bundle into this module.
*
* These modules will be
* added both to the dependencies
section and bundledDependencies
section of
* your package.json
.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* @return {@code this}
* @param bundledDeps List of dependencies to bundle into this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bundledDeps(final java.util.List bundledDeps) {
this.options.bundledDeps(bundledDeps);
return this;
}
/**
* (experimental) Options for npm packages using AWS CodeArtifact.
*
* This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact
*
* Default: - undefined
*
* @return {@code this}
* @param codeArtifactOptions Options for npm packages using AWS CodeArtifact. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeArtifactOptions(final io.github.cdklabs.projen.javascript.CodeArtifactOptions codeArtifactOptions) {
this.options.codeArtifactOptions(codeArtifactOptions);
return this;
}
/**
* (experimental) Runtime dependencies of this module.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* Default: []
*
* Example:
*
*
* [ 'express', 'lodash', 'foo@^2' ]
*
*
* @return {@code this}
* @param deps Runtime dependencies of this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder deps(final java.util.List deps) {
this.options.deps(deps);
return this;
}
/**
* (experimental) The description is just a string that helps people understand the purpose of the package.
*
* It can be used when searching for packages in a package manager as well.
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-description
*
* @return {@code this}
* @param description The description is just a string that helps people understand the purpose of the package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder description(final java.lang.String description) {
this.options.description(description);
return this;
}
/**
* (experimental) Build dependencies for this module.
*
* These dependencies will only be
* available in your build environment but will not be fetched when this
* module is consumed.
*
* The recommendation is to only specify the module name here (e.g.
* express
). This will behave similar to yarn add
or npm install
in the
* sense that it will add the module as a dependency to your package.json
* file with the latest version (^
). You can specify semver requirements in
* the same syntax passed to npm i
or yarn add
(e.g. express@^2
) and
* this will be what you package.json
will eventually include.
*
* Default: []
*
* Example:
*
*
* [ 'typescript', '@types/express' ]
*
*
* @return {@code this}
* @param devDeps Build dependencies for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder devDeps(final java.util.List devDeps) {
this.options.devDeps(devDeps);
return this;
}
/**
* (experimental) Module entrypoint (`main` in `package.json`).
*
* Set to an empty string to not include main
in your package.json
*
* Default: "lib/index.js"
*
* @return {@code this}
* @param entrypoint Module entrypoint (`main` in `package.json`). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder entrypoint(final java.lang.String entrypoint) {
this.options.entrypoint(entrypoint);
return this;
}
/**
* (experimental) Package's Homepage / Website.
*
* @return {@code this}
* @param homepage Package's Homepage / Website. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder homepage(final java.lang.String homepage) {
this.options.homepage(homepage);
return this;
}
/**
* (experimental) Keywords to include in `package.json`.
*
* @return {@code this}
* @param keywords Keywords to include in `package.json`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder keywords(final java.util.List keywords) {
this.options.keywords(keywords);
return this;
}
/**
* (experimental) License's SPDX identifier.
*
* See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses.
* Use the licensed
option if you want to no license to be specified.
*
* Default: "Apache-2.0"
*
* @return {@code this}
* @param license License's SPDX identifier. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder license(final java.lang.String license) {
this.options.license(license);
return this;
}
/**
* (experimental) Indicates if a license should be added.
*
* Default: true
*
* @return {@code this}
* @param licensed Indicates if a license should be added. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder licensed(final java.lang.Boolean licensed) {
this.options.licensed(licensed);
return this;
}
/**
* (experimental) Minimum node.js version to require via `engines` (inclusive).
*
* Default: - no max
*
* @return {@code this}
* @param maxNodeVersion Minimum node.js version to require via `engines` (inclusive). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder maxNodeVersion(final java.lang.String maxNodeVersion) {
this.options.maxNodeVersion(maxNodeVersion);
return this;
}
/**
* (experimental) Minimum Node.js version to require via package.json `engines` (inclusive).
*
* Default: - no "engines" specified
*
* @return {@code this}
* @param minNodeVersion Minimum Node.js version to require via package.json `engines` (inclusive). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder minNodeVersion(final java.lang.String minNodeVersion) {
this.options.minNodeVersion(minNodeVersion);
return this;
}
/**
* (experimental) Access level of the npm package.
*
* Default: - for scoped packages (e.g. `foo@bar`), the default is
* `NpmAccess.RESTRICTED`, for non-scoped packages, the default is
* `NpmAccess.PUBLIC`.
*
* @return {@code this}
* @param npmAccess Access level of the npm package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmAccess(final io.github.cdklabs.projen.javascript.NpmAccess npmAccess) {
this.options.npmAccess(npmAccess);
return this;
}
/**
* (deprecated) The host name of the npm registry to publish to.
*
* Cannot be set together with npmRegistryUrl
.
*
* @return {@code this}
* @deprecated use `npmRegistryUrl` instead
* @param npmRegistry The host name of the npm registry to publish to. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder npmRegistry(final java.lang.String npmRegistry) {
this.options.npmRegistry(npmRegistry);
return this;
}
/**
* (experimental) The base URL of the npm package registry.
*
* Must be a URL (e.g. start with "https://" or "http://")
*
* Default: "https://registry.npmjs.org"
*
* @return {@code this}
* @param npmRegistryUrl The base URL of the npm package registry. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmRegistryUrl(final java.lang.String npmRegistryUrl) {
this.options.npmRegistryUrl(npmRegistryUrl);
return this;
}
/**
* (experimental) GitHub secret which contains the NPM token to use when publishing packages.
*
* Default: "NPM_TOKEN"
*
* @return {@code this}
* @param npmTokenSecret GitHub secret which contains the NPM token to use when publishing packages. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmTokenSecret(final java.lang.String npmTokenSecret) {
this.options.npmTokenSecret(npmTokenSecret);
return this;
}
/**
* (experimental) The Node Package Manager used to execute scripts.
*
* Default: NodePackageManager.YARN
*
* @return {@code this}
* @param packageManager The Node Package Manager used to execute scripts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageManager(final io.github.cdklabs.projen.javascript.NodePackageManager packageManager) {
this.options.packageManager(packageManager);
return this;
}
/**
* (experimental) The "name" in package.json.
*
* Default: - defaults to project name
*
* @return {@code this}
* @param packageName The "name" in package.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageName(final java.lang.String packageName) {
this.options.packageName(packageName);
return this;
}
/**
* (experimental) Options for `peerDeps`.
*
* @return {@code this}
* @param peerDependencyOptions Options for `peerDeps`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder peerDependencyOptions(final io.github.cdklabs.projen.javascript.PeerDependencyOptions peerDependencyOptions) {
this.options.peerDependencyOptions(peerDependencyOptions);
return this;
}
/**
* (experimental) Peer dependencies for this module.
*
* Dependencies listed here are required to
* be installed (and satisfied) by the consumer of this library. Using peer
* dependencies allows you to ensure that only a single module of a certain
* library exists in the node_modules
tree of your consumers.
*
* Note that prior to npm@7, peer dependencies are not automatically
* installed, which means that adding peer dependencies to a library will be a
* breaking change for your customers.
*
* Unless peerDependencyOptions.pinnedDevDependency
is disabled (it is
* enabled by default), projen will automatically add a dev dependency with a
* pinned version for each peer dependency. This will ensure that you build &
* test your module against the lowest peer version required.
*
* Default: []
*
* @return {@code this}
* @param peerDeps Peer dependencies for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder peerDeps(final java.util.List peerDeps) {
this.options.peerDeps(peerDeps);
return this;
}
/**
* (experimental) The repository is the location where the actual code for your package lives.
*
* See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository
*
* @return {@code this}
* @param repository The repository is the location where the actual code for your package lives. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder repository(final java.lang.String repository) {
this.options.repository(repository);
return this;
}
/**
* (experimental) If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives.
*
* @return {@code this}
* @param repositoryDirectory If the package.json for your package is not in the root directory (for example if it is part of a monorepo), you can specify the directory in which it lives. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder repositoryDirectory(final java.lang.String repositoryDirectory) {
this.options.repositoryDirectory(repositoryDirectory);
return this;
}
/**
* (experimental) Options for privately hosted scoped packages.
*
* Default: - fetch all scoped packages from the public npm registry
*
* @return {@code this}
* @param scopedPackagesOptions Options for privately hosted scoped packages. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder scopedPackagesOptions(final java.util.List extends io.github.cdklabs.projen.javascript.ScopedPackagesOptions> scopedPackagesOptions) {
this.options.scopedPackagesOptions(scopedPackagesOptions);
return this;
}
/**
* (experimental) npm scripts to include.
*
* If a script has the same name as a standard script,
* the standard script will be overwritten.
*
* Default: {}
*
* @return {@code this}
* @param scripts npm scripts to include. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder scripts(final java.util.Map scripts) {
this.options.scripts(scripts);
return this;
}
/**
* (experimental) Package's Stability.
*
* @return {@code this}
* @param stability Package's Stability. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stability(final java.lang.String stability) {
this.options.stability(stability);
return this;
}
/**
* (experimental) Version requirement of `publib` which is used to publish modules to npm.
*
* Default: "latest"
*
* @return {@code this}
* @param jsiiReleaseVersion Version requirement of `publib` which is used to publish modules to npm. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jsiiReleaseVersion(final java.lang.String jsiiReleaseVersion) {
this.options.jsiiReleaseVersion(jsiiReleaseVersion);
return this;
}
/**
* (experimental) Major version to release from the default branch.
*
* If this is specified, we bump the latest version of this major version line.
* If not specified, we bump the global latest version.
*
* Default: - Major version is not enforced.
*
* @return {@code this}
* @param majorVersion Major version to release from the default branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder majorVersion(final java.lang.Number majorVersion) {
this.options.majorVersion(majorVersion);
return this;
}
/**
* (experimental) Minimal Major version to release.
*
* This can be useful to set to 1, as breaking changes before the 1.x major
* release are not incrementing the major version number.
*
* Can not be set together with majorVersion
.
*
* Default: - No minimum version is being enforced
*
* @return {@code this}
* @param minMajorVersion Minimal Major version to release. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder minMajorVersion(final java.lang.Number minMajorVersion) {
this.options.minMajorVersion(minMajorVersion);
return this;
}
/**
* (experimental) The npmDistTag to use when publishing from the default branch.
*
* To set the npm dist-tag for release branches, set the npmDistTag
property
* for each branch.
*
* Default: "latest"
*
* @return {@code this}
* @param npmDistTag The npmDistTag to use when publishing from the default branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmDistTag(final java.lang.String npmDistTag) {
this.options.npmDistTag(npmDistTag);
return this;
}
/**
* (experimental) Steps to execute after build as part of the release workflow.
*
* Default: []
*
* @return {@code this}
* @param postBuildSteps Steps to execute after build as part of the release workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder postBuildSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> postBuildSteps) {
this.options.postBuildSteps(postBuildSteps);
return this;
}
/**
* (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
*
* Default: - normal semantic versions
*
* @return {@code this}
* @param prerelease Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre"). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prerelease(final java.lang.String prerelease) {
this.options.prerelease(prerelease);
return this;
}
/**
* (experimental) Instead of actually publishing to package managers, just print the publishing command.
*
* Default: false
*
* @return {@code this}
* @param publishDryRun Instead of actually publishing to package managers, just print the publishing command. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder publishDryRun(final java.lang.Boolean publishDryRun) {
this.options.publishDryRun(publishDryRun);
return this;
}
/**
* (experimental) Define publishing tasks that can be executed manually as well as workflows.
*
* Normally, publishing only happens within automated workflows. Enable this
* in order to create a publishing task for each publishing activity.
*
* Default: false
*
* @return {@code this}
* @param publishTasks Define publishing tasks that can be executed manually as well as workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder publishTasks(final java.lang.Boolean publishTasks) {
this.options.publishTasks(publishTasks);
return this;
}
/**
* (experimental) Defines additional release branches.
*
* A workflow will be created for each
* release branch which will publish releases from commits in this branch.
* Each release branch must be assigned a major version number which is used
* to enforce that versions published from that branch always use that major
* version. If multiple branches are used, the majorVersion
field must also
* be provided for the default branch.
*
* Default: - no additional branches are used for release. you can use
* `addBranch()` to add additional branches.
*
* @return {@code this}
* @param releaseBranches Defines additional release branches. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseBranches(final java.util.Map releaseBranches) {
this.options.releaseBranches(releaseBranches);
return this;
}
/**
* (deprecated) Automatically release new versions every commit to one of branches in `releaseBranches`.
*
* Default: true
*
* @return {@code this}
* @deprecated Use `releaseTrigger: ReleaseTrigger.continuous()` instead
* @param releaseEveryCommit Automatically release new versions every commit to one of branches in `releaseBranches`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseEveryCommit(final java.lang.Boolean releaseEveryCommit) {
this.options.releaseEveryCommit(releaseEveryCommit);
return this;
}
/**
* (experimental) Create a github issue on every failed publishing task.
*
* Default: false
*
* @return {@code this}
* @param releaseFailureIssue Create a github issue on every failed publishing task. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseFailureIssue(final java.lang.Boolean releaseFailureIssue) {
this.options.releaseFailureIssue(releaseFailureIssue);
return this;
}
/**
* (experimental) The label to apply to issues indicating publish failures.
*
* Only applies if releaseFailureIssue
is true.
*
* Default: "failed-release"
*
* @return {@code this}
* @param releaseFailureIssueLabel The label to apply to issues indicating publish failures. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseFailureIssueLabel(final java.lang.String releaseFailureIssueLabel) {
this.options.releaseFailureIssueLabel(releaseFailureIssueLabel);
return this;
}
/**
* (deprecated) CRON schedule to trigger new releases.
*
* Default: - no scheduled releases
*
* @return {@code this}
* @deprecated Use `releaseTrigger: ReleaseTrigger.scheduled()` instead
* @param releaseSchedule CRON schedule to trigger new releases. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseSchedule(final java.lang.String releaseSchedule) {
this.options.releaseSchedule(releaseSchedule);
return this;
}
/**
* (experimental) Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers.
*
* Note: this prefix is used to detect the latest tagged version
* when bumping, so if you change this on a project with an existing version
* history, you may need to manually tag your latest release
* with the new prefix.
*
* Default: "v"
*
* @return {@code this}
* @param releaseTagPrefix Automatically add the given prefix to release tags. Useful if you are releasing on multiple branches with overlapping version numbers. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseTagPrefix(final java.lang.String releaseTagPrefix) {
this.options.releaseTagPrefix(releaseTagPrefix);
return this;
}
/**
* (experimental) The release trigger to use.
*
* Default: - Continuous releases (`ReleaseTrigger.continuous()`)
*
* @return {@code this}
* @param releaseTrigger The release trigger to use. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseTrigger(final io.github.cdklabs.projen.release.ReleaseTrigger releaseTrigger) {
this.options.releaseTrigger(releaseTrigger);
return this;
}
/**
* (experimental) The name of the default release workflow.
*
* Default: "Release"
*
* @return {@code this}
* @param releaseWorkflowName The name of the default release workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseWorkflowName(final java.lang.String releaseWorkflowName) {
this.options.releaseWorkflowName(releaseWorkflowName);
return this;
}
/**
* (experimental) A set of workflow steps to execute in order to setup the workflow container.
*
* @return {@code this}
* @param releaseWorkflowSetupSteps A set of workflow steps to execute in order to setup the workflow container. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseWorkflowSetupSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> releaseWorkflowSetupSteps) {
this.options.releaseWorkflowSetupSteps(releaseWorkflowSetupSteps);
return this;
}
/**
* (experimental) Custom configuration used when creating changelog with standard-version package.
*
* Given values either append to default configuration or overwrite values in it.
*
* Default: - standard configuration applicable for GitHub repositories
*
* @return {@code this}
* @param versionrcOptions Custom configuration used when creating changelog with standard-version package. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder versionrcOptions(final java.util.Map versionrcOptions) {
this.options.versionrcOptions(versionrcOptions);
return this;
}
/**
* (experimental) Container image to use for GitHub workflows.
*
* Default: - default image
*
* @return {@code this}
* @param workflowContainerImage Container image to use for GitHub workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowContainerImage(final java.lang.String workflowContainerImage) {
this.options.workflowContainerImage(workflowContainerImage);
return this;
}
/**
* (experimental) Github Runner selection labels.
*
* Default: ["ubuntu-latest"]
*
* @return {@code this}
* @param workflowRunsOn Github Runner selection labels. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowRunsOn(final java.util.List workflowRunsOn) {
this.options.workflowRunsOn(workflowRunsOn);
return this;
}
/**
* (experimental) The name of the main release branch.
*
* Default: "main"
*
* @return {@code this}
* @param defaultReleaseBranch The name of the main release branch. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder defaultReleaseBranch(final java.lang.String defaultReleaseBranch) {
this.options.defaultReleaseBranch(defaultReleaseBranch);
return this;
}
/**
* (experimental) A directory which will contain build artifacts.
*
* Default: "dist"
*
* @return {@code this}
* @param artifactsDirectory A directory which will contain build artifacts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder artifactsDirectory(final java.lang.String artifactsDirectory) {
this.options.artifactsDirectory(artifactsDirectory);
return this;
}
/**
* (experimental) Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued).
*
* Throw if set to true but autoApproveOptions
are not defined.
*
* Default: - true
*
* @return {@code this}
* @param autoApproveUpgrades Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoApproveUpgrades(final java.lang.Boolean autoApproveUpgrades) {
this.options.autoApproveUpgrades(autoApproveUpgrades);
return this;
}
/**
* (experimental) Define a GitHub workflow for building PRs.
*
* Default: - true if not a subproject
*
* @return {@code this}
* @param buildWorkflow Define a GitHub workflow for building PRs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder buildWorkflow(final java.lang.Boolean buildWorkflow) {
this.options.buildWorkflow(buildWorkflow);
return this;
}
/**
* (experimental) Build workflow triggers.
*
* Default: "{ pullRequest: {}, workflowDispatch: {} }"
*
* @return {@code this}
* @param buildWorkflowTriggers Build workflow triggers. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder buildWorkflowTriggers(final io.github.cdklabs.projen.github.workflows.Triggers buildWorkflowTriggers) {
this.options.buildWorkflowTriggers(buildWorkflowTriggers);
return this;
}
/**
* (experimental) Options for `Bundler`.
*
* @return {@code this}
* @param bundlerOptions Options for `Bundler`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder bundlerOptions(final io.github.cdklabs.projen.javascript.BundlerOptions bundlerOptions) {
this.options.bundlerOptions(bundlerOptions);
return this;
}
/**
* (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with @codeCovTokenSecret.
*
* Default: false
*
* @return {@code this}
* @param codeCov Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with @codeCovTokenSecret. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeCov(final java.lang.Boolean codeCov) {
this.options.codeCov(codeCov);
return this;
}
/**
* (experimental) Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.
*
* Default: - if this option is not specified, only public repositories are supported
*
* @return {@code this}
* @param codeCovTokenSecret Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder codeCovTokenSecret(final java.lang.String codeCovTokenSecret) {
this.options.codeCovTokenSecret(codeCovTokenSecret);
return this;
}
/**
* (experimental) License copyright owner.
*
* Default: - defaults to the value of authorName or "" if `authorName` is undefined.
*
* @return {@code this}
* @param copyrightOwner License copyright owner. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder copyrightOwner(final java.lang.String copyrightOwner) {
this.options.copyrightOwner(copyrightOwner);
return this;
}
/**
* (experimental) The copyright years to put in the LICENSE file.
*
* Default: - current year
*
* @return {@code this}
* @param copyrightPeriod The copyright years to put in the LICENSE file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder copyrightPeriod(final java.lang.String copyrightPeriod) {
this.options.copyrightPeriod(copyrightPeriod);
return this;
}
/**
* (experimental) Use dependabot to handle dependency upgrades.
*
* Cannot be used in conjunction with depsUpgrade
.
*
* Default: false
*
* @return {@code this}
* @param dependabot Use dependabot to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder dependabot(final java.lang.Boolean dependabot) {
this.options.dependabot(dependabot);
return this;
}
/**
* (experimental) Options for dependabot.
*
* Default: - default options
*
* @return {@code this}
* @param dependabotOptions Options for dependabot. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder dependabotOptions(final io.github.cdklabs.projen.github.DependabotOptions dependabotOptions) {
this.options.dependabotOptions(dependabotOptions);
return this;
}
/**
* (experimental) Use github workflows to handle dependency upgrades.
*
* Cannot be used in conjunction with dependabot
.
*
* Default: true
*
* @return {@code this}
* @param depsUpgrade Use github workflows to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder depsUpgrade(final java.lang.Boolean depsUpgrade) {
this.options.depsUpgrade(depsUpgrade);
return this;
}
/**
* (experimental) Options for `UpgradeDependencies`.
*
* Default: - default options
*
* @return {@code this}
* @param depsUpgradeOptions Options for `UpgradeDependencies`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder depsUpgradeOptions(final io.github.cdklabs.projen.javascript.UpgradeDependenciesOptions depsUpgradeOptions) {
this.options.depsUpgradeOptions(depsUpgradeOptions);
return this;
}
/**
* (experimental) Additional entries to .gitignore.
*
* @return {@code this}
* @param gitignore Additional entries to .gitignore. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitignore(final java.util.List gitignore) {
this.options.gitignore(gitignore);
return this;
}
/**
* (experimental) Setup jest unit tests.
*
* Default: true
*
* @return {@code this}
* @param jest Setup jest unit tests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jest(final java.lang.Boolean jest) {
this.options.jest(jest);
return this;
}
/**
* (experimental) Jest options.
*
* Default: - default options
*
* @return {@code this}
* @param jestOptions Jest options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jestOptions(final io.github.cdklabs.projen.javascript.JestOptions jestOptions) {
this.options.jestOptions(jestOptions);
return this;
}
/**
* (experimental) Automatically update files modified during builds to pull-request branches.
*
* This means
* that any files synthesized by projen or e.g. test snapshots will always be up-to-date
* before a PR is merged.
*
* Implies that PR builds do not have anti-tamper checks.
*
* Default: true
*
* @return {@code this}
* @param mutableBuild Automatically update files modified during builds to pull-request branches. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder mutableBuild(final java.lang.Boolean mutableBuild) {
this.options.mutableBuild(mutableBuild);
return this;
}
/**
* (deprecated) Additional entries to .npmignore.
*
* @return {@code this}
* @deprecated - use `project.addPackageIgnore`
* @param npmignore Additional entries to .npmignore. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder npmignore(final java.util.List npmignore) {
this.options.npmignore(npmignore);
return this;
}
/**
* (experimental) Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.
*
* Default: true
*
* @return {@code this}
* @param npmignoreEnabled Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder npmignoreEnabled(final java.lang.Boolean npmignoreEnabled) {
this.options.npmignoreEnabled(npmignoreEnabled);
return this;
}
/**
* (experimental) Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`).
*
* Default: true
*
* @return {@code this}
* @param packageValue Defines a `package` task that will produce an npm tarball under the artifacts directory (e.g. `dist`). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packageValue(final java.lang.Boolean packageValue) {
this.options.packageValue(packageValue);
return this;
}
/**
* (experimental) Setup prettier.
*
* Default: false
*
* @return {@code this}
* @param prettier Setup prettier. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prettier(final java.lang.Boolean prettier) {
this.options.prettier(prettier);
return this;
}
/**
* (experimental) Prettier options.
*
* Default: - default options
*
* @return {@code this}
* @param prettierOptions Prettier options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prettierOptions(final io.github.cdklabs.projen.javascript.PrettierOptions prettierOptions) {
this.options.prettierOptions(prettierOptions);
return this;
}
/**
* (experimental) Indicates of "projen" should be installed as a devDependency.
*
* Default: true
*
* @return {@code this}
* @param projenDevDependency Indicates of "projen" should be installed as a devDependency. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenDevDependency(final java.lang.Boolean projenDevDependency) {
this.options.projenDevDependency(projenDevDependency);
return this;
}
/**
* (experimental) Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation.
*
* Default: - true if projenrcJson is false
*
* @return {@code this}
* @param projenrcJs Generate (once) .projenrc.js (in JavaScript). Set to `false` in order to disable .projenrc.js generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJs(final java.lang.Boolean projenrcJs) {
this.options.projenrcJs(projenrcJs);
return this;
}
/**
* (experimental) Options for .projenrc.js.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJsOptions Options for .projenrc.js. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJsOptions(final io.github.cdklabs.projen.javascript.ProjenrcOptions projenrcJsOptions) {
this.options.projenrcJsOptions(projenrcJsOptions);
return this;
}
/**
* (experimental) Version of projen to install.
*
* Default: - Defaults to the latest version.
*
* @return {@code this}
* @param projenVersion Version of projen to install. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenVersion(final java.lang.String projenVersion) {
this.options.projenVersion(projenVersion);
return this;
}
/**
* (experimental) Include a GitHub pull request template.
*
* Default: true
*
* @return {@code this}
* @param pullRequestTemplate Include a GitHub pull request template. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pullRequestTemplate(final java.lang.Boolean pullRequestTemplate) {
this.options.pullRequestTemplate(pullRequestTemplate);
return this;
}
/**
* (experimental) The contents of the pull request template.
*
* Default: - default content
*
* @return {@code this}
* @param pullRequestTemplateContents The contents of the pull request template. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pullRequestTemplateContents(final java.util.List pullRequestTemplateContents) {
this.options.pullRequestTemplateContents(pullRequestTemplateContents);
return this;
}
/**
* (experimental) Add release management to this project.
*
* Default: - true (false for subprojects)
*
* @return {@code this}
* @param release Add release management to this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder release(final java.lang.Boolean release) {
this.options.release(release);
return this;
}
/**
* (experimental) Automatically release to npm when new versions are introduced.
*
* Default: false
*
* @return {@code this}
* @param releaseToNpm Automatically release to npm when new versions are introduced. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseToNpm(final java.lang.Boolean releaseToNpm) {
this.options.releaseToNpm(releaseToNpm);
return this;
}
/**
* (deprecated) DEPRECATED: renamed to `release`.
*
* Default: - true if not a subproject
*
* @return {@code this}
* @deprecated see `release`.
* @param releaseWorkflow DEPRECATED: renamed to `release`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder releaseWorkflow(final java.lang.Boolean releaseWorkflow) {
this.options.releaseWorkflow(releaseWorkflow);
return this;
}
/**
* (experimental) Workflow steps to use in order to bootstrap this repo.
*
* Default: "yarn install --frozen-lockfile && yarn projen"
*
* @return {@code this}
* @param workflowBootstrapSteps Workflow steps to use in order to bootstrap this repo. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowBootstrapSteps(final java.util.List extends io.github.cdklabs.projen.github.workflows.JobStep> workflowBootstrapSteps) {
this.options.workflowBootstrapSteps(workflowBootstrapSteps);
return this;
}
/**
* (experimental) The git identity to use in workflows.
*
* Default: - GitHub Actions
*
* @return {@code this}
* @param workflowGitIdentity The git identity to use in workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowGitIdentity(final io.github.cdklabs.projen.github.GitIdentity workflowGitIdentity) {
this.options.workflowGitIdentity(workflowGitIdentity);
return this;
}
/**
* (experimental) The node version to use in GitHub workflows.
*
* Default: - same as `minNodeVersion`
*
* @return {@code this}
* @param workflowNodeVersion The node version to use in GitHub workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowNodeVersion(final java.lang.String workflowNodeVersion) {
this.options.workflowNodeVersion(workflowNodeVersion);
return this;
}
/**
* (experimental) Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler).
*
* Default: false
*
* @return {@code this}
* @param disableTsconfig Do not generate a `tsconfig.json` file (used by jsii projects since tsconfig.json is generated by the jsii compiler). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder disableTsconfig(final java.lang.Boolean disableTsconfig) {
this.options.disableTsconfig(disableTsconfig);
return this;
}
/**
* (experimental) Docgen by Typedoc.
*
* Default: false
*
* @return {@code this}
* @param docgen Docgen by Typedoc. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder docgen(final java.lang.Boolean docgen) {
this.options.docgen(docgen);
return this;
}
/**
* (experimental) Docs directory.
*
* Default: "docs"
*
* @return {@code this}
* @param docsDirectory Docs directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder docsDirectory(final java.lang.String docsDirectory) {
this.options.docsDirectory(docsDirectory);
return this;
}
/**
* (experimental) The .d.ts file that includes the type declarations for this module.
*
* Default: - .d.ts file derived from the project's entrypoint (usually lib/index.d.ts)
*
* @return {@code this}
* @param entrypointTypes The .d.ts file that includes the type declarations for this module. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder entrypointTypes(final java.lang.String entrypointTypes) {
this.options.entrypointTypes(entrypointTypes);
return this;
}
/**
* (experimental) Setup eslint.
*
* Default: true
*
* @return {@code this}
* @param eslint Setup eslint. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder eslint(final java.lang.Boolean eslint) {
this.options.eslint(eslint);
return this;
}
/**
* (experimental) Eslint options.
*
* Default: - opinionated default options
*
* @return {@code this}
* @param eslintOptions Eslint options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder eslintOptions(final io.github.cdklabs.projen.javascript.EslintOptions eslintOptions) {
this.options.eslintOptions(eslintOptions);
return this;
}
/**
* (experimental) Typescript artifacts output directory.
*
* Default: "lib"
*
* @return {@code this}
* @param libdir Typescript artifacts output directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder libdir(final java.lang.String libdir) {
this.options.libdir(libdir);
return this;
}
/**
* (experimental) Use TypeScript for your projenrc file (`.projenrc.ts`).
*
* Default: false
*
* @return {@code this}
* @param projenrcTs Use TypeScript for your projenrc file (`.projenrc.ts`). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcTs(final java.lang.Boolean projenrcTs) {
this.options.projenrcTs(projenrcTs);
return this;
}
/**
* (experimental) Options for .projenrc.ts.
*
* @return {@code this}
* @param projenrcTsOptions Options for .projenrc.ts. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcTsOptions(final io.github.cdklabs.projen.typescript.ProjenrcOptions projenrcTsOptions) {
this.options.projenrcTsOptions(projenrcTsOptions);
return this;
}
/**
* (experimental) Generate one-time sample in `src/` and `test/` if there are no files there.
*
* Default: true
*
* @return {@code this}
* @param sampleCode Generate one-time sample in `src/` and `test/` if there are no files there. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder sampleCode(final java.lang.Boolean sampleCode) {
this.options.sampleCode(sampleCode);
return this;
}
/**
* (experimental) Typescript sources directory.
*
* Default: "src"
*
* @return {@code this}
* @param srcdir Typescript sources directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder srcdir(final java.lang.String srcdir) {
this.options.srcdir(srcdir);
return this;
}
/**
* (experimental) Jest tests directory. Tests files should be named `xxx.test.ts`.
*
* If this directory is under srcdir
(e.g. src/test
, src/__tests__
),
* then tests are going to be compiled into lib/
and executed as javascript.
* If the test directory is outside of src
, then we configure jest to
* compile the code in-memory.
*
* Default: "test"
*
* @return {@code this}
* @param testdir Jest tests directory. Tests files should be named `xxx.test.ts`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder testdir(final java.lang.String testdir) {
this.options.testdir(testdir);
return this;
}
/**
* (experimental) Custom TSConfig.
*
* Default: - default options
*
* @return {@code this}
* @param tsconfig Custom TSConfig. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfig(final io.github.cdklabs.projen.javascript.TypescriptConfigOptions tsconfig) {
this.options.tsconfig(tsconfig);
return this;
}
/**
* (experimental) Custom tsconfig options for the development tsconfig.json file (used for testing).
*
* Default: - use the production tsconfig options
*
* @return {@code this}
* @param tsconfigDev Custom tsconfig options for the development tsconfig.json file (used for testing). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfigDev(final io.github.cdklabs.projen.javascript.TypescriptConfigOptions tsconfigDev) {
this.options.tsconfigDev(tsconfigDev);
return this;
}
/**
* (experimental) The name of the development tsconfig.json file.
*
* Default: "tsconfig.dev.json"
*
* @return {@code this}
* @param tsconfigDevFile The name of the development tsconfig.json file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder tsconfigDevFile(final java.lang.String tsconfigDevFile) {
this.options.tsconfigDevFile(tsconfigDevFile);
return this;
}
/**
* (experimental) TypeScript version to use.
*
* NOTE: Typescript is not semantically versioned and should remain on the
* same minor, so we recommend using a ~
dependency (e.g. ~1.2.3
).
*
* Default: "latest"
*
* @return {@code this}
* @param typescriptVersion TypeScript version to use. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder typescriptVersion(final java.lang.String typescriptVersion) {
this.options.typescriptVersion(typescriptVersion);
return this;
}
/**
* (experimental) A command to execute before synthesis.
*
* This command will be called when
* running cdk synth
or when cdk watch
identifies a change in your source
* code before redeployment.
*
* Default: - no build command
*
* @return {@code this}
* @param buildCommand A command to execute before synthesis. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder buildCommand(final java.lang.String buildCommand) {
this.options.buildCommand(buildCommand);
return this;
}
/**
* (experimental) cdk.out directory.
*
* Default: "cdk.out"
*
* @return {@code this}
* @param cdkout cdk.out directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cdkout(final java.lang.String cdkout) {
this.options.cdkout(cdkout);
return this;
}
/**
* (experimental) Additional context to include in `cdk.json`.
*
* Default: - no additional context
*
* @return {@code this}
* @param context Additional context to include in `cdk.json`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder context(final java.util.Map context) {
this.options.context(context);
return this;
}
/**
* (experimental) Include all feature flags in cdk.json.
*
* Default: true
*
* @return {@code this}
* @param featureFlags Include all feature flags in cdk.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder featureFlags(final java.lang.Boolean featureFlags) {
this.options.featureFlags(featureFlags);
return this;
}
/**
* (experimental) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.
*
* Default: ApprovalLevel.BROADENING
*
* @return {@code this}
* @param requireApproval To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder requireApproval(final io.github.cdklabs.projen.awscdk.ApprovalLevel requireApproval) {
this.options.requireApproval(requireApproval);
return this;
}
/**
* (experimental) Glob patterns to exclude from `cdk watch`.
*
* Default: []
*
* @return {@code this}
* @param watchExcludes Glob patterns to exclude from `cdk watch`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder watchExcludes(final java.util.List watchExcludes) {
this.options.watchExcludes(watchExcludes);
return this;
}
/**
* (experimental) Glob patterns to include in `cdk watch`.
*
* Default: []
*
* @return {@code this}
* @param watchIncludes Glob patterns to include in `cdk watch`. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder watchIncludes(final java.util.List watchIncludes) {
this.options.watchIncludes(watchIncludes);
return this;
}
/**
* (experimental) Minimum version of the AWS CDK to depend on.
*
* Default: "2.1.0"
*
* @return {@code this}
* @param cdkVersion Minimum version of the AWS CDK to depend on. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cdkVersion(final java.lang.String cdkVersion) {
this.options.cdkVersion(cdkVersion);
return this;
}
/**
* (deprecated) Warning: NodeJS only.
*
* Install the @aws-cdk/assert library?
*
* Default: - will be included by default for AWS CDK >= 1.0.0 < 2.0.0
*
* @return {@code this}
* @deprecated The
* @param cdkAssert Warning: NodeJS only. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder cdkAssert(final java.lang.Boolean cdkAssert) {
this.options.cdkAssert(cdkAssert);
return this;
}
/**
* (experimental) Install the assertions library?
*
* Only needed for CDK 1.x. If using CDK 2.x then
* assertions is already included in 'aws-cdk-lib'
*
* Default: - will be included by default for AWS CDK >= 1.111.0 < 2.0.0
*
* @return {@code this}
* @param cdkAssertions Install the assertions library?. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cdkAssertions(final java.lang.Boolean cdkAssertions) {
this.options.cdkAssertions(cdkAssertions);
return this;
}
/**
* (deprecated) Which AWS CDKv1 modules this project requires.
*
* @return {@code this}
* @deprecated For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)
* @param cdkDependencies Which AWS CDKv1 modules this project requires. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder cdkDependencies(final java.util.List cdkDependencies) {
this.options.cdkDependencies(cdkDependencies);
return this;
}
/**
* (deprecated) If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`).
*
* This is to ensure that downstream consumers actually have your CDK dependencies installed
* when using npm < 7 or yarn, where peer dependencies are not automatically installed.
* If this is disabled, cdkDependencies
will be added to devDependencies
to ensure
* they are present during development.
*
* Note: this setting only applies to construct library projects
*
* Default: true
*
* @return {@code this}
* @deprecated Not supported in CDK v2.
* @param cdkDependenciesAsDeps If this is enabled (default), all modules declared in `cdkDependencies` will be also added as normal `dependencies` (as well as `peerDependencies`). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder cdkDependenciesAsDeps(final java.lang.Boolean cdkDependenciesAsDeps) {
this.options.cdkDependenciesAsDeps(cdkDependenciesAsDeps);
return this;
}
/**
* (deprecated) AWS CDK modules required for testing.
*
* @return {@code this}
* @deprecated For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead
* @param cdkTestDependencies AWS CDK modules required for testing. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder cdkTestDependencies(final java.util.List cdkTestDependencies) {
this.options.cdkTestDependencies(cdkTestDependencies);
return this;
}
/**
* (experimental) Use pinned version instead of caret version for CDK.
*
* You can use this to prevent mixed versions for your CDK dependencies and to prevent auto-updates.
* If you use experimental features this will let you define the moment you include breaking changes.
*
* @return {@code this}
* @param cdkVersionPinning Use pinned version instead of caret version for CDK. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder cdkVersionPinning(final java.lang.Boolean cdkVersionPinning) {
this.options.cdkVersionPinning(cdkVersionPinning);
return this;
}
/**
* (experimental) Minimum version of the `constructs` library to depend on.
*
* Default: - for CDK 1.x the default is "3.2.27", for CDK 2.x the default is
* "10.0.5".
*
* @return {@code this}
* @param constructsVersion Minimum version of the `constructs` library to depend on. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder constructsVersion(final java.lang.String constructsVersion) {
this.options.constructsVersion(constructsVersion);
return this;
}
/**
* (experimental) The CDK app's entrypoint (relative to the source directory, which is "src" by default).
*
* Default: "main.ts"
*
* @return {@code this}
* @param appEntrypoint The CDK app's entrypoint (relative to the source directory, which is "src" by default). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder appEntrypoint(final java.lang.String appEntrypoint) {
this.options.appEntrypoint(appEntrypoint);
return this;
}
/**
* (experimental) Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
*
* Default: true
*
* @return {@code this}
* @param edgeLambdaAutoDiscover Automatically adds an `cloudfront.experimental.EdgeFunction` for each `.edge-lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder edgeLambdaAutoDiscover(final java.lang.Boolean edgeLambdaAutoDiscover) {
this.options.edgeLambdaAutoDiscover(edgeLambdaAutoDiscover);
return this;
}
/**
* (experimental) Automatically discovers and creates integration tests for each `.integ.ts` file in under your test directory.
*
* Default: true
*
* @return {@code this}
* @param integrationTestAutoDiscover Automatically discovers and creates integration tests for each `.integ.ts` file in under your test directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder integrationTestAutoDiscover(final java.lang.Boolean integrationTestAutoDiscover) {
this.options.integrationTestAutoDiscover(integrationTestAutoDiscover);
return this;
}
/**
* (experimental) Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
*
* Default: true
*
* @return {@code this}
* @param lambdaAutoDiscover Automatically adds an `awscdk.LambdaFunction` for each `.lambda.ts` handler in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder lambdaAutoDiscover(final java.lang.Boolean lambdaAutoDiscover) {
this.options.lambdaAutoDiscover(lambdaAutoDiscover);
return this;
}
/**
* (experimental) Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project.
*
* Default: true
*
* @return {@code this}
* @param lambdaExtensionAutoDiscover Automatically adds an `awscdk.LambdaExtension` for each `.lambda-extension.ts` entrypoint in your source tree. If this is disabled, you can manually add an `awscdk.AutoDiscover` component to your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder lambdaExtensionAutoDiscover(final java.lang.Boolean lambdaExtensionAutoDiscover) {
this.options.lambdaExtensionAutoDiscover(lambdaExtensionAutoDiscover);
return this;
}
/**
* (experimental) Common options for all AWS Lambda functions.
*
* Default: - default options
*
* @return {@code this}
* @param lambdaOptions Common options for all AWS Lambda functions. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder lambdaOptions(final io.github.cdklabs.projen.awscdk.LambdaFunctionCommonOptions lambdaOptions) {
this.options.lambdaOptions(lambdaOptions);
return this;
}
/**
* @returns a newly built instance of {@link software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
@Override
public software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProject build() {
return new software.aws.awsprototypingsdk.pipeline.PDKPipelineTsProject(
this.options.build()
);
}
}
}