From 23a8bb841bcb6c6372a187e8575c1b1a2918cddb Mon Sep 17 00:00:00 2001 From: Andres Almiray Date: Sun, 4 Jul 2021 21:27:11 +0200 Subject: [PATCH] [git] Let the default remote name be configurable. Resolves #248 --- .../src/main/java/org/jreleaser/sdk/git/GitSdk.java | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sdks/git-sdk/src/main/java/org/jreleaser/sdk/git/GitSdk.java b/sdks/git-sdk/src/main/java/org/jreleaser/sdk/git/GitSdk.java index 51ece9e5..6a45ce92 100644 --- a/sdks/git-sdk/src/main/java/org/jreleaser/sdk/git/GitSdk.java +++ b/sdks/git-sdk/src/main/java/org/jreleaser/sdk/git/GitSdk.java @@ -30,6 +30,7 @@ import org.eclipse.jgit.transport.URIish; import org.jreleaser.model.JReleaserContext; import org.jreleaser.model.releaser.spi.Commit; import org.jreleaser.model.releaser.spi.Repository; +import org.jreleaser.util.Env; import java.io.File; import java.io.IOException; @@ -37,6 +38,8 @@ import java.nio.file.Path; import java.util.Comparator; import java.util.List; +import static org.jreleaser.util.StringUtils.isBlank; + /** * @author Andres Almiray * @since 0.1.0 @@ -74,16 +77,20 @@ public class GitSdk { public Repository getRemote() throws IOException { Git git = open(); + String remoteName = Env.resolve("DEFAULT_GIT_REMOTE", ""); + if (isBlank(remoteName)) remoteName = "origin"; + String remote = remoteName; + try { RemoteConfig remoteConfig = git.remoteList().call().stream() - .filter(rc -> "origin".equals(rc.getName())) + .filter(rc -> remote.equals(rc.getName())) .findFirst() - .orElseThrow(() -> new IOException("repository doesn't have an 'origin' remote")); + .orElseThrow(() -> new IOException("repository doesn't have a remote named '" + remote + "'")); List uris = remoteConfig.getURIs(); if (uris.isEmpty()) { // better be safe than sorry - throw new IOException("'origin' remote does not have a configured URL"); + throw new IOException("'" + remote + "' remote does not have a configured URL"); } // grab the first one