From ebde3e705608f94d75105171c3f18461e753915c Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Sun, 28 Mar 2021 15:43:45 +0200 Subject: [PATCH 1/7] add ssh transport callback for ssh:// --- .../spotless/changelog/GitActions.java | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java index 85bdea8..0d4e341 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java @@ -24,8 +24,10 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Consumer; +import com.jcraft.jsch.Session; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.PushCommand; +import org.eclipse.jgit.api.TransportConfigCallback; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.ConfigConstants; import org.eclipse.jgit.lib.Constants; @@ -33,9 +35,13 @@ import org.eclipse.jgit.lib.Repository; import org.eclipse.jgit.storage.file.FileRepositoryBuilder; import org.eclipse.jgit.transport.CredentialsProvider; +import org.eclipse.jgit.transport.JschConfigSessionFactory; +import org.eclipse.jgit.transport.OpenSshConfig; import org.eclipse.jgit.transport.PushResult; import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.transport.RemoteRefUpdate; +import org.eclipse.jgit.transport.SshTransport; +import org.eclipse.jgit.transport.Transport; import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; /** API for doing the commit, tag, and push operations. See {@link GitCfg#withChangelog(File, ChangelogAndNext)}. */ @@ -118,10 +124,27 @@ private void push(Ref ref, RemoteRefUpdate.Status expected) throws GitAPIExcepti } private void push(Consumer cmd, RemoteRefUpdate.Status expected) throws GitAPIException { - PushCommand push = git.push().setCredentialsProvider(creds()).setRemote(cfg.remote); + String remoteUrl = git.getRepository().getConfig().getString(ConfigConstants.CONFIG_REMOTE_SECTION, cfg.remote, ConfigConstants.CONFIG_KEY_URL); + + PushCommand push = git.push().setRemote(cfg.remote); + if (remoteUrl.startsWith("http://") || remoteUrl.startsWith("https://")) { + push = push.setCredentialsProvider(creds()); + } else if (remoteUrl.startsWith("ssh://")) { + push.setTransportConfigCallback(new TransportConfigCallback() { + @Override + public void configure(Transport transport) { + SshTransport sshTransport = (SshTransport) transport; + sshTransport.setSshSessionFactory(new JschConfigSessionFactory() { + @Override + protected void configure(OpenSshConfig.Host host, Session session ) { + } + }); + } + }); + } + cmd.accept(push); - String remoteUrl = git.getRepository().getConfig().getString(ConfigConstants.CONFIG_REMOTE_SECTION, cfg.remote, ConfigConstants.CONFIG_KEY_URL); RefSpec spec = Iterables.getOnlyElement(push.getRefSpecs()); System.out.println("push " + spec.getSource() + " to " + cfg.remote + " " + remoteUrl); From e23b29a91cedecb11c70020b720472b79f5e331c Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Sun, 28 Mar 2021 15:44:19 +0200 Subject: [PATCH 2/7] changelog entry added --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index daf2cde..5e8eb02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [Unreleased] +### Added +- Support for remote url `ssh://` ## [2.0.1] - 2021-03-13 ### Fixed From ea7372b6d8730fb5fe1ddd9b61812c4de4a44bc1 Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Mon, 29 Mar 2021 09:55:02 +0200 Subject: [PATCH 3/7] clean up --- CHANGELOG.md | 2 +- .../spotless/changelog/GitActions.java | 22 ++++++++----------- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5e8eb02..3aaa788 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,7 +6,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] ### Added -- Support for remote url `ssh://` +- Support for remote url `ssh://` ([#19](https://github.com/diffplug/spotless-changelog/issues/19)) ## [2.0.1] - 2021-03-13 ### Fixed diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java index 0d4e341..261959f 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java @@ -17,6 +17,7 @@ import com.diffplug.common.collect.Iterables; +import com.jcraft.jsch.Session; import java.io.File; import java.io.IOException; import java.util.Arrays; @@ -24,10 +25,8 @@ import java.util.Objects; import java.util.Optional; import java.util.function.Consumer; -import com.jcraft.jsch.Session; import org.eclipse.jgit.api.Git; import org.eclipse.jgit.api.PushCommand; -import org.eclipse.jgit.api.TransportConfigCallback; import org.eclipse.jgit.api.errors.GitAPIException; import org.eclipse.jgit.lib.ConfigConstants; import org.eclipse.jgit.lib.Constants; @@ -41,7 +40,6 @@ import org.eclipse.jgit.transport.RefSpec; import org.eclipse.jgit.transport.RemoteRefUpdate; import org.eclipse.jgit.transport.SshTransport; -import org.eclipse.jgit.transport.Transport; import org.eclipse.jgit.transport.UsernamePasswordCredentialsProvider; /** API for doing the commit, tag, and push operations. See {@link GitCfg#withChangelog(File, ChangelogAndNext)}. */ @@ -130,16 +128,14 @@ private void push(Consumer cmd, RemoteRefUpdate.Status expected) th if (remoteUrl.startsWith("http://") || remoteUrl.startsWith("https://")) { push = push.setCredentialsProvider(creds()); } else if (remoteUrl.startsWith("ssh://")) { - push.setTransportConfigCallback(new TransportConfigCallback() { - @Override - public void configure(Transport transport) { - SshTransport sshTransport = (SshTransport) transport; - sshTransport.setSshSessionFactory(new JschConfigSessionFactory() { - @Override - protected void configure(OpenSshConfig.Host host, Session session ) { - } - }); - } + push.setTransportConfigCallback(transport -> { + SshTransport sshTransport = (SshTransport) transport; + sshTransport.setSshSessionFactory(new JschConfigSessionFactory() { + @Override + protected void configure(OpenSshConfig.Host host, Session session) { + session.setConfig("StrictHostKeyChecking", "no"); + } + }); }); } From 5fee9493a013558f3ef6d8ab040e02ef61b8a393 Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Mon, 29 Mar 2021 21:18:18 +0200 Subject: [PATCH 4/7] configuration flag for StrictHostKeyChecking added --- .../diffplug/spotless/changelog/GitActions.java | 2 +- .../com/diffplug/spotless/changelog/GitCfg.java | 1 + .../changelog/gradle/ChangelogExtension.java | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java index 261959f..6fef980 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java @@ -133,7 +133,7 @@ private void push(Consumer cmd, RemoteRefUpdate.Status expected) th sshTransport.setSshSessionFactory(new JschConfigSessionFactory() { @Override protected void configure(OpenSshConfig.Host host, Session session) { - session.setConfig("StrictHostKeyChecking", "no"); + session.setConfig("StrictHostKeyChecking", cfg.disableStrictHostKeyChecking ? "no" : "yes"); } }); }); diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java index c3e53cc..a1e2ef8 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java @@ -29,6 +29,7 @@ public class GitCfg { public String commitMessage = "Published release/" + COMMIT_MESSAGE_VERSION; public String remote = "origin"; public String branch = "main"; + public boolean disableStrictHostKeyChecking = false; /** Returns an api configured with this config. */ public GitActions withChangelog(File changelogFile, ChangelogAndNext model) throws IOException { diff --git a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java index 722330c..774764c 100644 --- a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java +++ b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java @@ -172,6 +172,20 @@ public void setAppendDashSnapshotUnless_dashPrelease(boolean appendSnapshot) { } } + /** + * If you set this to true, then the ssh host key checking over ssh:// remotes will be disabled. + * By default strict host key checking is enabled. Make sure that there is an entry + * in the know_hosts file for given ssh remote. + * You can add `-PsshDisableStrictHostKeyChecking=true` to the gradle command. + * Note: this command line parameter overrides buildscript setting. + * In your buildscript you can disable checking with `sshDisableStrictHostKeyChecking = true` + */ + public void setSshDisableStrictHostKeyChecking(boolean disableStrictHostKeyChecking) { + gitCfg.disableStrictHostKeyChecking = project.getRootProject().hasProperty("sshDisableStrictHostKeyChecking") + ? Boolean.parseBoolean((String) project.getRootProject().property("sshDisableStrictHostKeyChecking")) + : disableStrictHostKeyChecking; + } + // tag and push /** Default value is `release/` */ public void tagPrefix(String tagPrefix) { From 5a54ab4c3f30744ee7a43cacc442089393c7d50e Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Mon, 29 Mar 2021 21:22:36 +0200 Subject: [PATCH 5/7] README.md updated --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 78d50b9..600463c 100644 --- a/README.md +++ b/README.md @@ -173,6 +173,9 @@ spotlessChangelog { // all defaults commitMessage 'Published release/{{version}}' // {{version}} will be replaced remote 'origin' branch 'main' + // default value is false, but if you set it to true, then it will + // disable ssh host key checking (.ssh/known_hosts) + sshDisableStrictHostKeyChecking false } // last version parsed from changelog From b24b109b13cfc584998ac9621658a45ce3855cc2 Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Mon, 29 Mar 2021 23:21:56 +0200 Subject: [PATCH 6/7] cleanup --- README.md | 3 ++- .../spotless/changelog/GitActions.java | 2 +- .../diffplug/spotless/changelog/GitCfg.java | 2 +- .../changelog/gradle/ChangelogExtension.java | 19 ++++++++----------- .../changelog/gradle/ChangelogPlugin.java | 3 ++- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 600463c..f7126e6 100644 --- a/README.md +++ b/README.md @@ -174,7 +174,8 @@ spotlessChangelog { // all defaults remote 'origin' branch 'main' // default value is false, but if you set it to true, then it will - // disable ssh host key checking (.ssh/known_hosts) + // disable ssh host key checking (.ssh/known_hosts). + // Can also set by command line arg `-PsshDisableStrictHostKeyChecking`. sshDisableStrictHostKeyChecking false } diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java index 6fef980..61a1e67 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java @@ -73,7 +73,7 @@ public void checkCanPush() throws GitAPIException, IOException { } push(cfg.branch, RemoteRefUpdate.Status.UP_TO_DATE); } catch (GitAPIException e) { - throw new IllegalArgumentException("You can set user/pass with any of these environment variables: " + envVars(), e); + throw new IllegalArgumentException("You can set user/pass with any of these environment variables: " + envVars() + ", or try -PsshDisableStrictHostKeyChecking on ssh remotes", e); } } diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java index a1e2ef8..4fae887 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019-2020 DiffPlug + * Copyright (C) 2019-2021 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java index 774764c..2e745e4 100644 --- a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java +++ b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019-2020 DiffPlug + * Copyright (C) 2019-2021 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -54,7 +54,7 @@ public ChangelogExtension(Project project) { /** * Parses the changelog and calculates the next version. Once this * has been done, the user can't change the configuration at all. - * Use {@link #assertNotCalculatedYet()} on every mutation to check for this. + * Use {@link #assertNotCalculatedYet()} on every mutation to check for this. */ ChangelogAndNext model() { if (model == null) { @@ -123,7 +123,7 @@ public void versionSchema(Class functionClass) th * If any of these strings are found in the `## [Unreleased]` section, then the * next version will bump the `added` place in `breaking.added.fixed` (unless * overruled by `ifFoundBumpBreaking`). - * + * * Default value is `['### Added']` */ public void ifFoundBumpAdded(List toFind) { @@ -139,7 +139,7 @@ public void ifFoundBumpAdded(String... toFind) { /** * If any of these strings are found in the `## [Unreleased]` section, then the * next version will bump the `breaking` place in `breaking.added.fixed`. - * + * * Default value is `['**BREAKING**']`. */ public void ifFoundBumpBreaking(List toFind) { @@ -163,7 +163,7 @@ public void forceNextVersion(String forceNextVersion) { * appended to the end, unless you add `-Prelease=true` to the gradle command line. * Essentially, it asks like a gun safety where all versions are nerfed to `-SNAPSHOT`, * until you allow a release by adding `-Prelease`. - * + * * Enabling this mode should look like this in your buildscript: `appendDashSnapshotUnless_dashPrelease=true` */ public void setAppendDashSnapshotUnless_dashPrelease(boolean appendSnapshot) { @@ -175,15 +175,12 @@ public void setAppendDashSnapshotUnless_dashPrelease(boolean appendSnapshot) { /** * If you set this to true, then the ssh host key checking over ssh:// remotes will be disabled. * By default strict host key checking is enabled. Make sure that there is an entry - * in the know_hosts file for given ssh remote. - * You can add `-PsshDisableStrictHostKeyChecking=true` to the gradle command. - * Note: this command line parameter overrides buildscript setting. + * in know_hosts file for given ssh remote. + * You can also add `-PsshDisableStrictHostKeyChecking` to the gradle command. * In your buildscript you can disable checking with `sshDisableStrictHostKeyChecking = true` */ public void setSshDisableStrictHostKeyChecking(boolean disableStrictHostKeyChecking) { - gitCfg.disableStrictHostKeyChecking = project.getRootProject().hasProperty("sshDisableStrictHostKeyChecking") - ? Boolean.parseBoolean((String) project.getRootProject().property("sshDisableStrictHostKeyChecking")) - : disableStrictHostKeyChecking; + gitCfg.disableStrictHostKeyChecking = disableStrictHostKeyChecking; } // tag and push diff --git a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java index 128d235..35c2a89 100644 --- a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java +++ b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019-2020 DiffPlug + * Copyright (C) 2019-2021 DiffPlug * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -46,6 +46,7 @@ public void apply(Project project) { ChangelogExtension extension = project.getExtensions().create(ChangelogExtension.NAME, ChangelogExtension.class, project); project.getTasks().register(PrintTask.NAME, PrintTask.class, extension); + extension.gitCfg.disableStrictHostKeyChecking = project.getRootProject().findProperty("sshDisableStrictHostKeyChecking") != null; TaskProvider check = project.getTasks().register(CheckTask.NAME, CheckTask.class, extension); TaskProvider bump = project.getTasks().register(BumpTask.NAME, BumpTask.class, extension); From bbc06ba433be9bdd2e87724058d21123d30320ac Mon Sep 17 00:00:00 2001 From: Christian Aye Date: Tue, 30 Mar 2021 08:32:15 +0200 Subject: [PATCH 7/7] rename sshDisableStrictHostKeyChecking to sshStrictHostKeyChecking --- README.md | 5 ++--- .../com/diffplug/spotless/changelog/GitActions.java | 4 ++-- .../java/com/diffplug/spotless/changelog/GitCfg.java | 2 +- .../changelog/gradle/ChangelogExtension.java | 12 ++++++------ .../spotless/changelog/gradle/ChangelogPlugin.java | 4 +++- 5 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index f7126e6..8023047 100644 --- a/README.md +++ b/README.md @@ -173,10 +173,9 @@ spotlessChangelog { // all defaults commitMessage 'Published release/{{version}}' // {{version}} will be replaced remote 'origin' branch 'main' - // default value is false, but if you set it to true, then it will + // default value is `yes`, but if you set it to `no`, then it will // disable ssh host key checking (.ssh/known_hosts). - // Can also set by command line arg `-PsshDisableStrictHostKeyChecking`. - sshDisableStrictHostKeyChecking false + sshStrictHostKeyChecking "yes" // can override with `-PsshStrictHostKeyChecking=no` } // last version parsed from changelog diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java index 61a1e67..8b36f77 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitActions.java @@ -73,7 +73,7 @@ public void checkCanPush() throws GitAPIException, IOException { } push(cfg.branch, RemoteRefUpdate.Status.UP_TO_DATE); } catch (GitAPIException e) { - throw new IllegalArgumentException("You can set user/pass with any of these environment variables: " + envVars() + ", or try -PsshDisableStrictHostKeyChecking on ssh remotes", e); + throw new IllegalArgumentException("You can set user/pass with any of these environment variables: " + envVars() + ", or try -PsshStrictHostKeyChecking=no on ssh remotes", e); } } @@ -133,7 +133,7 @@ private void push(Consumer cmd, RemoteRefUpdate.Status expected) th sshTransport.setSshSessionFactory(new JschConfigSessionFactory() { @Override protected void configure(OpenSshConfig.Host host, Session session) { - session.setConfig("StrictHostKeyChecking", cfg.disableStrictHostKeyChecking ? "no" : "yes"); + session.setConfig("StrictHostKeyChecking", cfg.sshStrictHostKeyChecking); } }); }); diff --git a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java index 4fae887..f160c46 100644 --- a/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java +++ b/spotless-changelog-lib/src/main/java/com/diffplug/spotless/changelog/GitCfg.java @@ -29,7 +29,7 @@ public class GitCfg { public String commitMessage = "Published release/" + COMMIT_MESSAGE_VERSION; public String remote = "origin"; public String branch = "main"; - public boolean disableStrictHostKeyChecking = false; + public String sshStrictHostKeyChecking = "yes"; /** Returns an api configured with this config. */ public GitActions withChangelog(File changelogFile, ChangelogAndNext model) throws IOException { diff --git a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java index 2e745e4..15b50f5 100644 --- a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java +++ b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogExtension.java @@ -173,14 +173,14 @@ public void setAppendDashSnapshotUnless_dashPrelease(boolean appendSnapshot) { } /** - * If you set this to true, then the ssh host key checking over ssh:// remotes will be disabled. - * By default strict host key checking is enabled. Make sure that there is an entry + * If you set this to `no`, then the ssh host key checking over ssh:// remotes will be disabled. + * By default strict host key checking is `yes`. Make sure that there is an entry * in know_hosts file for given ssh remote. - * You can also add `-PsshDisableStrictHostKeyChecking` to the gradle command. - * In your buildscript you can disable checking with `sshDisableStrictHostKeyChecking = true` + * You can also add `-PsshStrictHostKeyChecking=no` to the gradle command. + * In your buildscript you can disable checking with `sshStrictHostKeyChecking = "no"` */ - public void setSshDisableStrictHostKeyChecking(boolean disableStrictHostKeyChecking) { - gitCfg.disableStrictHostKeyChecking = disableStrictHostKeyChecking; + public void setSshStrictHostKeyChecking(String sshStrictHostKeyChecking) { + gitCfg.sshStrictHostKeyChecking = sshStrictHostKeyChecking; } // tag and push diff --git a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java index 35c2a89..897419f 100644 --- a/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java +++ b/spotless-changelog-plugin-gradle/src/main/java/com/diffplug/spotless/changelog/gradle/ChangelogPlugin.java @@ -46,7 +46,9 @@ public void apply(Project project) { ChangelogExtension extension = project.getExtensions().create(ChangelogExtension.NAME, ChangelogExtension.class, project); project.getTasks().register(PrintTask.NAME, PrintTask.class, extension); - extension.gitCfg.disableStrictHostKeyChecking = project.getRootProject().findProperty("sshDisableStrictHostKeyChecking") != null; + if (project.getRootProject().hasProperty("sshStrictHostKeyChecking")) { + extension.gitCfg.sshStrictHostKeyChecking = (String) project.getRootProject().findProperty("sshStrictHostKeyChecking"); + } TaskProvider check = project.getTasks().register(CheckTask.NAME, CheckTask.class, extension); TaskProvider bump = project.getTasks().register(BumpTask.NAME, BumpTask.class, extension);