All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.github.cdklabs.projen.awscdk.AwsCdkConstructLibrary Maven / Gradle / Ivy

package io.github.cdklabs.projen.awscdk;

/**
 * (experimental) AWS CDK construct library project.
 * 

* A multi-language (jsii) construct library which vends constructs designed to * use within the AWS CDK with a friendly workflow and automatic publishing to * the construct catalog. */ @javax.annotation.Generated(value = "jsii-pacmak/1.50.0 (build d1830a4)", date = "2022-01-03T02:39:48.247Z") @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Jsii(module = io.github.cdklabs.projen.$Module.class, fqn = "projen.awscdk.AwsCdkConstructLibrary") public class AwsCdkConstructLibrary extends io.github.cdklabs.projen.cdk.ConstructLibrary { protected AwsCdkConstructLibrary(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected AwsCdkConstructLibrary(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } /** * @param options This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public AwsCdkConstructLibrary(final @org.jetbrains.annotations.NotNull io.github.cdklabs.projen.awscdk.AwsCdkConstructLibraryOptions 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") }); } /** * (deprecated) Adds dependencies to AWS CDK modules. *

* Since this is a library project, dependencies will be added as peer dependencies. *

* @deprecated Not supported in v2. For v1, use `project.cdkDeps.addV1Dependencies()` * @param deps names of cdk modules (e.g. `@aws-cdk/aws-lambda`). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public void addCdkDependencies(final @org.jetbrains.annotations.NotNull java.lang.String... deps) { software.amazon.jsii.Kernel.call(this, "addCdkDependencies", software.amazon.jsii.NativeType.VOID, java.util.Arrays.stream(deps).toArray(Object[]::new)); } /** * (deprecated) Adds AWS CDK modules as dev dependencies. *

* @deprecated Not supported in v2. For v1, use `project.cdkDeps.addV1DevDependencies()` * @param deps names of cdk modules (e.g. `@aws-cdk/aws-lambda`). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public void addCdkTestDependencies(final @org.jetbrains.annotations.NotNull java.lang.String... deps) { software.amazon.jsii.Kernel.call(this, "addCdkTestDependencies", software.amazon.jsii.NativeType.VOID, java.util.Arrays.stream(deps).toArray(Object[]::new)); } /** */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public @org.jetbrains.annotations.NotNull io.github.cdklabs.projen.awscdk.AwsCdkDeps getCdkDeps() { return software.amazon.jsii.Kernel.get(this, "cdkDeps", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.awscdk.AwsCdkDeps.class)); } /** * (experimental) The target CDK version for this library. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public @org.jetbrains.annotations.NotNull java.lang.String getCdkVersion() { return software.amazon.jsii.Kernel.get(this, "cdkVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * @deprecated use `cdkVersion` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public @org.jetbrains.annotations.NotNull java.lang.String getVersion() { return software.amazon.jsii.Kernel.get(this, "version", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * (experimental) A fluent builder for {@link io.github.cdklabs.projen.awscdk.AwsCdkConstructLibrary}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) 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.Experimental) public static Builder create() { return new Builder(); } private final io.github.cdklabs.projen.awscdk.AwsCdkConstructLibraryOptions.Builder options; private Builder() { this.options = new io.github.cdklabs.projen.awscdk.AwsCdkConstructLibraryOptions.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) 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) 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) Configure options for automatic merging on GitHub. *

* Has no effect if * github.mergify 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) 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} * @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.Experimental) 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: *

*

         * // Example automatically generated from non-compiling source. May contain errors.
         * "{ 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: true *

* @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) Author's Organization. *

* @return {@code this} * @param authorOrganization Author's 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 publishing npm package to AWS CodeArtifact. *

* Default: - undefined *

* @return {@code this} * @param codeArtifactOptions Options for publishing npm package to 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: *

*

         * // Example automatically generated from non-compiling source. May contain errors.
         * [ '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: *

*

         * // Example automatically generated from non-compiling source. May contain errors.
         * [ '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) 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 `jsii-release` which is used to publish modules to npm. *

* Default: "latest" *

* @return {@code this} * @param jsiiReleaseVersion Version requirement of `jsii-release` 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) 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 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: - no prefix *

* @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 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 projen upgrade PRs, allowing them to be merged by mergify (if configued). *

* Throw if set to true but autoApproveOptions are not defined. *

* Default: false *

* @return {@code this} * @param autoApproveProjenUpgrades Automatically approve projen 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 autoApproveProjenUpgrades(final java.lang.Boolean autoApproveProjenUpgrades) { this.options.autoApproveProjenUpgrades(autoApproveProjenUpgrades); 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) 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@v1 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@v1 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 depsUpgrade. *

* Default: - default options *

* @return {@code this} * @param depsUpgradeOptions Options for depsUpgrade. 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; } /** * (deprecated) Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). *

* Throw if set to true but autoApproveOptions are not defined. *

* Default: false *

* @return {@code this} * @deprecated use `autoApproveProjenUpgrades`. * @param projenUpgradeAutoMerge Automatically approve projen upgrade PRs, allowing them to be merged by mergify (if configued). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder projenUpgradeAutoMerge(final java.lang.Boolean projenUpgradeAutoMerge) { this.options.projenUpgradeAutoMerge(projenUpgradeAutoMerge); return this; } /** * (experimental) Customize the projenUpgrade schedule in cron expression. *

* Default: [ "0 6 * * *" ] *

* @return {@code this} * @param projenUpgradeSchedule Customize the projenUpgrade schedule in cron expression. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenUpgradeSchedule(final java.util.List projenUpgradeSchedule) { this.options.projenUpgradeSchedule(projenUpgradeSchedule); return this; } /** * (deprecated) Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`). *

* This setting is a GitHub secret name which contains a GitHub Access Token * with repo and workflow permissions. *

* This token is used to submit the upgrade pull request, which will likely * include workflow updates. *

* To create a personal access token see https://github.com/settings/tokens *

* Default: - no automatic projen upgrade pull requests *

* @return {@code this} * @deprecated use `githubTokenSecret` instead. * @param projenUpgradeSecret Periodically submits a pull request for projen upgrades (executes `yarn projen:upgrade`). This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder projenUpgradeSecret(final java.lang.String projenUpgradeSecret) { this.options.projenUpgradeSecret(projenUpgradeSecret); 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 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) The name of the library author. *

* Default: $GIT_USER_NAME *

* @return {@code this} * @param author The name of the library author. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder author(final java.lang.String author) { this.options.author(author); return this; } /** * (experimental) Email or URL of the library author. *

* Default: $GIT_USER_EMAIL *

* @return {@code this} * @param authorAddress Email or URL of the library author. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder authorAddress(final java.lang.String authorAddress) { this.options.authorAddress(authorAddress); return this; } /** * (experimental) Git repository URL. *

* Default: $GIT_REMOTE *

* @return {@code this} * @param repositoryUrl Git repository URL. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder repositoryUrl(final java.lang.String repositoryUrl) { this.options.repositoryUrl(repositoryUrl); return this; } /** * (experimental) Automatically run API compatibility test against the latest version published to npm after compilation. *

*

    *
  • You can manually run compatibility tests using yarn compat if this feature is disabled.
  • *
  • You can ignore compatibility failures by adding lines to a ".compatignore" file.
  • *
*

* Default: false *

* @return {@code this} * @param compat Automatically run API compatibility test against the latest version published to npm after compilation. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder compat(final java.lang.Boolean compat) { this.options.compat(compat); return this; } /** * (experimental) Name of the ignore file for API compatibility tests. *

* Default: ".compatignore" *

* @return {@code this} * @param compatIgnore Name of the ignore file for API compatibility tests. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder compatIgnore(final java.lang.String compatIgnore) { this.options.compatIgnore(compatIgnore); return this; } /** * @return {@code this} * @deprecated use `publishToNuget` * @param dotnet This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder dotnet(final io.github.cdklabs.projen.cdk.JsiiDotNetTarget dotnet) { this.options.dotnet(dotnet); return this; } /** * (experimental) Accepts a list of glob patterns. *

* Files matching any of those patterns will be excluded from the TypeScript compiler input. *

* By default, jsii will include all *.ts files (except .d.ts files) in the TypeScript compiler input. * This can be problematic for example when the package's build or test procedure generates .ts files * that cannot be compiled with jsii's compiler settings. *

* @return {@code this} * @param excludeTypescript Accepts a list of glob patterns. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder excludeTypescript(final java.util.List excludeTypescript) { this.options.excludeTypescript(excludeTypescript); return this; } /** * (experimental) Publish Go bindings to a git repository. *

* Default: - no publishing *

* @return {@code this} * @param publishToGo Publish Go bindings to a git repository. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder publishToGo(final io.github.cdklabs.projen.cdk.JsiiGoTarget publishToGo) { this.options.publishToGo(publishToGo); return this; } /** * (experimental) Publish to maven. *

* Default: - no publishing *

* @return {@code this} * @param publishToMaven Publish to maven. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder publishToMaven(final io.github.cdklabs.projen.cdk.JsiiJavaTarget publishToMaven) { this.options.publishToMaven(publishToMaven); return this; } /** * (experimental) Publish to NuGet. *

* Default: - no publishing *

* @return {@code this} * @param publishToNuget Publish to NuGet. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder publishToNuget(final io.github.cdklabs.projen.cdk.JsiiDotNetTarget publishToNuget) { this.options.publishToNuget(publishToNuget); return this; } /** * (experimental) Publish to pypi. *

* Default: - no publishing *

* @return {@code this} * @param publishToPypi Publish to pypi. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder publishToPypi(final io.github.cdklabs.projen.cdk.JsiiPythonTarget publishToPypi) { this.options.publishToPypi(publishToPypi); return this; } /** * @return {@code this} * @deprecated use `publishToPyPi` * @param python This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder python(final io.github.cdklabs.projen.cdk.JsiiPythonTarget python) { this.options.python(python); return this; } /** * Default: "." *

* @return {@code this} * @param rootdir This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder rootdir(final java.lang.String rootdir) { this.options.rootdir(rootdir); return this; } /** * (experimental) Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. *

* https://awscdk.io/packages/[@SCOPE/]PACKAGE@VERSION *

* The catalog will also post a tweet to https://twitter.com/awscdkio with the * package name, description and the above link. You can disable these tweets * through { announce: false }. *

* You can also add a Twitter handle through { twitter: 'xx' } which will be * mentioned in the tweet. *

* Default: - new version will be announced *

* @return {@code this} * @see https://github.com/construct-catalog/catalog * @param catalog Libraries will be picked up by the construct catalog when they are published to npm as jsii modules and will be published under:. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder catalog(final io.github.cdklabs.projen.cdk.Catalog catalog) { this.options.catalog(catalog); 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) Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. *

* Default: true *

* @return {@code this} * @param lambdaAutoDiscover Automatically adds an `aws_lambda.Function` for each `.lambda.ts` handler in your source tree. If this is disabled, you either need to explicitly call `aws_lambda.Function.autoDiscover()` or define a `new aws_lambda.Function()` for each handler. 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) 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 io.github.cdklabs.projen.awscdk.AwsCdkConstructLibrary}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public io.github.cdklabs.projen.awscdk.AwsCdkConstructLibrary build() { return new io.github.cdklabs.projen.awscdk.AwsCdkConstructLibrary( this.options.build() ); } } }