mirror of
https://github.com/scm-manager/scm-manager.git
synced 2026-03-05 11:50:58 +01:00
rename UnixAutoConfigurator to PosixAutoConfigurator and make it match for linux systems
This commit is contained in:
@@ -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<AutoConfigurator> 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<AutoConfigurator> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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<String> ADDITIONAL_PATH = ImmutableList.of(
|
||||
"/usr/bin",
|
||||
@@ -72,11 +72,11 @@ public class UnixAutoConfigurator implements AutoConfigurator {
|
||||
return process.getInputStream();
|
||||
};
|
||||
|
||||
UnixAutoConfigurator(Map<String, String> env) {
|
||||
PosixAutoConfigurator(Map<String, String> env) {
|
||||
this(env, ADDITIONAL_PATH);
|
||||
}
|
||||
|
||||
UnixAutoConfigurator(Map<String, String> env, List<String> additionalPaths) {
|
||||
PosixAutoConfigurator(Map<String, String> env, List<String> additionalPaths) {
|
||||
String path = env.getOrDefault("PATH", "");
|
||||
fsPaths = new LinkedHashSet<>();
|
||||
fsPaths.addAll(Splitter.on(File.pathSeparator).splitToList(path));
|
||||
@@ -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<String, String> 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)",
|
||||
Reference in New Issue
Block a user