mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-11-22 07:30:24 +00:00
Separate shell init commands not into lines anymore
This should improve any script requirement issues.
This commit is contained in:
parent
ffe2326e7f
commit
ff27f54535
4 changed files with 16 additions and 18 deletions
|
@ -279,7 +279,7 @@ final class OpenFileSystemModel {
|
|||
if (store.getValue() instanceof ShellStore s) {
|
||||
var connection = ((ConnectionFileSystem) fileSystem).getShellControl();
|
||||
var command = s.create()
|
||||
.initWith(List.of(connection.getShellDialect().getCdCommand(directory)))
|
||||
.initWith(connection.getShellDialect().getCdCommand(directory))
|
||||
.prepareTerminalOpen();
|
||||
TerminalHelper.open(directory, command);
|
||||
}
|
||||
|
|
|
@ -67,6 +67,8 @@ public interface ShellControl extends ProcessControl {
|
|||
|
||||
ShellControl elevationPassword(SecretValue value);
|
||||
|
||||
ShellControl initWith(String cmds);
|
||||
|
||||
ShellControl initWith(List<String> cmds);
|
||||
|
||||
ShellControl startTimeout(int ms);
|
||||
|
|
|
@ -35,7 +35,7 @@ public class XPipeSession {
|
|||
return;
|
||||
}
|
||||
|
||||
var sessionFile = XPipeTempDirectory.getLocal().resolve("xpipe_session");
|
||||
var sessionFile = Path.of(System.getProperty("java.io.tmpdir")).resolve("xpipe_session");
|
||||
var isNewSystemSession = !Files.exists(sessionFile);
|
||||
var systemSessionId = isNewSystemSession
|
||||
? UUID.randomUUID()
|
||||
|
|
|
@ -5,36 +5,32 @@ import io.xpipe.core.process.OsType;
|
|||
import io.xpipe.core.process.ShellControl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
|
||||
public class XPipeTempDirectory {
|
||||
|
||||
public static Path getLocal() {
|
||||
if (OsType.getLocal().equals(OsType.WINDOWS)) {
|
||||
return Path.of(System.getenv("TEMP")).resolve("xpipe");
|
||||
} else if (OsType.getLocal().equals(OsType.LINUX)) {
|
||||
return Path.of("/tmp/xpipe");
|
||||
} else {
|
||||
return Path.of(System.getenv("TMPDIR"), "xpipe");
|
||||
}
|
||||
public static String getSystemTempDirectory(ShellControl proc) throws Exception {
|
||||
return proc.getOsType().getTempDirectory(proc);
|
||||
}
|
||||
|
||||
public static String get(ShellControl proc) throws Exception {
|
||||
public static String getSubDirectory(ShellControl proc) throws Exception {
|
||||
var base = proc.getOsType().getTempDirectory(proc);
|
||||
var dir = FileNames.join(base, "xpipe");
|
||||
|
||||
proc.executeSimpleCommand(proc.getShellDialect().getMkdirsCommand(dir),
|
||||
if (!proc.getShellDialect().createFileExistsCommand(proc, dir).executeAndCheck()) {
|
||||
proc.executeSimpleCommand(
|
||||
proc.getShellDialect().getMkdirsCommand(dir),
|
||||
"Unable to access or create temporary directory " + dir);
|
||||
|
||||
if (proc.getOsType().equals(OsType.LINUX) || proc.getOsType().equals(OsType.MACOS)) {
|
||||
proc.executeSimpleCommand("chmod -f 777 \"" + dir + "\"");
|
||||
}
|
||||
}
|
||||
|
||||
return dir;
|
||||
}
|
||||
|
||||
public static void clear(ShellControl proc) throws Exception {
|
||||
var dir = get(proc);
|
||||
public static void clearSubDirectory(ShellControl proc) throws Exception {
|
||||
var dir = getSubDirectory(proc);
|
||||
if (!proc.executeBooleanSimpleCommand(proc.getShellDialect().getFileDeleteCommand(dir))) {
|
||||
throw new IOException("Unable to delete temporary directory " + dir);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue