Class JsiiProjectOptions.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.cdk.JsiiProjectOptions.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<JsiiProjectOptions>
- Enclosing interface:
- JsiiProjectOptions
@Stability(Experimental) public static final class JsiiProjectOptions.Builder extends Object implements software.amazon.jsii.Builder<JsiiProjectOptions>
A builder forJsiiProjectOptions
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
author
@Stability(Experimental) public JsiiProjectOptions.Builder author(String author)
Sets the value ofJsiiProjectOptions.getAuthor()- Parameters:
author- The name of the library author. This parameter is required.- Returns:
this
-
authorAddress
@Stability(Experimental) public JsiiProjectOptions.Builder authorAddress(String authorAddress)
Sets the value ofJsiiProjectOptions.getAuthorAddress()- Parameters:
authorAddress- Email or URL of the library author. This parameter is required.- Returns:
this
-
repositoryUrl
@Stability(Experimental) public JsiiProjectOptions.Builder repositoryUrl(String repositoryUrl)
Sets the value ofJsiiProjectOptions.getRepositoryUrl()- Parameters:
repositoryUrl- Git repository URL. This parameter is required.- Returns:
this
-
compat
@Stability(Experimental) public JsiiProjectOptions.Builder compat(Boolean compat)
Sets the value ofJsiiProjectOptions.getCompat()- Parameters:
compat- Automatically run API compatibility test against the latest version published to npm after compilation.- You can manually run compatibility tests using
yarn compatif this feature is disabled. - You can ignore compatibility failures by adding lines to a ".compatignore" file.
- You can manually run compatibility tests using
- Returns:
this
-
compatIgnore
@Stability(Experimental) public JsiiProjectOptions.Builder compatIgnore(String compatIgnore)
Sets the value ofJsiiProjectOptions.getCompatIgnore()- Parameters:
compatIgnore- Name of the ignore file for API compatibility tests.- Returns:
this
-
compressAssembly
@Stability(Experimental) public JsiiProjectOptions.Builder compressAssembly(Boolean compressAssembly)
Sets the value ofJsiiProjectOptions.getCompressAssembly()- Parameters:
compressAssembly- Emit a compressed version of the assembly.- Returns:
this
-
docgenFilePath
@Stability(Experimental) public JsiiProjectOptions.Builder docgenFilePath(String docgenFilePath)
Sets the value ofJsiiProjectOptions.getDocgenFilePath()- Parameters:
docgenFilePath- File path for generated docs.- Returns:
this
-
dotnet
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder dotnet(JsiiDotNetTarget dotnet)
Deprecated.use `publishToNuget`Sets the value ofJsiiProjectOptions.getDotnet()- Parameters:
dotnet- the value to be set.- Returns:
this
-
excludeTypescript
@Stability(Experimental) public JsiiProjectOptions.Builder excludeTypescript(List<String> excludeTypescript)
Sets the value ofJsiiProjectOptions.getExcludeTypescript()- Parameters:
excludeTypescript- 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.
- Returns:
this
-
jsiiVersion
@Stability(Experimental) public JsiiProjectOptions.Builder jsiiVersion(String jsiiVersion)
Sets the value ofJsiiProjectOptions.getJsiiVersion()- Parameters:
jsiiVersion- 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 topackage.jsonon 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).- Returns:
this
-
publishToGo
@Stability(Experimental) public JsiiProjectOptions.Builder publishToGo(JsiiGoTarget publishToGo)
Sets the value ofJsiiProjectOptions.getPublishToGo()- Parameters:
publishToGo- Publish Go bindings to a git repository.- Returns:
this
-
publishToMaven
@Stability(Experimental) public JsiiProjectOptions.Builder publishToMaven(JsiiJavaTarget publishToMaven)
Sets the value ofJsiiProjectOptions.getPublishToMaven()- Parameters:
publishToMaven- Publish to maven.- Returns:
this
-
publishToNuget
@Stability(Experimental) public JsiiProjectOptions.Builder publishToNuget(JsiiDotNetTarget publishToNuget)
Sets the value ofJsiiProjectOptions.getPublishToNuget()- Parameters:
publishToNuget- Publish to NuGet.- Returns:
this
-
publishToPypi
@Stability(Experimental) public JsiiProjectOptions.Builder publishToPypi(JsiiPythonTarget publishToPypi)
Sets the value ofJsiiProjectOptions.getPublishToPypi()- Parameters:
publishToPypi- Publish to pypi.- Returns:
this
-
python
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder python(JsiiPythonTarget python)
Deprecated.use `publishToPyPi`Sets the value ofJsiiProjectOptions.getPython()- Parameters:
python- the value to be set.- Returns:
this
-
rootdir
@Stability(Experimental) public JsiiProjectOptions.Builder rootdir(String rootdir)
Sets the value ofJsiiProjectOptions.getRootdir()- Parameters:
rootdir- the value to be set.- Returns:
this
-
disableTsconfig
@Stability(Experimental) public JsiiProjectOptions.Builder disableTsconfig(Boolean disableTsconfig)
Sets the value ofTypeScriptProjectOptions.getDisableTsconfig()- Parameters:
disableTsconfig- Do not generate atsconfig.jsonfile (used by jsii projects since tsconfig.json is generated by the jsii compiler).- Returns:
this
-
disableTsconfigDev
@Stability(Experimental) public JsiiProjectOptions.Builder disableTsconfigDev(Boolean disableTsconfigDev)
Sets the value ofTypeScriptProjectOptions.getDisableTsconfigDev()- Parameters:
disableTsconfigDev- Do not generate atsconfig.dev.jsonfile.- Returns:
this
-
docgen
@Stability(Experimental) public JsiiProjectOptions.Builder docgen(Boolean docgen)
Sets the value ofTypeScriptProjectOptions.getDocgen()- Parameters:
docgen- Docgen by Typedoc.- Returns:
this
-
docsDirectory
@Stability(Experimental) public JsiiProjectOptions.Builder docsDirectory(String docsDirectory)
Sets the value ofTypeScriptProjectOptions.getDocsDirectory()- Parameters:
docsDirectory- Docs directory.- Returns:
this
-
entrypointTypes
@Stability(Experimental) public JsiiProjectOptions.Builder entrypointTypes(String entrypointTypes)
Sets the value ofTypeScriptProjectOptions.getEntrypointTypes()- Parameters:
entrypointTypes- The .d.ts file that includes the type declarations for this module.- Returns:
this
-
eslint
@Stability(Experimental) public JsiiProjectOptions.Builder eslint(Boolean eslint)
Sets the value ofTypeScriptProjectOptions.getEslint()- Parameters:
eslint- Setup eslint.- Returns:
this
-
eslintOptions
@Stability(Experimental) public JsiiProjectOptions.Builder eslintOptions(EslintOptions eslintOptions)
Sets the value ofTypeScriptProjectOptions.getEslintOptions()- Parameters:
eslintOptions- Eslint options.- Returns:
this
-
libdir
@Stability(Experimental) public JsiiProjectOptions.Builder libdir(String libdir)
Sets the value ofTypeScriptProjectOptions.getLibdir()- Parameters:
libdir- Typescript artifacts output directory.- Returns:
this
-
projenrcTs
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcTs(Boolean projenrcTs)
Sets the value ofTypeScriptProjectOptions.getProjenrcTs()- Parameters:
projenrcTs- Use TypeScript for your projenrc file (.projenrc.ts).- Returns:
this
-
projenrcTsOptions
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcTsOptions(ProjenrcOptions projenrcTsOptions)
Sets the value ofTypeScriptProjectOptions.getProjenrcTsOptions()- Parameters:
projenrcTsOptions- Options for .projenrc.ts.- Returns:
this
-
sampleCode
@Stability(Experimental) public JsiiProjectOptions.Builder sampleCode(Boolean sampleCode)
Sets the value ofTypeScriptProjectOptions.getSampleCode()- Parameters:
sampleCode- Generate one-time sample insrc/andtest/if there are no files there.- Returns:
this
-
srcdir
@Stability(Experimental) public JsiiProjectOptions.Builder srcdir(String srcdir)
Sets the value ofTypeScriptProjectOptions.getSrcdir()- Parameters:
srcdir- Typescript sources directory.- Returns:
this
-
testdir
@Stability(Experimental) public JsiiProjectOptions.Builder testdir(String testdir)
Sets the value ofTypeScriptProjectOptions.getTestdir()- Parameters:
testdir- Jest tests directory. Tests files should be namedxxx.test.ts. If this directory is undersrcdir(e.g.src/test,src/__tests__), then tests are going to be compiled intolib/and executed as javascript. If the test directory is outside ofsrc, then we configure jest to compile the code in-memory.- Returns:
this
-
tsconfig
@Stability(Experimental) public JsiiProjectOptions.Builder tsconfig(TypescriptConfigOptions tsconfig)
Sets the value ofTypeScriptProjectOptions.getTsconfig()- Parameters:
tsconfig- Custom TSConfig.- Returns:
this
-
tsconfigDev
@Stability(Experimental) public JsiiProjectOptions.Builder tsconfigDev(TypescriptConfigOptions tsconfigDev)
Sets the value ofTypeScriptProjectOptions.getTsconfigDev()- Parameters:
tsconfigDev- Custom tsconfig options for the development tsconfig.json file (used for testing).- Returns:
this
-
tsconfigDevFile
@Stability(Experimental) public JsiiProjectOptions.Builder tsconfigDevFile(String tsconfigDevFile)
Sets the value ofTypeScriptProjectOptions.getTsconfigDevFile()- Parameters:
tsconfigDevFile- The name of the development tsconfig.json file.- Returns:
this
-
tsJestOptions
@Stability(Experimental) public JsiiProjectOptions.Builder tsJestOptions(TsJestOptions tsJestOptions)
Sets the value ofTypeScriptProjectOptions.getTsJestOptions()- Parameters:
tsJestOptions- Options for ts-jest.- Returns:
this
-
typescriptVersion
@Stability(Experimental) public JsiiProjectOptions.Builder typescriptVersion(String typescriptVersion)
Sets the value ofTypeScriptProjectOptions.getTypescriptVersion()- Parameters:
typescriptVersion- 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).- Returns:
this
-
defaultReleaseBranch
@Stability(Experimental) public JsiiProjectOptions.Builder defaultReleaseBranch(String defaultReleaseBranch)
Sets the value ofNodeProjectOptions.getDefaultReleaseBranch()- Parameters:
defaultReleaseBranch- The name of the main release branch. This parameter is required.- Returns:
this
-
artifactsDirectory
@Stability(Experimental) public JsiiProjectOptions.Builder artifactsDirectory(String artifactsDirectory)
Sets the value ofNodeProjectOptions.getArtifactsDirectory()- Parameters:
artifactsDirectory- A directory which will contain build artifacts.- Returns:
this
-
autoApproveUpgrades
@Stability(Experimental) public JsiiProjectOptions.Builder autoApproveUpgrades(Boolean autoApproveUpgrades)
Sets the value ofNodeProjectOptions.getAutoApproveUpgrades()- Parameters:
autoApproveUpgrades- Automatically approve deps upgrade PRs, allowing them to be merged by mergify (if configued). Throw if set to true butautoApproveOptionsare not defined.- Returns:
this
-
buildWorkflow
@Stability(Experimental) public JsiiProjectOptions.Builder buildWorkflow(Boolean buildWorkflow)
Sets the value ofNodeProjectOptions.getBuildWorkflow()- Parameters:
buildWorkflow- Define a GitHub workflow for building PRs.- Returns:
this
-
buildWorkflowTriggers
@Stability(Experimental) public JsiiProjectOptions.Builder buildWorkflowTriggers(Triggers buildWorkflowTriggers)
Sets the value ofNodeProjectOptions.getBuildWorkflowTriggers()- Parameters:
buildWorkflowTriggers- Build workflow triggers.- Returns:
this
-
bundlerOptions
@Stability(Experimental) public JsiiProjectOptions.Builder bundlerOptions(BundlerOptions bundlerOptions)
Sets the value ofNodeProjectOptions.getBundlerOptions()- Parameters:
bundlerOptions- Options forBundler.- Returns:
this
-
checkLicenses
@Stability(Experimental) public JsiiProjectOptions.Builder checkLicenses(LicenseCheckerOptions checkLicenses)
Sets the value ofNodeProjectOptions.getCheckLicenses()- Parameters:
checkLicenses- 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.- Returns:
this
-
codeCov
@Stability(Experimental) public JsiiProjectOptions.Builder codeCov(Boolean codeCov)
Sets the value ofNodeProjectOptions.getCodeCov()- Parameters:
codeCov- Define a GitHub workflow step for sending code coverage metrics to https://codecov.io/ Uses codecov/codecov-action@v3 A secret is required for private repos. Configured with@codeCovTokenSecret.- Returns:
this
-
codeCovTokenSecret
@Stability(Experimental) public JsiiProjectOptions.Builder codeCovTokenSecret(String codeCovTokenSecret)
Sets the value ofNodeProjectOptions.getCodeCovTokenSecret()- Parameters:
codeCovTokenSecret- Define the secret name for a specified https://codecov.io/ token A secret is required to send coverage for private repositories.- Returns:
this
-
copyrightOwner
@Stability(Experimental) public JsiiProjectOptions.Builder copyrightOwner(String copyrightOwner)
Sets the value ofNodeProjectOptions.getCopyrightOwner()- Parameters:
copyrightOwner- License copyright owner.- Returns:
this
-
copyrightPeriod
@Stability(Experimental) public JsiiProjectOptions.Builder copyrightPeriod(String copyrightPeriod)
Sets the value ofNodeProjectOptions.getCopyrightPeriod()- Parameters:
copyrightPeriod- The copyright years to put in the LICENSE file.- Returns:
this
-
dependabot
@Stability(Experimental) public JsiiProjectOptions.Builder dependabot(Boolean dependabot)
Sets the value ofNodeProjectOptions.getDependabot()- Parameters:
dependabot- Use dependabot to handle dependency upgrades. Cannot be used in conjunction withdepsUpgrade.- Returns:
this
-
dependabotOptions
@Stability(Experimental) public JsiiProjectOptions.Builder dependabotOptions(DependabotOptions dependabotOptions)
Sets the value ofNodeProjectOptions.getDependabotOptions()- Parameters:
dependabotOptions- Options for dependabot.- Returns:
this
-
depsUpgrade
@Stability(Experimental) public JsiiProjectOptions.Builder depsUpgrade(Boolean depsUpgrade)
Sets the value ofNodeProjectOptions.getDepsUpgrade()- Parameters:
depsUpgrade- Use tasks and github workflows to handle dependency upgrades. Cannot be used in conjunction withdependabot.- Returns:
this
-
depsUpgradeOptions
@Stability(Experimental) public JsiiProjectOptions.Builder depsUpgradeOptions(UpgradeDependenciesOptions depsUpgradeOptions)
Sets the value ofNodeProjectOptions.getDepsUpgradeOptions()- Parameters:
depsUpgradeOptions- Options forUpgradeDependencies.- Returns:
this
-
gitignore
@Stability(Experimental) public JsiiProjectOptions.Builder gitignore(List<String> gitignore)
Sets the value ofNodeProjectOptions.getGitignore()- Parameters:
gitignore- Additional entries to .gitignore.- Returns:
this
-
jest
@Stability(Experimental) public JsiiProjectOptions.Builder jest(Boolean jest)
Sets the value ofNodeProjectOptions.getJest()- Parameters:
jest- Setup jest unit tests.- Returns:
this
-
jestOptions
@Stability(Experimental) public JsiiProjectOptions.Builder jestOptions(JestOptions jestOptions)
Sets the value ofNodeProjectOptions.getJestOptions()- Parameters:
jestOptions- Jest options.- Returns:
this
-
mutableBuild
@Stability(Experimental) public JsiiProjectOptions.Builder mutableBuild(Boolean mutableBuild)
Sets the value ofNodeProjectOptions.getMutableBuild()- Parameters:
mutableBuild- 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.
- Returns:
this
-
npmignore
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder npmignore(List<String> npmignore)
Deprecated.- use `project.addPackageIgnore`Sets the value ofNodeProjectOptions.getNpmignore()- Parameters:
npmignore- Additional entries to .npmignore.- Returns:
this
-
npmignoreEnabled
@Stability(Experimental) public JsiiProjectOptions.Builder npmignoreEnabled(Boolean npmignoreEnabled)
Sets the value ofNodeProjectOptions.getNpmignoreEnabled()- Parameters:
npmignoreEnabled- Defines an .npmignore file. Normally this is only needed for libraries that are packaged as tarballs.- Returns:
this
-
npmIgnoreOptions
@Stability(Experimental) public JsiiProjectOptions.Builder npmIgnoreOptions(IgnoreFileOptions npmIgnoreOptions)
Sets the value ofNodeProjectOptions.getNpmIgnoreOptions()- Parameters:
npmIgnoreOptions- Configuration options for .npmignore file.- Returns:
this
-
packageValue
@Stability(Experimental) public JsiiProjectOptions.Builder packageValue(Boolean packageValue)
Sets the value ofNodeProjectOptions.getPackageValue()- Parameters:
packageValue- Defines apackagetask that will produce an npm tarball under the artifacts directory (e.g.dist).- Returns:
this
-
prettier
@Stability(Experimental) public JsiiProjectOptions.Builder prettier(Boolean prettier)
Sets the value ofNodeProjectOptions.getPrettier()- Parameters:
prettier- Setup prettier.- Returns:
this
-
prettierOptions
@Stability(Experimental) public JsiiProjectOptions.Builder prettierOptions(PrettierOptions prettierOptions)
Sets the value ofNodeProjectOptions.getPrettierOptions()- Parameters:
prettierOptions- Prettier options.- Returns:
this
-
projenDevDependency
@Stability(Experimental) public JsiiProjectOptions.Builder projenDevDependency(Boolean projenDevDependency)
Sets the value ofNodeProjectOptions.getProjenDevDependency()- Parameters:
projenDevDependency- Indicates of "projen" should be installed as a devDependency.- Returns:
this
-
projenrcJs
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcJs(Boolean projenrcJs)
Sets the value ofNodeProjectOptions.getProjenrcJs()- Parameters:
projenrcJs- Generate (once) .projenrc.js (in JavaScript). Set tofalsein order to disable .projenrc.js generation.- Returns:
this
-
projenrcJsOptions
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcJsOptions(ProjenrcOptions projenrcJsOptions)
Sets the value ofNodeProjectOptions.getProjenrcJsOptions()- Parameters:
projenrcJsOptions- Options for .projenrc.js.- Returns:
this
-
projenVersion
@Stability(Experimental) public JsiiProjectOptions.Builder projenVersion(String projenVersion)
Sets the value ofNodeProjectOptions.getProjenVersion()- Parameters:
projenVersion- Version of projen to install.- Returns:
this
-
pullRequestTemplate
@Stability(Experimental) public JsiiProjectOptions.Builder pullRequestTemplate(Boolean pullRequestTemplate)
Sets the value ofNodeProjectOptions.getPullRequestTemplate()- Parameters:
pullRequestTemplate- Include a GitHub pull request template.- Returns:
this
-
pullRequestTemplateContents
@Stability(Experimental) public JsiiProjectOptions.Builder pullRequestTemplateContents(List<String> pullRequestTemplateContents)
Sets the value ofNodeProjectOptions.getPullRequestTemplateContents()- Parameters:
pullRequestTemplateContents- The contents of the pull request template.- Returns:
this
-
release
@Stability(Experimental) public JsiiProjectOptions.Builder release(Boolean release)
Sets the value ofNodeProjectOptions.getRelease()- Parameters:
release- Add release management to this project.- Returns:
this
-
releaseToNpm
@Stability(Experimental) public JsiiProjectOptions.Builder releaseToNpm(Boolean releaseToNpm)
Sets the value ofNodeProjectOptions.getReleaseToNpm()- Parameters:
releaseToNpm- Automatically release to npm when new versions are introduced.- Returns:
this
-
releaseWorkflow
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder releaseWorkflow(Boolean releaseWorkflow)
Deprecated.see `release`.Sets the value ofNodeProjectOptions.getReleaseWorkflow()- Parameters:
releaseWorkflow- DEPRECATED: renamed torelease.- Returns:
this
-
workflowBootstrapSteps
@Stability(Experimental) public JsiiProjectOptions.Builder workflowBootstrapSteps(List<? extends JobStep> workflowBootstrapSteps)
Sets the value ofNodeProjectOptions.getWorkflowBootstrapSteps()- Parameters:
workflowBootstrapSteps- Workflow steps to use in order to bootstrap this repo.- Returns:
this
-
workflowGitIdentity
@Stability(Experimental) public JsiiProjectOptions.Builder workflowGitIdentity(GitIdentity workflowGitIdentity)
Sets the value ofNodeProjectOptions.getWorkflowGitIdentity()- Parameters:
workflowGitIdentity- The git identity to use in workflows.- Returns:
this
-
workflowNodeVersion
@Stability(Experimental) public JsiiProjectOptions.Builder workflowNodeVersion(String workflowNodeVersion)
Sets the value ofNodeProjectOptions.getWorkflowNodeVersion()- Parameters:
workflowNodeVersion- The node version to use in GitHub workflows.- Returns:
this
-
workflowPackageCache
@Stability(Experimental) public JsiiProjectOptions.Builder workflowPackageCache(Boolean workflowPackageCache)
Sets the value ofNodeProjectOptions.getWorkflowPackageCache()- Parameters:
workflowPackageCache- Enable Node.js package cache in GitHub workflows.- Returns:
this
-
autoApproveOptions
@Stability(Experimental) public JsiiProjectOptions.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
Sets the value ofGitHubProjectOptions.getAutoApproveOptions()- Parameters:
autoApproveOptions- Enable and configure the 'auto approve' workflow.- Returns:
this
-
autoMerge
@Stability(Experimental) public JsiiProjectOptions.Builder autoMerge(Boolean autoMerge)
Sets the value ofGitHubProjectOptions.getAutoMerge()- Parameters:
autoMerge- Enable automatic merging on GitHub. Has no effect ifgithub.mergifyis set to false.- Returns:
this
-
autoMergeOptions
@Stability(Experimental) public JsiiProjectOptions.Builder autoMergeOptions(AutoMergeOptions autoMergeOptions)
Sets the value ofGitHubProjectOptions.getAutoMergeOptions()- Parameters:
autoMergeOptions- Configure options for automatic merging on GitHub. Has no effect ifgithub.mergifyorautoMergeis set to false.- Returns:
this
-
clobber
@Stability(Experimental) public JsiiProjectOptions.Builder clobber(Boolean clobber)
Sets the value ofGitHubProjectOptions.getClobber()- Parameters:
clobber- Add aclobbertask which resets the repo to origin.- Returns:
this
-
devContainer
@Stability(Experimental) public JsiiProjectOptions.Builder devContainer(Boolean devContainer)
Sets the value ofGitHubProjectOptions.getDevContainer()- Parameters:
devContainer- Add a VSCode development environment (used for GitHub Codespaces).- Returns:
this
-
github
@Stability(Experimental) public JsiiProjectOptions.Builder github(Boolean github)
Sets the value ofGitHubProjectOptions.getGithub()- Parameters:
github- Enable GitHub integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
githubOptions
@Stability(Experimental) public JsiiProjectOptions.Builder githubOptions(GitHubOptions githubOptions)
Sets the value ofGitHubProjectOptions.getGithubOptions()- Parameters:
githubOptions- Options for GitHub integration.- Returns:
this
-
gitpod
@Stability(Experimental) public JsiiProjectOptions.Builder gitpod(Boolean gitpod)
Sets the value ofGitHubProjectOptions.getGitpod()- Parameters:
gitpod- Add a Gitpod development environment.- Returns:
this
-
mergify
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder mergify(Boolean mergify)
Deprecated.use `githubOptions.mergify` insteadSets the value ofGitHubProjectOptions.getMergify()- Parameters:
mergify- Whether mergify should be enabled on this repository or not.- Returns:
this
-
mergifyOptions
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder mergifyOptions(MergifyOptions mergifyOptions)
Deprecated.use `githubOptions.mergifyOptions` insteadSets the value ofGitHubProjectOptions.getMergifyOptions()- Parameters:
mergifyOptions- Options for mergify.- Returns:
this
-
projectType
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder projectType(ProjectType projectType)
Deprecated.no longer supported at the base project levelSets the value ofGitHubProjectOptions.getProjectType()- Parameters:
projectType- Which type of project this is (library/app).- Returns:
this
-
projenCredentials
@Stability(Experimental) public JsiiProjectOptions.Builder projenCredentials(GithubCredentials projenCredentials)
Sets the value ofGitHubProjectOptions.getProjenCredentials()- Parameters:
projenCredentials- Choose a method of providing GitHub API access for projen workflows.- Returns:
this
-
projenTokenSecret
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder projenTokenSecret(String projenTokenSecret)
Deprecated.use `projenCredentials`Sets the value ofGitHubProjectOptions.getProjenTokenSecret()- Parameters:
projenTokenSecret- The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This token needs to have therepo,workflowsandpackagesscope.- Returns:
this
-
readme
@Stability(Experimental) public JsiiProjectOptions.Builder readme(SampleReadmeProps readme)
Sets the value ofGitHubProjectOptions.getReadme()- Parameters:
readme- The README setup.- Returns:
this
-
stale
@Stability(Experimental) public JsiiProjectOptions.Builder stale(Boolean stale)
Sets the value ofGitHubProjectOptions.getStale()- Parameters:
stale- Auto-close of stale issues and pull request. SeestaleOptionsfor options.- Returns:
this
-
staleOptions
@Stability(Experimental) public JsiiProjectOptions.Builder staleOptions(StaleOptions staleOptions)
Sets the value ofGitHubProjectOptions.getStaleOptions()- Parameters:
staleOptions- Auto-close stale issues and pull requests. To disable setstaletofalse.- Returns:
this
-
vscode
@Stability(Experimental) public JsiiProjectOptions.Builder vscode(Boolean vscode)
Sets the value ofGitHubProjectOptions.getVscode()- Parameters:
vscode- Enable VSCode integration. Enabled by default for root projects. Disabled for non-root projects.- Returns:
this
-
name
@Stability(Experimental) public JsiiProjectOptions.Builder name(String name)
Sets the value ofProjectOptions.getName()- Parameters:
name- This is the name of your project. This parameter is required.- Returns:
this
-
commitGenerated
@Stability(Experimental) public JsiiProjectOptions.Builder commitGenerated(Boolean commitGenerated)
Sets the value ofProjectOptions.getCommitGenerated()- Parameters:
commitGenerated- Whether to commit the managed files by default.- Returns:
this
-
gitIgnoreOptions
@Stability(Experimental) public JsiiProjectOptions.Builder gitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)
Sets the value ofProjectOptions.getGitIgnoreOptions()- Parameters:
gitIgnoreOptions- Configuration options for .gitignore file.- Returns:
this
-
gitOptions
@Stability(Experimental) public JsiiProjectOptions.Builder gitOptions(GitOptions gitOptions)
Sets the value ofProjectOptions.getGitOptions()- Parameters:
gitOptions- Configuration options for git.- Returns:
this
-
logging
@Stability(Experimental) public JsiiProjectOptions.Builder logging(LoggerOptions logging)
Sets the value ofProjectOptions.getLogging()- Parameters:
logging- Configure logging options such as verbosity.- Returns:
this
-
outdir
@Stability(Experimental) public JsiiProjectOptions.Builder outdir(String outdir)
Sets the value ofProjectOptions.getOutdir()- Parameters:
outdir- 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.
- Returns:
this
-
parent
@Stability(Experimental) public JsiiProjectOptions.Builder parent(Project parent)
Sets the value ofProjectOptions.getParent()- Parameters:
parent- The parent project, if this project is part of a bigger project.- Returns:
this
-
projenCommand
@Stability(Experimental) public JsiiProjectOptions.Builder projenCommand(String projenCommand)
Sets the value ofProjectOptions.getProjenCommand()- Parameters:
projenCommand- The shell command to use in order to run the projen CLI. Can be used to customize in special environments.- Returns:
this
-
projenrcJson
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcJson(Boolean projenrcJson)
Sets the value ofProjectOptions.getProjenrcJson()- Parameters:
projenrcJson- Generate (once) .projenrc.json (in JSON). Set tofalsein order to disable .projenrc.json generation.- Returns:
this
-
projenrcJsonOptions
@Stability(Experimental) public JsiiProjectOptions.Builder projenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)
Sets the value ofProjectOptions.getProjenrcJsonOptions()- Parameters:
projenrcJsonOptions- Options for .projenrc.json.- Returns:
this
-
renovatebot
@Stability(Experimental) public JsiiProjectOptions.Builder renovatebot(Boolean renovatebot)
Sets the value ofProjectOptions.getRenovatebot()- Parameters:
renovatebot- Use renovatebot to handle dependency upgrades.- Returns:
this
-
renovatebotOptions
@Stability(Experimental) public JsiiProjectOptions.Builder renovatebotOptions(RenovatebotOptions renovatebotOptions)
Sets the value ofProjectOptions.getRenovatebotOptions()- Parameters:
renovatebotOptions- Options for renovatebot.- Returns:
this
-
allowLibraryDependencies
@Stability(Experimental) public JsiiProjectOptions.Builder allowLibraryDependencies(Boolean allowLibraryDependencies)
Sets the value ofNodePackageOptions.getAllowLibraryDependencies()- Parameters:
allowLibraryDependencies- Allow the project to includepeerDependenciesandbundledDependencies. This is normally only allowed for libraries. For apps, there's no meaning for specifying these.- Returns:
this
-
authorEmail
@Stability(Experimental) public JsiiProjectOptions.Builder authorEmail(String authorEmail)
Sets the value ofNodePackageOptions.getAuthorEmail()- Parameters:
authorEmail- Author's e-mail.- Returns:
this
-
authorName
@Stability(Experimental) public JsiiProjectOptions.Builder authorName(String authorName)
Sets the value ofNodePackageOptions.getAuthorName()- Parameters:
authorName- Author's name.- Returns:
this
-
authorOrganization
@Stability(Experimental) public JsiiProjectOptions.Builder authorOrganization(Boolean authorOrganization)
Sets the value ofNodePackageOptions.getAuthorOrganization()- Parameters:
authorOrganization- Is the author an organization.- Returns:
this
-
authorUrl
@Stability(Experimental) public JsiiProjectOptions.Builder authorUrl(String authorUrl)
Sets the value ofNodePackageOptions.getAuthorUrl()- Parameters:
authorUrl- Author's URL / Website.- Returns:
this
-
autoDetectBin
@Stability(Experimental) public JsiiProjectOptions.Builder autoDetectBin(Boolean autoDetectBin)
Sets the value ofNodePackageOptions.getAutoDetectBin()- Parameters:
autoDetectBin- Automatically add all executables under thebindirectory to yourpackage.jsonfile under thebinsection.- Returns:
this
-
bin
@Stability(Experimental) public JsiiProjectOptions.Builder bin(Map<String,String> bin)
Sets the value ofNodePackageOptions.getBin()- Parameters:
bin- Binary programs vended with your module. You can use this option to add/customize how binaries are represented in yourpackage.json, but unlessautoDetectBinisfalse, every executable file underbinwill automatically be added to this section.- Returns:
this
-
bugsEmail
@Stability(Experimental) public JsiiProjectOptions.Builder bugsEmail(String bugsEmail)
Sets the value ofNodePackageOptions.getBugsEmail()- Parameters:
bugsEmail- The email address to which issues should be reported.- Returns:
this
-
bugsUrl
@Stability(Experimental) public JsiiProjectOptions.Builder bugsUrl(String bugsUrl)
Sets the value ofNodePackageOptions.getBugsUrl()- Parameters:
bugsUrl- The url to your project's issue tracker.- Returns:
this
-
bundledDeps
@Stability(Experimental) public JsiiProjectOptions.Builder bundledDeps(List<String> bundledDeps)
Sets the value ofNodePackageOptions.getBundledDeps()- Parameters:
bundledDeps- List of dependencies to bundle into this module. These modules will be added both to thedependenciessection andbundledDependenciessection of yourpackage.json.The recommendation is to only specify the module name here (e.g.
express). This will behave similar toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
codeArtifactOptions
@Stability(Experimental) public JsiiProjectOptions.Builder codeArtifactOptions(CodeArtifactOptions codeArtifactOptions)
Sets the value ofNodePackageOptions.getCodeArtifactOptions()- Parameters:
codeArtifactOptions- Options for npm packages using AWS CodeArtifact. This is required if publishing packages to, or installing scoped packages from AWS CodeArtifact- Returns:
this
-
deps
@Stability(Experimental) public JsiiProjectOptions.Builder deps(List<String> deps)
Sets the value ofNodePackageOptions.getDeps()- Parameters:
deps- Runtime dependencies of this module. The recommendation is to only specify the module name here (e.g.express). This will behave similar toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
description
@Stability(Experimental) public JsiiProjectOptions.Builder description(String description)
Sets the value ofNodePackageOptions.getDescription()- Parameters:
description- 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- Returns:
this
-
devDeps
@Stability(Experimental) public JsiiProjectOptions.Builder devDeps(List<String> devDeps)
Sets the value ofNodePackageOptions.getDevDeps()- Parameters:
devDeps- 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 toyarn addornpm installin the sense that it will add the module as a dependency to yourpackage.jsonfile with the latest version (^). You can specify semver requirements in the same syntax passed tonpm ioryarn add(e.g.express@^2) and this will be what youpackage.jsonwill eventually include.- Returns:
this
-
entrypoint
@Stability(Experimental) public JsiiProjectOptions.Builder entrypoint(String entrypoint)
Sets the value ofNodePackageOptions.getEntrypoint()- Parameters:
entrypoint- Module entrypoint (maininpackage.json). Set to an empty string to not includemainin your package.json- Returns:
this
-
homepage
@Stability(Experimental) public JsiiProjectOptions.Builder homepage(String homepage)
Sets the value ofNodePackageOptions.getHomepage()- Parameters:
homepage- Package's Homepage / Website.- Returns:
this
-
keywords
@Stability(Experimental) public JsiiProjectOptions.Builder keywords(List<String> keywords)
Sets the value ofNodePackageOptions.getKeywords()- Parameters:
keywords- Keywords to include inpackage.json.- Returns:
this
-
license
@Stability(Experimental) public JsiiProjectOptions.Builder license(String license)
Sets the value ofNodePackageOptions.getLicense()- Parameters:
license- License's SPDX identifier. See https://github.com/projen/projen/tree/main/license-text for a list of supported licenses. Use thelicensedoption if you want to no license to be specified.- Returns:
this
-
licensed
@Stability(Experimental) public JsiiProjectOptions.Builder licensed(Boolean licensed)
Sets the value ofNodePackageOptions.getLicensed()- Parameters:
licensed- Indicates if a license should be added.- Returns:
this
-
maxNodeVersion
@Stability(Experimental) public JsiiProjectOptions.Builder maxNodeVersion(String maxNodeVersion)
Sets the value ofNodePackageOptions.getMaxNodeVersion()- Parameters:
maxNodeVersion- Minimum node.js version to require viaengines(inclusive).- Returns:
this
-
minNodeVersion
@Stability(Experimental) public JsiiProjectOptions.Builder minNodeVersion(String minNodeVersion)
Sets the value ofNodePackageOptions.getMinNodeVersion()- Parameters:
minNodeVersion- Minimum Node.js version to require via package.jsonengines(inclusive).- Returns:
this
-
npmAccess
@Stability(Experimental) public JsiiProjectOptions.Builder npmAccess(NpmAccess npmAccess)
Sets the value ofNodePackageOptions.getNpmAccess()- Parameters:
npmAccess- Access level of the npm package.- Returns:
this
-
npmProvenance
@Stability(Experimental) public JsiiProjectOptions.Builder npmProvenance(Boolean npmProvenance)
Sets the value ofNodePackageOptions.getNpmProvenance()- Parameters:
npmProvenance- 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
ReleaseandPublishercomponents are usingpublibto publish packages, which is using npm internally and supports provenance statements independently of the package manager used.- Returns:
this
-
npmRegistry
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder npmRegistry(String npmRegistry)
Deprecated.use `npmRegistryUrl` insteadSets the value ofNodePackageOptions.getNpmRegistry()- Parameters:
npmRegistry- The host name of the npm registry to publish to. Cannot be set together withnpmRegistryUrl.- Returns:
this
-
npmRegistryUrl
@Stability(Experimental) public JsiiProjectOptions.Builder npmRegistryUrl(String npmRegistryUrl)
Sets the value ofNodePackageOptions.getNpmRegistryUrl()- Parameters:
npmRegistryUrl- The base URL of the npm package registry. Must be a URL (e.g. start with "https://" or "http://")- Returns:
this
-
npmTokenSecret
@Stability(Experimental) public JsiiProjectOptions.Builder npmTokenSecret(String npmTokenSecret)
Sets the value ofNodePackageOptions.getNpmTokenSecret()- Parameters:
npmTokenSecret- GitHub secret which contains the NPM token to use when publishing packages.- Returns:
this
-
packageManager
@Stability(Experimental) public JsiiProjectOptions.Builder packageManager(NodePackageManager packageManager)
Sets the value ofNodePackageOptions.getPackageManager()- Parameters:
packageManager- The Node Package Manager used to execute scripts.- Returns:
this
-
packageName
@Stability(Experimental) public JsiiProjectOptions.Builder packageName(String packageName)
Sets the value ofNodePackageOptions.getPackageName()- Parameters:
packageName- The "name" in package.json.- Returns:
this
-
peerDependencyOptions
@Stability(Experimental) public JsiiProjectOptions.Builder peerDependencyOptions(PeerDependencyOptions peerDependencyOptions)
Sets the value ofNodePackageOptions.getPeerDependencyOptions()- Parameters:
peerDependencyOptions- Options forpeerDeps.- Returns:
this
-
peerDeps
@Stability(Experimental) public JsiiProjectOptions.Builder peerDeps(List<String> peerDeps)
Sets the value ofNodePackageOptions.getPeerDeps()- Parameters:
peerDeps- 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 thenode_modulestree 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.pinnedDevDependencyis 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.- Returns:
this
-
pnpmVersion
@Stability(Experimental) public JsiiProjectOptions.Builder pnpmVersion(String pnpmVersion)
Sets the value ofNodePackageOptions.getPnpmVersion()- Parameters:
pnpmVersion- The version of PNPM to use if using PNPM as a package manager.- Returns:
this
-
repository
@Stability(Experimental) public JsiiProjectOptions.Builder repository(String repository)
Sets the value ofNodePackageOptions.getRepository()- Parameters:
repository- The repository is the location where the actual code for your package lives. See https://classic.yarnpkg.com/en/docs/package-json/#toc-repository- Returns:
this
-
repositoryDirectory
@Stability(Experimental) public JsiiProjectOptions.Builder repositoryDirectory(String repositoryDirectory)
Sets the value ofNodePackageOptions.getRepositoryDirectory()- Parameters:
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.- Returns:
this
-
scopedPackagesOptions
@Stability(Experimental) public JsiiProjectOptions.Builder scopedPackagesOptions(List<? extends ScopedPackagesOptions> scopedPackagesOptions)
Sets the value ofNodePackageOptions.getScopedPackagesOptions()- Parameters:
scopedPackagesOptions- Options for privately hosted scoped packages.- Returns:
this
-
scripts
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder scripts(Map<String,String> scripts)
Deprecated.use `project.addTask()` or `package.setScript()`Sets the value ofNodePackageOptions.getScripts()- Parameters:
scripts- 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.- Returns:
this
-
stability
@Stability(Experimental) public JsiiProjectOptions.Builder stability(String stability)
Sets the value ofNodePackageOptions.getStability()- Parameters:
stability- Package's Stability.- Returns:
this
-
yarnBerryOptions
@Stability(Experimental) public JsiiProjectOptions.Builder yarnBerryOptions(YarnBerryOptions yarnBerryOptions)
Sets the value ofNodePackageOptions.getYarnBerryOptions()- Parameters:
yarnBerryOptions- Options for Yarn Berry.- Returns:
this
-
jsiiReleaseVersion
@Stability(Experimental) public JsiiProjectOptions.Builder jsiiReleaseVersion(String jsiiReleaseVersion)
Sets the value ofReleaseProjectOptions.getJsiiReleaseVersion()- Parameters:
jsiiReleaseVersion- Version requirement ofpublibwhich is used to publish modules to npm.- Returns:
this
-
majorVersion
@Stability(Experimental) public JsiiProjectOptions.Builder majorVersion(Number majorVersion)
Sets the value ofReleaseProjectOptions.getMajorVersion()- Parameters:
majorVersion- 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.- Returns:
this
-
minMajorVersion
@Stability(Experimental) public JsiiProjectOptions.Builder minMajorVersion(Number minMajorVersion)
Sets the value ofReleaseProjectOptions.getMinMajorVersion()- Parameters:
minMajorVersion- 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.- Returns:
this
-
npmDistTag
@Stability(Experimental) public JsiiProjectOptions.Builder npmDistTag(String npmDistTag)
Sets the value ofReleaseProjectOptions.getNpmDistTag()- Parameters:
npmDistTag- The npmDistTag to use when publishing from the default branch. To set the npm dist-tag for release branches, set thenpmDistTagproperty for each branch.- Returns:
this
-
postBuildSteps
@Stability(Experimental) public JsiiProjectOptions.Builder postBuildSteps(List<? extends JobStep> postBuildSteps)
Sets the value ofReleaseProjectOptions.getPostBuildSteps()- Parameters:
postBuildSteps- Steps to execute after build as part of the release workflow.- Returns:
this
-
prerelease
@Stability(Experimental) public JsiiProjectOptions.Builder prerelease(String prerelease)
Sets the value ofReleaseProjectOptions.getPrerelease()- Parameters:
prerelease- Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").- Returns:
this
-
publishDryRun
@Stability(Experimental) public JsiiProjectOptions.Builder publishDryRun(Boolean publishDryRun)
Sets the value ofReleaseProjectOptions.getPublishDryRun()- Parameters:
publishDryRun- Instead of actually publishing to package managers, just print the publishing command.- Returns:
this
-
publishTasks
@Stability(Experimental) public JsiiProjectOptions.Builder publishTasks(Boolean publishTasks)
Sets the value ofReleaseProjectOptions.getPublishTasks()- Parameters:
publishTasks- 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.- Returns:
this
-
releasableCommits
@Stability(Experimental) public JsiiProjectOptions.Builder releasableCommits(ReleasableCommits releasableCommits)
Sets the value ofReleaseProjectOptions.getReleasableCommits()- Parameters:
releasableCommits- Find commits that should be considered releasable Used to decide if a release is required.- Returns:
this
-
releaseBranches
@Stability(Experimental) public JsiiProjectOptions.Builder releaseBranches(Map<String,? extends BranchOptions> releaseBranches)
Sets the value ofReleaseProjectOptions.getReleaseBranches()- Parameters:
releaseBranches- 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, themajorVersionfield must also be provided for the default branch.- Returns:
this
-
releaseEveryCommit
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder releaseEveryCommit(Boolean releaseEveryCommit)
Deprecated.Use `releaseTrigger: ReleaseTrigger.continuous()` insteadSets the value ofReleaseProjectOptions.getReleaseEveryCommit()- Parameters:
releaseEveryCommit- Automatically release new versions every commit to one of branches inreleaseBranches.- Returns:
this
-
releaseFailureIssue
@Stability(Experimental) public JsiiProjectOptions.Builder releaseFailureIssue(Boolean releaseFailureIssue)
Sets the value ofReleaseProjectOptions.getReleaseFailureIssue()- Parameters:
releaseFailureIssue- Create a github issue on every failed publishing task.- Returns:
this
-
releaseFailureIssueLabel
@Stability(Experimental) public JsiiProjectOptions.Builder releaseFailureIssueLabel(String releaseFailureIssueLabel)
Sets the value ofReleaseProjectOptions.getReleaseFailureIssueLabel()- Parameters:
releaseFailureIssueLabel- The label to apply to issues indicating publish failures. Only applies ifreleaseFailureIssueis true.- Returns:
this
-
releaseSchedule
@Stability(Deprecated) @Deprecated public JsiiProjectOptions.Builder releaseSchedule(String releaseSchedule)
Deprecated.Use `releaseTrigger: ReleaseTrigger.scheduled()` insteadSets the value ofReleaseProjectOptions.getReleaseSchedule()- Parameters:
releaseSchedule- CRON schedule to trigger new releases.- Returns:
this
-
releaseTagPrefix
@Stability(Experimental) public JsiiProjectOptions.Builder releaseTagPrefix(String releaseTagPrefix)
Sets the value ofReleaseProjectOptions.getReleaseTagPrefix()- Parameters:
releaseTagPrefix- 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.- Returns:
this
-
releaseTrigger
@Stability(Experimental) public JsiiProjectOptions.Builder releaseTrigger(ReleaseTrigger releaseTrigger)
Sets the value ofReleaseProjectOptions.getReleaseTrigger()- Parameters:
releaseTrigger- The release trigger to use.- Returns:
this
-
releaseWorkflowName
@Stability(Experimental) public JsiiProjectOptions.Builder releaseWorkflowName(String releaseWorkflowName)
Sets the value ofReleaseProjectOptions.getReleaseWorkflowName()- Parameters:
releaseWorkflowName- The name of the default release workflow.- Returns:
this
-
releaseWorkflowSetupSteps
@Stability(Experimental) public JsiiProjectOptions.Builder releaseWorkflowSetupSteps(List<? extends JobStep> releaseWorkflowSetupSteps)
Sets the value ofReleaseProjectOptions.getReleaseWorkflowSetupSteps()- Parameters:
releaseWorkflowSetupSteps- A set of workflow steps to execute in order to setup the workflow container.- Returns:
this
-
versionrcOptions
@Stability(Experimental) public JsiiProjectOptions.Builder versionrcOptions(Map<String,? extends Object> versionrcOptions)
Sets the value ofReleaseProjectOptions.getVersionrcOptions()- Parameters:
versionrcOptions- Custom configuration used when creating changelog with standard-version package. Given values either append to default configuration or overwrite values in it.- Returns:
this
-
workflowContainerImage
@Stability(Experimental) public JsiiProjectOptions.Builder workflowContainerImage(String workflowContainerImage)
Sets the value ofReleaseProjectOptions.getWorkflowContainerImage()- Parameters:
workflowContainerImage- Container image to use for GitHub workflows.- Returns:
this
-
workflowRunsOn
@Stability(Experimental) public JsiiProjectOptions.Builder workflowRunsOn(List<String> workflowRunsOn)
Sets the value ofReleaseProjectOptions.getWorkflowRunsOn()- Parameters:
workflowRunsOn- Github Runner selection labels.- Returns:
this
-
workflowRunsOnGroup
@Stability(Experimental) public JsiiProjectOptions.Builder workflowRunsOnGroup(GroupRunnerOptions workflowRunsOnGroup)
Sets the value ofReleaseProjectOptions.getWorkflowRunsOnGroup()- Parameters:
workflowRunsOnGroup- Github Runner Group selection options.- Returns:
this
-
build
@Stability(Experimental) public JsiiProjectOptions build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<JsiiProjectOptions>- Returns:
- a new instance of
JsiiProjectOptions - Throws:
NullPointerException- if any required attribute was not provided
-
-