Class AwsCdkJavaApp.Builder

  • All Implemented Interfaces:
    software.amazon.jsii.Builder<AwsCdkJavaApp>
    Enclosing class:
    AwsCdkJavaApp

    @Stability(Experimental)
    public static final class AwsCdkJavaApp.Builder
    extends Object
    implements software.amazon.jsii.Builder<AwsCdkJavaApp>
    (experimental) A fluent builder for AwsCdkJavaApp.
    • Method Detail

      • name

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder name​(String name)
        (experimental) This is the name of your project.

        Default: $BASEDIR

        Parameters:
        name - This is the name of your project. This parameter is required.
        Returns:
        this
      • commitGenerated

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder commitGenerated​(Boolean commitGenerated)
        (experimental) Whether to commit the managed files by default.

        Default: true

        Parameters:
        commitGenerated - Whether to commit the managed files by default. This parameter is required.
        Returns:
        this
      • gitIgnoreOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder gitIgnoreOptions​(IgnoreFileOptions gitIgnoreOptions)
        (experimental) Configuration options for .gitignore file.

        Parameters:
        gitIgnoreOptions - Configuration options for .gitignore file. This parameter is required.
        Returns:
        this
      • gitOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder gitOptions​(GitOptions gitOptions)
        (experimental) Configuration options for git.

        Parameters:
        gitOptions - Configuration options for git. This parameter is required.
        Returns:
        this
      • logging

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder logging​(LoggerOptions logging)
        (experimental) Configure logging options such as verbosity.

        Default: {}

        Parameters:
        logging - Configure logging options such as verbosity. This parameter is required.
        Returns:
        this
      • outdir

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder outdir​(String outdir)
        (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: "."

        Parameters:
        outdir - The root directory of the project. This parameter is required.
        Returns:
        this
      • parent

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder parent​(Project parent)
        (experimental) The parent project, if this project is part of a bigger project.

        Parameters:
        parent - The parent project, if this project is part of a bigger project. This parameter is required.
        Returns:
        this
      • projenCommand

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenCommand​(String projenCommand)
        (experimental) The shell command to use in order to run the projen CLI.

        Can be used to customize in special environments.

        Default: "npx projen"

        Parameters:
        projenCommand - The shell command to use in order to run the projen CLI. This parameter is required.
        Returns:
        this
      • projenrcJson

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenrcJson​(Boolean projenrcJson)
        (experimental) Generate (once) .projenrc.json (in JSON). Set to false in order to disable .projenrc.json generation.

        Default: false

        Parameters:
        projenrcJson - Generate (once) .projenrc.json (in JSON). Set to false in order to disable .projenrc.json generation. This parameter is required.
        Returns:
        this
      • projenrcJsonOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenrcJsonOptions​(ProjenrcJsonOptions projenrcJsonOptions)
        (experimental) Options for .projenrc.json.

        Default: - default options

        Parameters:
        projenrcJsonOptions - Options for .projenrc.json. This parameter is required.
        Returns:
        this
      • renovatebot

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder renovatebot​(Boolean renovatebot)
        (experimental) Use renovatebot to handle dependency upgrades.

        Default: false

        Parameters:
        renovatebot - Use renovatebot to handle dependency upgrades. This parameter is required.
        Returns:
        this
      • renovatebotOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder renovatebotOptions​(RenovatebotOptions renovatebotOptions)
        (experimental) Options for renovatebot.

        Default: - default options

        Parameters:
        renovatebotOptions - Options for renovatebot. This parameter is required.
        Returns:
        this
      • autoApproveOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder autoApproveOptions​(AutoApproveOptions autoApproveOptions)
        (experimental) Enable and configure the 'auto approve' workflow.

        Default: - auto approve is disabled

        Parameters:
        autoApproveOptions - Enable and configure the 'auto approve' workflow. This parameter is required.
        Returns:
        this
      • autoMerge

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder autoMerge​(Boolean autoMerge)
        (experimental) Enable automatic merging on GitHub.

        Has no effect if github.mergify is set to false.

        Default: true

        Parameters:
        autoMerge - Enable automatic merging on GitHub. This parameter is required.
        Returns:
        this
      • autoMergeOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder autoMergeOptions​(AutoMergeOptions autoMergeOptions)
        (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`

        Parameters:
        autoMergeOptions - Configure options for automatic merging on GitHub. This parameter is required.
        Returns:
        this
      • clobber

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder clobber​(Boolean clobber)
        (experimental) Add a clobber task which resets the repo to origin.

        Default: - true, but false for subprojects

        Parameters:
        clobber - Add a clobber task which resets the repo to origin. This parameter is required.
        Returns:
        this
      • devContainer

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder devContainer​(Boolean devContainer)
        (experimental) Add a VSCode development environment (used for GitHub Codespaces).

        Default: false

        Parameters:
        devContainer - Add a VSCode development environment (used for GitHub Codespaces). This parameter is required.
        Returns:
        this
      • github

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder github​(Boolean github)
        (experimental) Enable GitHub integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Parameters:
        github - Enable GitHub integration. This parameter is required.
        Returns:
        this
      • githubOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder githubOptions​(GitHubOptions githubOptions)
        (experimental) Options for GitHub integration.

        Default: - see GitHubOptions

        Parameters:
        githubOptions - Options for GitHub integration. This parameter is required.
        Returns:
        this
      • gitpod

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder gitpod​(Boolean gitpod)
        (experimental) Add a Gitpod development environment.

        Default: false

        Parameters:
        gitpod - Add a Gitpod development environment. This parameter is required.
        Returns:
        this
      • mergify

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder mergify​(Boolean mergify)
        Deprecated.
        use githubOptions.mergify instead
        (deprecated) Whether mergify should be enabled on this repository or not.

        Default: true

        Parameters:
        mergify - Whether mergify should be enabled on this repository or not. This parameter is required.
        Returns:
        this
      • mergifyOptions

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder mergifyOptions​(MergifyOptions mergifyOptions)
        Deprecated.
        use githubOptions.mergifyOptions instead
        (deprecated) Options for mergify.

        Default: - default options

        Parameters:
        mergifyOptions - Options for mergify. This parameter is required.
        Returns:
        this
      • projectType

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder projectType​(ProjectType projectType)
        Deprecated.
        no longer supported at the base project level
        (deprecated) Which type of project this is (library/app).

        Default: ProjectType.UNKNOWN

        Parameters:
        projectType - Which type of project this is (library/app). This parameter is required.
        Returns:
        this
      • projenCredentials

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenCredentials​(GithubCredentials projenCredentials)
        (experimental) Choose a method of providing GitHub API access for projen workflows.

        Default: - use a personal access token named PROJEN_GITHUB_TOKEN

        Parameters:
        projenCredentials - Choose a method of providing GitHub API access for projen workflows. This parameter is required.
        Returns:
        this
      • projenTokenSecret

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder projenTokenSecret​(String projenTokenSecret)
        Deprecated.
        use projenCredentials
        (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"

        Parameters:
        projenTokenSecret - The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This parameter is required.
        Returns:
        this
      • readme

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder readme​(SampleReadmeProps readme)
        (experimental) The README setup.

        Default: - { filename: 'README.md', contents: '# replace this' }

        Example:

         "{ filename: 'readme.md', contents: '# title' }"
         

        Parameters:
        readme - The README setup. This parameter is required.
        Returns:
        this
      • stale

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder stale​(Boolean stale)
        (experimental) Auto-close of stale issues and pull request.

        See staleOptions for options.

        Default: false

        Parameters:
        stale - Auto-close of stale issues and pull request. This parameter is required.
        Returns:
        this
      • staleOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder staleOptions​(StaleOptions staleOptions)
        (experimental) Auto-close stale issues and pull requests.

        To disable set stale to false.

        Default: - see defaults in `StaleOptions`

        Parameters:
        staleOptions - Auto-close stale issues and pull requests. This parameter is required.
        Returns:
        this
      • vscode

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder vscode​(Boolean vscode)
        (experimental) Enable VSCode integration.

        Enabled by default for root projects. Disabled for non-root projects.

        Default: true

        Parameters:
        vscode - Enable VSCode integration. This parameter is required.
        Returns:
        this
      • artifactId

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder artifactId​(String artifactId)
        (experimental) The artifactId is generally the name that the project is known by.

        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.

        Default: "my-app"

        Parameters:
        artifactId - The artifactId is generally the name that the project is known by. This parameter is required.
        Returns:
        this
      • groupId

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder groupId​(String groupId)
        (experimental) This is generally unique amongst an organization or a project.

        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.

        Default: "org.acme"

        Parameters:
        groupId - This is generally unique amongst an organization or a project. This parameter is required.
        Returns:
        this
      • version

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder version​(String version)
        (experimental) This is the last piece of the naming puzzle.

        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.

        Default: "0.1.0"

        Parameters:
        version - This is the last piece of the naming puzzle. This parameter is required.
        Returns:
        this
      • description

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder description​(String description)
        (experimental) 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.

        Default: undefined

        Parameters:
        description - Description of a project is always good. This parameter is required.
        Returns:
        this
      • packaging

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder packaging​(String packaging)
        (experimental) Project packaging format.

        Default: "jar"

        Parameters:
        packaging - Project packaging format. This parameter is required.
        Returns:
        this
      • parentPom

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder parentPom​(ParentPom parentPom)
        (experimental) 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.

        Default: undefined

        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. This parameter is required.
        Returns:
        this
      • url

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder url​(String url)
        (experimental) 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.

        Default: undefined

        Parameters:
        url - The URL, like the name, is not required. This parameter is required.
        Returns:
        this
      • compileOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder compileOptions​(MavenCompileOptions compileOptions)
        (experimental) Compile options.

        Default: - defaults

        Parameters:
        compileOptions - Compile options. This parameter is required.
        Returns:
        this
      • deps

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder deps​(List<String> deps)
        (experimental) List of runtime dependencies for this project.

        Dependencies use the format: <groupId>/<artifactId>@<semver>

        Additional dependencies can be added via project.addDependency().

        Default: []

        Parameters:
        deps - List of runtime dependencies for this project. This parameter is required.
        Returns:
        this
      • distdir

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder distdir​(String distdir)
        (experimental) Final artifact output directory.

        Default: "dist/java"

        Parameters:
        distdir - Final artifact output directory. This parameter is required.
        Returns:
        this
      • junit

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder junit​(Boolean junit)
        (experimental) Include junit tests.

        Default: true

        Parameters:
        junit - Include junit tests. This parameter is required.
        Returns:
        this
      • junitOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder junitOptions​(JunitOptions junitOptions)
        (experimental) junit options.

        Default: - defaults

        Parameters:
        junitOptions - junit options. This parameter is required.
        Returns:
        this
      • packagingOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder packagingOptions​(MavenPackagingOptions packagingOptions)
        (experimental) Packaging options.

        Default: - defaults

        Parameters:
        packagingOptions - Packaging options. This parameter is required.
        Returns:
        this
      • projenrcJava

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenrcJava​(Boolean projenrcJava)
        (experimental) Use projenrc in java.

        This will install projen as a java dependency and will add a synth task which will compile & execute main() from src/main/java/projenrc.java.

        Default: true

        Parameters:
        projenrcJava - Use projenrc in java. This parameter is required.
        Returns:
        this
      • projenrcJavaOptions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder projenrcJavaOptions​(ProjenrcOptions projenrcJavaOptions)
        (experimental) Options related to projenrc in java.

        Default: - default options

        Parameters:
        projenrcJavaOptions - Options related to projenrc in java. This parameter is required.
        Returns:
        this
      • testDeps

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder testDeps​(List<String> testDeps)
        (experimental) List of test dependencies for this project.

        Dependencies use the format: <groupId>/<artifactId>@<semver>

        Additional dependencies can be added via project.addTestDependency().

        Default: []

        Parameters:
        testDeps - List of test dependencies for this project. This parameter is required.
        Returns:
        this
      • sample

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder sample​(Boolean sample)
        (experimental) Include sample code and test if the relevant directories don't exist.

        Default: true

        Parameters:
        sample - Include sample code and test if the relevant directories don't exist. This parameter is required.
        Returns:
        this
      • sampleJavaPackage

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder sampleJavaPackage​(String sampleJavaPackage)
        (experimental) The java package to use for the code sample.

        Default: "org.acme"

        Parameters:
        sampleJavaPackage - The java package to use for the code sample. This parameter is required.
        Returns:
        this
      • buildCommand

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder buildCommand​(String buildCommand)
        (experimental) A command to execute before synthesis.

        This command will be called when running cdk synth or when cdk watch identifies a change in your source code before redeployment.

        Default: - no build command

        Parameters:
        buildCommand - A command to execute before synthesis. This parameter is required.
        Returns:
        this
      • cdkout

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder cdkout​(String cdkout)
        (experimental) cdk.out directory.

        Default: "cdk.out"

        Parameters:
        cdkout - cdk.out directory. This parameter is required.
        Returns:
        this
      • context

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder context​(Map<String,​? extends Object> context)
        (experimental) Additional context to include in cdk.json.

        Default: - no additional context

        Parameters:
        context - Additional context to include in cdk.json. This parameter is required.
        Returns:
        this
      • featureFlags

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder featureFlags​(Boolean featureFlags)
        (experimental) Include all feature flags in cdk.json.

        Default: true

        Parameters:
        featureFlags - Include all feature flags in cdk.json. This parameter is required.
        Returns:
        this
      • requireApproval

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder requireApproval​(ApprovalLevel requireApproval)
        (experimental) To protect you against unintended changes that affect your security posture, the AWS CDK Toolkit prompts you to approve security-related changes before deploying them.

        Default: ApprovalLevel.BROADENING

        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. This parameter is required.
        Returns:
        this
      • watchExcludes

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder watchExcludes​(List<String> watchExcludes)
        (experimental) Glob patterns to exclude from cdk watch.

        Default: []

        Parameters:
        watchExcludes - Glob patterns to exclude from cdk watch. This parameter is required.
        Returns:
        this
      • watchIncludes

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder watchIncludes​(List<String> watchIncludes)
        (experimental) Glob patterns to include in cdk watch.

        Default: []

        Parameters:
        watchIncludes - Glob patterns to include in cdk watch. This parameter is required.
        Returns:
        this
      • cdkVersion

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder cdkVersion​(String cdkVersion)
        (experimental) Minimum version of the AWS CDK to depend on.

        Default: "2.1.0"

        Parameters:
        cdkVersion - Minimum version of the AWS CDK to depend on. This parameter is required.
        Returns:
        this
      • cdkAssert

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder cdkAssert​(Boolean cdkAssert)
        Deprecated.
        The
        (deprecated) Warning: NodeJS only.

        Install the

        Default: - will be included by default for AWS CDK >= 1.0.0 < 2.0.0

        Parameters:
        cdkAssert - Warning: NodeJS only. This parameter is required.
        Returns:
        this
      • cdkAssertions

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder cdkAssertions​(Boolean cdkAssertions)
        (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

        Parameters:
        cdkAssertions - Install the assertions library?. This parameter is required.
        Returns:
        this
      • cdkDependencies

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder cdkDependencies​(List<String> cdkDependencies)
        Deprecated.
        For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library)
        (deprecated) Which AWS CDKv1 modules this project requires.

        Parameters:
        cdkDependencies - Which AWS CDKv1 modules this project requires. This parameter is required.
        Returns:
        this
      • cdkDependenciesAsDeps

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder cdkDependenciesAsDeps​(Boolean cdkDependenciesAsDeps)
        Deprecated.
        Not supported in CDK v2.
        (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

        Parameters:
        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.
        Returns:
        this
      • cdkTestDependencies

        @Stability(Deprecated)
        @Deprecated
        public AwsCdkJavaApp.Builder cdkTestDependencies​(List<String> cdkTestDependencies)
        Deprecated.
        For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead
        (deprecated) AWS CDK modules required for testing.

        Parameters:
        cdkTestDependencies - AWS CDK modules required for testing. This parameter is required.
        Returns:
        this
      • cdkVersionPinning

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder cdkVersionPinning​(Boolean cdkVersionPinning)
        (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.

        Parameters:
        cdkVersionPinning - Use pinned version instead of caret version for CDK. This parameter is required.
        Returns:
        this
      • constructsVersion

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder constructsVersion​(String constructsVersion)
        (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".

        Parameters:
        constructsVersion - Minimum version of the constructs library to depend on. This parameter is required.
        Returns:
        this
      • mainClass

        @Stability(Experimental)
        public AwsCdkJavaApp.Builder mainClass​(String mainClass)
        (experimental) The name of the Java class with the static main() method.

        This method should call app.synth() on the CDK app.

        Default: "org.acme.MyApp"

        Parameters:
        mainClass - The name of the Java class with the static main() method. This parameter is required.
        Returns:
        this