org.projen.release.ReleaseProjectOptions Maven / Gradle / Ivy
Show all versions of projen Show documentation
package org.projen.release;
/**
* (experimental) Project options for release.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.34.0 (build 9b72778)", date = "2021-09-05T18:03:12.936Z")
@software.amazon.jsii.Jsii(module = org.projen.$Module.class, fqn = "projen.release.ReleaseProjectOptions")
@software.amazon.jsii.Jsii.Proxy(ReleaseProjectOptions.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface ReleaseProjectOptions extends software.amazon.jsii.JsiiSerializable {
/**
* (experimental) Checks that after build there are no modified files on git.
*
* Default: true
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getAntitamper() {
return null;
}
/**
* (experimental) A directory which will contain artifacts to be published to npm.
*
* Default: "dist"
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getArtifactsDirectory() {
return null;
}
/**
* (experimental) Create a github issue on every failed publishing task.
*
* Default: false
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getFailureIssue() {
return null;
}
/**
* (experimental) The label to apply to issues indicating publish failures.
*
* Only applies if failureIssue
is true.
*
* Default: "failed-release"
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getFailureIssueLabel() {
return null;
}
/**
* (experimental) Version requirement of `jsii-release` which is used to publish modules to npm.
*
* Default: "latest"
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getJsiiReleaseVersion() {
return null;
}
/**
* (experimental) Major version to release from the default branch.
*
* If this is specified, we bump the latest version of this major version line.
* If not specified, we bump the global latest version.
*
* Default: - Major version is not enforced.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Number getMajorVersion() {
return null;
}
/**
* (experimental) Steps to execute after build as part of the release workflow.
*
* Default: []
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.List getPostBuildSteps() {
return null;
}
/**
* (experimental) Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
*
* Default: - normal semantic versions
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getPrerelease() {
return null;
}
/**
* (experimental) Defines additional release branches.
*
* A workflow will be created for each
* release branch which will publish releases from commits in this branch.
* Each release branch must be assigned a major version number which is used
* to enforce that versions published from that branch always use that major
* version. If multiple branches are used, the majorVersion
field must also
* be provided for the default branch.
*
* Default: - no additional branches are used for release. you can use
* `addBranch()` to add additional branches.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.Map getReleaseBranches() {
return null;
}
/**
* (experimental) Automatically release new versions every commit to one of branches in `releaseBranches`.
*
* Default: true
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.Boolean getReleaseEveryCommit() {
return null;
}
/**
* (experimental) CRON schedule to trigger new releases.
*
* Default: - no scheduled releases
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getReleaseSchedule() {
return null;
}
/**
* (experimental) The name of the default release workflow.
*
* Default: "Release"
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getReleaseWorkflowName() {
return null;
}
/**
* (experimental) A set of workflow steps to execute in order to setup the workflow container.
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.util.List getReleaseWorkflowSetupSteps() {
return null;
}
/**
* (experimental) Container image to use for GitHub workflows.
*
* Default: - default image
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
default @org.jetbrains.annotations.Nullable java.lang.String getWorkflowContainerImage() {
return null;
}
/**
* @return a {@link Builder} of {@link ReleaseProjectOptions}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
static Builder builder() {
return new Builder();
}
/**
* A builder for {@link ReleaseProjectOptions}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public static final class Builder implements software.amazon.jsii.Builder {
private java.lang.Boolean antitamper;
private java.lang.String artifactsDirectory;
private java.lang.Boolean failureIssue;
private java.lang.String failureIssueLabel;
private java.lang.String jsiiReleaseVersion;
private java.lang.Number majorVersion;
private java.util.List postBuildSteps;
private java.lang.String prerelease;
private java.util.Map releaseBranches;
private java.lang.Boolean releaseEveryCommit;
private java.lang.String releaseSchedule;
private java.lang.String releaseWorkflowName;
private java.util.List releaseWorkflowSetupSteps;
private java.lang.String workflowContainerImage;
/**
* Sets the value of {@link ReleaseProjectOptions#getAntitamper}
* @param antitamper Checks that after build there are no modified files on git.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder antitamper(java.lang.Boolean antitamper) {
this.antitamper = antitamper;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getArtifactsDirectory}
* @param artifactsDirectory A directory which will contain artifacts to be published to npm.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder artifactsDirectory(java.lang.String artifactsDirectory) {
this.artifactsDirectory = artifactsDirectory;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getFailureIssue}
* @param failureIssue Create a github issue on every failed publishing task.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder failureIssue(java.lang.Boolean failureIssue) {
this.failureIssue = failureIssue;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getFailureIssueLabel}
* @param failureIssueLabel The label to apply to issues indicating publish failures.
* Only applies if failureIssue
is true.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder failureIssueLabel(java.lang.String failureIssueLabel) {
this.failureIssueLabel = failureIssueLabel;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getJsiiReleaseVersion}
* @param jsiiReleaseVersion Version requirement of `jsii-release` which is used to publish modules to npm.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder jsiiReleaseVersion(java.lang.String jsiiReleaseVersion) {
this.jsiiReleaseVersion = jsiiReleaseVersion;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getMajorVersion}
* @param majorVersion Major version to release from the default branch.
* If this is specified, we bump the latest version of this major version line.
* If not specified, we bump the global latest version.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder majorVersion(java.lang.Number majorVersion) {
this.majorVersion = majorVersion;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getPostBuildSteps}
* @param postBuildSteps Steps to execute after build as part of the release workflow.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder postBuildSteps(java.util.List extends org.projen.github.workflows.JobStep> postBuildSteps) {
this.postBuildSteps = (java.util.List)postBuildSteps;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getPrerelease}
* @param prerelease Bump versions from the default branch as pre-releases (e.g. "beta", "alpha", "pre").
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder prerelease(java.lang.String prerelease) {
this.prerelease = prerelease;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getReleaseBranches}
* @param releaseBranches Defines additional release branches.
* A workflow will be created for each
* release branch which will publish releases from commits in this branch.
* Each release branch must be assigned a major version number which is used
* to enforce that versions published from that branch always use that major
* version. If multiple branches are used, the majorVersion
field must also
* be provided for the default branch.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder releaseBranches(java.util.Map releaseBranches) {
this.releaseBranches = (java.util.Map)releaseBranches;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getReleaseEveryCommit}
* @param releaseEveryCommit Automatically release new versions every commit to one of branches in `releaseBranches`.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseEveryCommit(java.lang.Boolean releaseEveryCommit) {
this.releaseEveryCommit = releaseEveryCommit;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getReleaseSchedule}
* @param releaseSchedule CRON schedule to trigger new releases.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseSchedule(java.lang.String releaseSchedule) {
this.releaseSchedule = releaseSchedule;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getReleaseWorkflowName}
* @param releaseWorkflowName The name of the default release workflow.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder releaseWorkflowName(java.lang.String releaseWorkflowName) {
this.releaseWorkflowName = releaseWorkflowName;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getReleaseWorkflowSetupSteps}
* @param releaseWorkflowSetupSteps A set of workflow steps to execute in order to setup the workflow container.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@SuppressWarnings("unchecked")
public Builder releaseWorkflowSetupSteps(java.util.List extends org.projen.github.workflows.JobStep> releaseWorkflowSetupSteps) {
this.releaseWorkflowSetupSteps = (java.util.List)releaseWorkflowSetupSteps;
return this;
}
/**
* Sets the value of {@link ReleaseProjectOptions#getWorkflowContainerImage}
* @param workflowContainerImage Container image to use for GitHub workflows.
* @return {@code this}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public Builder workflowContainerImage(java.lang.String workflowContainerImage) {
this.workflowContainerImage = workflowContainerImage;
return this;
}
/**
* Builds the configured instance.
* @return a new instance of {@link ReleaseProjectOptions}
* @throws NullPointerException if any required attribute was not provided
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@Override
public ReleaseProjectOptions build() {
return new Jsii$Proxy(antitamper, artifactsDirectory, failureIssue, failureIssueLabel, jsiiReleaseVersion, majorVersion, postBuildSteps, prerelease, releaseBranches, releaseEveryCommit, releaseSchedule, releaseWorkflowName, releaseWorkflowSetupSteps, workflowContainerImage);
}
}
/**
* An implementation for {@link ReleaseProjectOptions}
*/
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
@software.amazon.jsii.Internal
final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements ReleaseProjectOptions {
private final java.lang.Boolean antitamper;
private final java.lang.String artifactsDirectory;
private final java.lang.Boolean failureIssue;
private final java.lang.String failureIssueLabel;
private final java.lang.String jsiiReleaseVersion;
private final java.lang.Number majorVersion;
private final java.util.List postBuildSteps;
private final java.lang.String prerelease;
private final java.util.Map releaseBranches;
private final java.lang.Boolean releaseEveryCommit;
private final java.lang.String releaseSchedule;
private final java.lang.String releaseWorkflowName;
private final java.util.List releaseWorkflowSetupSteps;
private final java.lang.String workflowContainerImage;
/**
* 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.antitamper = software.amazon.jsii.Kernel.get(this, "antitamper", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.artifactsDirectory = software.amazon.jsii.Kernel.get(this, "artifactsDirectory", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.failureIssue = software.amazon.jsii.Kernel.get(this, "failureIssue", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.failureIssueLabel = software.amazon.jsii.Kernel.get(this, "failureIssueLabel", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.jsiiReleaseVersion = software.amazon.jsii.Kernel.get(this, "jsiiReleaseVersion", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.majorVersion = software.amazon.jsii.Kernel.get(this, "majorVersion", software.amazon.jsii.NativeType.forClass(java.lang.Number.class));
this.postBuildSteps = software.amazon.jsii.Kernel.get(this, "postBuildSteps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.projen.github.workflows.JobStep.class)));
this.prerelease = software.amazon.jsii.Kernel.get(this, "prerelease", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.releaseBranches = software.amazon.jsii.Kernel.get(this, "releaseBranches", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(org.projen.release.BranchOptions.class)));
this.releaseEveryCommit = software.amazon.jsii.Kernel.get(this, "releaseEveryCommit", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class));
this.releaseSchedule = software.amazon.jsii.Kernel.get(this, "releaseSchedule", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.releaseWorkflowName = software.amazon.jsii.Kernel.get(this, "releaseWorkflowName", software.amazon.jsii.NativeType.forClass(java.lang.String.class));
this.releaseWorkflowSetupSteps = software.amazon.jsii.Kernel.get(this, "releaseWorkflowSetupSteps", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(org.projen.github.workflows.JobStep.class)));
this.workflowContainerImage = software.amazon.jsii.Kernel.get(this, "workflowContainerImage", 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 java.lang.Boolean antitamper, final java.lang.String artifactsDirectory, final java.lang.Boolean failureIssue, final java.lang.String failureIssueLabel, final java.lang.String jsiiReleaseVersion, final java.lang.Number majorVersion, final java.util.List extends org.projen.github.workflows.JobStep> postBuildSteps, final java.lang.String prerelease, final java.util.Map releaseBranches, final java.lang.Boolean releaseEveryCommit, final java.lang.String releaseSchedule, final java.lang.String releaseWorkflowName, final java.util.List extends org.projen.github.workflows.JobStep> releaseWorkflowSetupSteps, final java.lang.String workflowContainerImage) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
this.antitamper = antitamper;
this.artifactsDirectory = artifactsDirectory;
this.failureIssue = failureIssue;
this.failureIssueLabel = failureIssueLabel;
this.jsiiReleaseVersion = jsiiReleaseVersion;
this.majorVersion = majorVersion;
this.postBuildSteps = (java.util.List)postBuildSteps;
this.prerelease = prerelease;
this.releaseBranches = (java.util.Map)releaseBranches;
this.releaseEveryCommit = releaseEveryCommit;
this.releaseSchedule = releaseSchedule;
this.releaseWorkflowName = releaseWorkflowName;
this.releaseWorkflowSetupSteps = (java.util.List)releaseWorkflowSetupSteps;
this.workflowContainerImage = workflowContainerImage;
}
@Override
public final java.lang.Boolean getAntitamper() {
return this.antitamper;
}
@Override
public final java.lang.String getArtifactsDirectory() {
return this.artifactsDirectory;
}
@Override
public final java.lang.Boolean getFailureIssue() {
return this.failureIssue;
}
@Override
public final java.lang.String getFailureIssueLabel() {
return this.failureIssueLabel;
}
@Override
public final java.lang.String getJsiiReleaseVersion() {
return this.jsiiReleaseVersion;
}
@Override
public final java.lang.Number getMajorVersion() {
return this.majorVersion;
}
@Override
public final java.util.List getPostBuildSteps() {
return this.postBuildSteps;
}
@Override
public final java.lang.String getPrerelease() {
return this.prerelease;
}
@Override
public final java.util.Map getReleaseBranches() {
return this.releaseBranches;
}
@Override
public final java.lang.Boolean getReleaseEveryCommit() {
return this.releaseEveryCommit;
}
@Override
public final java.lang.String getReleaseSchedule() {
return this.releaseSchedule;
}
@Override
public final java.lang.String getReleaseWorkflowName() {
return this.releaseWorkflowName;
}
@Override
public final java.util.List getReleaseWorkflowSetupSteps() {
return this.releaseWorkflowSetupSteps;
}
@Override
public final java.lang.String getWorkflowContainerImage() {
return this.workflowContainerImage;
}
@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();
if (this.getAntitamper() != null) {
data.set("antitamper", om.valueToTree(this.getAntitamper()));
}
if (this.getArtifactsDirectory() != null) {
data.set("artifactsDirectory", om.valueToTree(this.getArtifactsDirectory()));
}
if (this.getFailureIssue() != null) {
data.set("failureIssue", om.valueToTree(this.getFailureIssue()));
}
if (this.getFailureIssueLabel() != null) {
data.set("failureIssueLabel", om.valueToTree(this.getFailureIssueLabel()));
}
if (this.getJsiiReleaseVersion() != null) {
data.set("jsiiReleaseVersion", om.valueToTree(this.getJsiiReleaseVersion()));
}
if (this.getMajorVersion() != null) {
data.set("majorVersion", om.valueToTree(this.getMajorVersion()));
}
if (this.getPostBuildSteps() != null) {
data.set("postBuildSteps", om.valueToTree(this.getPostBuildSteps()));
}
if (this.getPrerelease() != null) {
data.set("prerelease", om.valueToTree(this.getPrerelease()));
}
if (this.getReleaseBranches() != null) {
data.set("releaseBranches", om.valueToTree(this.getReleaseBranches()));
}
if (this.getReleaseEveryCommit() != null) {
data.set("releaseEveryCommit", om.valueToTree(this.getReleaseEveryCommit()));
}
if (this.getReleaseSchedule() != null) {
data.set("releaseSchedule", om.valueToTree(this.getReleaseSchedule()));
}
if (this.getReleaseWorkflowName() != null) {
data.set("releaseWorkflowName", om.valueToTree(this.getReleaseWorkflowName()));
}
if (this.getReleaseWorkflowSetupSteps() != null) {
data.set("releaseWorkflowSetupSteps", om.valueToTree(this.getReleaseWorkflowSetupSteps()));
}
if (this.getWorkflowContainerImage() != null) {
data.set("workflowContainerImage", om.valueToTree(this.getWorkflowContainerImage()));
}
final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode();
struct.set("fqn", om.valueToTree("projen.release.ReleaseProjectOptions"));
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;
ReleaseProjectOptions.Jsii$Proxy that = (ReleaseProjectOptions.Jsii$Proxy) o;
if (this.antitamper != null ? !this.antitamper.equals(that.antitamper) : that.antitamper != null) return false;
if (this.artifactsDirectory != null ? !this.artifactsDirectory.equals(that.artifactsDirectory) : that.artifactsDirectory != null) return false;
if (this.failureIssue != null ? !this.failureIssue.equals(that.failureIssue) : that.failureIssue != null) return false;
if (this.failureIssueLabel != null ? !this.failureIssueLabel.equals(that.failureIssueLabel) : that.failureIssueLabel != null) return false;
if (this.jsiiReleaseVersion != null ? !this.jsiiReleaseVersion.equals(that.jsiiReleaseVersion) : that.jsiiReleaseVersion != null) return false;
if (this.majorVersion != null ? !this.majorVersion.equals(that.majorVersion) : that.majorVersion != null) return false;
if (this.postBuildSteps != null ? !this.postBuildSteps.equals(that.postBuildSteps) : that.postBuildSteps != null) return false;
if (this.prerelease != null ? !this.prerelease.equals(that.prerelease) : that.prerelease != null) return false;
if (this.releaseBranches != null ? !this.releaseBranches.equals(that.releaseBranches) : that.releaseBranches != null) return false;
if (this.releaseEveryCommit != null ? !this.releaseEveryCommit.equals(that.releaseEveryCommit) : that.releaseEveryCommit != null) return false;
if (this.releaseSchedule != null ? !this.releaseSchedule.equals(that.releaseSchedule) : that.releaseSchedule != null) return false;
if (this.releaseWorkflowName != null ? !this.releaseWorkflowName.equals(that.releaseWorkflowName) : that.releaseWorkflowName != null) return false;
if (this.releaseWorkflowSetupSteps != null ? !this.releaseWorkflowSetupSteps.equals(that.releaseWorkflowSetupSteps) : that.releaseWorkflowSetupSteps != null) return false;
return this.workflowContainerImage != null ? this.workflowContainerImage.equals(that.workflowContainerImage) : that.workflowContainerImage == null;
}
@Override
public final int hashCode() {
int result = this.antitamper != null ? this.antitamper.hashCode() : 0;
result = 31 * result + (this.artifactsDirectory != null ? this.artifactsDirectory.hashCode() : 0);
result = 31 * result + (this.failureIssue != null ? this.failureIssue.hashCode() : 0);
result = 31 * result + (this.failureIssueLabel != null ? this.failureIssueLabel.hashCode() : 0);
result = 31 * result + (this.jsiiReleaseVersion != null ? this.jsiiReleaseVersion.hashCode() : 0);
result = 31 * result + (this.majorVersion != null ? this.majorVersion.hashCode() : 0);
result = 31 * result + (this.postBuildSteps != null ? this.postBuildSteps.hashCode() : 0);
result = 31 * result + (this.prerelease != null ? this.prerelease.hashCode() : 0);
result = 31 * result + (this.releaseBranches != null ? this.releaseBranches.hashCode() : 0);
result = 31 * result + (this.releaseEveryCommit != null ? this.releaseEveryCommit.hashCode() : 0);
result = 31 * result + (this.releaseSchedule != null ? this.releaseSchedule.hashCode() : 0);
result = 31 * result + (this.releaseWorkflowName != null ? this.releaseWorkflowName.hashCode() : 0);
result = 31 * result + (this.releaseWorkflowSetupSteps != null ? this.releaseWorkflowSetupSteps.hashCode() : 0);
result = 31 * result + (this.workflowContainerImage != null ? this.workflowContainerImage.hashCode() : 0);
return result;
}
}
}