diff --git a/core/jreleaser-model/src/main/java/org/jreleaser/model/Announce.java b/core/jreleaser-model/src/main/java/org/jreleaser/model/Announce.java index 7a4d16cf..f238654c 100644 --- a/core/jreleaser-model/src/main/java/org/jreleaser/model/Announce.java +++ b/core/jreleaser-model/src/main/java/org/jreleaser/model/Announce.java @@ -33,6 +33,7 @@ public class Announce implements Domain, EnabledAware { private final Discord discord = new Discord(); private final Discussions discussions = new Discussions(); private final Gitter gitter = new Gitter(); + private final GoogleChat googleChat = new GoogleChat(); private final Mail mail = new Mail(); private final Mastodon mastodon = new Mastodon(); private final Mattermost mattermost = new Mattermost(); @@ -42,7 +43,6 @@ public class Announce implements Domain, EnabledAware { private final Twitter twitter = new Twitter(); private final Webhooks webhooks = new Webhooks(); private final Zulip zulip = new Zulip(); - private final GoogleChat googleChat = new GoogleChat(); private Boolean enabled; void setAll(Announce announce) { @@ -267,6 +267,7 @@ public class Announce implements Domain, EnabledAware { set.add(Discord.NAME); set.add(Discussions.NAME); set.add(Gitter.NAME); + set.add(GoogleChat.NAME); set.add(Mail.NAME); set.add(Mastodon.NAME); set.add(Mattermost.NAME); diff --git a/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GoogleChatValidator.java b/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GoogleChatValidator.java index 677cfa55..195e5cfd 100644 --- a/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GoogleChatValidator.java +++ b/core/jreleaser-model/src/main/java/org/jreleaser/model/validation/GoogleChatValidator.java @@ -28,32 +28,24 @@ import static org.jreleaser.util.StringUtils.isBlank; import static org.jreleaser.util.StringUtils.isNotBlank; /** - * @author Andres Almiray - * @since 0.1.0 + * @author Anyul Rivas + * @since 0.5.0 */ public abstract class GoogleChatValidator extends Validator { - private static final String DEFAULT_GOOGLE_CHAT_TPL = "src/jreleaser/templates/google_chat.tpl"; + private static final String DEFAULT_GOOGLE_CHAT_TPL = "src/jreleaser/templates/googleChat.tpl"; public static void validateGoogleChat(JReleaserContext context, GoogleChat googleChat, Errors errors) { if (!googleChat.resolveEnabled(context.getModel().getProject())) return; - context.getLogger().debug("announce.slack"); + context.getLogger().debug("announce.googleChat"); - Errors ignored = new Errors(); googleChat.setWebhook( checkProperty(context.getModel().getEnvironment(), GOOGLE_CHAT_WEBHOOK, - "GoogleChat.webhook", + "googleChat.webhook", googleChat.getWebhook(), - ignored, + errors, context.isDryrun())); - String webhook = googleChat.getResolvedWebhook(); - - if (!context.isDryrun() && isBlank(webhook)) { - errors.configuration("GoogleChat.webhook must be provided"); - return; - } - if (isBlank(googleChat.getMessage()) && isBlank(googleChat.getMessageTemplate())) { if (Files.exists(context.getBasedir().resolve(DEFAULT_GOOGLE_CHAT_TPL))) { googleChat.setMessageTemplate(DEFAULT_GOOGLE_CHAT_TPL); @@ -64,7 +56,7 @@ public abstract class GoogleChatValidator extends Validator { if (isNotBlank(googleChat.getMessageTemplate()) && !Files.exists(context.getBasedir().resolve(googleChat.getMessageTemplate().trim()))) { - errors.configuration("GoogleChat.messageTemplate does not exist. " + googleChat.getMessageTemplate()); + errors.configuration("googleChat.messageTemplate does not exist. " + googleChat.getMessageTemplate()); } if (googleChat.getConnectTimeout() <= 0 || googleChat.getConnectTimeout() > 300) { diff --git a/core/jreleaser-templates/src/main/resources/META-INF/jreleaser/templates/announcers/google-chat.tpl b/core/jreleaser-templates/src/main/resources/META-INF/jreleaser/templates/announcers/googleChat.tpl similarity index 100% rename from core/jreleaser-templates/src/main/resources/META-INF/jreleaser/templates/announcers/google-chat.tpl rename to core/jreleaser-templates/src/main/resources/META-INF/jreleaser/templates/announcers/googleChat.tpl diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/dsl/GoogleChat.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/dsl/GoogleChat.groovy index 5c924b48..60cee84a 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/dsl/GoogleChat.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/dsl/GoogleChat.groovy @@ -28,7 +28,6 @@ import org.gradle.api.provider.Property */ @CompileStatic interface GoogleChat extends Announcer { - Property getWebhook() Property getMessage() diff --git a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/internal/dsl/AnnounceImpl.groovy b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/internal/dsl/AnnounceImpl.groovy index 537db4fc..6b57bfe4 100644 --- a/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/internal/dsl/AnnounceImpl.groovy +++ b/plugins/jreleaser-gradle-plugin/src/main/groovy/org/jreleaser/gradle/plugin/internal/dsl/AnnounceImpl.groovy @@ -164,8 +164,9 @@ class AnnounceImpl implements Announce { ConfigureUtil.configure(action, gitter) } + @Override void googleChat(@DelegatesTo(strategy = Closure.DELEGATE_FIRST, value = GoogleChat) Closure action) { - ConfigureUtil.configure(action, gitter) + ConfigureUtil.configure(action, googleChat) } @Override diff --git a/sdks/google-chat-java-sdk/src/main/java/org/jreleaser/sdk/googlechat/GoogleChatAnnouncer.java b/sdks/google-chat-java-sdk/src/main/java/org/jreleaser/sdk/googlechat/GoogleChatAnnouncer.java index 8889f9f5..0e12e2aa 100644 --- a/sdks/google-chat-java-sdk/src/main/java/org/jreleaser/sdk/googlechat/GoogleChatAnnouncer.java +++ b/sdks/google-chat-java-sdk/src/main/java/org/jreleaser/sdk/googlechat/GoogleChatAnnouncer.java @@ -17,17 +17,15 @@ */ package org.jreleaser.sdk.googlechat; -import org.jreleaser.model.JReleaserContext; import org.jreleaser.model.GoogleChat; +import org.jreleaser.model.JReleaserContext; import org.jreleaser.model.announcer.spi.AnnounceException; import org.jreleaser.model.announcer.spi.Announcer; import org.jreleaser.sdk.commons.ClientUtils; import org.jreleaser.util.Constants; import org.jreleaser.util.MustacheUtils; -import java.util.ArrayList; import java.util.LinkedHashMap; -import java.util.List; import java.util.Map; import static org.jreleaser.util.StringUtils.isNotBlank; @@ -69,16 +67,12 @@ public class GoogleChatAnnouncer implements Announcer { context.getLogger().info("message: {}", message); - if (isNotBlank(googleChat.getResolvedWebhook()) && !context.isDryrun()) { - try { - ClientUtils.webhook(context.getLogger(), - googleChat.getResolvedWebhook(), - googleChat.getConnectTimeout(), - googleChat.getReadTimeout(), - Message.of(message)); - } catch (AnnounceException e) { - context.getLogger().trace(e); - } + if (!context.isDryrun()) { + ClientUtils.webhook(context.getLogger(), + googleChat.getResolvedWebhook(), + googleChat.getConnectTimeout(), + googleChat.getReadTimeout(), + Message.of(message)); } } }