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

io.github.cdklabs.projen.release.PublisherOptions Maven / Gradle / Ivy

package io.github.cdklabs.projen.release;

/**
 * (experimental) Options for `Publisher`.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.50.0 (build d1830a4)", date = "2022-01-03T02:39:48.733Z")
@software.amazon.jsii.Jsii(module = io.github.cdklabs.projen.$Module.class, fqn = "projen.release.PublisherOptions")
@software.amazon.jsii.Jsii.Proxy(PublisherOptions.Jsii$Proxy.class)
@software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental)
public interface PublisherOptions extends software.amazon.jsii.JsiiSerializable {

    /**
     * (experimental) The name of the artifact to download (e.g. `dist`).
     * 

* The artifact is expected to include a subdirectory for each release target: * go (GitHub), dotnet (NuGet), java (Maven), js (npm), python * (PyPI). *

* @see https://github.com/aws/jsii-release */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getArtifactName(); /** * (experimental) The job ID that produces the build artifacts. *

* All publish jobs will take a dependency on this job. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @org.jetbrains.annotations.NotNull java.lang.String getBuildJobId(); /** * (experimental) A GitHub workflow expression used as a condition for publishers. *

* Default: - no condition */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getCondition() { return null; } /** * (experimental) Do not actually publish, only print the commands that would be executed instead. *

* Useful if you wish to block all publishing from a single option. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getDryRun() { return null; } /** * (experimental) Create an issue when a publish task fails. *

* 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 the issue marking failed publish tasks. *

* 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 for `jsii-release`. *

* Default: "latest" */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.String getJsiiReleaseVersion() { return null; } /** * (experimental) Define publishing tasks that can be executed manually as well as workflows. *

* Normally, publishing only happens within automated workflows. Enable this * in order to create a publishing task for each publishing activity. *

* Default: false */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.lang.Boolean getPublishTasks() { return null; } /** * (experimental) Github Runner selection labels. *

* Default: ["ubuntu-latest"] */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) default @org.jetbrains.annotations.Nullable java.util.List getWorkflowRunsOn() { return null; } /** * @return a {@link Builder} of {@link PublisherOptions} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) static Builder builder() { return new Builder(); } /** * A builder for {@link PublisherOptions} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public static final class Builder implements software.amazon.jsii.Builder { java.lang.String artifactName; java.lang.String buildJobId; java.lang.String condition; java.lang.Boolean dryRun; java.lang.Boolean failureIssue; java.lang.String failureIssueLabel; java.lang.String jsiiReleaseVersion; java.lang.Boolean publishTasks; java.util.List workflowRunsOn; /** * Sets the value of {@link PublisherOptions#getArtifactName} * @param artifactName The name of the artifact to download (e.g. `dist`). This parameter is required. * The artifact is expected to include a subdirectory for each release target: * go (GitHub), dotnet (NuGet), java (Maven), js (npm), python * (PyPI). * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder artifactName(java.lang.String artifactName) { this.artifactName = artifactName; return this; } /** * Sets the value of {@link PublisherOptions#getBuildJobId} * @param buildJobId The job ID that produces the build artifacts. This parameter is required. * All publish jobs will take a dependency on this job. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder buildJobId(java.lang.String buildJobId) { this.buildJobId = buildJobId; return this; } /** * Sets the value of {@link PublisherOptions#getCondition} * @param condition A GitHub workflow expression used as a condition for publishers. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder condition(java.lang.String condition) { this.condition = condition; return this; } /** * Sets the value of {@link PublisherOptions#getDryRun} * @param dryRun Do not actually publish, only print the commands that would be executed instead. * Useful if you wish to block all publishing from a single option. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder dryRun(java.lang.Boolean dryRun) { this.dryRun = dryRun; return this; } /** * Sets the value of {@link PublisherOptions#getFailureIssue} * @param failureIssue Create an issue when a publish task fails. * @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 PublisherOptions#getFailureIssueLabel} * @param failureIssueLabel The label to apply to the issue marking failed publish tasks. * 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 PublisherOptions#getJsiiReleaseVersion} * @param jsiiReleaseVersion Version requirement for `jsii-release`. * @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 PublisherOptions#getPublishTasks} * @param publishTasks Define publishing tasks that can be executed manually as well as workflows. * Normally, publishing only happens within automated workflows. Enable this * in order to create a publishing task for each publishing activity. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder publishTasks(java.lang.Boolean publishTasks) { this.publishTasks = publishTasks; return this; } /** * Sets the value of {@link PublisherOptions#getWorkflowRunsOn} * @param workflowRunsOn Github Runner selection labels. * @return {@code this} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) public Builder workflowRunsOn(java.util.List workflowRunsOn) { this.workflowRunsOn = workflowRunsOn; return this; } /** * Builds the configured instance. * @return a new instance of {@link PublisherOptions} * @throws NullPointerException if any required attribute was not provided */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @Override public PublisherOptions build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PublisherOptions} */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Experimental) @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PublisherOptions { private final java.lang.String artifactName; private final java.lang.String buildJobId; private final java.lang.String condition; private final java.lang.Boolean dryRun; private final java.lang.Boolean failureIssue; private final java.lang.String failureIssueLabel; private final java.lang.String jsiiReleaseVersion; private final java.lang.Boolean publishTasks; private final java.util.List workflowRunsOn; /** * 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.artifactName = software.amazon.jsii.Kernel.get(this, "artifactName", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.buildJobId = software.amazon.jsii.Kernel.get(this, "buildJobId", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.condition = software.amazon.jsii.Kernel.get(this, "condition", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.dryRun = software.amazon.jsii.Kernel.get(this, "dryRun", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.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.publishTasks = software.amazon.jsii.Kernel.get(this, "publishTasks", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.workflowRunsOn = software.amazon.jsii.Kernel.get(this, "workflowRunsOn", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.artifactName = java.util.Objects.requireNonNull(builder.artifactName, "artifactName is required"); this.buildJobId = java.util.Objects.requireNonNull(builder.buildJobId, "buildJobId is required"); this.condition = builder.condition; this.dryRun = builder.dryRun; this.failureIssue = builder.failureIssue; this.failureIssueLabel = builder.failureIssueLabel; this.jsiiReleaseVersion = builder.jsiiReleaseVersion; this.publishTasks = builder.publishTasks; this.workflowRunsOn = builder.workflowRunsOn; } @Override public final java.lang.String getArtifactName() { return this.artifactName; } @Override public final java.lang.String getBuildJobId() { return this.buildJobId; } @Override public final java.lang.String getCondition() { return this.condition; } @Override public final java.lang.Boolean getDryRun() { return this.dryRun; } @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.Boolean getPublishTasks() { return this.publishTasks; } @Override public final java.util.List getWorkflowRunsOn() { return this.workflowRunsOn; } @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("artifactName", om.valueToTree(this.getArtifactName())); data.set("buildJobId", om.valueToTree(this.getBuildJobId())); if (this.getCondition() != null) { data.set("condition", om.valueToTree(this.getCondition())); } if (this.getDryRun() != null) { data.set("dryRun", om.valueToTree(this.getDryRun())); } 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.getPublishTasks() != null) { data.set("publishTasks", om.valueToTree(this.getPublishTasks())); } if (this.getWorkflowRunsOn() != null) { data.set("workflowRunsOn", om.valueToTree(this.getWorkflowRunsOn())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("projen.release.PublisherOptions")); 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; PublisherOptions.Jsii$Proxy that = (PublisherOptions.Jsii$Proxy) o; if (!artifactName.equals(that.artifactName)) return false; if (!buildJobId.equals(that.buildJobId)) return false; if (this.condition != null ? !this.condition.equals(that.condition) : that.condition != null) return false; if (this.dryRun != null ? !this.dryRun.equals(that.dryRun) : that.dryRun != 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.publishTasks != null ? !this.publishTasks.equals(that.publishTasks) : that.publishTasks != null) return false; return this.workflowRunsOn != null ? this.workflowRunsOn.equals(that.workflowRunsOn) : that.workflowRunsOn == null; } @Override public final int hashCode() { int result = this.artifactName.hashCode(); result = 31 * result + (this.buildJobId.hashCode()); result = 31 * result + (this.condition != null ? this.condition.hashCode() : 0); result = 31 * result + (this.dryRun != null ? this.dryRun.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.publishTasks != null ? this.publishTasks.hashCode() : 0); result = 31 * result + (this.workflowRunsOn != null ? this.workflowRunsOn.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy