Package io.github.cdklabs.projen.awscdk
Class AwsCdkJavaAppOptions.Builder
- java.lang.Object
-
- io.github.cdklabs.projen.awscdk.AwsCdkJavaAppOptions.Builder
-
- All Implemented Interfaces:
software.amazon.jsii.Builder<AwsCdkJavaAppOptions>
- Enclosing interface:
- AwsCdkJavaAppOptions
@Stability(Experimental) public static final class AwsCdkJavaAppOptions.Builder extends Object implements software.amazon.jsii.Builder<AwsCdkJavaAppOptions>
A builder forAwsCdkJavaAppOptions
-
-
Constructor Summary
Constructors Constructor Description Builder()
-
Method Summary
-
-
-
Method Detail
-
mainClass
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder mainClass(String mainClass)
Sets the value ofAwsCdkJavaAppOptions.getMainClass()- Parameters:
mainClass- The name of the Java class with the staticmain()method. This parameter is required. This method should callapp.synth()on the CDK app.- Returns:
this
-
sample
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder sample(Boolean sample)
Sets the value ofJavaProjectOptions.getSample()- Parameters:
sample- Include sample code and test if the relevant directories don't exist.- Returns:
this
-
sampleJavaPackage
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder sampleJavaPackage(String sampleJavaPackage)
Sets the value ofJavaProjectOptions.getSampleJavaPackage()- Parameters:
sampleJavaPackage- The java package to use for the code sample.- Returns:
this
-
compileOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder compileOptions(MavenCompileOptions compileOptions)
Sets the value ofJavaProjectCommonOptions.getCompileOptions()- Parameters:
compileOptions- Compile options.- Returns:
this
-
deps
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder deps(List<String> deps)
Sets the value ofJavaProjectCommonOptions.getDeps()- Parameters:
deps- List of runtime dependencies for this project. Dependencies use the format:<groupId>/<artifactId>@<semver>Additional dependencies can be added via
project.addDependency().- Returns:
this
-
distdir
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder distdir(String distdir)
Sets the value ofJavaProjectCommonOptions.getDistdir()- Parameters:
distdir- Final artifact output directory.- Returns:
this
-
junit
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder junit(Boolean junit)
Sets the value ofJavaProjectCommonOptions.getJunit()- Parameters:
junit- Include junit tests.- Returns:
this
-
junitOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder junitOptions(JunitOptions junitOptions)
Sets the value ofJavaProjectCommonOptions.getJunitOptions()- Parameters:
junitOptions- junit options.- Returns:
this
-
packagingOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder packagingOptions(MavenPackagingOptions packagingOptions)
Sets the value ofJavaProjectCommonOptions.getPackagingOptions()- Parameters:
packagingOptions- Packaging options.- Returns:
this
-
projenrcJava
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder projenrcJava(Boolean projenrcJava)
Sets the value ofJavaProjectCommonOptions.getProjenrcJava()- Parameters:
projenrcJava- Use projenrc in java. This will installprojenas a java dependency and will add asynthtask which will compile & executemain()fromsrc/main/java/projenrc.java.- Returns:
this
-
projenrcJavaOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder projenrcJavaOptions(ProjenrcOptions projenrcJavaOptions)
Sets the value ofJavaProjectCommonOptions.getProjenrcJavaOptions()- Parameters:
projenrcJavaOptions- Options related to projenrc in java.- Returns:
this
-
testDeps
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder testDeps(List<String> testDeps)
Sets the value ofJavaProjectCommonOptions.getTestDeps()- Parameters:
testDeps- List of test dependencies for this project. Dependencies use the format:<groupId>/<artifactId>@<semver>Additional dependencies can be added via
project.addTestDependency().- Returns:
this
-
autoApproveOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder autoApproveOptions(AutoApproveOptions autoApproveOptions)
Sets the value ofGitHubProjectOptions.getAutoApproveOptions()- Parameters:
autoApproveOptions- Enable and configure the 'auto approve' workflow.- Returns:
this
-
autoMerge
@Stability(Experimental) public AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.Builder githubOptions(GitHubOptions githubOptions)
Sets the value ofGitHubProjectOptions.getGithubOptions()- Parameters:
githubOptions- Options for GitHub integration.- Returns:
this
-
gitpod
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder gitpod(Boolean gitpod)
Sets the value ofGitHubProjectOptions.getGitpod()- Parameters:
gitpod- Add a Gitpod development environment.- Returns:
this
-
mergify
@Stability(Deprecated) @Deprecated public AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.Builder readme(SampleReadmeProps readme)
Sets the value ofGitHubProjectOptions.getReadme()- Parameters:
readme- The README setup.- Returns:
this
-
stale
@Stability(Experimental) public AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.Builder gitIgnoreOptions(IgnoreFileOptions gitIgnoreOptions)
Sets the value ofProjectOptions.getGitIgnoreOptions()- Parameters:
gitIgnoreOptions- Configuration options for .gitignore file.- Returns:
this
-
gitOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder gitOptions(GitOptions gitOptions)
Sets the value ofProjectOptions.getGitOptions()- Parameters:
gitOptions- Configuration options for git.- Returns:
this
-
logging
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder logging(LoggerOptions logging)
Sets the value ofProjectOptions.getLogging()- Parameters:
logging- Configure logging options such as verbosity.- Returns:
this
-
outdir
@Stability(Experimental) public AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.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 AwsCdkJavaAppOptions.Builder projenrcJsonOptions(ProjenrcJsonOptions projenrcJsonOptions)
Sets the value ofProjectOptions.getProjenrcJsonOptions()- Parameters:
projenrcJsonOptions- Options for .projenrc.json.- Returns:
this
-
renovatebot
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder renovatebot(Boolean renovatebot)
Sets the value ofProjectOptions.getRenovatebot()- Parameters:
renovatebot- Use renovatebot to handle dependency upgrades.- Returns:
this
-
renovatebotOptions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder renovatebotOptions(RenovatebotOptions renovatebotOptions)
Sets the value ofProjectOptions.getRenovatebotOptions()- Parameters:
renovatebotOptions- Options for renovatebot.- Returns:
this
-
artifactId
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder artifactId(String artifactId)
Sets the value ofPomOptions.getArtifactId()- Parameters:
artifactId- The artifactId is generally the name that the project is known by. This parameter is required. Although the groupId is important, people within the group will rarely mention the groupId in discussion (they are often all be the same ID, such as the MojoHaus project groupId: org.codehaus.mojo). It, along with the groupId, creates a key that separates this project from every other project in the world (at least, it should :) ). Along with the groupId, the artifactId fully defines the artifact's living quarters within the repository. In the case of the above project, my-project lives in $M2_REPO/org/codehaus/mojo/my-project.- Returns:
this
-
groupId
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder groupId(String groupId)
Sets the value ofPomOptions.getGroupId()- Parameters:
groupId- This is generally unique amongst an organization or a project. This parameter is required. For example, all core Maven artifacts do (well, should) live under the groupId org.apache.maven. Group ID's do not necessarily use the dot notation, for example, the junit project. Note that the dot-notated groupId does not have to correspond to the package structure that the project contains. It is, however, a good practice to follow. When stored within a repository, the group acts much like the Java packaging structure does in an operating system. The dots are replaced by OS specific directory separators (such as '/' in Unix) which becomes a relative directory structure from the base repository. In the example given, the org.codehaus.mojo group lives within the directory $M2_REPO/org/codehaus/mojo.- Returns:
this
-
version
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder version(String version)
Sets the value ofPomOptions.getVersion()- Parameters:
version- This is the last piece of the naming puzzle. This parameter is required. groupId:artifactId denotes a single project but they cannot delineate which incarnation of that project we are talking about. Do we want the junit:junit of 2018 (version 4.12), or of 2007 (version 3.8.2)? In short: code changes, those changes should be versioned, and this element keeps those versions in line. It is also used within an artifact's repository to separate versions from each other. my-project version 1.0 files live in the directory structure $M2_REPO/org/codehaus/mojo/my-project/1.0.- Returns:
this
-
description
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder description(String description)
Sets the value ofPomOptions.getDescription()- Parameters:
description- Description of a project is always good. Although this should not replace formal documentation, a quick comment to any readers of the POM is always helpful.- Returns:
this
-
packaging
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder packaging(String packaging)
Sets the value ofPomOptions.getPackaging()- Parameters:
packaging- Project packaging format.- Returns:
this
-
parentPom
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder parentPom(ParentPom parentPom)
Sets the value ofPomOptions.getParentPom()- Parameters:
parentPom- A Parent Pom can be used to have a child project inherit properties/plugins/ect in order to reduce duplication and keep standards across a large amount of repos.- Returns:
this
-
url
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder url(String url)
Sets the value ofPomOptions.getUrl()- Parameters:
url- The URL, like the name, is not required. This is a nice gesture for projects users, however, so that they know where the project lives.- Returns:
this
-
buildCommand
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder buildCommand(String buildCommand)
Sets the value ofCdkConfigCommonOptions.getBuildCommand()- Parameters:
buildCommand- A command to execute before synthesis. This command will be called when runningcdk synthor whencdk watchidentifies a change in your source code before redeployment.- Returns:
this
-
cdkout
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder cdkout(String cdkout)
Sets the value ofCdkConfigCommonOptions.getCdkout()- Parameters:
cdkout- cdk.out directory.- Returns:
this
-
context
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder context(Map<String,? extends Object> context)
Sets the value ofCdkConfigCommonOptions.getContext()- Parameters:
context- Additional context to include incdk.json.- Returns:
this
-
featureFlags
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder featureFlags(Boolean featureFlags)
Sets the value ofCdkConfigCommonOptions.getFeatureFlags()- Parameters:
featureFlags- Include all feature flags in cdk.json.- Returns:
this
-
requireApproval
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder requireApproval(ApprovalLevel requireApproval)
Sets the value ofCdkConfigCommonOptions.getRequireApproval()- Parameters:
requireApproval- To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.- Returns:
this
-
watchExcludes
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder watchExcludes(List<String> watchExcludes)
Sets the value ofCdkConfigCommonOptions.getWatchExcludes()- Parameters:
watchExcludes- Glob patterns to exclude fromcdk watch.- Returns:
this
-
watchIncludes
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder watchIncludes(List<String> watchIncludes)
Sets the value ofCdkConfigCommonOptions.getWatchIncludes()- Parameters:
watchIncludes- Glob patterns to include incdk watch.- Returns:
this
-
cdkVersion
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder cdkVersion(String cdkVersion)
Sets the value ofAwsCdkDepsCommonOptions.getCdkVersion()- Parameters:
cdkVersion- Minimum version of the AWS CDK to depend on. This parameter is required.- Returns:
this
-
cdkAssert
@Stability(Deprecated) @Deprecated public AwsCdkJavaAppOptions.Builder cdkAssert(Boolean cdkAssert)
Deprecated.TheSets the value ofAwsCdkDepsCommonOptions.getCdkAssert()- Parameters:
cdkAssert- Warning: NodeJS only. Install the- Returns:
this
-
cdkAssertions
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder cdkAssertions(Boolean cdkAssertions)
Sets the value ofAwsCdkDepsCommonOptions.getCdkAssertions()- Parameters:
cdkAssertions- Install the assertions library?. Only needed for CDK 1.x. If using CDK 2.x then assertions is already included in 'aws-cdk-lib'- Returns:
this
-
cdkDependencies
@Stability(Deprecated) @Deprecated public AwsCdkJavaAppOptions.Builder cdkDependencies(List<String> cdkDependencies)
Deprecated.For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)Sets the value ofAwsCdkDepsCommonOptions.getCdkDependencies()- Parameters:
cdkDependencies- Which AWS CDKv1 modules this project requires.- Returns:
this
-
cdkDependenciesAsDeps
@Stability(Deprecated) @Deprecated public AwsCdkJavaAppOptions.Builder cdkDependenciesAsDeps(Boolean cdkDependenciesAsDeps)
Deprecated.Not supported in CDK v2.Sets the value ofAwsCdkDepsCommonOptions.getCdkDependenciesAsDeps()- Parameters:
cdkDependenciesAsDeps- If this is enabled (default), all modules declared incdkDependencieswill be also added as normaldependencies(as well aspeerDependencies). 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,cdkDependencieswill be added todevDependenciesto ensure they are present during development.Note: this setting only applies to construct library projects
- Returns:
this
-
cdkTestDependencies
@Stability(Deprecated) @Deprecated public AwsCdkJavaAppOptions.Builder cdkTestDependencies(List<String> cdkTestDependencies)
Deprecated.For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) insteadSets the value ofAwsCdkDepsCommonOptions.getCdkTestDependencies()- Parameters:
cdkTestDependencies- AWS CDK modules required for testing.- Returns:
this
-
cdkVersionPinning
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder cdkVersionPinning(Boolean cdkVersionPinning)
Sets the value ofAwsCdkDepsCommonOptions.getCdkVersionPinning()- Parameters:
cdkVersionPinning- 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.- Returns:
this
-
constructsVersion
@Stability(Experimental) public AwsCdkJavaAppOptions.Builder constructsVersion(String constructsVersion)
Sets the value ofAwsCdkDepsCommonOptions.getConstructsVersion()- Parameters:
constructsVersion- Minimum version of theconstructslibrary to depend on.- Returns:
this
-
build
@Stability(Experimental) public AwsCdkJavaAppOptions build()
Builds the configured instance.- Specified by:
buildin interfacesoftware.amazon.jsii.Builder<AwsCdkJavaAppOptions>- Returns:
- a new instance of
AwsCdkJavaAppOptions - Throws:
NullPointerException- if any required attribute was not provided
-
-