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

software.aws.awsprototypingsdk.pipeline.PDKPipelineJavaProjectOptions Maven / Gradle / Ivy

The newest version!
package software.aws.awsprototypingsdk.pipeline;

/**
 * Configuration options for the PDKPipelineJavaProject.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.74.0 (build 6d08790)", date = "2023-02-28T00:38:33.163Z")
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.$Module.class, fqn = "aws-prototyping-sdk.pipeline.PDKPipelineJavaProjectOptions")
@software.amazon.jsii.Jsii.Proxy(PDKPipelineJavaProjectOptions.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
public interface PDKPipelineJavaProjectOptions extends software.amazon.jsii.JsiiSerializable, io.github.cdklabs.projen.awscdk.AwsCdkJavaAppOptions {

    /**
     * @return a {@link Builder} of {@link PDKPipelineJavaProjectOptions}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    static Builder builder() {
        return new Builder();
    }
    /**
     * A builder for {@link PDKPipelineJavaProjectOptions}
     */
    @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable)
    public static final class Builder implements software.amazon.jsii.Builder {
        java.lang.String mainClass;
        java.lang.Boolean sample;
        java.lang.String sampleJavaPackage;
        io.github.cdklabs.projen.java.MavenCompileOptions compileOptions;
        java.util.List deps;
        java.lang.String distdir;
        java.lang.Boolean junit;
        io.github.cdklabs.projen.java.JunitOptions junitOptions;
        io.github.cdklabs.projen.java.MavenPackagingOptions packagingOptions;
        java.lang.Boolean projenrcJava;
        io.github.cdklabs.projen.java.ProjenrcOptions projenrcJavaOptions;
        java.util.List testDeps;
        io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions;
        java.lang.Boolean autoMerge;
        io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions;
        java.lang.Boolean clobber;
        java.lang.Boolean devContainer;
        java.lang.Boolean github;
        io.github.cdklabs.projen.github.GitHubOptions githubOptions;
        java.lang.Boolean gitpod;
        java.lang.Boolean mergify;
        io.github.cdklabs.projen.github.MergifyOptions mergifyOptions;
        io.github.cdklabs.projen.ProjectType projectType;
        io.github.cdklabs.projen.github.GithubCredentials projenCredentials;
        java.lang.String projenTokenSecret;
        io.github.cdklabs.projen.SampleReadmeProps readme;
        java.lang.Boolean stale;
        io.github.cdklabs.projen.github.StaleOptions staleOptions;
        java.lang.Boolean vscode;
        java.lang.String name;
        java.lang.Boolean commitGenerated;
        io.github.cdklabs.projen.LoggerOptions logging;
        java.lang.String outdir;
        io.github.cdklabs.projen.Project parent;
        java.lang.String projenCommand;
        java.lang.Boolean projenrcJson;
        io.github.cdklabs.projen.ProjenrcOptions projenrcJsonOptions;
        java.lang.Boolean renovatebot;
        io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions;
        java.lang.String artifactId;
        java.lang.String groupId;
        java.lang.String version;
        java.lang.String description;
        java.lang.String packaging;
        java.lang.String url;
        java.lang.String buildCommand;
        java.lang.String cdkout;
        java.util.Map context;
        java.lang.Boolean featureFlags;
        io.github.cdklabs.projen.awscdk.ApprovalLevel requireApproval;
        java.util.List watchExcludes;
        java.util.List watchIncludes;
        java.lang.String cdkVersion;
        java.lang.Boolean cdkAssert;
        java.lang.Boolean cdkAssertions;
        java.util.List cdkDependencies;
        java.lang.Boolean cdkDependenciesAsDeps;
        java.util.List cdkTestDependencies;
        java.lang.Boolean cdkVersionPinning;
        java.lang.String constructsVersion;

        /**
         * Sets the value of {@link PDKPipelineJavaProjectOptions#getMainClass}
         * @param mainClass The name of the Java class with the static `main()` method. This parameter is required.
         *                  This method
         *                  should call app.synth() on the CDK app.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder mainClass(java.lang.String mainClass) {
            this.mainClass = mainClass;
            return this;
        }

        /**
         * Sets the value of {@link PDKPipelineJavaProjectOptions#getSample}
         * @param sample Include sample code and test if the relevant directories don't exist.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder sample(java.lang.Boolean sample) {
            this.sample = sample;
            return this;
        }

        /**
         * Sets the value of {@link PDKPipelineJavaProjectOptions#getSampleJavaPackage}
         * @param sampleJavaPackage The java package to use for the code sample.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder sampleJavaPackage(java.lang.String sampleJavaPackage) {
            this.sampleJavaPackage = sampleJavaPackage;
            return this;
        }

        /**
         * Sets the value of {@link PDKPipelineJavaProjectOptions#getCompileOptions}
         * @param compileOptions Compile options.
         * @return {@code this}
         */
        @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
        public Builder compileOptions(io.github.cdklabs.projen.java.MavenCompileOptions compileOptions) {
            this.compileOptions = compileOptions;
            return this;
        }

        /**
         * Sets the value of {@link PDKPipelineJavaProjectOptions#getDeps}
         * @param deps List of runtime dependencies for this project.
         *             Dependencies use the format: <groupId>/<artifactId>@<semver>
         *             

* Additional dependencies can be added via project.addDependency(). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder deps(java.util.List deps) { this.deps = deps; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getDistdir} * @param distdir Final artifact output directory. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder distdir(java.lang.String distdir) { this.distdir = distdir; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getJunit} * @param junit Include junit tests. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder junit(java.lang.Boolean junit) { this.junit = junit; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getJunitOptions} * @param junitOptions junit options. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder junitOptions(io.github.cdklabs.projen.java.JunitOptions junitOptions) { this.junitOptions = junitOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getPackagingOptions} * @param packagingOptions Packaging options. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder packagingOptions(io.github.cdklabs.projen.java.MavenPackagingOptions packagingOptions) { this.packagingOptions = packagingOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenrcJava} * @param projenrcJava 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenrcJava(java.lang.Boolean projenrcJava) { this.projenrcJava = projenrcJava; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenrcJavaOptions} * @param projenrcJavaOptions Options related to projenrc in java. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenrcJavaOptions(io.github.cdklabs.projen.java.ProjenrcOptions projenrcJavaOptions) { this.projenrcJavaOptions = projenrcJavaOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getTestDeps} * @param testDeps List of test dependencies for this project. * Dependencies use the format: <groupId>/<artifactId>@<semver> *

* Additional dependencies can be added via project.addTestDependency(). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder testDeps(java.util.List testDeps) { this.testDeps = testDeps; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getAutoApproveOptions} * @param autoApproveOptions Enable and configure the 'auto approve' workflow. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder autoApproveOptions(io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions) { this.autoApproveOptions = autoApproveOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getAutoMerge} * @param autoMerge Enable automatic merging on GitHub. * Has no effect if github.mergify * is set to false. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder autoMerge(java.lang.Boolean autoMerge) { this.autoMerge = autoMerge; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getAutoMergeOptions} * @param autoMergeOptions Configure options for automatic merging on GitHub. * Has no effect if * github.mergify or autoMerge is set to false. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder autoMergeOptions(io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions) { this.autoMergeOptions = autoMergeOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getClobber} * @param clobber Add a `clobber` task which resets the repo to origin. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder clobber(java.lang.Boolean clobber) { this.clobber = clobber; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getDevContainer} * @param devContainer Add a VSCode development environment (used for GitHub Codespaces). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder devContainer(java.lang.Boolean devContainer) { this.devContainer = devContainer; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getGithub} * @param github Enable GitHub integration. * Enabled by default for root projects. Disabled for non-root projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder github(java.lang.Boolean github) { this.github = github; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getGithubOptions} * @param githubOptions Options for GitHub integration. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder githubOptions(io.github.cdklabs.projen.github.GitHubOptions githubOptions) { this.githubOptions = githubOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getGitpod} * @param gitpod Add a Gitpod development environment. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder gitpod(java.lang.Boolean gitpod) { this.gitpod = gitpod; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getMergify} * @param mergify Whether mergify should be enabled on this repository or not. * @return {@code this} * @deprecated use `githubOptions.mergify` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder mergify(java.lang.Boolean mergify) { this.mergify = mergify; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getMergifyOptions} * @param mergifyOptions Options for mergify. * @return {@code this} * @deprecated use `githubOptions.mergifyOptions` instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder mergifyOptions(io.github.cdklabs.projen.github.MergifyOptions mergifyOptions) { this.mergifyOptions = mergifyOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjectType} * @param projectType Which type of project this is (library/app). * @return {@code this} * @deprecated no longer supported at the base project level */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder projectType(io.github.cdklabs.projen.ProjectType projectType) { this.projectType = projectType; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenCredentials} * @param projenCredentials Choose a method of providing GitHub API access for projen workflows. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenCredentials(io.github.cdklabs.projen.github.GithubCredentials projenCredentials) { this.projenCredentials = projenCredentials; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenTokenSecret} * @param projenTokenSecret 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. * @return {@code this} * @deprecated use `projenCredentials` */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder projenTokenSecret(java.lang.String projenTokenSecret) { this.projenTokenSecret = projenTokenSecret; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getReadme} * @param readme The README setup. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder readme(io.github.cdklabs.projen.SampleReadmeProps readme) { this.readme = readme; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getStale} * @param stale Auto-close of stale issues and pull request. * See staleOptions for options. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder stale(java.lang.Boolean stale) { this.stale = stale; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getStaleOptions} * @param staleOptions Auto-close stale issues and pull requests. * To disable set stale to false. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder staleOptions(io.github.cdklabs.projen.github.StaleOptions staleOptions) { this.staleOptions = staleOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getVscode} * @param vscode Enable VSCode integration. * Enabled by default for root projects. Disabled for non-root projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder vscode(java.lang.Boolean vscode) { this.vscode = vscode; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getName} * @param name This is the name of your project. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder name(java.lang.String name) { this.name = name; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCommitGenerated} * @param commitGenerated Whether to commit the managed files by default. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder commitGenerated(java.lang.Boolean commitGenerated) { this.commitGenerated = commitGenerated; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getLogging} * @param logging Configure logging options such as verbosity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder logging(io.github.cdklabs.projen.LoggerOptions logging) { this.logging = logging; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getOutdir} * @param 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 * sub-projects. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder outdir(java.lang.String outdir) { this.outdir = outdir; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getParent} * @param parent The parent project, if this project is part of a bigger project. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder parent(io.github.cdklabs.projen.Project parent) { this.parent = parent; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenCommand} * @param projenCommand The shell command to use in order to run the projen CLI. * Can be used to customize in special environments. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenCommand(java.lang.String projenCommand) { this.projenCommand = projenCommand; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenrcJson} * @param projenrcJson Generate (once) .projenrc.json (in JSON). Set to `false` in order to disable .projenrc.json generation. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenrcJson(java.lang.Boolean projenrcJson) { this.projenrcJson = projenrcJson; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getProjenrcJsonOptions} * @param projenrcJsonOptions Options for .projenrc.json. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder projenrcJsonOptions(io.github.cdklabs.projen.ProjenrcOptions projenrcJsonOptions) { this.projenrcJsonOptions = projenrcJsonOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getRenovatebot} * @param renovatebot Use renovatebot to handle dependency upgrades. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder renovatebot(java.lang.Boolean renovatebot) { this.renovatebot = renovatebot; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getRenovatebotOptions} * @param renovatebotOptions Options for renovatebot. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder renovatebotOptions(io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions) { this.renovatebotOptions = renovatebotOptions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getArtifactId} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder artifactId(java.lang.String artifactId) { this.artifactId = artifactId; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getGroupId} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder groupId(java.lang.String groupId) { this.groupId = groupId; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getVersion} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder version(java.lang.String version) { this.version = version; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getDescription} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder description(java.lang.String description) { this.description = description; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getPackaging} * @param packaging Project packaging format. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder packaging(java.lang.String packaging) { this.packaging = packaging; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getUrl} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder url(java.lang.String url) { this.url = url; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getBuildCommand} * @param buildCommand 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder buildCommand(java.lang.String buildCommand) { this.buildCommand = buildCommand; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkout} * @param cdkout cdk.out directory. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder cdkout(java.lang.String cdkout) { this.cdkout = cdkout; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getContext} * @param context Additional context to include in `cdk.json`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @SuppressWarnings("unchecked") public Builder context(java.util.Map context) { this.context = (java.util.Map)context; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getFeatureFlags} * @param featureFlags Include all feature flags in cdk.json. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder featureFlags(java.lang.Boolean featureFlags) { this.featureFlags = featureFlags; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getRequireApproval} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder requireApproval(io.github.cdklabs.projen.awscdk.ApprovalLevel requireApproval) { this.requireApproval = requireApproval; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getWatchExcludes} * @param watchExcludes Glob patterns to exclude from `cdk watch`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder watchExcludes(java.util.List watchExcludes) { this.watchExcludes = watchExcludes; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getWatchIncludes} * @param watchIncludes Glob patterns to include in `cdk watch`. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder watchIncludes(java.util.List watchIncludes) { this.watchIncludes = watchIncludes; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkVersion} * @param cdkVersion Minimum version of the AWS CDK to depend on. This parameter is required. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder cdkVersion(java.lang.String cdkVersion) { this.cdkVersion = cdkVersion; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkAssert} * @param cdkAssert Warning: NodeJS only. * Install the @aws-cdk/assert library? * @return {@code this} * @deprecated The */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder cdkAssert(java.lang.Boolean cdkAssert) { this.cdkAssert = cdkAssert; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkAssertions} * @param 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' * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder cdkAssertions(java.lang.Boolean cdkAssertions) { this.cdkAssertions = cdkAssertions; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkDependencies} * @param cdkDependencies Which AWS CDKv1 modules this project requires. * @return {@code this} * @deprecated For CDK 2.x use "deps" instead. (or "peerDeps" if you're building a library) */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder cdkDependencies(java.util.List cdkDependencies) { this.cdkDependencies = cdkDependencies; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkDependenciesAsDeps} * @param cdkDependenciesAsDeps 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 * @return {@code this} * @deprecated Not supported in CDK v2. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder cdkDependenciesAsDeps(java.lang.Boolean cdkDependenciesAsDeps) { this.cdkDependenciesAsDeps = cdkDependenciesAsDeps; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkTestDependencies} * @param cdkTestDependencies AWS CDK modules required for testing. * @return {@code this} * @deprecated For CDK 2.x use 'devDeps' (in node.js projects) or 'testDeps' (in java projects) instead */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated) @Deprecated public Builder cdkTestDependencies(java.util.List cdkTestDependencies) { this.cdkTestDependencies = cdkTestDependencies; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getCdkVersionPinning} * @param 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. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder cdkVersionPinning(java.lang.Boolean cdkVersionPinning) { this.cdkVersionPinning = cdkVersionPinning; return this; } /** * Sets the value of {@link PDKPipelineJavaProjectOptions#getConstructsVersion} * @param constructsVersion Minimum version of the `constructs` library to depend on. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder constructsVersion(java.lang.String constructsVersion) { this.constructsVersion = constructsVersion; return this; } /** * Builds the configured instance. * @return a new instance of {@link PDKPipelineJavaProjectOptions} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public PDKPipelineJavaProjectOptions build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PDKPipelineJavaProjectOptions} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PDKPipelineJavaProjectOptions { private final java.lang.String mainClass; private final java.lang.Boolean sample; private final java.lang.String sampleJavaPackage; private final io.github.cdklabs.projen.java.MavenCompileOptions compileOptions; private final java.util.List deps; private final java.lang.String distdir; private final java.lang.Boolean junit; private final io.github.cdklabs.projen.java.JunitOptions junitOptions; private final io.github.cdklabs.projen.java.MavenPackagingOptions packagingOptions; private final java.lang.Boolean projenrcJava; private final io.github.cdklabs.projen.java.ProjenrcOptions projenrcJavaOptions; private final java.util.List testDeps; private final io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions; private final java.lang.Boolean autoMerge; private final io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions; private final java.lang.Boolean clobber; private final java.lang.Boolean devContainer; private final java.lang.Boolean github; private final io.github.cdklabs.projen.github.GitHubOptions githubOptions; private final java.lang.Boolean gitpod; private final java.lang.Boolean mergify; private final io.github.cdklabs.projen.github.MergifyOptions mergifyOptions; private final io.github.cdklabs.projen.ProjectType projectType; private final io.github.cdklabs.projen.github.GithubCredentials projenCredentials; private final java.lang.String projenTokenSecret; private final io.github.cdklabs.projen.SampleReadmeProps readme; private final java.lang.Boolean stale; private final io.github.cdklabs.projen.github.StaleOptions staleOptions; private final java.lang.Boolean vscode; private final java.lang.String name; private final java.lang.Boolean commitGenerated; private final io.github.cdklabs.projen.LoggerOptions logging; private final java.lang.String outdir; private final io.github.cdklabs.projen.Project parent; private final java.lang.String projenCommand; private final java.lang.Boolean projenrcJson; private final io.github.cdklabs.projen.ProjenrcOptions projenrcJsonOptions; private final java.lang.Boolean renovatebot; private final io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions; private final java.lang.String artifactId; private final java.lang.String groupId; private final java.lang.String version; private final java.lang.String description; private final java.lang.String packaging; private final java.lang.String url; private final java.lang.String buildCommand; private final java.lang.String cdkout; private final java.util.Map context; private final java.lang.Boolean featureFlags; private final io.github.cdklabs.projen.awscdk.ApprovalLevel requireApproval; private final java.util.List watchExcludes; private final java.util.List watchIncludes; private final java.lang.String cdkVersion; private final java.lang.Boolean cdkAssert; private final java.lang.Boolean cdkAssertions; private final java.util.List cdkDependencies; private final java.lang.Boolean cdkDependenciesAsDeps; private final java.util.List cdkTestDependencies; private final java.lang.Boolean cdkVersionPinning; private final java.lang.String constructsVersion; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.mainClass = software.amazon.jsii.Kernel.get(this, "mainClass", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.sample = software.amazon.jsii.Kernel.get(this, "sample", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.sampleJavaPackage = software.amazon.jsii.Kernel.get(this, "sampleJavaPackage", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.compileOptions = software.amazon.jsii.Kernel.get(this, "compileOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.java.MavenCompileOptions.class)); this.deps = software.amazon.jsii.Kernel.get(this, "deps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.distdir = software.amazon.jsii.Kernel.get(this, "distdir", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.junit = software.amazon.jsii.Kernel.get(this, "junit", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.junitOptions = software.amazon.jsii.Kernel.get(this, "junitOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.java.JunitOptions.class)); this.packagingOptions = software.amazon.jsii.Kernel.get(this, "packagingOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.java.MavenPackagingOptions.class)); this.projenrcJava = software.amazon.jsii.Kernel.get(this, "projenrcJava", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.projenrcJavaOptions = software.amazon.jsii.Kernel.get(this, "projenrcJavaOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.java.ProjenrcOptions.class)); this.testDeps = software.amazon.jsii.Kernel.get(this, "testDeps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.autoApproveOptions = software.amazon.jsii.Kernel.get(this, "autoApproveOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.AutoApproveOptions.class)); this.autoMerge = software.amazon.jsii.Kernel.get(this, "autoMerge", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.autoMergeOptions = software.amazon.jsii.Kernel.get(this, "autoMergeOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.AutoMergeOptions.class)); this.clobber = software.amazon.jsii.Kernel.get(this, "clobber", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.devContainer = software.amazon.jsii.Kernel.get(this, "devContainer", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.github = software.amazon.jsii.Kernel.get(this, "github", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.githubOptions = software.amazon.jsii.Kernel.get(this, "githubOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.GitHubOptions.class)); this.gitpod = software.amazon.jsii.Kernel.get(this, "gitpod", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.mergify = software.amazon.jsii.Kernel.get(this, "mergify", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.mergifyOptions = software.amazon.jsii.Kernel.get(this, "mergifyOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.MergifyOptions.class)); this.projectType = software.amazon.jsii.Kernel.get(this, "projectType", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.ProjectType.class)); this.projenCredentials = software.amazon.jsii.Kernel.get(this, "projenCredentials", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.GithubCredentials.class)); this.projenTokenSecret = software.amazon.jsii.Kernel.get(this, "projenTokenSecret", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.readme = software.amazon.jsii.Kernel.get(this, "readme", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.SampleReadmeProps.class)); this.stale = software.amazon.jsii.Kernel.get(this, "stale", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.staleOptions = software.amazon.jsii.Kernel.get(this, "staleOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.github.StaleOptions.class)); this.vscode = software.amazon.jsii.Kernel.get(this, "vscode", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.name = software.amazon.jsii.Kernel.get(this, "name", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.commitGenerated = software.amazon.jsii.Kernel.get(this, "commitGenerated", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.logging = software.amazon.jsii.Kernel.get(this, "logging", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.LoggerOptions.class)); this.outdir = software.amazon.jsii.Kernel.get(this, "outdir", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.parent = software.amazon.jsii.Kernel.get(this, "parent", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.Project.class)); this.projenCommand = software.amazon.jsii.Kernel.get(this, "projenCommand", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.projenrcJson = software.amazon.jsii.Kernel.get(this, "projenrcJson", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.projenrcJsonOptions = software.amazon.jsii.Kernel.get(this, "projenrcJsonOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.ProjenrcOptions.class)); this.renovatebot = software.amazon.jsii.Kernel.get(this, "renovatebot", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.renovatebotOptions = software.amazon.jsii.Kernel.get(this, "renovatebotOptions", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.RenovatebotOptions.class)); this.artifactId = software.amazon.jsii.Kernel.get(this, "artifactId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.groupId = software.amazon.jsii.Kernel.get(this, "groupId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.version = software.amazon.jsii.Kernel.get(this, "version", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.description = software.amazon.jsii.Kernel.get(this, "description", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.packaging = software.amazon.jsii.Kernel.get(this, "packaging", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.url = software.amazon.jsii.Kernel.get(this, "url", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.buildCommand = software.amazon.jsii.Kernel.get(this, "buildCommand", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.cdkout = software.amazon.jsii.Kernel.get(this, "cdkout", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.context = software.amazon.jsii.Kernel.get(this, "context", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))); this.featureFlags = software.amazon.jsii.Kernel.get(this, "featureFlags", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.requireApproval = software.amazon.jsii.Kernel.get(this, "requireApproval", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.awscdk.ApprovalLevel.class)); this.watchExcludes = software.amazon.jsii.Kernel.get(this, "watchExcludes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.watchIncludes = software.amazon.jsii.Kernel.get(this, "watchIncludes", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.cdkVersion = software.amazon.jsii.Kernel.get(this, "cdkVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.cdkAssert = software.amazon.jsii.Kernel.get(this, "cdkAssert", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.cdkAssertions = software.amazon.jsii.Kernel.get(this, "cdkAssertions", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.cdkDependencies = software.amazon.jsii.Kernel.get(this, "cdkDependencies", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.cdkDependenciesAsDeps = software.amazon.jsii.Kernel.get(this, "cdkDependenciesAsDeps", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.cdkTestDependencies = software.amazon.jsii.Kernel.get(this, "cdkTestDependencies", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.cdkVersionPinning = software.amazon.jsii.Kernel.get(this, "cdkVersionPinning", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.constructsVersion = software.amazon.jsii.Kernel.get(this, "constructsVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.mainClass = java.util.Objects.requireNonNull(builder.mainClass, "mainClass is required"); this.sample = builder.sample; this.sampleJavaPackage = builder.sampleJavaPackage; this.compileOptions = builder.compileOptions; this.deps = builder.deps; this.distdir = builder.distdir; this.junit = builder.junit; this.junitOptions = builder.junitOptions; this.packagingOptions = builder.packagingOptions; this.projenrcJava = builder.projenrcJava; this.projenrcJavaOptions = builder.projenrcJavaOptions; this.testDeps = builder.testDeps; this.autoApproveOptions = builder.autoApproveOptions; this.autoMerge = builder.autoMerge; this.autoMergeOptions = builder.autoMergeOptions; this.clobber = builder.clobber; this.devContainer = builder.devContainer; this.github = builder.github; this.githubOptions = builder.githubOptions; this.gitpod = builder.gitpod; this.mergify = builder.mergify; this.mergifyOptions = builder.mergifyOptions; this.projectType = builder.projectType; this.projenCredentials = builder.projenCredentials; this.projenTokenSecret = builder.projenTokenSecret; this.readme = builder.readme; this.stale = builder.stale; this.staleOptions = builder.staleOptions; this.vscode = builder.vscode; this.name = java.util.Objects.requireNonNull(builder.name, "name is required"); this.commitGenerated = builder.commitGenerated; this.logging = builder.logging; this.outdir = builder.outdir; this.parent = builder.parent; this.projenCommand = builder.projenCommand; this.projenrcJson = builder.projenrcJson; this.projenrcJsonOptions = builder.projenrcJsonOptions; this.renovatebot = builder.renovatebot; this.renovatebotOptions = builder.renovatebotOptions; this.artifactId = java.util.Objects.requireNonNull(builder.artifactId, "artifactId is required"); this.groupId = java.util.Objects.requireNonNull(builder.groupId, "groupId is required"); this.version = java.util.Objects.requireNonNull(builder.version, "version is required"); this.description = builder.description; this.packaging = builder.packaging; this.url = builder.url; this.buildCommand = builder.buildCommand; this.cdkout = builder.cdkout; this.context = (java.util.Map)builder.context; this.featureFlags = builder.featureFlags; this.requireApproval = builder.requireApproval; this.watchExcludes = builder.watchExcludes; this.watchIncludes = builder.watchIncludes; this.cdkVersion = java.util.Objects.requireNonNull(builder.cdkVersion, "cdkVersion is required"); this.cdkAssert = builder.cdkAssert; this.cdkAssertions = builder.cdkAssertions; this.cdkDependencies = builder.cdkDependencies; this.cdkDependenciesAsDeps = builder.cdkDependenciesAsDeps; this.cdkTestDependencies = builder.cdkTestDependencies; this.cdkVersionPinning = builder.cdkVersionPinning; this.constructsVersion = builder.constructsVersion; } @Override public final java.lang.String getMainClass() { return this.mainClass; } @Override public final java.lang.Boolean getSample() { return this.sample; } @Override public final java.lang.String getSampleJavaPackage() { return this.sampleJavaPackage; } @Override public final io.github.cdklabs.projen.java.MavenCompileOptions getCompileOptions() { return this.compileOptions; } @Override public final java.util.List getDeps() { return this.deps; } @Override public final java.lang.String getDistdir() { return this.distdir; } @Override public final java.lang.Boolean getJunit() { return this.junit; } @Override public final io.github.cdklabs.projen.java.JunitOptions getJunitOptions() { return this.junitOptions; } @Override public final io.github.cdklabs.projen.java.MavenPackagingOptions getPackagingOptions() { return this.packagingOptions; } @Override public final java.lang.Boolean getProjenrcJava() { return this.projenrcJava; } @Override public final io.github.cdklabs.projen.java.ProjenrcOptions getProjenrcJavaOptions() { return this.projenrcJavaOptions; } @Override public final java.util.List getTestDeps() { return this.testDeps; } @Override public final io.github.cdklabs.projen.github.AutoApproveOptions getAutoApproveOptions() { return this.autoApproveOptions; } @Override public final java.lang.Boolean getAutoMerge() { return this.autoMerge; } @Override public final io.github.cdklabs.projen.github.AutoMergeOptions getAutoMergeOptions() { return this.autoMergeOptions; } @Override public final java.lang.Boolean getClobber() { return this.clobber; } @Override public final java.lang.Boolean getDevContainer() { return this.devContainer; } @Override public final java.lang.Boolean getGithub() { return this.github; } @Override public final io.github.cdklabs.projen.github.GitHubOptions getGithubOptions() { return this.githubOptions; } @Override public final java.lang.Boolean getGitpod() { return this.gitpod; } @Override public final java.lang.Boolean getMergify() { return this.mergify; } @Override public final io.github.cdklabs.projen.github.MergifyOptions getMergifyOptions() { return this.mergifyOptions; } @Override public final io.github.cdklabs.projen.ProjectType getProjectType() { return this.projectType; } @Override public final io.github.cdklabs.projen.github.GithubCredentials getProjenCredentials() { return this.projenCredentials; } @Override public final java.lang.String getProjenTokenSecret() { return this.projenTokenSecret; } @Override public final io.github.cdklabs.projen.SampleReadmeProps getReadme() { return this.readme; } @Override public final java.lang.Boolean getStale() { return this.stale; } @Override public final io.github.cdklabs.projen.github.StaleOptions getStaleOptions() { return this.staleOptions; } @Override public final java.lang.Boolean getVscode() { return this.vscode; } @Override public final java.lang.String getName() { return this.name; } @Override public final java.lang.Boolean getCommitGenerated() { return this.commitGenerated; } @Override public final io.github.cdklabs.projen.LoggerOptions getLogging() { return this.logging; } @Override public final java.lang.String getOutdir() { return this.outdir; } @Override public final io.github.cdklabs.projen.Project getParent() { return this.parent; } @Override public final java.lang.String getProjenCommand() { return this.projenCommand; } @Override public final java.lang.Boolean getProjenrcJson() { return this.projenrcJson; } @Override public final io.github.cdklabs.projen.ProjenrcOptions getProjenrcJsonOptions() { return this.projenrcJsonOptions; } @Override public final java.lang.Boolean getRenovatebot() { return this.renovatebot; } @Override public final io.github.cdklabs.projen.RenovatebotOptions getRenovatebotOptions() { return this.renovatebotOptions; } @Override public final java.lang.String getArtifactId() { return this.artifactId; } @Override public final java.lang.String getGroupId() { return this.groupId; } @Override public final java.lang.String getVersion() { return this.version; } @Override public final java.lang.String getDescription() { return this.description; } @Override public final java.lang.String getPackaging() { return this.packaging; } @Override public final java.lang.String getUrl() { return this.url; } @Override public final java.lang.String getBuildCommand() { return this.buildCommand; } @Override public final java.lang.String getCdkout() { return this.cdkout; } @Override public final java.util.Map getContext() { return this.context; } @Override public final java.lang.Boolean getFeatureFlags() { return this.featureFlags; } @Override public final io.github.cdklabs.projen.awscdk.ApprovalLevel getRequireApproval() { return this.requireApproval; } @Override public final java.util.List getWatchExcludes() { return this.watchExcludes; } @Override public final java.util.List getWatchIncludes() { return this.watchIncludes; } @Override public final java.lang.String getCdkVersion() { return this.cdkVersion; } @Override public final java.lang.Boolean getCdkAssert() { return this.cdkAssert; } @Override public final java.lang.Boolean getCdkAssertions() { return this.cdkAssertions; } @Override public final java.util.List getCdkDependencies() { return this.cdkDependencies; } @Override public final java.lang.Boolean getCdkDependenciesAsDeps() { return this.cdkDependenciesAsDeps; } @Override public final java.util.List getCdkTestDependencies() { return this.cdkTestDependencies; } @Override public final java.lang.Boolean getCdkVersionPinning() { return this.cdkVersionPinning; } @Override public final java.lang.String getConstructsVersion() { return this.constructsVersion; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("mainClass", om.valueToTree(this.getMainClass())); if (this.getSample() != null) { data.set("sample", om.valueToTree(this.getSample())); } if (this.getSampleJavaPackage() != null) { data.set("sampleJavaPackage", om.valueToTree(this.getSampleJavaPackage())); } if (this.getCompileOptions() != null) { data.set("compileOptions", om.valueToTree(this.getCompileOptions())); } if (this.getDeps() != null) { data.set("deps", om.valueToTree(this.getDeps())); } if (this.getDistdir() != null) { data.set("distdir", om.valueToTree(this.getDistdir())); } if (this.getJunit() != null) { data.set("junit", om.valueToTree(this.getJunit())); } if (this.getJunitOptions() != null) { data.set("junitOptions", om.valueToTree(this.getJunitOptions())); } if (this.getPackagingOptions() != null) { data.set("packagingOptions", om.valueToTree(this.getPackagingOptions())); } if (this.getProjenrcJava() != null) { data.set("projenrcJava", om.valueToTree(this.getProjenrcJava())); } if (this.getProjenrcJavaOptions() != null) { data.set("projenrcJavaOptions", om.valueToTree(this.getProjenrcJavaOptions())); } if (this.getTestDeps() != null) { data.set("testDeps", om.valueToTree(this.getTestDeps())); } if (this.getAutoApproveOptions() != null) { data.set("autoApproveOptions", om.valueToTree(this.getAutoApproveOptions())); } if (this.getAutoMerge() != null) { data.set("autoMerge", om.valueToTree(this.getAutoMerge())); } if (this.getAutoMergeOptions() != null) { data.set("autoMergeOptions", om.valueToTree(this.getAutoMergeOptions())); } if (this.getClobber() != null) { data.set("clobber", om.valueToTree(this.getClobber())); } if (this.getDevContainer() != null) { data.set("devContainer", om.valueToTree(this.getDevContainer())); } if (this.getGithub() != null) { data.set("github", om.valueToTree(this.getGithub())); } if (this.getGithubOptions() != null) { data.set("githubOptions", om.valueToTree(this.getGithubOptions())); } if (this.getGitpod() != null) { data.set("gitpod", om.valueToTree(this.getGitpod())); } if (this.getMergify() != null) { data.set("mergify", om.valueToTree(this.getMergify())); } if (this.getMergifyOptions() != null) { data.set("mergifyOptions", om.valueToTree(this.getMergifyOptions())); } if (this.getProjectType() != null) { data.set("projectType", om.valueToTree(this.getProjectType())); } if (this.getProjenCredentials() != null) { data.set("projenCredentials", om.valueToTree(this.getProjenCredentials())); } if (this.getProjenTokenSecret() != null) { data.set("projenTokenSecret", om.valueToTree(this.getProjenTokenSecret())); } if (this.getReadme() != null) { data.set("readme", om.valueToTree(this.getReadme())); } if (this.getStale() != null) { data.set("stale", om.valueToTree(this.getStale())); } if (this.getStaleOptions() != null) { data.set("staleOptions", om.valueToTree(this.getStaleOptions())); } if (this.getVscode() != null) { data.set("vscode", om.valueToTree(this.getVscode())); } data.set("name", om.valueToTree(this.getName())); if (this.getCommitGenerated() != null) { data.set("commitGenerated", om.valueToTree(this.getCommitGenerated())); } if (this.getLogging() != null) { data.set("logging", om.valueToTree(this.getLogging())); } if (this.getOutdir() != null) { data.set("outdir", om.valueToTree(this.getOutdir())); } if (this.getParent() != null) { data.set("parent", om.valueToTree(this.getParent())); } if (this.getProjenCommand() != null) { data.set("projenCommand", om.valueToTree(this.getProjenCommand())); } if (this.getProjenrcJson() != null) { data.set("projenrcJson", om.valueToTree(this.getProjenrcJson())); } if (this.getProjenrcJsonOptions() != null) { data.set("projenrcJsonOptions", om.valueToTree(this.getProjenrcJsonOptions())); } if (this.getRenovatebot() != null) { data.set("renovatebot", om.valueToTree(this.getRenovatebot())); } if (this.getRenovatebotOptions() != null) { data.set("renovatebotOptions", om.valueToTree(this.getRenovatebotOptions())); } data.set("artifactId", om.valueToTree(this.getArtifactId())); data.set("groupId", om.valueToTree(this.getGroupId())); data.set("version", om.valueToTree(this.getVersion())); if (this.getDescription() != null) { data.set("description", om.valueToTree(this.getDescription())); } if (this.getPackaging() != null) { data.set("packaging", om.valueToTree(this.getPackaging())); } if (this.getUrl() != null) { data.set("url", om.valueToTree(this.getUrl())); } if (this.getBuildCommand() != null) { data.set("buildCommand", om.valueToTree(this.getBuildCommand())); } if (this.getCdkout() != null) { data.set("cdkout", om.valueToTree(this.getCdkout())); } if (this.getContext() != null) { data.set("context", om.valueToTree(this.getContext())); } if (this.getFeatureFlags() != null) { data.set("featureFlags", om.valueToTree(this.getFeatureFlags())); } if (this.getRequireApproval() != null) { data.set("requireApproval", om.valueToTree(this.getRequireApproval())); } if (this.getWatchExcludes() != null) { data.set("watchExcludes", om.valueToTree(this.getWatchExcludes())); } if (this.getWatchIncludes() != null) { data.set("watchIncludes", om.valueToTree(this.getWatchIncludes())); } data.set("cdkVersion", om.valueToTree(this.getCdkVersion())); if (this.getCdkAssert() != null) { data.set("cdkAssert", om.valueToTree(this.getCdkAssert())); } if (this.getCdkAssertions() != null) { data.set("cdkAssertions", om.valueToTree(this.getCdkAssertions())); } if (this.getCdkDependencies() != null) { data.set("cdkDependencies", om.valueToTree(this.getCdkDependencies())); } if (this.getCdkDependenciesAsDeps() != null) { data.set("cdkDependenciesAsDeps", om.valueToTree(this.getCdkDependenciesAsDeps())); } if (this.getCdkTestDependencies() != null) { data.set("cdkTestDependencies", om.valueToTree(this.getCdkTestDependencies())); } if (this.getCdkVersionPinning() != null) { data.set("cdkVersionPinning", om.valueToTree(this.getCdkVersionPinning())); } if (this.getConstructsVersion() != null) { data.set("constructsVersion", om.valueToTree(this.getConstructsVersion())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("aws-prototyping-sdk.pipeline.PDKPipelineJavaProjectOptions")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PDKPipelineJavaProjectOptions.Jsii$Proxy that = (PDKPipelineJavaProjectOptions.Jsii$Proxy) o; if (!mainClass.equals(that.mainClass)) return false; if (this.sample != null ? !this.sample.equals(that.sample) : that.sample != null) return false; if (this.sampleJavaPackage != null ? !this.sampleJavaPackage.equals(that.sampleJavaPackage) : that.sampleJavaPackage != null) return false; if (this.compileOptions != null ? !this.compileOptions.equals(that.compileOptions) : that.compileOptions != null) return false; if (this.deps != null ? !this.deps.equals(that.deps) : that.deps != null) return false; if (this.distdir != null ? !this.distdir.equals(that.distdir) : that.distdir != null) return false; if (this.junit != null ? !this.junit.equals(that.junit) : that.junit != null) return false; if (this.junitOptions != null ? !this.junitOptions.equals(that.junitOptions) : that.junitOptions != null) return false; if (this.packagingOptions != null ? !this.packagingOptions.equals(that.packagingOptions) : that.packagingOptions != null) return false; if (this.projenrcJava != null ? !this.projenrcJava.equals(that.projenrcJava) : that.projenrcJava != null) return false; if (this.projenrcJavaOptions != null ? !this.projenrcJavaOptions.equals(that.projenrcJavaOptions) : that.projenrcJavaOptions != null) return false; if (this.testDeps != null ? !this.testDeps.equals(that.testDeps) : that.testDeps != null) return false; if (this.autoApproveOptions != null ? !this.autoApproveOptions.equals(that.autoApproveOptions) : that.autoApproveOptions != null) return false; if (this.autoMerge != null ? !this.autoMerge.equals(that.autoMerge) : that.autoMerge != null) return false; if (this.autoMergeOptions != null ? !this.autoMergeOptions.equals(that.autoMergeOptions) : that.autoMergeOptions != null) return false; if (this.clobber != null ? !this.clobber.equals(that.clobber) : that.clobber != null) return false; if (this.devContainer != null ? !this.devContainer.equals(that.devContainer) : that.devContainer != null) return false; if (this.github != null ? !this.github.equals(that.github) : that.github != null) return false; if (this.githubOptions != null ? !this.githubOptions.equals(that.githubOptions) : that.githubOptions != null) return false; if (this.gitpod != null ? !this.gitpod.equals(that.gitpod) : that.gitpod != null) return false; if (this.mergify != null ? !this.mergify.equals(that.mergify) : that.mergify != null) return false; if (this.mergifyOptions != null ? !this.mergifyOptions.equals(that.mergifyOptions) : that.mergifyOptions != null) return false; if (this.projectType != null ? !this.projectType.equals(that.projectType) : that.projectType != null) return false; if (this.projenCredentials != null ? !this.projenCredentials.equals(that.projenCredentials) : that.projenCredentials != null) return false; if (this.projenTokenSecret != null ? !this.projenTokenSecret.equals(that.projenTokenSecret) : that.projenTokenSecret != null) return false; if (this.readme != null ? !this.readme.equals(that.readme) : that.readme != null) return false; if (this.stale != null ? !this.stale.equals(that.stale) : that.stale != null) return false; if (this.staleOptions != null ? !this.staleOptions.equals(that.staleOptions) : that.staleOptions != null) return false; if (this.vscode != null ? !this.vscode.equals(that.vscode) : that.vscode != null) return false; if (!name.equals(that.name)) return false; if (this.commitGenerated != null ? !this.commitGenerated.equals(that.commitGenerated) : that.commitGenerated != null) return false; if (this.logging != null ? !this.logging.equals(that.logging) : that.logging != null) return false; if (this.outdir != null ? !this.outdir.equals(that.outdir) : that.outdir != null) return false; if (this.parent != null ? !this.parent.equals(that.parent) : that.parent != null) return false; if (this.projenCommand != null ? !this.projenCommand.equals(that.projenCommand) : that.projenCommand != null) return false; if (this.projenrcJson != null ? !this.projenrcJson.equals(that.projenrcJson) : that.projenrcJson != null) return false; if (this.projenrcJsonOptions != null ? !this.projenrcJsonOptions.equals(that.projenrcJsonOptions) : that.projenrcJsonOptions != null) return false; if (this.renovatebot != null ? !this.renovatebot.equals(that.renovatebot) : that.renovatebot != null) return false; if (this.renovatebotOptions != null ? !this.renovatebotOptions.equals(that.renovatebotOptions) : that.renovatebotOptions != null) return false; if (!artifactId.equals(that.artifactId)) return false; if (!groupId.equals(that.groupId)) return false; if (!version.equals(that.version)) return false; if (this.description != null ? !this.description.equals(that.description) : that.description != null) return false; if (this.packaging != null ? !this.packaging.equals(that.packaging) : that.packaging != null) return false; if (this.url != null ? !this.url.equals(that.url) : that.url != null) return false; if (this.buildCommand != null ? !this.buildCommand.equals(that.buildCommand) : that.buildCommand != null) return false; if (this.cdkout != null ? !this.cdkout.equals(that.cdkout) : that.cdkout != null) return false; if (this.context != null ? !this.context.equals(that.context) : that.context != null) return false; if (this.featureFlags != null ? !this.featureFlags.equals(that.featureFlags) : that.featureFlags != null) return false; if (this.requireApproval != null ? !this.requireApproval.equals(that.requireApproval) : that.requireApproval != null) return false; if (this.watchExcludes != null ? !this.watchExcludes.equals(that.watchExcludes) : that.watchExcludes != null) return false; if (this.watchIncludes != null ? !this.watchIncludes.equals(that.watchIncludes) : that.watchIncludes != null) return false; if (!cdkVersion.equals(that.cdkVersion)) return false; if (this.cdkAssert != null ? !this.cdkAssert.equals(that.cdkAssert) : that.cdkAssert != null) return false; if (this.cdkAssertions != null ? !this.cdkAssertions.equals(that.cdkAssertions) : that.cdkAssertions != null) return false; if (this.cdkDependencies != null ? !this.cdkDependencies.equals(that.cdkDependencies) : that.cdkDependencies != null) return false; if (this.cdkDependenciesAsDeps != null ? !this.cdkDependenciesAsDeps.equals(that.cdkDependenciesAsDeps) : that.cdkDependenciesAsDeps != null) return false; if (this.cdkTestDependencies != null ? !this.cdkTestDependencies.equals(that.cdkTestDependencies) : that.cdkTestDependencies != null) return false; if (this.cdkVersionPinning != null ? !this.cdkVersionPinning.equals(that.cdkVersionPinning) : that.cdkVersionPinning != null) return false; return this.constructsVersion != null ? this.constructsVersion.equals(that.constructsVersion) : that.constructsVersion == null; } @Override public final int hashCode() { int result = this.mainClass.hashCode(); result = 31 * result + (this.sample != null ? this.sample.hashCode() : 0); result = 31 * result + (this.sampleJavaPackage != null ? this.sampleJavaPackage.hashCode() : 0); result = 31 * result + (this.compileOptions != null ? this.compileOptions.hashCode() : 0); result = 31 * result + (this.deps != null ? this.deps.hashCode() : 0); result = 31 * result + (this.distdir != null ? this.distdir.hashCode() : 0); result = 31 * result + (this.junit != null ? this.junit.hashCode() : 0); result = 31 * result + (this.junitOptions != null ? this.junitOptions.hashCode() : 0); result = 31 * result + (this.packagingOptions != null ? this.packagingOptions.hashCode() : 0); result = 31 * result + (this.projenrcJava != null ? this.projenrcJava.hashCode() : 0); result = 31 * result + (this.projenrcJavaOptions != null ? this.projenrcJavaOptions.hashCode() : 0); result = 31 * result + (this.testDeps != null ? this.testDeps.hashCode() : 0); result = 31 * result + (this.autoApproveOptions != null ? this.autoApproveOptions.hashCode() : 0); result = 31 * result + (this.autoMerge != null ? this.autoMerge.hashCode() : 0); result = 31 * result + (this.autoMergeOptions != null ? this.autoMergeOptions.hashCode() : 0); result = 31 * result + (this.clobber != null ? this.clobber.hashCode() : 0); result = 31 * result + (this.devContainer != null ? this.devContainer.hashCode() : 0); result = 31 * result + (this.github != null ? this.github.hashCode() : 0); result = 31 * result + (this.githubOptions != null ? this.githubOptions.hashCode() : 0); result = 31 * result + (this.gitpod != null ? this.gitpod.hashCode() : 0); result = 31 * result + (this.mergify != null ? this.mergify.hashCode() : 0); result = 31 * result + (this.mergifyOptions != null ? this.mergifyOptions.hashCode() : 0); result = 31 * result + (this.projectType != null ? this.projectType.hashCode() : 0); result = 31 * result + (this.projenCredentials != null ? this.projenCredentials.hashCode() : 0); result = 31 * result + (this.projenTokenSecret != null ? this.projenTokenSecret.hashCode() : 0); result = 31 * result + (this.readme != null ? this.readme.hashCode() : 0); result = 31 * result + (this.stale != null ? this.stale.hashCode() : 0); result = 31 * result + (this.staleOptions != null ? this.staleOptions.hashCode() : 0); result = 31 * result + (this.vscode != null ? this.vscode.hashCode() : 0); result = 31 * result + (this.name.hashCode()); result = 31 * result + (this.commitGenerated != null ? this.commitGenerated.hashCode() : 0); result = 31 * result + (this.logging != null ? this.logging.hashCode() : 0); result = 31 * result + (this.outdir != null ? this.outdir.hashCode() : 0); result = 31 * result + (this.parent != null ? this.parent.hashCode() : 0); result = 31 * result + (this.projenCommand != null ? this.projenCommand.hashCode() : 0); result = 31 * result + (this.projenrcJson != null ? this.projenrcJson.hashCode() : 0); result = 31 * result + (this.projenrcJsonOptions != null ? this.projenrcJsonOptions.hashCode() : 0); result = 31 * result + (this.renovatebot != null ? this.renovatebot.hashCode() : 0); result = 31 * result + (this.renovatebotOptions != null ? this.renovatebotOptions.hashCode() : 0); result = 31 * result + (this.artifactId.hashCode()); result = 31 * result + (this.groupId.hashCode()); result = 31 * result + (this.version.hashCode()); result = 31 * result + (this.description != null ? this.description.hashCode() : 0); result = 31 * result + (this.packaging != null ? this.packaging.hashCode() : 0); result = 31 * result + (this.url != null ? this.url.hashCode() : 0); result = 31 * result + (this.buildCommand != null ? this.buildCommand.hashCode() : 0); result = 31 * result + (this.cdkout != null ? this.cdkout.hashCode() : 0); result = 31 * result + (this.context != null ? this.context.hashCode() : 0); result = 31 * result + (this.featureFlags != null ? this.featureFlags.hashCode() : 0); result = 31 * result + (this.requireApproval != null ? this.requireApproval.hashCode() : 0); result = 31 * result + (this.watchExcludes != null ? this.watchExcludes.hashCode() : 0); result = 31 * result + (this.watchIncludes != null ? this.watchIncludes.hashCode() : 0); result = 31 * result + (this.cdkVersion.hashCode()); result = 31 * result + (this.cdkAssert != null ? this.cdkAssert.hashCode() : 0); result = 31 * result + (this.cdkAssertions != null ? this.cdkAssertions.hashCode() : 0); result = 31 * result + (this.cdkDependencies != null ? this.cdkDependencies.hashCode() : 0); result = 31 * result + (this.cdkDependenciesAsDeps != null ? this.cdkDependenciesAsDeps.hashCode() : 0); result = 31 * result + (this.cdkTestDependencies != null ? this.cdkTestDependencies.hashCode() : 0); result = 31 * result + (this.cdkVersionPinning != null ? this.cdkVersionPinning.hashCode() : 0); result = 31 * result + (this.constructsVersion != null ? this.constructsVersion.hashCode() : 0); return result; } } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy