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

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

The newest version!
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.105.0 (build 0a2adcb)", date = "2024-11-15T17:03:54.879Z") @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) 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) Configuration options for .gitignore file. *

* @return {@code this} * @param gitIgnoreOptions Configuration options for .gitignore file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder gitIgnoreOptions(final io.github.cdklabs.projen.IgnoreFileOptions gitIgnoreOptions) { this.options.gitIgnoreOptions(gitIgnoreOptions); return this; } /** * (experimental) Configuration options for git. *

* @return {@code this} * @param gitOptions Configuration options for git. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder gitOptions(final io.github.cdklabs.projen.GitOptions gitOptions) { this.options.gitOptions(gitOptions); 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 * subprojects. *

* 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.ProjenrcJsonOptions 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, but false for subprojects *

* @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) The maximum node version supported by this package. Most projects should not use this option. *

* The value indicates that the package is incompatible with any newer versions of node. * This requirement is enforced via the engines field. *

* You will normally not need to set this option. * Consider this option only if your package is known to not function with newer versions of node. *

* Default: - no maximum version is enforced *

* @return {@code this} * @param maxNodeVersion The maximum node version supported by this package. Most projects should not use this option. 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) The minimum node version required by this package to function. Most projects should not use this option. *

* The value indicates that the package is incompatible with any older versions of node. * This requirement is enforced via the engines field. *

* You will normally not need to set this option, even if your package is incompatible with EOL versions of node. * Consider this option only if your package depends on a specific feature, that is not available in other LTS versions. * Setting this option has very high impact on the consumers of your package, * as package managers will actively prevent usage with node versions you have marked as incompatible. *

* To change the node version of your CI/CD workflows, use workflowNodeVersion. *

* Default: - no minimum version is enforced *

* @return {@code this} * @param minNodeVersion The minimum node version required by this package to function. Most projects should not use this option. 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; } /** * (experimental) Should provenance statements be generated when the package is published. *

* A supported package manager is required to publish a package with npm provenance statements and * you will need to use a supported CI/CD provider. *

* Note that the projen Release and Publisher components are using publib to publish packages, * which is using npm internally and supports provenance statements independently of the package manager used. *

* Default: - true for public packages, false otherwise *

* @return {@code this} * @see https://docs.npmjs.com/generating-provenance-statements * @param npmProvenance Should provenance statements be generated when the package is published. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder npmProvenance(final java.lang.Boolean npmProvenance) { this.options.npmProvenance(npmProvenance); 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_CLASSIC *

* @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 version of PNPM to use if using PNPM as a package manager. *

* Default: "7" *

* @return {@code this} * @param pnpmVersion The version of PNPM to use if using PNPM as a package manager. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder pnpmVersion(final java.lang.String pnpmVersion) { this.options.pnpmVersion(pnpmVersion); 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 scopedPackagesOptions) { this.options.scopedPackagesOptions(scopedPackagesOptions); return this; } /** * (deprecated) npm scripts to include. *

* If a script has the same name as a standard script, * the standard script will be overwritten. * Also adds the script as a task. *

* Default: {} *

* @return {@code this} * @deprecated use project.addTask() or package.setScript() * @param scripts npm scripts to include. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated 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) Options for Yarn Berry. *

* Default: - Yarn Berry v4 with all default options *

* @return {@code this} * @param yarnBerryOptions Options for Yarn Berry. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder yarnBerryOptions(final io.github.cdklabs.projen.javascript.YarnBerryOptions yarnBerryOptions) { this.options.yarnBerryOptions(yarnBerryOptions); return this; } /** * (experimental) The commit-and-tag-version compatible package used to bump the package version, as a dependency string. *

* This can be any compatible package version, including the deprecated standard-version@9. *

* Default: - A recent version of "commit-and-tag-version" *

* @return {@code this} * @param bumpPackage The commit-and-tag-version compatible package used to bump the package version, as a dependency string. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder bumpPackage(final java.lang.String bumpPackage) { this.options.bumpPackage(bumpPackage); 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) A shell command to control the next version to release. *

* If present, this shell command will be run before the bump is executed, and * it determines what version to release. It will be executed in the following * environment: *

*

    *
  • Working directory: the project directory.
  • *
  • $VERSION: the current version. Looks like 1.2.3.
  • *
  • $LATEST_TAG: the most recent tag. Looks like prefix-v1.2.3, or may be unset.
  • *
*

* The command should print one of the following to stdout: *

*

    *
  • Nothing: the next version number will be determined based on commit history.
  • *
  • x.y.z: the next version number will be x.y.z.
  • *
  • major|minor|patch: the next version number will be the current version number * with the indicated component bumped.
  • *
*

* This setting cannot be specified together with minMajorVersion; the invoked * script can be used to achieve the effects of minMajorVersion. *

* Default: - The next version will be determined based on the commit history and project settings. *

* @return {@code this} * @param nextVersionCommand A shell command to control the next version to release. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder nextVersionCommand(final java.lang.String nextVersionCommand) { this.options.nextVersionCommand(nextVersionCommand); 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) Find commits that should be considered releasable Used to decide if a release is required. *

* Default: ReleasableCommits.everyCommit() *

* @return {@code this} * @param releasableCommits Find commits that should be considered releasable Used to decide if a release is required. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder releasableCommits(final io.github.cdklabs.projen.ReleasableCommits releasableCommits) { this.options.releasableCommits(releasableCommits); 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 releaseWorkflowSetupSteps) { this.options.releaseWorkflowSetupSteps(releaseWorkflowSetupSteps); return this; } /** * (experimental) Custom configuration used when creating changelog with commit-and-tag-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 commit-and-tag-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) Github Runner Group selection options. *

* @return {@code this} * @param workflowRunsOnGroup Github Runner Group selection options. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder workflowRunsOnGroup(final io.github.cdklabs.projen.GroupRunnerOptions workflowRunsOnGroup) { this.options.workflowRunsOnGroup(workflowRunsOnGroup); 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) Options for PR build workflow. *

* @return {@code this} * @param buildWorkflowOptions Options for PR build workflow. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder buildWorkflowOptions(final io.github.cdklabs.projen.javascript.BuildWorkflowOptions buildWorkflowOptions) { this.options.buildWorkflowOptions(buildWorkflowOptions); return this; } /** * (deprecated) Build workflow triggers. *

* Default: "{ pullRequest: {}, workflowDispatch: {} }" *

* @return {@code this} * @deprecated

    *
  • Use buildWorkflowOptions.workflowTriggers
  • *
* @param buildWorkflowTriggers Build workflow triggers. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated 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) Configure which licenses should be deemed acceptable for use by dependencies. *

* This setting will cause the build to fail, if any prohibited or not allowed licenses ares encountered. *

* Default: - no license checks are run during the build and all licenses will be accepted *

* @return {@code this} * @param checkLicenses Configure which licenses should be deemed acceptable for use by dependencies. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder checkLicenses(final io.github.cdklabs.projen.javascript.LicenseCheckerOptions checkLicenses) { this.options.checkLicenses(checkLicenses); return this; } /** * (experimental) Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v4 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@v4 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 tasks and github workflows to handle dependency upgrades. *

* Cannot be used in conjunction with dependabot. *

* Default: true *

* @return {@code this} * @param depsUpgrade Use tasks and 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; } /** * (deprecated) 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} * @deprecated

    *
  • Use buildWorkflowOptions.mutableBuild
  • *
* @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.Deprecated) @Deprecated 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) Configuration options for .npmignore file. *

* @return {@code this} * @param npmIgnoreOptions Configuration options for .npmignore file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder npmIgnoreOptions(final io.github.cdklabs.projen.IgnoreFileOptions npmIgnoreOptions) { this.options.npmIgnoreOptions(npmIgnoreOptions); 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 if not a subproject *

* @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 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 used in GitHub Actions workflows. *

* Always use this option if your GitHub Actions workflows require a specific to run. *

* Default: - `minNodeVersion` if set, otherwise `lts/*`. *

* @return {@code this} * @param workflowNodeVersion The node version used in GitHub Actions 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) Enable Node.js package cache in GitHub workflows. *

* Default: false *

* @return {@code this} * @param workflowPackageCache Enable Node.js package cache in GitHub workflows. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder workflowPackageCache(final java.lang.Boolean workflowPackageCache) { this.options.workflowPackageCache(workflowPackageCache); 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) Do not generate a tsconfig.dev.json file. *

* Default: false *

* @return {@code this} * @param disableTsconfigDev Do not generate a tsconfig.dev.json file. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder disableTsconfigDev(final java.lang.Boolean disableTsconfigDev) { this.options.disableTsconfigDev(disableTsconfigDev); 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) Options for ts-jest. *

* @return {@code this} * @param tsJestOptions Options for ts-jest. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder tsJestOptions(final io.github.cdklabs.projen.typescript.TsJestOptions tsJestOptions) { this.options.tsJestOptions(tsJestOptions); 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; } /** * (experimental) Emit a compressed version of the assembly. *

* Default: false *

* @return {@code this} * @param compressAssembly Emit a compressed version of the assembly. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder compressAssembly(final java.lang.Boolean compressAssembly) { this.options.compressAssembly(compressAssembly); return this; } /** * (experimental) File path for generated docs. *

* Default: "API.md" *

* @return {@code this} * @param docgenFilePath File path for generated docs. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder docgenFilePath(final java.lang.String docgenFilePath) { this.options.docgenFilePath(docgenFilePath); 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) Version of the jsii compiler to use. *

* Set to "*" if you want to manually manage the version of jsii in your * project by managing updates to package.json on your own. *

* NOTE: The jsii compiler releases since 5.0.0 are not semantically versioned * and should remain on the same minor, so we recommend using a ~ dependency * (e.g. ~5.0.0). *

* Default: "1.x" *

* @return {@code this} * @param jsiiVersion Version of the jsii compiler to use. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder jsiiVersion(final java.lang.String jsiiVersion) { this.options.jsiiVersion(jsiiVersion); 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 *

* 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 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) Enable experimental support for the AWS CDK integ-runner. *

* Default: false *

* @return {@code this} * @param experimentalIntegRunner Enable experimental support for the AWS CDK integ-runner. This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder experimentalIntegRunner(final java.lang.Boolean experimentalIntegRunner) { this.options.experimentalIntegRunner(experimentalIntegRunner); return this; } /** * (experimental) Automatically discovers and creates integration tests for each .integ.ts file under your test directory. *

* Default: true *

* @return {@code this} * @param integrationTestAutoDiscover Automatically discovers and creates integration tests for each .integ.ts file 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 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) 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; } /** * @return 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() ); } } }