From 3f857fec04bcc54b6be1814f46e000a0643eb310 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Thu, 2 Jul 2020 07:02:51 +0200 Subject: [PATCH] rename UnixAutoConfigurator to PosixAutoConfigurator and make it match for linux systems --- .../scm/autoconfig/AutoConfigurator.java | 18 ++++++++++-------- ...urator.java => PosixAutoConfigurator.java} | 8 ++++---- ...st.java => PosixAutoConfiguratorTest.java} | 19 +++++++++---------- 3 files changed, 23 insertions(+), 22 deletions(-) rename scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/{UnixAutoConfigurator.java => PosixAutoConfigurator.java} (95%) rename scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/{UnixAutoConfiguratorTest.java => PosixAutoConfiguratorTest.java} (90%) diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/AutoConfigurator.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/AutoConfigurator.java index ddaa332506..534166b4ad 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/AutoConfigurator.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/AutoConfigurator.java @@ -24,6 +24,7 @@ package sonia.scm.autoconfig; +import sonia.scm.Platform; import sonia.scm.repository.HgConfig; import sonia.scm.util.SystemUtil; @@ -32,16 +33,17 @@ import java.util.Optional; public interface AutoConfigurator { - static Optional get() { - // at the moment we have only support for unix based systems. - if (SystemUtil.isUnix()) { - return Optional.of(new UnixAutoConfigurator(System.getenv())); - } - return Optional.empty(); - } - HgConfig configure(); HgConfig configure(Path hg); + static Optional get() { + // at the moment we have only support for posix based systems + Platform platform = SystemUtil.getPlatform(); + if (platform.isPosix()) { + return Optional.of(new PosixAutoConfigurator(System.getenv())); + } + return Optional.empty(); + } + } diff --git a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/UnixAutoConfigurator.java b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/PosixAutoConfigurator.java similarity index 95% rename from scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/UnixAutoConfigurator.java rename to scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/PosixAutoConfigurator.java index b24aaf3334..ff27fa6af1 100644 --- a/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/UnixAutoConfigurator.java +++ b/scm-plugins/scm-hg-plugin/src/main/java/sonia/scm/autoconfig/PosixAutoConfigurator.java @@ -48,9 +48,9 @@ import java.util.Map; import java.util.Optional; import java.util.Set; -public class UnixAutoConfigurator implements AutoConfigurator { +public class PosixAutoConfigurator implements AutoConfigurator { - private static final Logger LOG = LoggerFactory.getLogger(UnixAutoConfigurator.class); + private static final Logger LOG = LoggerFactory.getLogger(PosixAutoConfigurator.class); private static final List ADDITIONAL_PATH = ImmutableList.of( "/usr/bin", @@ -72,11 +72,11 @@ public class UnixAutoConfigurator implements AutoConfigurator { return process.getInputStream(); }; - UnixAutoConfigurator(Map env) { + PosixAutoConfigurator(Map env) { this(env, ADDITIONAL_PATH); } - UnixAutoConfigurator(Map env, List additionalPaths) { + PosixAutoConfigurator(Map env, List additionalPaths) { String path = env.getOrDefault("PATH", ""); fsPaths = new LinkedHashSet<>(); fsPaths.addAll(Splitter.on(File.pathSeparator).splitToList(path)); diff --git a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/UnixAutoConfiguratorTest.java b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/PosixAutoConfiguratorTest.java similarity index 90% rename from scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/UnixAutoConfiguratorTest.java rename to scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/PosixAutoConfiguratorTest.java index d3abc89d2f..2eaf69c94f 100644 --- a/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/UnixAutoConfiguratorTest.java +++ b/scm-plugins/scm-hg-plugin/src/test/java/sonia/scm/autoconfig/PosixAutoConfiguratorTest.java @@ -27,7 +27,6 @@ package sonia.scm.autoconfig; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; -import org.assertj.core.util.Strings; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.io.TempDir; import sonia.scm.repository.HgConfig; @@ -43,7 +42,7 @@ import java.util.Map; import static org.assertj.core.api.Assertions.assertThat; -class UnixAutoConfiguratorTest { +class PosixAutoConfiguratorTest { @Test void shouldConfigureWithShebangPath(@TempDir Path directory) throws IOException { @@ -53,15 +52,15 @@ class UnixAutoConfiguratorTest { Files.write(hg, ("#!" + python.toAbsolutePath().toString()).getBytes(StandardCharsets.UTF_8)); Files.createFile(python); - UnixAutoConfigurator configurator = create(directory); + PosixAutoConfigurator configurator = create(directory); HgConfig config = configurator.configure(); assertThat(config.getHgBinary()).isEqualTo(hg.toString()); assertThat(config.getPythonBinary()).isEqualTo(python.toString()); } - private UnixAutoConfigurator create(@TempDir Path directory) { - return new UnixAutoConfigurator(createEnv(directory), Collections.emptyList()); + private PosixAutoConfigurator create(@TempDir Path directory) { + return new PosixAutoConfigurator(createEnv(directory), Collections.emptyList()); } private Map createEnv(Path... paths) { @@ -76,7 +75,7 @@ class UnixAutoConfiguratorTest { Files.write(hg, "#!/usr/bin/env python3.8".getBytes(StandardCharsets.UTF_8)); Files.createFile(python); - UnixAutoConfigurator configurator = create(directory); + PosixAutoConfigurator configurator = create(directory); HgConfig config = configurator.configure(); assertThat(config.getHgBinary()).isEqualTo(hg.toString()); @@ -91,7 +90,7 @@ class UnixAutoConfiguratorTest { Files.createFile(hg); Files.createFile(python); - UnixAutoConfigurator configurator = create(directory); + PosixAutoConfigurator configurator = create(directory); HgConfig config = configurator.configure(); assertThat(config.getHgBinary()).isEqualTo(hg.toString()); @@ -106,7 +105,7 @@ class UnixAutoConfiguratorTest { Files.createFile(hg); Files.createFile(python); - UnixAutoConfigurator configurator = create(directory); + PosixAutoConfigurator configurator = create(directory); HgConfig config = configurator.configure(); assertThat(config.getHgBinary()).isEqualTo(hg.toString()); @@ -126,7 +125,7 @@ class UnixAutoConfiguratorTest { Files.createFile(hg); Files.createFile(python); - UnixAutoConfigurator configurator = new UnixAutoConfigurator( + PosixAutoConfigurator configurator = new PosixAutoConfigurator( createEnv(def), ImmutableList.of(additional.toAbsolutePath().toString()) ); @@ -147,7 +146,7 @@ class UnixAutoConfiguratorTest { Path mercurialModule = modules.resolve("mercurial"); Files.createDirectories(mercurialModule); - UnixAutoConfigurator configurator = create(directory); + PosixAutoConfigurator configurator = create(directory); configurator.setExecutor((Path binary, String... args) -> { String content = String.join("\n", "checking Python executable (/python3.8)",