software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProject Maven / Gradle / Ivy
Show all versions of open-api-gateway Show documentation
package software.aws.awsprototypingsdk.openapigateway;
/**
* (deprecated) Synthesizes a Java Project with an OpenAPI spec, generated clients, a CDK construct for deploying the API with API Gateway, and generated lambda handler wrappers for type-safe handling of requests.
*
* @deprecated Please use TypeSafeApiProject instead. This will be removed in the PDK GA 1.0 release.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.82.0 (build 2d2ddd7)", date = "2023-08-15T05:38:04.579Z")
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
@software.amazon.jsii.Jsii(module = software.aws.awsprototypingsdk.openapigateway.$Module.class, fqn = "@aws-prototyping-sdk/open-api-gateway.OpenApiGatewayJavaProject")
public class OpenApiGatewayJavaProject extends io.github.cdklabs.projen.java.JavaProject {
protected OpenApiGatewayJavaProject(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected OpenApiGatewayJavaProject(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* @param projectOptions This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public OpenApiGatewayJavaProject(final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions projectOptions) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(projectOptions, "projectOptions is required") });
}
/**
* (deprecated) This method provides inheritors a chance to synthesize extra resources prior to those created by this project.
*
* Return any options you wish to change, other than java project options.
*
* @param options This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
protected @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions preConstruct(final @org.jetbrains.annotations.NotNull software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions options) {
return software.amazon.jsii.Kernel.call(this, "preConstruct", software.amazon.jsii.NativeType.forClass(software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions.class), new Object[] { java.util.Objects.requireNonNull(options, "options is required") });
}
/**
* (deprecated) The directory in which the api generated code will reside, relative to the project srcdir.
*
* This will also be used
* as the package for the api project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.lang.String getApiSrcDir() {
return software.amazon.jsii.Kernel.get(this, "apiSrcDir", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (deprecated) References to the client projects that were generated, keyed by language.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.util.Map getGeneratedClients() {
return java.util.Collections.unmodifiableMap(software.amazon.jsii.Kernel.get(this, "generatedClients", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.Project.class))));
}
/**
* (deprecated) The directory in which generated client code will be generated, relative to the outdir of this project.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.lang.String getGeneratedCodeDir() {
return software.amazon.jsii.Kernel.get(this, "generatedCodeDir", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (deprecated) A reference to the generated java client.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull io.github.cdklabs.projen.java.JavaProject getGeneratedJavaClient() {
return software.amazon.jsii.Kernel.get(this, "generatedJavaClient", software.amazon.jsii.NativeType.forClass(io.github.cdklabs.projen.java.JavaProject.class));
}
/**
* (deprecated) The directory in which the OpenAPI spec file(s) reside, relative to the project srcdir.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.lang.String getSpecDir() {
return software.amazon.jsii.Kernel.get(this, "specDir", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (deprecated) The name of the spec file.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.NotNull java.lang.String getSpecFileName() {
return software.amazon.jsii.Kernel.get(this, "specFileName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
}
/**
* (deprecated) Force to generate code and docs even if there were no changes in spec.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public @org.jetbrains.annotations.Nullable java.lang.Boolean getForceGenerateCodeAndDocs() {
return software.amazon.jsii.Kernel.get(this, "forceGenerateCodeAndDocs", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
}
/**
* (deprecated) A fluent builder for {@link software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public static Builder create() {
return new Builder();
}
private final software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions.Builder projectOptions;
private Builder() {
this.projectOptions = new software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProjectOptions.Builder();
}
/**
* (experimental) This is the name of your project.
*
* Default: $BASEDIR
*
* @return {@code this}
* @param name This is the name of your project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder name(final java.lang.String name) {
this.projectOptions.name(name);
return this;
}
/**
* (experimental) Whether to commit the managed files by default.
*
* Default: true
*
* @return {@code this}
* @param commitGenerated Whether to commit the managed files by default. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder commitGenerated(final java.lang.Boolean commitGenerated) {
this.projectOptions.commitGenerated(commitGenerated);
return this;
}
/**
* (experimental) Configuration options for .gitignore file.
*
* @return {@code this}
* @param gitIgnoreOptions Configuration options for .gitignore file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitIgnoreOptions(final io.github.cdklabs.projen.IgnoreFileOptions gitIgnoreOptions) {
this.projectOptions.gitIgnoreOptions(gitIgnoreOptions);
return this;
}
/**
* (experimental) Configuration options for git.
*
* @return {@code this}
* @param gitOptions Configuration options for git. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitOptions(final io.github.cdklabs.projen.GitOptions gitOptions) {
this.projectOptions.gitOptions(gitOptions);
return this;
}
/**
* (experimental) Configure logging options such as verbosity.
*
* Default: {}
*
* @return {@code this}
* @param logging Configure logging options such as verbosity. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder logging(final io.github.cdklabs.projen.LoggerOptions logging) {
this.projectOptions.logging(logging);
return this;
}
/**
* (experimental) The root directory of the project.
*
* Relative to this directory, all files are synthesized.
*
* If this project has a parent, this directory is relative to the parent
* directory and it cannot be the same as the parent or any of it's other
* sub-projects.
*
* Default: "."
*
* @return {@code this}
* @param outdir The root directory of the project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder outdir(final java.lang.String outdir) {
this.projectOptions.outdir(outdir);
return this;
}
/**
* (experimental) The parent project, if this project is part of a bigger project.
*
* @return {@code this}
* @param parent The parent project, if this project is part of a bigger project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parent(final io.github.cdklabs.projen.Project parent) {
this.projectOptions.parent(parent);
return this;
}
/**
* (experimental) The shell command to use in order to run the projen CLI.
*
* Can be used to customize in special environments.
*
* Default: "npx projen"
*
* @return {@code this}
* @param projenCommand The shell command to use in order to run the projen CLI. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCommand(final java.lang.String projenCommand) {
this.projectOptions.projenCommand(projenCommand);
return this;
}
/**
* (experimental) Generate (once) .projenrc.json (in JSON). Set to false
in order to disable .projenrc.json generation.
*
* Default: false
*
* @return {@code this}
* @param projenrcJson Generate (once) .projenrc.json (in JSON). Set to false
in order to disable .projenrc.json generation. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJson(final java.lang.Boolean projenrcJson) {
this.projectOptions.projenrcJson(projenrcJson);
return this;
}
/**
* (experimental) Options for .projenrc.json.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJsonOptions Options for .projenrc.json. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJsonOptions(final io.github.cdklabs.projen.ProjenrcJsonOptions projenrcJsonOptions) {
this.projectOptions.projenrcJsonOptions(projenrcJsonOptions);
return this;
}
/**
* (experimental) Use renovatebot to handle dependency upgrades.
*
* Default: false
*
* @return {@code this}
* @param renovatebot Use renovatebot to handle dependency upgrades. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebot(final java.lang.Boolean renovatebot) {
this.projectOptions.renovatebot(renovatebot);
return this;
}
/**
* (experimental) Options for renovatebot.
*
* Default: - default options
*
* @return {@code this}
* @param renovatebotOptions Options for renovatebot. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder renovatebotOptions(final io.github.cdklabs.projen.RenovatebotOptions renovatebotOptions) {
this.projectOptions.renovatebotOptions(renovatebotOptions);
return this;
}
/**
* (experimental) Enable and configure the 'auto approve' workflow.
*
* Default: - auto approve is disabled
*
* @return {@code this}
* @param autoApproveOptions Enable and configure the 'auto approve' workflow. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoApproveOptions(final io.github.cdklabs.projen.github.AutoApproveOptions autoApproveOptions) {
this.projectOptions.autoApproveOptions(autoApproveOptions);
return this;
}
/**
* (experimental) Enable automatic merging on GitHub.
*
* Has no effect if github.mergify
* is set to false.
*
* Default: true
*
* @return {@code this}
* @param autoMerge Enable automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMerge(final java.lang.Boolean autoMerge) {
this.projectOptions.autoMerge(autoMerge);
return this;
}
/**
* (experimental) Configure options for automatic merging on GitHub.
*
* Has no effect if
* github.mergify
or autoMerge
is set to false.
*
* Default: - see defaults in `AutoMergeOptions`
*
* @return {@code this}
* @param autoMergeOptions Configure options for automatic merging on GitHub. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder autoMergeOptions(final io.github.cdklabs.projen.github.AutoMergeOptions autoMergeOptions) {
this.projectOptions.autoMergeOptions(autoMergeOptions);
return this;
}
/**
* (experimental) Add a clobber
task which resets the repo to origin.
*
* Default: - true, but false for subprojects
*
* @return {@code this}
* @param clobber Add a clobber
task which resets the repo to origin. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clobber(final java.lang.Boolean clobber) {
this.projectOptions.clobber(clobber);
return this;
}
/**
* (experimental) Add a VSCode development environment (used for GitHub Codespaces).
*
* Default: false
*
* @return {@code this}
* @param devContainer Add a VSCode development environment (used for GitHub Codespaces). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder devContainer(final java.lang.Boolean devContainer) {
this.projectOptions.devContainer(devContainer);
return this;
}
/**
* (experimental) Enable GitHub integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param github Enable GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder github(final java.lang.Boolean github) {
this.projectOptions.github(github);
return this;
}
/**
* (experimental) Options for GitHub integration.
*
* Default: - see GitHubOptions
*
* @return {@code this}
* @param githubOptions Options for GitHub integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder githubOptions(final io.github.cdklabs.projen.github.GitHubOptions githubOptions) {
this.projectOptions.githubOptions(githubOptions);
return this;
}
/**
* (experimental) Add a Gitpod development environment.
*
* Default: false
*
* @return {@code this}
* @param gitpod Add a Gitpod development environment. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder gitpod(final java.lang.Boolean gitpod) {
this.projectOptions.gitpod(gitpod);
return this;
}
/**
* (deprecated) Whether mergify should be enabled on this repository or not.
*
* Default: true
*
* @return {@code this}
* @deprecated use githubOptions.mergify
instead
* @param mergify Whether mergify should be enabled on this repository or not. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergify(final java.lang.Boolean mergify) {
this.projectOptions.mergify(mergify);
return this;
}
/**
* (deprecated) Options for mergify.
*
* Default: - default options
*
* @return {@code this}
* @deprecated use githubOptions.mergifyOptions
instead
* @param mergifyOptions Options for mergify. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder mergifyOptions(final io.github.cdklabs.projen.github.MergifyOptions mergifyOptions) {
this.projectOptions.mergifyOptions(mergifyOptions);
return this;
}
/**
* (deprecated) Which type of project this is (library/app).
*
* Default: ProjectType.UNKNOWN
*
* @return {@code this}
* @deprecated no longer supported at the base project level
* @param projectType Which type of project this is (library/app). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projectType(final io.github.cdklabs.projen.ProjectType projectType) {
this.projectOptions.projectType(projectType);
return this;
}
/**
* (experimental) Choose a method of providing GitHub API access for projen workflows.
*
* Default: - use a personal access token named PROJEN_GITHUB_TOKEN
*
* @return {@code this}
* @param projenCredentials Choose a method of providing GitHub API access for projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenCredentials(final io.github.cdklabs.projen.github.GithubCredentials projenCredentials) {
this.projectOptions.projenCredentials(projenCredentials);
return this;
}
/**
* (deprecated) The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows.
*
* This token needs to have the repo
, workflows
* and packages
scope.
*
* Default: "PROJEN_GITHUB_TOKEN"
*
* @return {@code this}
* @deprecated use projenCredentials
* @param projenTokenSecret The name of a secret which includes a GitHub Personal Access Token to be used by projen workflows. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
public Builder projenTokenSecret(final java.lang.String projenTokenSecret) {
this.projectOptions.projenTokenSecret(projenTokenSecret);
return this;
}
/**
* (experimental) The README setup.
*
* Default: - { filename: 'README.md', contents: '# replace this' }
*
* Example:
*
*
* "{ filename: 'readme.md', contents: '# title' }"
*
*
* @return {@code this}
* @param readme The README setup. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder readme(final io.github.cdklabs.projen.SampleReadmeProps readme) {
this.projectOptions.readme(readme);
return this;
}
/**
* (experimental) Auto-close of stale issues and pull request.
*
* See staleOptions
for options.
*
* Default: false
*
* @return {@code this}
* @param stale Auto-close of stale issues and pull request. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder stale(final java.lang.Boolean stale) {
this.projectOptions.stale(stale);
return this;
}
/**
* (experimental) Auto-close stale issues and pull requests.
*
* To disable set stale
to false
.
*
* Default: - see defaults in `StaleOptions`
*
* @return {@code this}
* @param staleOptions Auto-close stale issues and pull requests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder staleOptions(final io.github.cdklabs.projen.github.StaleOptions staleOptions) {
this.projectOptions.staleOptions(staleOptions);
return this;
}
/**
* (experimental) Enable VSCode integration.
*
* Enabled by default for root projects. Disabled for non-root projects.
*
* Default: true
*
* @return {@code this}
* @param vscode Enable VSCode integration. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder vscode(final java.lang.Boolean vscode) {
this.projectOptions.vscode(vscode);
return this;
}
/**
* (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"
*
* @return {@code this}
* @param artifactId The artifactId is generally the name that the project is known by. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder artifactId(final java.lang.String artifactId) {
this.projectOptions.artifactId(artifactId);
return this;
}
/**
* (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"
*
* @return {@code this}
* @param groupId This is generally unique amongst an organization or a project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder groupId(final java.lang.String groupId) {
this.projectOptions.groupId(groupId);
return this;
}
/**
* (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"
*
* @return {@code this}
* @param version This is the last piece of the naming puzzle. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder version(final java.lang.String version) {
this.projectOptions.version(version);
return this;
}
/**
* (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
*
* @return {@code this}
* @param description Description of a project is always good. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder description(final java.lang.String description) {
this.projectOptions.description(description);
return this;
}
/**
* (experimental) Project packaging format.
*
* Default: "jar"
*
* @return {@code this}
* @param packaging Project packaging format. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packaging(final java.lang.String packaging) {
this.projectOptions.packaging(packaging);
return this;
}
/**
* (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
*
* @return {@code this}
* @param url The URL, like the name, is not required. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder url(final java.lang.String url) {
this.projectOptions.url(url);
return this;
}
/**
* (experimental) Compile options.
*
* Default: - defaults
*
* @return {@code this}
* @param compileOptions Compile options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder compileOptions(final io.github.cdklabs.projen.java.MavenCompileOptions compileOptions) {
this.projectOptions.compileOptions(compileOptions);
return this;
}
/**
* (experimental) List of runtime dependencies for this project.
*
* Dependencies use the format: <groupId>/<artifactId>@<semver>
*
* Additional dependencies can be added via project.addDependency()
.
*
* Default: []
*
* @return {@code this}
* @param deps List of runtime dependencies for this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder deps(final java.util.List deps) {
this.projectOptions.deps(deps);
return this;
}
/**
* (experimental) Final artifact output directory.
*
* Default: "dist/java"
*
* @return {@code this}
* @param distdir Final artifact output directory. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder distdir(final java.lang.String distdir) {
this.projectOptions.distdir(distdir);
return this;
}
/**
* (experimental) Include junit tests.
*
* Default: true
*
* @return {@code this}
* @param junit Include junit tests. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder junit(final java.lang.Boolean junit) {
this.projectOptions.junit(junit);
return this;
}
/**
* (experimental) junit options.
*
* Default: - defaults
*
* @return {@code this}
* @param junitOptions junit options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder junitOptions(final io.github.cdklabs.projen.java.JunitOptions junitOptions) {
this.projectOptions.junitOptions(junitOptions);
return this;
}
/**
* (experimental) Packaging options.
*
* Default: - defaults
*
* @return {@code this}
* @param packagingOptions Packaging options. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder packagingOptions(final io.github.cdklabs.projen.java.MavenPackagingOptions packagingOptions) {
this.projectOptions.packagingOptions(packagingOptions);
return this;
}
/**
* (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
*
* @return {@code this}
* @param projenrcJava Use projenrc in java. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJava(final java.lang.Boolean projenrcJava) {
this.projectOptions.projenrcJava(projenrcJava);
return this;
}
/**
* (experimental) Options related to projenrc in java.
*
* Default: - default options
*
* @return {@code this}
* @param projenrcJavaOptions Options related to projenrc in java. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder projenrcJavaOptions(final io.github.cdklabs.projen.java.ProjenrcOptions projenrcJavaOptions) {
this.projectOptions.projenrcJavaOptions(projenrcJavaOptions);
return this;
}
/**
* (experimental) List of test dependencies for this project.
*
* Dependencies use the format: <groupId>/<artifactId>@<semver>
*
* Additional dependencies can be added via project.addTestDependency()
.
*
* Default: []
*
* @return {@code this}
* @param testDeps List of test dependencies for this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder testDeps(final java.util.List testDeps) {
this.projectOptions.testDeps(testDeps);
return this;
}
/**
* (experimental) Include sample code and test if the relevant directories don't exist.
*
* Default: true
*
* @return {@code this}
* @param sample Include sample code and test if the relevant directories don't exist. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder sample(final java.lang.Boolean sample) {
this.projectOptions.sample(sample);
return this;
}
/**
* (experimental) The java package to use for the code sample.
*
* Default: "org.acme"
*
* @return {@code this}
* @param sampleJavaPackage The java package to use for the code sample. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder sampleJavaPackage(final java.lang.String sampleJavaPackage) {
this.projectOptions.sampleJavaPackage(sampleJavaPackage);
return this;
}
/**
* (experimental) The list of languages for which clients will be generated.
*
* A typescript client will always be generated.
*
* @return {@code this}
* @param clientLanguages The list of languages for which clients will be generated. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder clientLanguages(final java.util.List extends software.aws.awsprototypingsdk.openapigateway.ClientLanguage> clientLanguages) {
this.projectOptions.clientLanguages(clientLanguages);
return this;
}
/**
* (experimental) The directory in which the api generated code will reside, relative to the project srcdir.
*
* @return {@code this}
* @param apiSrcDir The directory in which the api generated code will reside, relative to the project srcdir. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder apiSrcDir(final java.lang.String apiSrcDir) {
this.projectOptions.apiSrcDir(apiSrcDir);
return this;
}
/**
* (experimental) Formats to generate documentation in.
*
* @return {@code this}
* @param documentationFormats Formats to generate documentation in. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder documentationFormats(final java.util.List extends software.aws.awsprototypingsdk.openapigateway.DocumentationFormat> documentationFormats) {
this.projectOptions.documentationFormats(documentationFormats);
return this;
}
/**
* (experimental) Force to generate code and docs even if there were no changes in spec.
*
* Default: "false"
*
* @return {@code this}
* @param forceGenerateCodeAndDocs Force to generate code and docs even if there were no changes in spec. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder forceGenerateCodeAndDocs(final java.lang.Boolean forceGenerateCodeAndDocs) {
this.projectOptions.forceGenerateCodeAndDocs(forceGenerateCodeAndDocs);
return this;
}
/**
* (experimental) The directory in which generated client code will be generated, relative to the outdir of this project.
*
* Default: "generated"
*
* @return {@code this}
* @param generatedCodeDir The directory in which generated client code will be generated, relative to the outdir of this project. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder generatedCodeDir(final java.lang.String generatedCodeDir) {
this.projectOptions.generatedCodeDir(generatedCodeDir);
return this;
}
/**
* (experimental) Options for the generated java client (if specified in clientLanguages).
*
* These override the default inferred options.
*
* @return {@code this}
* @param javaClientOptions Options for the generated java client (if specified in clientLanguages). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder javaClientOptions(final io.github.cdklabs.projen.java.JavaProjectOptions javaClientOptions) {
this.projectOptions.javaClientOptions(javaClientOptions);
return this;
}
/**
* (experimental) The name of the output parsed OpenAPI specification file.
*
* Must end with .json.
*
* Default: ".parsed-spec.json"
*
* @return {@code this}
* @param parsedSpecFileName The name of the output parsed OpenAPI specification file. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder parsedSpecFileName(final java.lang.String parsedSpecFileName) {
this.projectOptions.parsedSpecFileName(parsedSpecFileName);
return this;
}
/**
* (experimental) Options for the generated python client (if specified in clientLanguages).
*
* These override the default inferred options.
*
* @return {@code this}
* @param pythonClientOptions Options for the generated python client (if specified in clientLanguages). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder pythonClientOptions(final io.github.cdklabs.projen.python.PythonProjectOptions pythonClientOptions) {
this.projectOptions.pythonClientOptions(pythonClientOptions);
return this;
}
/**
* (experimental) Options for the generated typescript client.
*
* These override the default inferred options.
*
* @return {@code this}
* @param typescriptClientOptions Options for the generated typescript client. This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder typescriptClientOptions(final io.github.cdklabs.projen.typescript.TypeScriptProjectOptions typescriptClientOptions) {
this.projectOptions.typescriptClientOptions(typescriptClientOptions);
return this;
}
/**
* (experimental) The path to the OpenAPI specification file, relative to the project source directory (srcdir).
*
* Default: "spec/spec.yaml"
*
* @return {@code this}
* @param specFile The path to the OpenAPI specification file, relative to the project source directory (srcdir). This parameter is required.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder specFile(final java.lang.String specFile) {
this.projectOptions.specFile(specFile);
return this;
}
/**
* @return a newly built instance of {@link software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProject}.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Deprecated)
@Deprecated
@Override
public software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProject build() {
return new software.aws.awsprototypingsdk.openapigateway.OpenApiGatewayJavaProject(
this.projectOptions.build()
);
}
}
}