diff --git a/app/src/main/java/io/xpipe/app/action/ActionConfigComp.java b/app/src/main/java/io/xpipe/app/action/ActionConfigComp.java index cd026ffe4..b70e42b73 100644 --- a/app/src/main/java/io/xpipe/app/action/ActionConfigComp.java +++ b/app/src/main/java/io/xpipe/app/action/ActionConfigComp.java @@ -11,7 +11,7 @@ import io.xpipe.app.hub.comp.StoreListChoiceComp; import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.*; import javafx.collections.FXCollections; diff --git a/app/src/main/java/io/xpipe/app/action/ActionConfirmComp.java b/app/src/main/java/io/xpipe/app/action/ActionConfirmComp.java index bc4991dd8..3d1a2d56e 100644 --- a/app/src/main/java/io/xpipe/app/action/ActionConfirmComp.java +++ b/app/src/main/java/io/xpipe/app/action/ActionConfirmComp.java @@ -9,7 +9,7 @@ import io.xpipe.app.hub.comp.StoreListChoiceComp; import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.SimpleListProperty; import javafx.collections.FXCollections; diff --git a/app/src/main/java/io/xpipe/app/action/ActionJacksonMapper.java b/app/src/main/java/io/xpipe/app/action/ActionJacksonMapper.java index f579bb22b..403962bfe 100644 --- a/app/src/main/java/io/xpipe/app/action/ActionJacksonMapper.java +++ b/app/src/main/java/io/xpipe/app/action/ActionJacksonMapper.java @@ -3,8 +3,8 @@ package io.xpipe.app.action; import io.xpipe.app.hub.action.BatchStoreAction; import io.xpipe.app.hub.action.MultiStoreAction; import io.xpipe.app.hub.action.StoreAction; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; diff --git a/app/src/main/java/io/xpipe/app/action/ActionProvider.java b/app/src/main/java/io/xpipe/app/action/ActionProvider.java index d2e9e88a4..054e4214d 100644 --- a/app/src/main/java/io/xpipe/app/action/ActionProvider.java +++ b/app/src/main/java/io/xpipe/app/action/ActionProvider.java @@ -1,13 +1,9 @@ package io.xpipe.app.action; import io.xpipe.app.ext.DataStoreProviders; -import io.xpipe.app.hub.action.BatchHubProvider; -import io.xpipe.app.hub.action.HubBranchProvider; -import io.xpipe.app.hub.action.HubLeafProvider; -import io.xpipe.app.hub.action.HubMenuItemProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import java.util.*; diff --git a/app/src/main/java/io/xpipe/app/action/ActionUrls.java b/app/src/main/java/io/xpipe/app/action/ActionUrls.java index 578546885..4ad8f9579 100644 --- a/app/src/main/java/io/xpipe/app/action/ActionUrls.java +++ b/app/src/main/java/io/xpipe/app/action/ActionUrls.java @@ -1,9 +1,9 @@ package io.xpipe.app.action; import io.xpipe.app.storage.DataStorage; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.UuidHelper; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.UuidHelper; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.JsonNode; diff --git a/app/src/main/java/io/xpipe/app/action/SerializableAction.java b/app/src/main/java/io/xpipe/app/action/SerializableAction.java index 33a3166cd..5d85ceac5 100644 --- a/app/src/main/java/io/xpipe/app/action/SerializableAction.java +++ b/app/src/main/java/io/xpipe/app/action/SerializableAction.java @@ -1,7 +1,7 @@ package io.xpipe.app.action; import io.xpipe.app.util.DataStoreFormatter; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.ObjectNode; diff --git a/app/src/main/java/io/xpipe/app/beacon/AppBeaconServer.java b/app/src/main/java/io/xpipe/app/beacon/AppBeaconServer.java index 1ed7dbc45..ad042299b 100644 --- a/app/src/main/java/io/xpipe/app/beacon/AppBeaconServer.java +++ b/app/src/main/java/io/xpipe/app/beacon/AppBeaconServer.java @@ -5,8 +5,8 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.DocumentationLink; import io.xpipe.beacon.BeaconConfig; import io.xpipe.beacon.BeaconInterface; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeInstallation; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpServer; diff --git a/app/src/main/java/io/xpipe/app/beacon/BeaconRequestHandler.java b/app/src/main/java/io/xpipe/app/beacon/BeaconRequestHandler.java index 8fc5a1ddc..aaa0284d4 100644 --- a/app/src/main/java/io/xpipe/app/beacon/BeaconRequestHandler.java +++ b/app/src/main/java/io/xpipe/app/beacon/BeaconRequestHandler.java @@ -6,7 +6,7 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.ThreadHelper; import io.xpipe.beacon.*; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.sun.net.httpserver.HttpExchange; import com.sun.net.httpserver.HttpHandler; diff --git a/app/src/main/java/io/xpipe/app/beacon/BeaconShellSession.java b/app/src/main/java/io/xpipe/app/beacon/BeaconShellSession.java index 6bc7c891a..36eb55982 100644 --- a/app/src/main/java/io/xpipe/app/beacon/BeaconShellSession.java +++ b/app/src/main/java/io/xpipe/app/beacon/BeaconShellSession.java @@ -1,7 +1,7 @@ package io.xpipe.app.beacon; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/AskpassExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/AskpassExchangeImpl.java index 4c35b398a..7f93dc53a 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/AskpassExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/AskpassExchangeImpl.java @@ -5,7 +5,7 @@ import io.xpipe.app.terminal.TerminalView; import io.xpipe.app.util.*; import io.xpipe.beacon.BeaconClientException; import io.xpipe.beacon.api.AskpassExchange; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import javafx.beans.property.SimpleStringProperty; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/CategoryInfoExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/CategoryInfoExchangeImpl.java index 53f65117d..b9ca1e79e 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/CategoryInfoExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/CategoryInfoExchangeImpl.java @@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl; import io.xpipe.app.storage.DataStorage; import io.xpipe.beacon.BeaconClientException; import io.xpipe.beacon.api.CategoryInfoExchange; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.sun.net.httpserver.HttpExchange; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionAddExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionAddExchangeImpl.java index dcc322a6c..65a156700 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionAddExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionAddExchangeImpl.java @@ -1,5 +1,6 @@ package io.xpipe.app.beacon.impl; +import io.xpipe.app.ext.DataStore; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; @@ -8,19 +9,24 @@ import io.xpipe.beacon.api.ConnectionAddExchange; import io.xpipe.app.ext.ValidationException; import com.sun.net.httpserver.HttpExchange; +import io.xpipe.core.JacksonMapper; public class ConnectionAddExchangeImpl extends ConnectionAddExchange { @Override public Object handle(HttpExchange exchange, Request msg) throws Throwable { - var found = DataStorage.get().getStoreEntryIfPresent(msg.getData(), false); + var store = JacksonMapper.getDefault().treeToValue(msg.getData(), DataStore.class); + if (store == null) { + throw new BeaconClientException("Unable to parse store data into valid store"); + } + + var found = DataStorage.get().getStoreEntryIfPresent(store, false); if (found.isEmpty()) { found = DataStorage.get().getStoreEntryIfPresent(msg.getName()); } if (found.isPresent()) { - var data = msg.getData(); - found.get().setStoreInternal(data, true); + found.get().setStoreInternal(store, true); return Response.builder().connection(found.get().getUuid()).build(); } @@ -31,7 +37,7 @@ public class ConnectionAddExchangeImpl extends ConnectionAddExchange { throw new BeaconClientException("Category with id " + msg.getCategory() + " does not exist"); } - var entry = DataStoreEntry.createNew(msg.getName(), msg.getData()); + var entry = DataStoreEntry.createNew(msg.getName(), store); if (msg.getCategory() != null) { entry.setCategoryUuid(msg.getCategory()); } diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionInfoExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionInfoExchangeImpl.java index a7e519bf9..9eba3836a 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionInfoExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/ConnectionInfoExchangeImpl.java @@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl; import io.xpipe.app.storage.DataStorage; import io.xpipe.beacon.BeaconClientException; import io.xpipe.beacon.api.ConnectionInfoExchange; -import io.xpipe.core.store.StorePath; +import io.xpipe.core.StorePath; import com.sun.net.httpserver.HttpExchange; import org.apache.commons.lang3.ClassUtils; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/DaemonOpenExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/DaemonOpenExchangeImpl.java index 0ff4917f7..45b1baed5 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/DaemonOpenExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/DaemonOpenExchangeImpl.java @@ -5,7 +5,7 @@ import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.util.PlatformInit; import io.xpipe.beacon.BeaconServerException; import io.xpipe.beacon.api.DaemonOpenExchange; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import com.sun.net.httpserver.HttpExchange; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/SecretEncryptExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/SecretEncryptExchangeImpl.java index e073538d1..ceee66979 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/SecretEncryptExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/SecretEncryptExchangeImpl.java @@ -2,7 +2,7 @@ package io.xpipe.app.beacon.impl; import io.xpipe.app.storage.DataStorageSecret; import io.xpipe.beacon.api.SecretEncryptExchange; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import com.sun.net.httpserver.HttpExchange; diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/ShellStartExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/ShellStartExchangeImpl.java index e9456fd45..286c7b880 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/ShellStartExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/ShellStartExchangeImpl.java @@ -8,6 +8,7 @@ import io.xpipe.beacon.BeaconClientException; import io.xpipe.beacon.api.ShellStartExchange; import com.sun.net.httpserver.HttpExchange; +import io.xpipe.core.JacksonMapper; import lombok.SneakyThrows; public class ShellStartExchangeImpl extends ShellStartExchange { @@ -41,11 +42,11 @@ public class ShellStartExchangeImpl extends ShellStartExchange { AppBeaconServer.get().getCache().getShellSessions().add(new BeaconShellSession(e, control)); } return Response.builder() - .shellDialect(control.getShellDialect()) + .shellDialect(control.getShellDialect().getId()) .osType(control.getOsType()) .osName(control.getOsName()) .temp(control.getSystemTemporaryDirectory()) - .ttyState(control.getTtyState()) + .ttyState(JacksonMapper.getDefault().writeValueAsString(control.getTtyState())) .build(); } } diff --git a/app/src/main/java/io/xpipe/app/beacon/impl/SshLaunchExchangeImpl.java b/app/src/main/java/io/xpipe/app/beacon/impl/SshLaunchExchangeImpl.java index c287553d7..4ec0fc4ab 100644 --- a/app/src/main/java/io/xpipe/app/beacon/impl/SshLaunchExchangeImpl.java +++ b/app/src/main/java/io/xpipe/app/beacon/impl/SshLaunchExchangeImpl.java @@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.terminal.TerminalLauncherManager; import io.xpipe.beacon.api.SshLaunchExchange; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.app.process.ShellDialects; import com.sun.net.httpserver.HttpExchange; diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionComp.java index 3ca5f8596..315c07fc4 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionComp.java @@ -17,8 +17,8 @@ import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.FileReference; import io.xpipe.app.util.PlatformThread; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionModel.java index 957694ad1..b43ab52f0 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserFileChooserSessionModel.java @@ -6,9 +6,9 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.FileReference; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; +import io.xpipe.core.FailableFunction; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserFullSessionModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserFullSessionModel.java index 604943b76..4b707dce3 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserFullSessionModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserFullSessionModel.java @@ -9,9 +9,9 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; +import io.xpipe.core.FailableFunction; import javafx.beans.binding.Bindings; import javafx.beans.property.BooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserStoreSessionTab.java b/app/src/main/java/io/xpipe/app/browser/BrowserStoreSessionTab.java index 97596af1e..f45333b12 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserStoreSessionTab.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserStoreSessionTab.java @@ -4,7 +4,7 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreColor; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/action/BrowserAction.java b/app/src/main/java/io/xpipe/app/browser/action/BrowserAction.java index 980d7e216..3b5bceed8 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/BrowserAction.java +++ b/app/src/main/java/io/xpipe/app/browser/action/BrowserAction.java @@ -6,8 +6,8 @@ import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.core.AppLayoutModel; import io.xpipe.app.hub.action.StoreAction; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/BrowseInNativeManagerActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/BrowseInNativeManagerActionProvider.java index cb26969e8..09faf3494 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/BrowseInNativeManagerActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/BrowseInNativeManagerActionProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.util.DesktopHelper; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/ChgrpActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/ChgrpActionProvider.java index 3919d5b5a..ee3010ae9 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/ChgrpActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/ChgrpActionProvider.java @@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/ChmodActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/ChmodActionProvider.java index e4a76492c..a30035a7a 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/ChmodActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/ChmodActionProvider.java @@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/ChownActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/ChownActionProvider.java index e6d9433b9..d2b5ec48b 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/ChownActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/ChownActionProvider.java @@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/ComputeDirectorySizesActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/ComputeDirectorySizesActionProvider.java index 985a64eda..df0be394f 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/ComputeDirectorySizesActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/ComputeDirectorySizesActionProvider.java @@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/MoveFileActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/MoveFileActionProvider.java index 80b5be997..796532813 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/MoveFileActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/MoveFileActionProvider.java @@ -2,7 +2,7 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/NewDirectoryActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/NewDirectoryActionProvider.java index 1df184799..e8f7c11e1 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/NewDirectoryActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/NewDirectoryActionProvider.java @@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/NewFileActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/NewFileActionProvider.java index 22572b9b9..524d08931 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/NewFileActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/NewFileActionProvider.java @@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/NewLinkActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/NewLinkActionProvider.java index 17d3b1ae9..f066fa211 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/NewLinkActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/NewLinkActionProvider.java @@ -3,8 +3,8 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenDirectoryActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenDirectoryActionProvider.java index 387d06313..db5d80a61 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenDirectoryActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenDirectoryActionProvider.java @@ -4,7 +4,7 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileDefaultActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileDefaultActionProvider.java index 8ef809211..5f5190f5b 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileDefaultActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileDefaultActionProvider.java @@ -5,7 +5,7 @@ import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileOpener; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileNativeDetailsActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileNativeDetailsActionProvider.java index 8836f301f..e6571f2d0 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileNativeDetailsActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileNativeDetailsActionProvider.java @@ -5,10 +5,10 @@ import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FileKind; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileWithActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileWithActionProvider.java index d195951b7..9b560c311 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileWithActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenFileWithActionProvider.java @@ -5,8 +5,8 @@ import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileOpener; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenTerminalActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenTerminalActionProvider.java index 918785722..058d19214 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/OpenTerminalActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/OpenTerminalActionProvider.java @@ -5,8 +5,8 @@ import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBackgroundActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBackgroundActionProvider.java index d9efc0b19..5412f054c 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBackgroundActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBackgroundActionProvider.java @@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ProcessOutputException; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ProcessOutputException; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBrowserActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBrowserActionProvider.java index 1aa928a1b..ebffa2358 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBrowserActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInBrowserActionProvider.java @@ -4,7 +4,7 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.util.CommandDialog; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInTerminalActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInTerminalActionProvider.java index 5e68fe9c6..4797819ec 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInTerminalActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/RunCommandInTerminalActionProvider.java @@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/action/impl/TransferFilesActionProvider.java b/app/src/main/java/io/xpipe/app/browser/action/impl/TransferFilesActionProvider.java index 7a312d3c2..58e302c47 100644 --- a/app/src/main/java/io/xpipe/app/browser/action/impl/TransferFilesActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/action/impl/TransferFilesActionProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.browser.file.BrowserFileTransferOperation; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.app.ext.FileSystemStore; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java index 748f408a6..5930eb408 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java @@ -4,16 +4,9 @@ import io.xpipe.app.comp.base.ModalButton; import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.window.AppDialog; -import io.xpipe.app.core.window.AppWindowHelper; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.property.SimpleObjectProperty; -import javafx.scene.control.Alert; - -import java.util.List; -import java.util.stream.Collectors; public class BrowserAlerts { diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java index 4c2dd8979..afed4d173 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserBreadcrumbBar.java @@ -1,8 +1,9 @@ package io.xpipe.app.browser.file; import io.xpipe.app.comp.SimpleComp; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.scene.Node; import javafx.scene.control.Button; @@ -64,7 +65,7 @@ public class BrowserBreadcrumbBar extends SimpleComp { return new Label(""); } - return new Label(sc.get().getOsType().getFileSystemSeparator()); + return new Label(OsFileSystem.of(sc.get().getOsType()).getFileSystemSeparator()); }); } diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserClipboard.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserClipboard.java index 4afee4563..866389244 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserClipboard.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserClipboard.java @@ -3,7 +3,7 @@ package io.xpipe.app.browser.file; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.GlobalClipboard; -import io.xpipe.core.store.FileEntry; +import io.xpipe.app.ext.FileEntry; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserEntry.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserEntry.java index 322876808..092e2f6de 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserEntry.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserEntry.java @@ -2,8 +2,8 @@ package io.xpipe.app.browser.file; import io.xpipe.app.browser.icon.BrowserIconDirectoryType; import io.xpipe.app.browser.icon.BrowserIconFileType; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java index 6863f177a..eede216ad 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListComp.java @@ -4,10 +4,10 @@ import io.xpipe.app.browser.menu.BrowserMenuProviders; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileInfo; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileInfo; +import io.xpipe.core.FileKind; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java index 59f79b11c..ac06aaa3e 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java @@ -5,7 +5,7 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.GlobalTimer; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.geometry.Point2D; import javafx.scene.Node; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListModel.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListModel.java index 6cb759f61..5472e25ad 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListModel.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListModel.java @@ -3,10 +3,10 @@ package io.xpipe.app.browser.file; import io.xpipe.app.browser.action.impl.MoveFileActionProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.OsType; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import javafx.beans.property.Property; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListNameCell.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListNameCell.java index 27309b700..cbd27aa41 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListNameCell.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListNameCell.java @@ -7,8 +7,8 @@ import io.xpipe.app.util.ContextMenuHelper; import io.xpipe.app.util.InputHelper; import io.xpipe.app.util.PlatformThread; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOpener.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOpener.java index 0ae09d3ea..89d5d1f5a 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOpener.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOpener.java @@ -3,25 +3,22 @@ package io.xpipe.app.browser.file; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.window.AppDialog; import io.xpipe.app.ext.ConnectionFileSystem; -import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.FileBridge; import io.xpipe.app.util.FileOpener; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ElevationFunction; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ProcessOutputException; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileInfo; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ElevationFunction; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ProcessOutputException; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileInfo; +import io.xpipe.core.FilePath; import lombok.SneakyThrows; -import java.io.FilterOutputStream; -import java.io.IOException; import java.io.OutputStream; import java.util.List; import java.util.Objects; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOverviewComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOverviewComp.java index 488b5159e..2426b98cd 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOverviewComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileOverviewComp.java @@ -6,7 +6,7 @@ import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.comp.augment.GrowAugment; import io.xpipe.app.comp.base.HorizontalComp; import io.xpipe.app.comp.base.ListBoxViewComp; -import io.xpipe.core.store.FileEntry; +import io.xpipe.app.ext.FileEntry; import javafx.collections.ObservableList; import javafx.geometry.Pos; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemCache.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemCache.java index 434e7ca4a..a3aa3bb09 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemCache.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemCache.java @@ -2,10 +2,10 @@ package io.xpipe.app.browser.file; import io.xpipe.app.util.PasswdFile; import io.xpipe.app.util.ShellControlCache; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialect; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHelper.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHelper.java index e3d1156ef..d6c9793b7 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHelper.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHelper.java @@ -1,8 +1,11 @@ package io.xpipe.app.browser.file; +import io.xpipe.app.ext.FileSystem; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.*; +import io.xpipe.core.OsType; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import java.time.Instant; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java index 5b368f851..6889aa6ce 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java @@ -1,6 +1,6 @@ package io.xpipe.app.browser.file; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.beans.binding.BooleanBinding; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemSavedState.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemSavedState.java index 09b288adc..34a3fb528 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemSavedState.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemSavedState.java @@ -2,8 +2,8 @@ package io.xpipe.app.browser.file; import io.xpipe.app.core.AppCache; import io.xpipe.app.util.GlobalTimer; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.FilePath; +import io.xpipe.core.JacksonMapper; import javafx.application.Platform; import javafx.collections.FXCollections; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabComp.java index 05a58b9b3..bf4fe675b 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabComp.java @@ -11,7 +11,7 @@ import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.InputHelper; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.geometry.Pos; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java index a8c751737..bcd3c15eb 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemTabModel.java @@ -8,18 +8,23 @@ import io.xpipe.app.browser.action.impl.TransferFilesActionProvider; import io.xpipe.app.browser.menu.BrowserMenuItemProvider; import io.xpipe.app.comp.Comp; import io.xpipe.app.core.window.AppMainWindow; +import io.xpipe.app.ext.FileSystem; +import io.xpipe.app.ext.FileSystemStore; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.ext.WrapperFileSystem; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.terminal.*; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.*; -import io.xpipe.core.store.*; -import io.xpipe.core.util.FailableConsumer; +import io.xpipe.core.FailableConsumer; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.*; import javafx.collections.FXCollections; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java index 8da511724..c68961898 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileTransferOperation.java @@ -1,9 +1,13 @@ package io.xpipe.app.browser.file; +import io.xpipe.app.ext.FileSystem; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.*; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import javafx.beans.property.BooleanProperty; import javafx.beans.value.ChangeListener; @@ -314,8 +318,8 @@ public class BrowserFileTransferOperation { } var sourceFile = e.getKey(); - var fixedRelPath = FilePath.of(e.getValue()) - .fileSystemCompatible(targetFs.getShell().orElseThrow().getOsType()); + var os = targetFs.getShell().orElseThrow().getOsType(); + var fixedRelPath = OsFileSystem.of(os).makeFileSystemCompatible(FilePath.of(e.getValue())); var targetFile = target.getPath().join(fixedRelPath.toString()); if (sourceFile.getFileSystem().equals(targetFs)) { throw new IllegalStateException(); diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserGreetingComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserGreetingComp.java index 261d97d36..448804f97 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserGreetingComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserGreetingComp.java @@ -5,7 +5,7 @@ import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.AppLayoutModel; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.scene.control.Label; import javafx.scene.layout.Region; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedState.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedState.java index 03bed181a..90ff71084 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedState.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedState.java @@ -1,6 +1,6 @@ package io.xpipe.app.browser.file; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.collections.ObservableList; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedStateImpl.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedStateImpl.java index 84a92ebba..672370f85 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedStateImpl.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserHistorySavedStateImpl.java @@ -1,7 +1,7 @@ package io.xpipe.app.browser.file; import io.xpipe.app.core.AppCache; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import javafx.collections.FXCollections; import javafx.collections.ObservableList; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserLocalFileSystem.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserLocalFileSystem.java index c261cdcd6..9f7027ca4 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserLocalFileSystem.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserLocalFileSystem.java @@ -1,10 +1,10 @@ package io.xpipe.app.browser.file; import io.xpipe.app.ext.LocalStore; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystem; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystem; import java.nio.file.Files; import java.nio.file.Path; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserOverviewComp.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserOverviewComp.java index 43747a824..b174ac430 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserOverviewComp.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserOverviewComp.java @@ -5,10 +5,11 @@ import io.xpipe.app.comp.base.SimpleTitledPaneComp; import io.xpipe.app.comp.base.VerticalComp; import io.xpipe.app.core.AppI18n; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.DerivedObservableList; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FileEntry; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.ext.FileEntry; import javafx.application.Platform; import javafx.collections.FXCollections; @@ -37,7 +38,7 @@ public class BrowserOverviewComp extends SimpleComp { var commonPlatform = FXCollections.synchronizedObservableList(FXCollections.observableArrayList()); ThreadHelper.runFailableAsync(() -> { - var common = sc.getOsType().determineInterestingPaths(sc).stream() + var common = OsFileSystem.of(sc.getOsType()).determineInterestingPaths(sc).stream() .map(s -> FileEntry.ofDirectory(model.getFileSystem(), s)) .filter(entry -> { var fs = model.getFileSystem(); diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserQuickAccessContextMenu.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserQuickAccessContextMenu.java index bc55c0b9a..ba5099aff 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserQuickAccessContextMenu.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserQuickAccessContextMenu.java @@ -6,8 +6,8 @@ import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.util.BooleanAnimationTimer; import io.xpipe.app.util.InputHelper; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; import javafx.application.Platform; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserTransferModel.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserTransferModel.java index 223a4133b..9c9589671 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserTransferModel.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserTransferModel.java @@ -4,11 +4,11 @@ import io.xpipe.app.browser.BrowserFullSessionModel; import io.xpipe.app.browser.action.impl.TransferFilesActionProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.DesktopHelper; import io.xpipe.app.util.ShellTemp; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.BooleanProperty; @@ -109,7 +109,7 @@ public class BrowserTransferModel { return; } - var fixedFile = entry.getRawFileEntry().getPath().fileSystemCompatible(OsType.getLocal()); + var fixedFile = OsFileSystem.ofLocal().makeFileSystemCompatible(entry.getRawFileEntry().getPath()); Path file = TEMP.resolve(fixedFile.getFileName()); var item = new Item(model, name, entry, file); items.add(item); diff --git a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconDirectoryType.java b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconDirectoryType.java index faaa8552b..990ece51c 100644 --- a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconDirectoryType.java +++ b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconDirectoryType.java @@ -1,8 +1,8 @@ package io.xpipe.app.browser.icon; import io.xpipe.app.core.AppResources; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconFileType.java b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconFileType.java index 83b6cf778..6ba92c753 100644 --- a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconFileType.java +++ b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconFileType.java @@ -1,8 +1,8 @@ package io.xpipe.app.browser.icon; import io.xpipe.app.core.AppResources; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconManager.java b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconManager.java index 6e7a4ebb9..98b54061f 100644 --- a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconManager.java +++ b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIconManager.java @@ -1,7 +1,7 @@ package io.xpipe.app.browser.icon; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; public class BrowserIconManager { diff --git a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIcons.java b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIcons.java index db265bd81..e199697e5 100644 --- a/app/src/main/java/io/xpipe/app/browser/icon/BrowserIcons.java +++ b/app/src/main/java/io/xpipe/app/browser/icon/BrowserIcons.java @@ -2,7 +2,7 @@ package io.xpipe.app.browser.icon; import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.base.PrettyImageHelper; -import io.xpipe.core.store.FileEntry; +import io.xpipe.app.ext.FileEntry; public class BrowserIcons { diff --git a/app/src/main/java/io/xpipe/app/browser/menu/MultiExecuteMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/MultiExecuteMenuProvider.java index 040c53cb1..fdae8feaa 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/MultiExecuteMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/MultiExecuteMenuProvider.java @@ -5,8 +5,8 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.core.AppI18n; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.CommandDialog; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/BrowseInNativeManagerMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/BrowseInNativeManagerMenuProvider.java index 3287cd36d..d0dfee5b0 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/BrowseInNativeManagerMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/BrowseInNativeManagerMenuProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel; import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChgrpMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChgrpMenuProvider.java index e4e52b4a4..8917d8dbc 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChgrpMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChgrpMenuProvider.java @@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChmodMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChmodMenuProvider.java index 5964295f9..4accdc3c3 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChmodMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChmodMenuProvider.java @@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChownMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChownMenuProvider.java index a796e1288..353441cc5 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/ChownMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/ChownMenuProvider.java @@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/ComputeDirectorySizesMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/ComputeDirectorySizesMenuProvider.java index 0ba0e4595..e86a1fb7e 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/ComputeDirectorySizesMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/ComputeDirectorySizesMenuProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/CopyPathMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/CopyPathMenuProvider.java index ba84d422c..d7e7db8b4 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/CopyPathMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/CopyPathMenuProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.ClipboardHelper; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/DeleteMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/DeleteMenuProvider.java index c4dd10ee2..adf9e51b8 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/DeleteMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/DeleteMenuProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/EditFileMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/EditFileMenuProvider.java index 7e10f398f..9b5e45fee 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/EditFileMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/EditFileMenuProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/FollowLinkMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/FollowLinkMenuProvider.java index bff4367c1..250ac1e7b 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/FollowLinkMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/FollowLinkMenuProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/JarMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/JarMenuProvider.java index ca8e902df..842ab33b8 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/JarMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/JarMenuProvider.java @@ -7,8 +7,8 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider; import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.FileTypeMenuProvider; import io.xpipe.app.browser.menu.MultiExecuteMenuProvider; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/JavapMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/JavapMenuProvider.java index 0f95058cc..cf584ba2e 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/JavapMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/JavapMenuProvider.java @@ -8,8 +8,8 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.browser.menu.FileTypeMenuProvider; import io.xpipe.app.util.FileOpener; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/NewItemMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/NewItemMenuProvider.java index 13ee67f10..967b7f285 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/NewItemMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/NewItemMenuProvider.java @@ -14,9 +14,9 @@ import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenDirectoryInNewTabMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenDirectoryInNewTabMenuProvider.java index 058e64643..11b1e8183 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenDirectoryInNewTabMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenDirectoryInNewTabMenuProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenFileWithMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenFileWithMenuProvider.java index 070971483..13a4d1aa2 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenFileWithMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenFileWithMenuProvider.java @@ -8,8 +8,8 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenTerminalMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenTerminalMenuProvider.java index b85e9efbc..d243c6b6c 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenTerminalMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/OpenTerminalMenuProvider.java @@ -9,8 +9,8 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/PasteMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/PasteMenuProvider.java index 9f6ae84a9..e8894b3ed 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/PasteMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/PasteMenuProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/RenameMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/RenameMenuProvider.java index bec71cf78..c7a4ae1ca 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/RenameMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/RenameMenuProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; import javafx.scene.input.KeyCode; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/RunFileMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/RunFileMenuProvider.java index a4972080a..ba58a65b9 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/RunFileMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/RunFileMenuProvider.java @@ -6,12 +6,12 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.MultiExecuteMenuProvider; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FileKind; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FileKind; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUntarMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUntarMenuProvider.java index 14327bdc8..5293b2e24 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUntarMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUntarMenuProvider.java @@ -9,8 +9,9 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider; import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.value.ObservableValue; @@ -52,7 +53,7 @@ public class BaseUntarMenuProvider implements BrowserApplicationPathMenuProvider @Override public ObservableValue getName(BrowserFileSystemTabModel model, List entries) { - var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator(); + var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator(); var dir = entries.size() > 1 ? "[...]" : getTarget(entries.getFirst().getRawFileEntry().getPath()).getFileName() + sep; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipUnixMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipUnixMenuProvider.java index 60e4ef1f3..b7bfa5157 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipUnixMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipUnixMenuProvider.java @@ -9,8 +9,9 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider; import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.value.ObservableValue; @@ -49,7 +50,7 @@ public abstract class BaseUnzipUnixMenuProvider implements BrowserMenuLeafProvid @Override public ObservableValue getName(BrowserFileSystemTabModel model, List entries) { - var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator(); + var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator(); var dir = entries.size() > 1 ? "[...]" : UnzipActionProvider.getTarget( diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipWindowsActionProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipWindowsActionProvider.java index 7fae06e57..abdfe873e 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipWindowsActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/BaseUnzipWindowsActionProvider.java @@ -8,8 +8,9 @@ import io.xpipe.app.browser.icon.BrowserIcons; import io.xpipe.app.browser.menu.BrowserMenuCategory; import io.xpipe.app.browser.menu.BrowserMenuLeafProvider; import io.xpipe.app.core.AppI18n; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.value.ObservableValue; @@ -35,7 +36,7 @@ public abstract class BaseUnzipWindowsActionProvider implements BrowserMenuLeafP @Override public ObservableValue getName(BrowserFileSystemTabModel model, List entries) { - var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator(); + var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator(); var dir = entries.size() > 1 ? "[...]" : UnzipActionProvider.getTarget( diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/CompressMenuProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/CompressMenuProvider.java index fa1c5a1b2..c091e7f8f 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/CompressMenuProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/CompressMenuProvider.java @@ -8,8 +8,8 @@ import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FileKind; +import io.xpipe.core.OsType; +import io.xpipe.core.FileKind; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/TarActionProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/TarActionProvider.java index d2a0d292b..391aa18b0 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/TarActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/TarActionProvider.java @@ -3,8 +3,8 @@ package io.xpipe.app.browser.menu.impl.compress; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.FilePath; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UntarActionProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UntarActionProvider.java index 2f77e3421..aac0f84f5 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UntarActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UntarActionProvider.java @@ -3,9 +3,9 @@ package io.xpipe.app.browser.menu.impl.compress; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UnzipActionProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UnzipActionProvider.java index cc680d1dd..61d428154 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UnzipActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/UnzipActionProvider.java @@ -4,11 +4,11 @@ import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; import io.xpipe.app.browser.file.BrowserFileSystemTabModel; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/ZipActionProvider.java b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/ZipActionProvider.java index 9cbecc867..c5ec38784 100644 --- a/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/ZipActionProvider.java +++ b/app/src/main/java/io/xpipe/app/browser/menu/impl/compress/ZipActionProvider.java @@ -3,11 +3,11 @@ package io.xpipe.app.browser.menu.impl.compress; import io.xpipe.app.browser.action.BrowserAction; import io.xpipe.app.browser.action.BrowserActionProvider; import io.xpipe.app.browser.file.BrowserEntry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import lombok.NonNull; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/comp/base/ContextualFileReferenceChoiceComp.java b/app/src/main/java/io/xpipe/app/comp/base/ContextualFileReferenceChoiceComp.java index c45c48e46..f57fc6076 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ContextualFileReferenceChoiceComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ContextualFileReferenceChoiceComp.java @@ -13,8 +13,8 @@ import io.xpipe.app.storage.ContextualFileReference; import io.xpipe.app.storage.DataStorageSyncHandler; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/comp/base/FileDropOverlayComp.java b/app/src/main/java/io/xpipe/app/comp/base/FileDropOverlayComp.java index 0b25dc0e2..332b0fac8 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/FileDropOverlayComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/FileDropOverlayComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.comp.base; import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.CompStructure; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.util.FailableConsumer; +import io.xpipe.core.FailableConsumer; import javafx.geometry.Pos; import javafx.scene.Node; diff --git a/app/src/main/java/io/xpipe/app/comp/base/IntegratedTextAreaComp.java b/app/src/main/java/io/xpipe/app/comp/base/IntegratedTextAreaComp.java index c11e09356..77ccda25f 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/IntegratedTextAreaComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/IntegratedTextAreaComp.java @@ -5,9 +5,9 @@ import io.xpipe.app.comp.CompStructure; import io.xpipe.app.ext.ShellStore; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.FileOpener; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.ShellStoreState; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.ShellStoreState; +import io.xpipe.app.ext.StatefulDataStore; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/comp/base/IntroComp.java b/app/src/main/java/io/xpipe/app/comp/base/IntroComp.java index 4f89f5a36..0797be2b7 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/IntroComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/IntroComp.java @@ -4,7 +4,7 @@ import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.geometry.Pos; import javafx.scene.control.Label; diff --git a/app/src/main/java/io/xpipe/app/comp/base/LazyTextFieldComp.java b/app/src/main/java/io/xpipe/app/comp/base/LazyTextFieldComp.java index 7d27c659e..dc349afb1 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/LazyTextFieldComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/LazyTextFieldComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.comp.base; import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.CompStructure; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.beans.property.Property; diff --git a/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java b/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java index 1c8a51f55..34f2107ed 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/MarkdownComp.java @@ -11,7 +11,7 @@ import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.MarkdownHelper; import io.xpipe.app.util.PlatformThread; import io.xpipe.app.util.ShellTemp; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.beans.property.SimpleStringProperty; diff --git a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java index a5a5c398f..0f30bb233 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/ModalOverlayComp.java @@ -6,7 +6,7 @@ import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.AppLogs; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/comp/base/PrettyImageComp.java b/app/src/main/java/io/xpipe/app/comp/base/PrettyImageComp.java index 029041f67..63cf49153 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/PrettyImageComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/PrettyImageComp.java @@ -6,7 +6,7 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/comp/base/PrettyImageHelper.java b/app/src/main/java/io/xpipe/app/comp/base/PrettyImageHelper.java index 7ea61207f..8e0167699 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/PrettyImageHelper.java +++ b/app/src/main/java/io/xpipe/app/comp/base/PrettyImageHelper.java @@ -6,7 +6,7 @@ import io.xpipe.app.core.window.AppMainWindow; import io.xpipe.app.util.BindingsHelper; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleStringProperty; diff --git a/app/src/main/java/io/xpipe/app/comp/base/SecretFieldComp.java b/app/src/main/java/io/xpipe/app/comp/base/SecretFieldComp.java index e18860b2e..448e2dfb0 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/SecretFieldComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/SecretFieldComp.java @@ -4,7 +4,7 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.CompStructure; import io.xpipe.app.util.ClipboardHelper; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/core/AppArguments.java b/app/src/main/java/io/xpipe/app/core/AppArguments.java index 0b8af5e6e..86f935967 100644 --- a/app/src/main/java/io/xpipe/app/core/AppArguments.java +++ b/app/src/main/java/io/xpipe/app/core/AppArguments.java @@ -2,7 +2,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.LogErrorHandler; -import io.xpipe.core.util.XPipeDaemonMode; +import io.xpipe.core.XPipeDaemonMode; import lombok.Value; import picocli.CommandLine; diff --git a/app/src/main/java/io/xpipe/app/core/AppCache.java b/app/src/main/java/io/xpipe/app/core/AppCache.java index 2a759a5a7..ece5972ec 100644 --- a/app/src/main/java/io/xpipe/app/core/AppCache.java +++ b/app/src/main/java/io/xpipe/app/core/AppCache.java @@ -1,7 +1,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/core/AppDesktopIntegration.java b/app/src/main/java/io/xpipe/app/core/AppDesktopIntegration.java index 8c882cb7b..d15ed0c1d 100644 --- a/app/src/main/java/io/xpipe/app/core/AppDesktopIntegration.java +++ b/app/src/main/java/io/xpipe/app/core/AppDesktopIntegration.java @@ -7,7 +7,7 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorageUserHandler; import io.xpipe.app.util.PlatformState; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.awt.*; import java.awt.desktop.*; diff --git a/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java b/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java index c59182eec..7e6054f5c 100644 --- a/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java +++ b/app/src/main/java/io/xpipe/app/core/AppExtensionManager.java @@ -5,9 +5,9 @@ import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.ModuleAccess; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.ModuleLayerLoader; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.ModuleLayerLoader; +import io.xpipe.core.XPipeInstallation; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/core/AppFont.java b/app/src/main/java/io/xpipe/app/core/AppFont.java index b4b9e5cb7..49571df8a 100644 --- a/app/src/main/java/io/xpipe/app/core/AppFont.java +++ b/app/src/main/java/io/xpipe/app/core/AppFont.java @@ -1,7 +1,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.scene.text.Font; diff --git a/app/src/main/java/io/xpipe/app/core/AppFontSizes.java b/app/src/main/java/io/xpipe/app/core/AppFontSizes.java index c0345518b..3645b8f05 100644 --- a/app/src/main/java/io/xpipe/app/core/AppFontSizes.java +++ b/app/src/main/java/io/xpipe/app/core/AppFontSizes.java @@ -1,7 +1,7 @@ package io.xpipe.app.core; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.scene.Node; diff --git a/app/src/main/java/io/xpipe/app/core/AppI18nData.java b/app/src/main/java/io/xpipe/app/core/AppI18nData.java index 3d9e166d4..8d7549448 100644 --- a/app/src/main/java/io/xpipe/app/core/AppI18nData.java +++ b/app/src/main/java/io/xpipe/app/core/AppI18nData.java @@ -3,7 +3,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.SupportedLocale; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.XPipeInstallation; import lombok.Value; import org.apache.commons.io.FilenameUtils; diff --git a/app/src/main/java/io/xpipe/app/core/AppInstance.java b/app/src/main/java/io/xpipe/app/core/AppInstance.java index 7dd85d4b2..3f74c6634 100644 --- a/app/src/main/java/io/xpipe/app/core/AppInstance.java +++ b/app/src/main/java/io/xpipe/app/core/AppInstance.java @@ -10,8 +10,8 @@ import io.xpipe.beacon.BeaconClientInformation; import io.xpipe.beacon.BeaconServer; import io.xpipe.beacon.api.DaemonFocusExchange; import io.xpipe.beacon.api.DaemonOpenExchange; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeInstallation; import java.awt.*; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/core/AppLogs.java b/app/src/main/java/io/xpipe/app/core/AppLogs.java index d7f0b18e7..e659976b1 100644 --- a/app/src/main/java/io/xpipe/app/core/AppLogs.java +++ b/app/src/main/java/io/xpipe/app/core/AppLogs.java @@ -2,7 +2,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.util.Deobfuscator; +import io.xpipe.core.Deobfuscator; import lombok.Getter; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/core/AppOpenArguments.java b/app/src/main/java/io/xpipe/app/core/AppOpenArguments.java index ea029c3fb..4172ed8fa 100644 --- a/app/src/main/java/io/xpipe/app/core/AppOpenArguments.java +++ b/app/src/main/java/io/xpipe/app/core/AppOpenArguments.java @@ -8,7 +8,7 @@ import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.storage.DataStorage; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import java.net.URI; import java.nio.file.Files; diff --git a/app/src/main/java/io/xpipe/app/core/AppPreloader.java b/app/src/main/java/io/xpipe/app/core/AppPreloader.java index b18c0578c..f373a4247 100644 --- a/app/src/main/java/io/xpipe/app/core/AppPreloader.java +++ b/app/src/main/java/io/xpipe/app/core/AppPreloader.java @@ -1,7 +1,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Preloader; import javafx.stage.Stage; diff --git a/app/src/main/java/io/xpipe/app/core/AppProperties.java b/app/src/main/java/io/xpipe/app/core/AppProperties.java index 3ada43394..f5ee5690d 100644 --- a/app/src/main/java/io/xpipe/app/core/AppProperties.java +++ b/app/src/main/java/io/xpipe/app/core/AppProperties.java @@ -4,7 +4,7 @@ import io.xpipe.app.core.check.AppUserDirectoryCheck; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.util.XPipeDaemonMode; +import io.xpipe.core.XPipeDaemonMode; import lombok.Getter; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/core/AppResources.java b/app/src/main/java/io/xpipe/app/core/AppResources.java index a88bdb32f..397eeccf2 100644 --- a/app/src/main/java/io/xpipe/app/core/AppResources.java +++ b/app/src/main/java/io/xpipe/app/core/AppResources.java @@ -1,7 +1,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.util.FailableConsumer; +import io.xpipe.core.FailableConsumer; import io.xpipe.modulefs.ModuleFileSystem; import java.io.IOException; diff --git a/app/src/main/java/io/xpipe/app/core/AppRestart.java b/app/src/main/java/io/xpipe/app/core/AppRestart.java index f20697a83..2049340e8 100644 --- a/app/src/main/java/io/xpipe/app/core/AppRestart.java +++ b/app/src/main/java/io/xpipe/app/core/AppRestart.java @@ -3,10 +3,10 @@ package io.xpipe.app.core; import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.XPipeInstallation; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/core/AppSid.java b/app/src/main/java/io/xpipe/app/core/AppSid.java index c6b8a0812..928044fed 100644 --- a/app/src/main/java/io/xpipe/app/core/AppSid.java +++ b/app/src/main/java/io/xpipe/app/core/AppSid.java @@ -2,7 +2,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import com.sun.jna.Function; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/core/AppTheme.java b/app/src/main/java/io/xpipe/app/core/AppTheme.java index 7dbb726b3..9d7f95ae0 100644 --- a/app/src/main/java/io/xpipe/app/core/AppTheme.java +++ b/app/src/main/java/io/xpipe/app/core/AppTheme.java @@ -7,7 +7,7 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.ColorHelper; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.animation.Interpolator; import javafx.animation.KeyFrame; diff --git a/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java b/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java index 5c2288a9d..2e18094ce 100644 --- a/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java +++ b/app/src/main/java/io/xpipe/app/core/AppTrayIcon.java @@ -2,7 +2,7 @@ package io.xpipe.app.core; import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.awt.*; import java.io.IOException; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppAvCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppAvCheck.java index fb013d185..b4e438fc9 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppAvCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppAvCheck.java @@ -7,7 +7,7 @@ import io.xpipe.app.comp.base.ModalOverlay; import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.AppResources; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.scene.layout.Region; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppCertutilCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppCertutilCheck.java index 84162085f..a2581b765 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppCertutilCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppCertutilCheck.java @@ -2,8 +2,8 @@ package io.xpipe.app.core.check; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialects; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppHomebrewCoreutilsCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppHomebrewCoreutilsCheck.java index aedf401b7..331418565 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppHomebrewCoreutilsCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppHomebrewCoreutilsCheck.java @@ -1,9 +1,9 @@ package io.xpipe.app.core.check; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import java.util.Optional; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppPathCorruptCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppPathCorruptCheck.java index e4fd64a93..85c8ae8dd 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppPathCorruptCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppPathCorruptCheck.java @@ -2,7 +2,7 @@ package io.xpipe.app.core.check; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.LocalExec; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; public class AppPathCorruptCheck { diff --git a/app/src/main/java/io/xpipe/app/core/check/AppRosettaCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppRosettaCheck.java index 468802364..73f6d668a 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppRosettaCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppRosettaCheck.java @@ -4,7 +4,7 @@ import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; public class AppRosettaCheck { diff --git a/app/src/main/java/io/xpipe/app/core/check/AppShellCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppShellCheck.java index c90f6bbd9..58d780151 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppShellCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppShellCheck.java @@ -1,6 +1,6 @@ package io.xpipe.app.core.check; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; public class AppShellCheck { diff --git a/app/src/main/java/io/xpipe/app/core/check/AppShellChecker.java b/app/src/main/java/io/xpipe/app/core/check/AppShellChecker.java index c5757b9f4..be35308ae 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppShellChecker.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppShellChecker.java @@ -4,8 +4,8 @@ import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ScriptHelper; -import io.xpipe.core.process.ProcessOutputException; -import io.xpipe.core.process.ShellSpawnException; +import io.xpipe.app.process.ProcessOutputException; +import io.xpipe.app.process.ShellSpawnException; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppSystemFontCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppSystemFontCheck.java index a6cc3d959..b23f21b29 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppSystemFontCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppSystemFontCheck.java @@ -1,7 +1,7 @@ package io.xpipe.app.core.check; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeInstallation; import java.util.concurrent.TimeUnit; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppTempCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppTempCheck.java index aa1094274..e34379ec7 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppTempCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppTempCheck.java @@ -1,7 +1,7 @@ package io.xpipe.app.core.check; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.io.IOException; import java.nio.file.Files; diff --git a/app/src/main/java/io/xpipe/app/core/check/AppTestCommandCheck.java b/app/src/main/java/io/xpipe/app/core/check/AppTestCommandCheck.java index 485490789..b2190ab99 100644 --- a/app/src/main/java/io/xpipe/app/core/check/AppTestCommandCheck.java +++ b/app/src/main/java/io/xpipe/app/core/check/AppTestCommandCheck.java @@ -1,9 +1,9 @@ package io.xpipe.app.core.check; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ProcessOutputException; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ProcessOutputException; +import io.xpipe.core.XPipeInstallation; public class AppTestCommandCheck { diff --git a/app/src/main/java/io/xpipe/app/core/mode/BaseMode.java b/app/src/main/java/io/xpipe/app/core/mode/BaseMode.java index 23da7349d..ef1abd37f 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/BaseMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/BaseMode.java @@ -27,7 +27,7 @@ import io.xpipe.app.update.UpdateAvailableDialog; import io.xpipe.app.update.UpdateChangelogAlert; import io.xpipe.app.update.UpdateNagDialog; import io.xpipe.app.util.*; -import io.xpipe.core.util.XPipeDaemonMode; +import io.xpipe.core.XPipeDaemonMode; import java.util.concurrent.CountDownLatch; diff --git a/app/src/main/java/io/xpipe/app/core/mode/GuiMode.java b/app/src/main/java/io/xpipe/app/core/mode/GuiMode.java index 247494f2f..29c03c3d7 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/GuiMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/GuiMode.java @@ -4,7 +4,7 @@ import io.xpipe.app.core.window.AppMainWindow; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.LicenseProvider; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.stage.Stage; diff --git a/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java b/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java index 830c68db6..0349c6f1f 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/OperationMode.java @@ -12,9 +12,9 @@ import io.xpipe.app.prefs.CloseBehaviour; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.update.AppDistributionType; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.FailableRunnable; -import io.xpipe.core.util.XPipeDaemonMode; +import io.xpipe.core.OsType; +import io.xpipe.core.FailableRunnable; +import io.xpipe.core.XPipeDaemonMode; import javafx.application.Platform; diff --git a/app/src/main/java/io/xpipe/app/core/mode/TrayMode.java b/app/src/main/java/io/xpipe/app/core/mode/TrayMode.java index 731270906..35ed1856e 100644 --- a/app/src/main/java/io/xpipe/app/core/mode/TrayMode.java +++ b/app/src/main/java/io/xpipe/app/core/mode/TrayMode.java @@ -3,7 +3,7 @@ package io.xpipe.app.core.mode; import io.xpipe.app.core.AppTray; import io.xpipe.app.issue.*; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.awt.*; diff --git a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java index e098c18a2..aa82a4ab6 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java @@ -9,10 +9,9 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.CloseBehaviourDialog; import io.xpipe.app.update.AppDistributionType; -import io.xpipe.app.util.LicenseProvider; import io.xpipe.app.util.PlatformThread; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.*; diff --git a/app/src/main/java/io/xpipe/app/core/window/AppWindowBounds.java b/app/src/main/java/io/xpipe/app/core/window/AppWindowBounds.java index a5db593b5..25fef1027 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppWindowBounds.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppWindowBounds.java @@ -1,7 +1,7 @@ package io.xpipe.app.core.window; import io.xpipe.app.core.App; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.geometry.Rectangle2D; import javafx.stage.Screen; diff --git a/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java b/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java index 253dd4593..51514bb6c 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppWindowHelper.java @@ -4,21 +4,17 @@ import io.xpipe.app.core.*; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.InputHelper; import io.xpipe.app.util.PlatformInit; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.css.PseudoClass; -import javafx.geometry.Insets; import javafx.scene.Scene; import javafx.scene.control.Alert; import javafx.scene.control.ButtonType; import javafx.scene.input.*; -import javafx.scene.layout.Region; -import javafx.scene.layout.StackPane; import javafx.scene.paint.Color; -import javafx.scene.text.Text; import javafx.stage.Stage; import lombok.SneakyThrows; diff --git a/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java b/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java index 6f7d188a0..572ad56fc 100644 --- a/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java +++ b/app/src/main/java/io/xpipe/app/core/window/ModifiedStage.java @@ -3,7 +3,7 @@ package io.xpipe.app.core.window; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.animation.PauseTransition; import javafx.application.Platform; diff --git a/app/src/main/java/io/xpipe/app/ext/ConnectionFileSystem.java b/app/src/main/java/io/xpipe/app/ext/ConnectionFileSystem.java index a82102b85..52a0170a0 100644 --- a/app/src/main/java/io/xpipe/app/ext/ConnectionFileSystem.java +++ b/app/src/main/java/io/xpipe/app/ext/ConnectionFileSystem.java @@ -2,12 +2,10 @@ package io.xpipe.app.ext; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystem; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; import com.fasterxml.jackson.annotation.JsonIgnore; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/ext/ContainerStoreState.java b/app/src/main/java/io/xpipe/app/ext/ContainerStoreState.java index 47a7fba3e..8dcbb8f1b 100644 --- a/app/src/main/java/io/xpipe/app/ext/ContainerStoreState.java +++ b/app/src/main/java/io/xpipe/app/ext/ContainerStoreState.java @@ -1,7 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellStoreState; -import io.xpipe.core.store.DataStoreState; +import io.xpipe.app.process.ShellStoreState; import lombok.AccessLevel; import lombok.EqualsAndHashCode; diff --git a/app/src/main/java/io/xpipe/app/ext/DataStorageExtensionProvider.java b/app/src/main/java/io/xpipe/app/ext/DataStorageExtensionProvider.java index 310adbc43..855a615a5 100644 --- a/app/src/main/java/io/xpipe/app/ext/DataStorageExtensionProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/DataStorageExtensionProvider.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import java.util.Comparator; import java.util.List; diff --git a/core/src/main/java/io/xpipe/core/store/DataStore.java b/app/src/main/java/io/xpipe/app/ext/DataStore.java similarity index 95% rename from core/src/main/java/io/xpipe/core/store/DataStore.java rename to app/src/main/java/io/xpipe/app/ext/DataStore.java index 82297ff31..10f99ea4c 100644 --- a/core/src/main/java/io/xpipe/core/store/DataStore.java +++ b/app/src/main/java/io/xpipe/app/ext/DataStore.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/ext/DataStoreProvider.java b/app/src/main/java/io/xpipe/app/ext/DataStoreProvider.java index 2a84e3f59..f99649cf1 100644 --- a/app/src/main/java/io/xpipe/app/ext/DataStoreProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/DataStoreProvider.java @@ -11,8 +11,7 @@ import io.xpipe.app.hub.comp.StoreSection; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.core.FailableRunnable; import javafx.beans.property.BooleanProperty; import javafx.beans.property.Property; diff --git a/app/src/main/java/io/xpipe/app/ext/DataStoreProviders.java b/app/src/main/java/io/xpipe/app/ext/DataStoreProviders.java index 8d2f9057a..78414a7e9 100644 --- a/app/src/main/java/io/xpipe/app/ext/DataStoreProviders.java +++ b/app/src/main/java/io/xpipe/app/ext/DataStoreProviders.java @@ -2,9 +2,8 @@ package io.xpipe.app.ext; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.ModuleLayerLoader; import com.fasterxml.jackson.databind.jsontype.NamedType; diff --git a/core/src/main/java/io/xpipe/core/store/DataStoreState.java b/app/src/main/java/io/xpipe/app/ext/DataStoreState.java similarity index 94% rename from core/src/main/java/io/xpipe/core/store/DataStoreState.java rename to app/src/main/java/io/xpipe/app/ext/DataStoreState.java index 8b9eeb3a4..3da484415 100644 --- a/core/src/main/java/io/xpipe/core/store/DataStoreState.java +++ b/app/src/main/java/io/xpipe/app/ext/DataStoreState.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; import lombok.EqualsAndHashCode; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/ext/EnabledParentStoreProvider.java b/app/src/main/java/io/xpipe/app/ext/EnabledParentStoreProvider.java index a661680ae..35621686e 100644 --- a/app/src/main/java/io/xpipe/app/ext/EnabledParentStoreProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/EnabledParentStoreProvider.java @@ -8,8 +8,6 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.EnabledStoreState; -import io.xpipe.core.store.StatefulDataStore; import javafx.beans.property.SimpleBooleanProperty; diff --git a/core/src/main/java/io/xpipe/core/store/EnabledStoreState.java b/app/src/main/java/io/xpipe/app/ext/EnabledStoreState.java similarity index 95% rename from core/src/main/java/io/xpipe/core/store/EnabledStoreState.java rename to app/src/main/java/io/xpipe/app/ext/EnabledStoreState.java index e91e40b84..a1e9d7fa6 100644 --- a/core/src/main/java/io/xpipe/core/store/EnabledStoreState.java +++ b/app/src/main/java/io/xpipe/app/ext/EnabledStoreState.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; import lombok.AccessLevel; import lombok.EqualsAndHashCode; diff --git a/core/src/main/java/io/xpipe/core/store/ExpandedLifecycleStore.java b/app/src/main/java/io/xpipe/app/ext/ExpandedLifecycleStore.java similarity index 84% rename from core/src/main/java/io/xpipe/core/store/ExpandedLifecycleStore.java rename to app/src/main/java/io/xpipe/app/ext/ExpandedLifecycleStore.java index 2a723839a..ecca2c529 100644 --- a/core/src/main/java/io/xpipe/core/store/ExpandedLifecycleStore.java +++ b/app/src/main/java/io/xpipe/app/ext/ExpandedLifecycleStore.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; public interface ExpandedLifecycleStore extends DataStore { diff --git a/app/src/main/java/io/xpipe/app/ext/ExtensionException.java b/app/src/main/java/io/xpipe/app/ext/ExtensionException.java index 0f23022b1..0244b78b4 100644 --- a/app/src/main/java/io/xpipe/app/ext/ExtensionException.java +++ b/app/src/main/java/io/xpipe/app/ext/ExtensionException.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.XPipeInstallation; public class ExtensionException extends RuntimeException { diff --git a/core/src/main/java/io/xpipe/core/store/FileEntry.java b/app/src/main/java/io/xpipe/app/ext/FileEntry.java similarity index 92% rename from core/src/main/java/io/xpipe/core/store/FileEntry.java rename to app/src/main/java/io/xpipe/app/ext/FileEntry.java index 0a047e7d4..74490bd49 100644 --- a/core/src/main/java/io/xpipe/core/store/FileEntry.java +++ b/app/src/main/java/io/xpipe/app/ext/FileEntry.java @@ -1,5 +1,8 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; +import io.xpipe.core.FileInfo; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import lombok.NonNull; import lombok.Setter; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/store/FileSystem.java b/app/src/main/java/io/xpipe/app/ext/FileSystem.java similarity index 94% rename from core/src/main/java/io/xpipe/core/store/FileSystem.java rename to app/src/main/java/io/xpipe/app/ext/FileSystem.java index a4d65a765..26c4bd5c9 100644 --- a/core/src/main/java/io/xpipe/core/store/FileSystem.java +++ b/app/src/main/java/io/xpipe/app/ext/FileSystem.java @@ -1,6 +1,8 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import java.io.Closeable; import java.io.InputStream; diff --git a/core/src/main/java/io/xpipe/core/store/FileSystemStore.java b/app/src/main/java/io/xpipe/app/ext/FileSystemStore.java similarity index 78% rename from core/src/main/java/io/xpipe/core/store/FileSystemStore.java rename to app/src/main/java/io/xpipe/app/ext/FileSystemStore.java index 0eb636efa..0760a1970 100644 --- a/core/src/main/java/io/xpipe/core/store/FileSystemStore.java +++ b/app/src/main/java/io/xpipe/app/ext/FileSystemStore.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; public interface FileSystemStore extends DataStore { diff --git a/core/src/main/java/io/xpipe/core/store/FixedChildStore.java b/app/src/main/java/io/xpipe/app/ext/FixedChildStore.java similarity index 87% rename from core/src/main/java/io/xpipe/core/store/FixedChildStore.java rename to app/src/main/java/io/xpipe/app/ext/FixedChildStore.java index 56dea81a1..23572604e 100644 --- a/core/src/main/java/io/xpipe/core/store/FixedChildStore.java +++ b/app/src/main/java/io/xpipe/app/ext/FixedChildStore.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; import java.util.OptionalInt; diff --git a/app/src/main/java/io/xpipe/app/ext/GroupStore.java b/app/src/main/java/io/xpipe/app/ext/GroupStore.java index eff149123..355dde3b5 100644 --- a/app/src/main/java/io/xpipe/app/ext/GroupStore.java +++ b/app/src/main/java/io/xpipe/app/ext/GroupStore.java @@ -1,7 +1,6 @@ package io.xpipe.app.ext; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; public interface GroupStore extends DataStore { diff --git a/core/src/main/java/io/xpipe/core/store/InternalCacheDataStore.java b/app/src/main/java/io/xpipe/app/ext/InternalCacheDataStore.java similarity index 51% rename from core/src/main/java/io/xpipe/core/store/InternalCacheDataStore.java rename to app/src/main/java/io/xpipe/app/ext/InternalCacheDataStore.java index a887932d9..d1a21d52b 100644 --- a/core/src/main/java/io/xpipe/core/store/InternalCacheDataStore.java +++ b/app/src/main/java/io/xpipe/app/ext/InternalCacheDataStore.java @@ -1,24 +1,24 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; -import io.xpipe.core.util.DataStateProvider; +import io.xpipe.app.storage.DataStateHandler; import java.util.function.Supplier; public interface InternalCacheDataStore extends DataStore { default T getCache(String key, Class c, T def) { - return DataStateProvider.get().getCache(this, key, c, () -> def); + return DataStateHandler.get().getCache(this, key, c, () -> def); } default T getOrCompute(String key, Class c, Supplier def) { - return DataStateProvider.get().getCache(this, key, c, def); + return DataStateHandler.get().getCache(this, key, c, def); } default void setCache(String key, Object val) { - DataStateProvider.get().putCache(this, key, val); + DataStateHandler.get().putCache(this, key, val); } default boolean canCacheToStorage() { - return DataStateProvider.get().canCacheToStorage(this); + return DataStateHandler.get().canCacheToStorage(this); } } diff --git a/core/src/main/java/io/xpipe/core/store/LinkFileEntry.java b/app/src/main/java/io/xpipe/app/ext/LinkFileEntry.java similarity index 84% rename from core/src/main/java/io/xpipe/core/store/LinkFileEntry.java rename to app/src/main/java/io/xpipe/app/ext/LinkFileEntry.java index d22e75eaf..72e04c985 100644 --- a/core/src/main/java/io/xpipe/core/store/LinkFileEntry.java +++ b/app/src/main/java/io/xpipe/app/ext/LinkFileEntry.java @@ -1,9 +1,11 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; +import io.xpipe.core.FileInfo; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import lombok.EqualsAndHashCode; import lombok.NonNull; import lombok.Value; - import java.time.Instant; @Value diff --git a/app/src/main/java/io/xpipe/app/ext/LocalStore.java b/app/src/main/java/io/xpipe/app/ext/LocalStore.java index fd5f4bf79..8e18ba074 100644 --- a/app/src/main/java/io/xpipe/app/ext/LocalStore.java +++ b/app/src/main/java/io/xpipe/app/ext/LocalStore.java @@ -1,9 +1,7 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellStoreState; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellStoreState; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/ext/NameableStore.java b/app/src/main/java/io/xpipe/app/ext/NameableStore.java index 07060ce59..374dcdbe7 100644 --- a/app/src/main/java/io/xpipe/app/ext/NameableStore.java +++ b/app/src/main/java/io/xpipe/app/ext/NameableStore.java @@ -1,7 +1,5 @@ package io.xpipe.app.ext; -import io.xpipe.core.store.DataStore; - public interface NameableStore extends DataStore { String getName(); diff --git a/app/src/main/java/io/xpipe/app/ext/NetworkTunnelSession.java b/app/src/main/java/io/xpipe/app/ext/NetworkTunnelSession.java index 9e1ca06cf..804e1489a 100644 --- a/app/src/main/java/io/xpipe/app/ext/NetworkTunnelSession.java +++ b/app/src/main/java/io/xpipe/app/ext/NetworkTunnelSession.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; public abstract class NetworkTunnelSession extends Session { diff --git a/app/src/main/java/io/xpipe/app/ext/NetworkTunnelStore.java b/app/src/main/java/io/xpipe/app/ext/NetworkTunnelStore.java index abb82e48b..dff30ba04 100644 --- a/app/src/main/java/io/xpipe/app/ext/NetworkTunnelStore.java +++ b/app/src/main/java/io/xpipe/app/ext/NetworkTunnelStore.java @@ -1,7 +1,5 @@ package io.xpipe.app.ext; -import io.xpipe.core.store.DataStore; - public interface NetworkTunnelStore extends DataStore { DataStore getNetworkParent(); diff --git a/app/src/main/java/io/xpipe/app/ext/PrefsProvider.java b/app/src/main/java/io/xpipe/app/ext/PrefsProvider.java index d1b8433f1..fe7d3ffe7 100644 --- a/app/src/main/java/io/xpipe/app/ext/PrefsProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/PrefsProvider.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import java.util.List; import java.util.ServiceLoader; diff --git a/app/src/main/java/io/xpipe/app/ext/ProcessControlProvider.java b/app/src/main/java/io/xpipe/app/ext/ProcessControlProvider.java index d3b455568..396700106 100644 --- a/app/src/main/java/io/xpipe/app/ext/ProcessControlProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/ProcessControlProvider.java @@ -2,10 +2,12 @@ package io.xpipe.app.ext; import io.xpipe.app.browser.BrowserFullSessionModel; import io.xpipe.app.browser.BrowserStoreSessionTab; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.CommandControl; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.vnc.VncBaseStore; -import io.xpipe.core.process.*; -import io.xpipe.core.store.DataStore; import java.util.ServiceLoader; diff --git a/app/src/main/java/io/xpipe/app/ext/ScanProvider.java b/app/src/main/java/io/xpipe/app/ext/ScanProvider.java index 3e26d5cd6..d35cdbd47 100644 --- a/app/src/main/java/io/xpipe/app/ext/ScanProvider.java +++ b/app/src/main/java/io/xpipe/app/ext/ScanProvider.java @@ -1,8 +1,8 @@ package io.xpipe.app.ext; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.ModuleLayerLoader; import lombok.AllArgsConstructor; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/ext/SelfReferentialStore.java b/app/src/main/java/io/xpipe/app/ext/SelfReferentialStore.java index 54ca834bd..339a7033c 100644 --- a/app/src/main/java/io/xpipe/app/ext/SelfReferentialStore.java +++ b/app/src/main/java/io/xpipe/app/ext/SelfReferentialStore.java @@ -2,7 +2,6 @@ package io.xpipe.app.ext; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.store.DataStore; import java.util.HashMap; import java.util.Map; diff --git a/app/src/main/java/io/xpipe/app/ext/ShellControlFunction.java b/app/src/main/java/io/xpipe/app/ext/ShellControlFunction.java index 08dd5978f..802200837 100644 --- a/app/src/main/java/io/xpipe/app/ext/ShellControlFunction.java +++ b/app/src/main/java/io/xpipe/app/ext/ShellControlFunction.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; public interface ShellControlFunction { diff --git a/app/src/main/java/io/xpipe/app/ext/ShellControlParentStoreFunction.java b/app/src/main/java/io/xpipe/app/ext/ShellControlParentStoreFunction.java index e62b7d460..d424052fa 100644 --- a/app/src/main/java/io/xpipe/app/ext/ShellControlParentStoreFunction.java +++ b/app/src/main/java/io/xpipe/app/ext/ShellControlParentStoreFunction.java @@ -1,6 +1,6 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; public interface ShellControlParentStoreFunction extends ShellControlFunction { diff --git a/app/src/main/java/io/xpipe/app/ext/ShellSession.java b/app/src/main/java/io/xpipe/app/ext/ShellSession.java index cd6fb6b50..4d6c3c7c6 100644 --- a/app/src/main/java/io/xpipe/app/ext/ShellSession.java +++ b/app/src/main/java/io/xpipe/app/ext/ShellSession.java @@ -1,9 +1,9 @@ package io.xpipe.app.ext; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FailableSupplier; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/ext/ShellStore.java b/app/src/main/java/io/xpipe/app/ext/ShellStore.java index f3d97a0bd..e7db98fa0 100644 --- a/app/src/main/java/io/xpipe/app/ext/ShellStore.java +++ b/app/src/main/java/io/xpipe/app/ext/ShellStore.java @@ -1,9 +1,8 @@ package io.xpipe.app.ext; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.StubShellControl; -import io.xpipe.core.store.*; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.StubShellControl; public interface ShellStore extends DataStore, FileSystemStore, ValidatableStore, SingletonSessionStore { diff --git a/app/src/main/java/io/xpipe/app/ext/SingletonSessionStore.java b/app/src/main/java/io/xpipe/app/ext/SingletonSessionStore.java index aa7e63f91..70e48ce40 100644 --- a/app/src/main/java/io/xpipe/app/ext/SingletonSessionStore.java +++ b/app/src/main/java/io/xpipe/app/ext/SingletonSessionStore.java @@ -1,8 +1,5 @@ package io.xpipe.app.ext; -import io.xpipe.core.store.ExpandedLifecycleStore; -import io.xpipe.core.store.InternalCacheDataStore; - public interface SingletonSessionStore extends ExpandedLifecycleStore, InternalCacheDataStore, SessionListener { diff --git a/core/src/main/java/io/xpipe/core/store/StatefulDataStore.java b/app/src/main/java/io/xpipe/app/ext/StatefulDataStore.java similarity index 83% rename from core/src/main/java/io/xpipe/core/store/StatefulDataStore.java rename to app/src/main/java/io/xpipe/app/ext/StatefulDataStore.java index c55b54467..7df8128d7 100644 --- a/core/src/main/java/io/xpipe/core/store/StatefulDataStore.java +++ b/app/src/main/java/io/xpipe/app/ext/StatefulDataStore.java @@ -1,7 +1,7 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; -import io.xpipe.core.util.DataStateProvider; +import io.xpipe.app.storage.DataStateHandler; import lombok.SneakyThrows; import java.util.Arrays; @@ -19,11 +19,11 @@ public interface StatefulDataStore extends DataStore { } default T getState() { - return DataStateProvider.get().getState(this, this::createDefaultState); + return DataStateHandler.get().getState(this, this::createDefaultState); } default void setState(T val) { - DataStateProvider.get().setState(this, val); + DataStateHandler.get().setState(this, val); } @SneakyThrows diff --git a/core/src/main/java/io/xpipe/core/store/ValidatableStore.java b/app/src/main/java/io/xpipe/app/ext/ValidatableStore.java similarity index 96% rename from core/src/main/java/io/xpipe/core/store/ValidatableStore.java rename to app/src/main/java/io/xpipe/app/ext/ValidatableStore.java index 8e8ec65c3..9b443c4a1 100644 --- a/core/src/main/java/io/xpipe/core/store/ValidatableStore.java +++ b/app/src/main/java/io/xpipe/app/ext/ValidatableStore.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.app.ext; public interface ValidatableStore extends DataStore { diff --git a/app/src/main/java/io/xpipe/app/ext/WrapperFileSystem.java b/app/src/main/java/io/xpipe/app/ext/WrapperFileSystem.java index 42ccf194b..f4783c90a 100644 --- a/app/src/main/java/io/xpipe/app/ext/WrapperFileSystem.java +++ b/app/src/main/java/io/xpipe/app/ext/WrapperFileSystem.java @@ -1,9 +1,7 @@ package io.xpipe.app.ext; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystem; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/hub/action/BatchHubProvider.java b/app/src/main/java/io/xpipe/app/hub/action/BatchHubProvider.java index 898c9befe..af2fb5350 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/BatchHubProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/BatchHubProvider.java @@ -4,7 +4,7 @@ import io.xpipe.app.action.AbstractAction; import io.xpipe.app.action.ActionProvider; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/BatchStoreAction.java b/app/src/main/java/io/xpipe/app/hub/action/BatchStoreAction.java index 1d097dfba..af602ddf7 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/BatchStoreAction.java +++ b/app/src/main/java/io/xpipe/app/hub/action/BatchStoreAction.java @@ -4,8 +4,8 @@ import io.xpipe.app.action.*; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/hub/action/HubBranchProvider.java b/app/src/main/java/io/xpipe/app/hub/action/HubBranchProvider.java index cfa29698f..16bcc8a2c 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/HubBranchProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/HubBranchProvider.java @@ -1,7 +1,7 @@ package io.xpipe.app.hub.action; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/hub/action/HubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/HubLeafProvider.java index b34fc0724..d77518c1a 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/HubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/HubLeafProvider.java @@ -2,7 +2,7 @@ package io.xpipe.app.hub.action; import io.xpipe.app.action.AbstractAction; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import lombok.SneakyThrows; diff --git a/app/src/main/java/io/xpipe/app/hub/action/HubMenuItemProvider.java b/app/src/main/java/io/xpipe/app/hub/action/HubMenuItemProvider.java index df4ac07c3..b946c8101 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/HubMenuItemProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/HubMenuItemProvider.java @@ -3,7 +3,7 @@ package io.xpipe.app.hub.action; import io.xpipe.app.action.ActionProvider; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/MultiStoreAction.java b/app/src/main/java/io/xpipe/app/hub/action/MultiStoreAction.java index 36d98f3b2..f61c8a5f8 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/MultiStoreAction.java +++ b/app/src/main/java/io/xpipe/app/hub/action/MultiStoreAction.java @@ -6,8 +6,8 @@ import io.xpipe.app.action.StoreContextAction; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/hub/action/StoreAction.java b/app/src/main/java/io/xpipe/app/hub/action/StoreAction.java index b41aebca4..8e513bcb0 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/StoreAction.java +++ b/app/src/main/java/io/xpipe/app/hub/action/StoreAction.java @@ -6,8 +6,8 @@ import io.xpipe.app.action.StoreContextAction; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/BrowseHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/BrowseHubLeafProvider.java index 039cdb285..b4e0affb6 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/BrowseHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/BrowseHubLeafProvider.java @@ -9,8 +9,8 @@ import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/CloneHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/CloneHubLeafProvider.java index 1d346070e..2977df979 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/CloneHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/CloneHubLeafProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java index 61adf3c2e..d13941869 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/EditHubLeafProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.hub.comp.StoreCreationDialog; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/InitHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/InitHubLeafProvider.java index 75f79d052..12f30e1fe 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/InitHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/InitHubLeafProvider.java @@ -4,7 +4,7 @@ import io.xpipe.app.hub.action.HubLeafProvider; import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; public abstract class InitHubLeafProvider implements HubLeafProvider { diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/LaunchHubMenuLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/LaunchHubMenuLeafProvider.java index 63f71cb9b..54f59edb2 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/LaunchHubMenuLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/LaunchHubMenuLeafProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshActionProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshActionProvider.java index 9ea8a76fa..280456591 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshActionProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/RefreshActionProvider.java @@ -2,7 +2,7 @@ package io.xpipe.app.hub.action.impl; import io.xpipe.app.action.*; import io.xpipe.app.hub.action.StoreAction; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/SampleHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/SampleHubLeafProvider.java index 6824cf126..0dc5f1800 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/SampleHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/SampleHubLeafProvider.java @@ -7,11 +7,11 @@ import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.CommandControl; -import io.xpipe.core.process.ElevationFunction; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandControl; +import io.xpipe.app.process.ElevationFunction; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubBatchProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubBatchProvider.java index 2b2e27a6a..8c82cbc98 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubBatchProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubBatchProvider.java @@ -9,8 +9,8 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.ScanDialog; import io.xpipe.app.util.ScanDialogAction; -import io.xpipe.core.process.ShellTtyState; -import io.xpipe.core.process.SystemState; +import io.xpipe.app.process.ShellTtyState; +import io.xpipe.app.process.SystemState; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java index ccaf2fb94..7dff71b4b 100644 --- a/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java +++ b/app/src/main/java/io/xpipe/app/hub/action/impl/ScanHubLeafProvider.java @@ -9,8 +9,8 @@ import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.ScanDialog; -import io.xpipe.core.process.ShellTtyState; -import io.xpipe.core.process.SystemState; +import io.xpipe.app.process.ShellTtyState; +import io.xpipe.app.process.SystemState; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/OsLogoComp.java b/app/src/main/java/io/xpipe/app/hub/comp/OsLogoComp.java index 75a30a7c3..9375eeab6 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/OsLogoComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/OsLogoComp.java @@ -4,10 +4,10 @@ import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.comp.base.PrettyImageHelper; import io.xpipe.app.comp.base.StackComp; import io.xpipe.app.core.AppResources; -import io.xpipe.core.process.SystemState; +import io.xpipe.app.process.SystemState; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StandardStoreEntryComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StandardStoreEntryComp.java index dd4060f2a..f369560f3 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StandardStoreEntryComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StandardStoreEntryComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.hub.comp; import io.xpipe.app.comp.Comp; import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.geometry.HPos; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java index c1ee655b5..b46f60acf 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryComp.java @@ -14,7 +14,7 @@ import io.xpipe.app.util.ClipboardHelper; import io.xpipe.app.util.ContextMenuHelper; import io.xpipe.app.util.DesktopHelper; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryConfigComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryConfigComp.java index 75904d566..6eec8f12e 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryConfigComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryConfigComp.java @@ -9,7 +9,7 @@ import io.xpipe.app.storage.DataStoreCategoryConfig; import io.xpipe.app.storage.DataStoreColor; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleIntegerProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryListComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryListComp.java index 92caf8881..0cd634321 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryListComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCategoryListComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.hub.comp; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.comp.base.ScrollComp; import io.xpipe.app.core.AppFontSizes; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.scene.layout.Region; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreChoiceComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreChoiceComp.java index 0a5902995..3a53353ba 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreChoiceComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreChoiceComp.java @@ -14,7 +14,7 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.DataStoreCategoryChoiceComp; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.*; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationDialog.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationDialog.java index 9e0530493..a715d0948 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationDialog.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationDialog.java @@ -13,7 +13,7 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationModel.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationModel.java index 799084f5f..bb929afe7 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationModel.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreCreationModel.java @@ -8,9 +8,9 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.process.ShellTtyState; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.ValidatableStore; +import io.xpipe.app.process.ShellTtyState; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.ValidatableStore; import io.xpipe.app.ext.ValidationException; import javafx.application.Platform; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryComp.java index fee62b7c7..61b0ded1d 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryComp.java @@ -17,7 +17,7 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreColor; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListOverviewComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListOverviewComp.java index 7c14cf8e7..a939cd3a4 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListOverviewComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListOverviewComp.java @@ -10,7 +10,7 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleStringProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListStatusBarComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListStatusBarComp.java index 4d4defa64..948ea9459 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListStatusBarComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryListStatusBarComp.java @@ -9,7 +9,7 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.hub.action.BatchHubProvider; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryWrapper.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryWrapper.java index 191511e9d..5c0a18ff7 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryWrapper.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreEntryWrapper.java @@ -18,7 +18,7 @@ import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.PlatformThread; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreIdentitiesIntroComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreIdentitiesIntroComp.java index 65b4153f3..a93dee02d 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreIdentitiesIntroComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreIdentitiesIntroComp.java @@ -7,7 +7,7 @@ import io.xpipe.app.ext.DataStoreCreationCategory; import io.xpipe.app.ext.DataStoreProviders; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.geometry.Insets; import javafx.geometry.Pos; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreIntroComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreIntroComp.java index d03f8a67d..2405e8346 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreIntroComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreIntroComp.java @@ -7,7 +7,7 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.ScanDialog; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.geometry.Insets; import javafx.geometry.Pos; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreListChoiceComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreListChoiceComp.java index 0c152ad37..c5ce70333 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreListChoiceComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreListChoiceComp.java @@ -4,7 +4,7 @@ import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.comp.base.*; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.ListProperty; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreScriptsIntroComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreScriptsIntroComp.java index 03ffa7b7d..33a8812fc 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreScriptsIntroComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreScriptsIntroComp.java @@ -4,7 +4,7 @@ import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.core.AppCache; import io.xpipe.app.core.AppFontSizes; import io.xpipe.app.core.AppI18n; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.property.BooleanProperty; import javafx.geometry.Insets; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/StoreToggleComp.java b/app/src/main/java/io/xpipe/app/hub/comp/StoreToggleComp.java index e8e06c413..28528171f 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/StoreToggleComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/StoreToggleComp.java @@ -6,7 +6,7 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/hub/comp/SystemStateComp.java b/app/src/main/java/io/xpipe/app/hub/comp/SystemStateComp.java index 0c7fe1510..424d98ccf 100644 --- a/app/src/main/java/io/xpipe/app/hub/comp/SystemStateComp.java +++ b/app/src/main/java/io/xpipe/app/hub/comp/SystemStateComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.hub.comp; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.PlatformThread; -import io.xpipe.core.process.ShellStoreState; +import io.xpipe.app.process.ShellStoreState; import javafx.beans.property.ReadOnlyObjectWrapper; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/icon/SystemIconSource.java b/app/src/main/java/io/xpipe/app/icon/SystemIconSource.java index 3c25dfe74..55d741313 100644 --- a/app/src/main/java/io/xpipe/app/icon/SystemIconSource.java +++ b/app/src/main/java/io/xpipe/app/icon/SystemIconSource.java @@ -5,9 +5,9 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.DesktopHelper; import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import io.xpipe.app.ext.ValidationException; import com.fasterxml.jackson.annotation.JsonSubTypes; diff --git a/app/src/main/java/io/xpipe/app/issue/ErrorAction.java b/app/src/main/java/io/xpipe/app/issue/ErrorAction.java index e8cdacb96..6d8d7691b 100644 --- a/app/src/main/java/io/xpipe/app/issue/ErrorAction.java +++ b/app/src/main/java/io/xpipe/app/issue/ErrorAction.java @@ -2,7 +2,7 @@ package io.xpipe.app.issue; import io.xpipe.app.core.AppI18n; import io.xpipe.app.util.Hyperlinks; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.core.FailableSupplier; public interface ErrorAction { diff --git a/app/src/main/java/io/xpipe/app/issue/ErrorDetailsComp.java b/app/src/main/java/io/xpipe/app/issue/ErrorDetailsComp.java index 132336ee8..3acd5abb4 100644 --- a/app/src/main/java/io/xpipe/app/issue/ErrorDetailsComp.java +++ b/app/src/main/java/io/xpipe/app/issue/ErrorDetailsComp.java @@ -3,7 +3,7 @@ package io.xpipe.app.issue; import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.SimpleComp; import io.xpipe.app.core.AppFontSizes; -import io.xpipe.core.util.Deobfuscator; +import io.xpipe.core.Deobfuscator; import javafx.geometry.Insets; import javafx.scene.control.TextArea; diff --git a/app/src/main/java/io/xpipe/app/issue/ErrorEventFactory.java b/app/src/main/java/io/xpipe/app/issue/ErrorEventFactory.java index daefe7046..eb7dd8f4a 100644 --- a/app/src/main/java/io/xpipe/app/issue/ErrorEventFactory.java +++ b/app/src/main/java/io/xpipe/app/issue/ErrorEventFactory.java @@ -1,8 +1,8 @@ package io.xpipe.app.issue; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ProcessOutputException; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ProcessOutputException; import java.util.Arrays; import java.util.IdentityHashMap; diff --git a/app/src/main/java/io/xpipe/app/issue/EventHandlerImpl.java b/app/src/main/java/io/xpipe/app/issue/EventHandlerImpl.java index 9d4b2c5e3..2b3d874e6 100644 --- a/app/src/main/java/io/xpipe/app/issue/EventHandlerImpl.java +++ b/app/src/main/java/io/xpipe/app/issue/EventHandlerImpl.java @@ -3,7 +3,7 @@ package io.xpipe.app.issue; import io.xpipe.app.core.AppLogs; import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.mode.OperationMode; -import io.xpipe.core.util.Deobfuscator; +import io.xpipe.core.Deobfuscator; import java.nio.file.Path; diff --git a/app/src/main/java/io/xpipe/app/issue/LogErrorHandler.java b/app/src/main/java/io/xpipe/app/issue/LogErrorHandler.java index d3a8d921e..f332114e0 100644 --- a/app/src/main/java/io/xpipe/app/issue/LogErrorHandler.java +++ b/app/src/main/java/io/xpipe/app/issue/LogErrorHandler.java @@ -1,7 +1,7 @@ package io.xpipe.app.issue; import io.xpipe.app.core.AppLogs; -import io.xpipe.core.util.Deobfuscator; +import io.xpipe.core.Deobfuscator; public class LogErrorHandler implements ErrorHandler { diff --git a/app/src/main/java/io/xpipe/app/prefs/AboutCategory.java b/app/src/main/java/io/xpipe/app/prefs/AboutCategory.java index b7faba47a..cc1ffaa5d 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AboutCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/AboutCategory.java @@ -9,7 +9,7 @@ import io.xpipe.app.update.AppDistributionType; import io.xpipe.app.util.JfxHelper; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.property.SimpleStringProperty; import javafx.geometry.Insets; diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java index d4c0c3657..04d8f2a18 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java @@ -18,7 +18,7 @@ import io.xpipe.app.util.PlatformThread; import io.xpipe.app.vnc.ExternalVncClient; import io.xpipe.app.vnc.InternalVncClient; import io.xpipe.app.vnc.VncCategory; -import io.xpipe.core.process.ShellScript; +import io.xpipe.app.process.ShellScript; import javafx.beans.property.*; import javafx.beans.value.ObservableBooleanValue; diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java index ee954f911..b47d36b3b 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefsStorageHandler.java @@ -3,7 +3,7 @@ package io.xpipe.app.prefs; import io.xpipe.app.ext.PrefsChoiceValue; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.JavaType; import com.fasterxml.jackson.databind.JsonNode; diff --git a/app/src/main/java/io/xpipe/app/prefs/AppearanceCategory.java b/app/src/main/java/io/xpipe/app/prefs/AppearanceCategory.java index 26f2b549b..4edaa1d79 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppearanceCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppearanceCategory.java @@ -10,7 +10,7 @@ import io.xpipe.app.core.AppTheme; import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.property.SimpleBooleanProperty; import javafx.geometry.Pos; diff --git a/app/src/main/java/io/xpipe/app/prefs/DeveloperCategory.java b/app/src/main/java/io/xpipe/app/prefs/DeveloperCategory.java index 802229fb9..9a255e5e8 100644 --- a/app/src/main/java/io/xpipe/app/prefs/DeveloperCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/DeveloperCategory.java @@ -10,7 +10,7 @@ import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.OptionsBuilder; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.ProcessOutputException; +import io.xpipe.app.process.ProcessOutputException; import javafx.beans.property.SimpleStringProperty; import javafx.geometry.Insets; diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java index 0ec0e359f..1d45176d3 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationHelper.java @@ -2,7 +2,7 @@ package io.xpipe.app.prefs; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.util.Arrays; import java.util.Locale; diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java index 0269e7239..01827aae1 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalApplicationType.java @@ -5,10 +5,10 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.Translatable; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.CommandControl; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.CommandControl; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; import java.io.IOException; import java.nio.file.Files; diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java index ba9dd7b94..efddd783e 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java @@ -5,9 +5,9 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellScript; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellScript; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/prefs/IconsCategory.java b/app/src/main/java/io/xpipe/app/prefs/IconsCategory.java index d2caf53c7..8328338d4 100644 --- a/app/src/main/java/io/xpipe/app/prefs/IconsCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/IconsCategory.java @@ -10,7 +10,7 @@ import io.xpipe.app.icon.SystemIconSource; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/prefs/SshCategory.java b/app/src/main/java/io/xpipe/app/prefs/SshCategory.java index 8664e87be..341a83756 100644 --- a/app/src/main/java/io/xpipe/app/prefs/SshCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/SshCategory.java @@ -3,7 +3,7 @@ package io.xpipe.app.prefs; import io.xpipe.app.comp.Comp; import io.xpipe.app.util.LabelGraphic; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; public class SshCategory extends AppPrefsCategory { diff --git a/app/src/main/java/io/xpipe/app/prefs/StartupBehaviour.java b/app/src/main/java/io/xpipe/app/prefs/StartupBehaviour.java index b3cd2416a..4dba31e83 100644 --- a/app/src/main/java/io/xpipe/app/prefs/StartupBehaviour.java +++ b/app/src/main/java/io/xpipe/app/prefs/StartupBehaviour.java @@ -2,7 +2,7 @@ package io.xpipe.app.prefs; import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.ext.PrefsChoiceValue; -import io.xpipe.core.util.XPipeDaemonMode; +import io.xpipe.core.XPipeDaemonMode; import lombok.AllArgsConstructor; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/prefs/TerminalCategory.java b/app/src/main/java/io/xpipe/app/prefs/TerminalCategory.java index a05ef6e65..0b06be75e 100644 --- a/app/src/main/java/io/xpipe/app/prefs/TerminalCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/TerminalCategory.java @@ -13,7 +13,7 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.terminal.*; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.beans.binding.Bindings; diff --git a/app/src/main/java/io/xpipe/app/prefs/TroubleshootCategory.java b/app/src/main/java/io/xpipe/app/prefs/TroubleshootCategory.java index 69ec7ea42..d3c88f4b8 100644 --- a/app/src/main/java/io/xpipe/app/prefs/TroubleshootCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/TroubleshootCategory.java @@ -12,11 +12,11 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.UserReportComp; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellScript; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellScript; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.FilePath; +import io.xpipe.core.XPipeInstallation; import com.sun.management.HotSpotDiagnosticMXBean; import lombok.SneakyThrows; diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java b/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java index 3afebe392..b6a2015d3 100644 --- a/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java +++ b/app/src/main/java/io/xpipe/app/prefs/WorkspaceCreationDialog.java @@ -7,8 +7,8 @@ import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeInstallation; import javafx.beans.property.SimpleObjectProperty; diff --git a/core/src/main/java/io/xpipe/core/process/CommandBuilder.java b/app/src/main/java/io/xpipe/app/process/CommandBuilder.java similarity index 98% rename from core/src/main/java/io/xpipe/core/process/CommandBuilder.java rename to app/src/main/java/io/xpipe/app/process/CommandBuilder.java index 20313ac9b..5b141a946 100644 --- a/core/src/main/java/io/xpipe/core/process/CommandBuilder.java +++ b/app/src/main/java/io/xpipe/app/process/CommandBuilder.java @@ -1,8 +1,8 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableConsumer; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableConsumer; +import io.xpipe.core.FailableFunction; import lombok.Getter; import lombok.SneakyThrows; diff --git a/core/src/main/java/io/xpipe/core/process/CommandConfiguration.java b/app/src/main/java/io/xpipe/app/process/CommandConfiguration.java similarity index 85% rename from core/src/main/java/io/xpipe/core/process/CommandConfiguration.java rename to app/src/main/java/io/xpipe/app/process/CommandConfiguration.java index 013d814eb..5d01995ff 100644 --- a/core/src/main/java/io/xpipe/core/process/CommandConfiguration.java +++ b/app/src/main/java/io/xpipe/app/process/CommandConfiguration.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; public interface CommandConfiguration { diff --git a/core/src/main/java/io/xpipe/core/process/CommandControl.java b/app/src/main/java/io/xpipe/app/process/CommandControl.java similarity index 97% rename from core/src/main/java/io/xpipe/core/process/CommandControl.java rename to app/src/main/java/io/xpipe/app/process/CommandControl.java index 7df426d58..4b400e9f8 100644 --- a/core/src/main/java/io/xpipe/core/process/CommandControl.java +++ b/app/src/main/java/io/xpipe/app/process/CommandControl.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import java.io.InputStream; import java.io.OutputStream; diff --git a/core/src/main/java/io/xpipe/core/process/CountDown.java b/app/src/main/java/io/xpipe/app/process/CountDown.java similarity index 97% rename from core/src/main/java/io/xpipe/core/process/CountDown.java rename to app/src/main/java/io/xpipe/app/process/CountDown.java index a2af3e938..7840e3e9c 100644 --- a/core/src/main/java/io/xpipe/core/process/CountDown.java +++ b/app/src/main/java/io/xpipe/app/process/CountDown.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.Getter; import lombok.Setter; diff --git a/core/src/main/java/io/xpipe/core/process/ElevationFunction.java b/app/src/main/java/io/xpipe/app/process/ElevationFunction.java similarity index 96% rename from core/src/main/java/io/xpipe/core/process/ElevationFunction.java rename to app/src/main/java/io/xpipe/app/process/ElevationFunction.java index 25afe2c94..75f2206a1 100644 --- a/core/src/main/java/io/xpipe/core/process/ElevationFunction.java +++ b/app/src/main/java/io/xpipe/app/process/ElevationFunction.java @@ -1,6 +1,7 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FailableFunction; +import io.xpipe.core.OsType; public interface ElevationFunction { diff --git a/core/src/main/java/io/xpipe/core/process/ElevationHandler.java b/app/src/main/java/io/xpipe/app/process/ElevationHandler.java similarity index 92% rename from core/src/main/java/io/xpipe/core/process/ElevationHandler.java rename to app/src/main/java/io/xpipe/app/process/ElevationHandler.java index ba4f922f6..5bc8357b7 100644 --- a/core/src/main/java/io/xpipe/core/process/ElevationHandler.java +++ b/app/src/main/java/io/xpipe/app/process/ElevationHandler.java @@ -1,6 +1,4 @@ -package io.xpipe.core.process; - -import io.xpipe.core.util.SecretReference; +package io.xpipe.app.process; import java.util.UUID; diff --git a/core/src/main/java/io/xpipe/core/process/LocalProcessInputStream.java b/app/src/main/java/io/xpipe/app/process/LocalProcessInputStream.java similarity index 90% rename from core/src/main/java/io/xpipe/core/process/LocalProcessInputStream.java rename to app/src/main/java/io/xpipe/app/process/LocalProcessInputStream.java index d60ddcdcc..8f1e24da4 100644 --- a/core/src/main/java/io/xpipe/core/process/LocalProcessInputStream.java +++ b/app/src/main/java/io/xpipe/app/process/LocalProcessInputStream.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.io.FilterInputStream; import java.io.InputStream; diff --git a/core/src/main/java/io/xpipe/core/process/LocalProcessOutputStream.java b/app/src/main/java/io/xpipe/app/process/LocalProcessOutputStream.java similarity index 89% rename from core/src/main/java/io/xpipe/core/process/LocalProcessOutputStream.java rename to app/src/main/java/io/xpipe/app/process/LocalProcessOutputStream.java index 49d50ee2c..2a512f539 100644 --- a/core/src/main/java/io/xpipe/core/process/LocalProcessOutputStream.java +++ b/app/src/main/java/io/xpipe/app/process/LocalProcessOutputStream.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.io.FilterOutputStream; import java.io.OutputStream; diff --git a/core/src/main/java/io/xpipe/core/util/NewLine.java b/app/src/main/java/io/xpipe/app/process/NewLine.java similarity index 96% rename from core/src/main/java/io/xpipe/core/util/NewLine.java rename to app/src/main/java/io/xpipe/app/process/NewLine.java index f32d2ae6d..7cbbfbd87 100644 --- a/core/src/main/java/io/xpipe/core/util/NewLine.java +++ b/app/src/main/java/io/xpipe/app/process/NewLine.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.app.process; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/process/OsType.java b/app/src/main/java/io/xpipe/app/process/OsFileSystem.java similarity index 72% rename from core/src/main/java/io/xpipe/core/process/OsType.java rename to app/src/main/java/io/xpipe/app/process/OsFileSystem.java index f624fde20..df3ce1b71 100644 --- a/core/src/main/java/io/xpipe/core/process/OsType.java +++ b/app/src/main/java/io/xpipe/app/process/OsFileSystem.java @@ -1,28 +1,44 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import java.util.ArrayList; import java.util.List; -import java.util.Locale; +import java.util.regex.Pattern; -public interface OsType { +public interface OsFileSystem { Windows WINDOWS = new Windows(); - Linux LINUX = new Linux(); + Unix UNIX = new Unix(); MacOs MACOS = new MacOs(); - Bsd BSD = new Bsd(); - Solaris SOLARIS = new Solaris(); - static Local getLocal() { - String osName = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH); - if ((osName.contains("mac")) || (osName.contains("darwin"))) { - return MACOS; - } else if (osName.contains("win")) { - return WINDOWS; - } else { - return LINUX; + static OsFileSystem ofLocal() { + return of(OsType.getLocal()); + } + + static OsFileSystem of(OsType osType) { + return switch (osType) { + case OsType.Windows _ -> WINDOWS; + case OsType.Bsd _ -> UNIX; + case OsType.Linux _ -> UNIX; + case OsType.MacOs _ -> MACOS; + case OsType.Solaris _ -> UNIX; + default -> throw new IllegalStateException(); + }; + } + + default FilePath makeFileSystemCompatible(FilePath name) { + var split = name.split(); + var needsReplacement = split.stream().anyMatch(s -> !s.equals(makeFileSystemCompatible(s))); + if (!needsReplacement) { + return name; } + + var p = Pattern.compile("[^/\\\\]+"); + var m = p.matcher(name.toString()); + var replaced = m.replaceAll(matchResult -> makeFileSystemCompatible(matchResult.group())); + return FilePath.of(replaced); } String makeFileSystemCompatible(String name); @@ -33,21 +49,7 @@ public interface OsType { String getFileSystemSeparator(); - String getName(); - - sealed interface Local extends OsType permits OsType.Windows, OsType.Linux, OsType.MacOs { - - String getId(); - - default Any toAny() { - return (Any) this; - } - } - - sealed interface Any extends OsType - permits OsType.Windows, OsType.Linux, OsType.MacOs, OsType.Solaris, OsType.Bsd {} - - final class Windows implements OsType, Local, Any { + final class Windows implements OsFileSystem { @Override public String makeFileSystemCompatible(String name) { @@ -81,19 +83,9 @@ public interface OsType { public String getFileSystemSeparator() { return "\\"; } - - @Override - public String getName() { - return "Windows"; - } - - @Override - public String getId() { - return "windows"; - } } - class Unix implements OsType { + class Unix implements OsFileSystem { @Override public String makeFileSystemCompatible(String name) { @@ -142,31 +134,9 @@ public interface OsType { public String getFileSystemSeparator() { return "/"; } - - @Override - public String getName() { - return "Linux"; - } } - final class Linux extends Unix implements OsType, Local, Any { - - @Override - public String getId() { - return "linux"; - } - } - - final class Solaris extends Unix implements Any {} - - final class Bsd extends Unix implements Any {} - - final class MacOs implements OsType, Local, Any { - - @Override - public String getId() { - return "macos"; - } + final class MacOs implements OsFileSystem { @Override public String makeFileSystemCompatible(String name) { @@ -199,10 +169,5 @@ public interface OsType { public String getFileSystemSeparator() { return "/"; } - - @Override - public String getName() { - return "Mac"; - } } } diff --git a/core/src/main/java/io/xpipe/core/process/ParentSystemAccess.java b/app/src/main/java/io/xpipe/app/process/ParentSystemAccess.java similarity index 98% rename from core/src/main/java/io/xpipe/core/process/ParentSystemAccess.java rename to app/src/main/java/io/xpipe/app/process/ParentSystemAccess.java index d05cbb150..af11a8e79 100644 --- a/core/src/main/java/io/xpipe/core/process/ParentSystemAccess.java +++ b/app/src/main/java/io/xpipe/app/process/ParentSystemAccess.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; public interface ParentSystemAccess { diff --git a/core/src/main/java/io/xpipe/core/process/ProcessControl.java b/app/src/main/java/io/xpipe/app/process/ProcessControl.java similarity index 97% rename from core/src/main/java/io/xpipe/core/process/ProcessControl.java rename to app/src/main/java/io/xpipe/app/process/ProcessControl.java index b11c65031..59eab8180 100644 --- a/core/src/main/java/io/xpipe/core/process/ProcessControl.java +++ b/app/src/main/java/io/xpipe/app/process/ProcessControl.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.io.IOException; import java.io.InputStream; diff --git a/core/src/main/java/io/xpipe/core/process/ProcessOutputException.java b/app/src/main/java/io/xpipe/app/process/ProcessOutputException.java similarity index 99% rename from core/src/main/java/io/xpipe/core/process/ProcessOutputException.java rename to app/src/main/java/io/xpipe/app/process/ProcessOutputException.java index 60ce5b3e8..3f628b342 100644 --- a/core/src/main/java/io/xpipe/core/process/ProcessOutputException.java +++ b/app/src/main/java/io/xpipe/app/process/ProcessOutputException.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/process/PropertiesFormatsParser.java b/app/src/main/java/io/xpipe/app/process/PropertiesFormatsParser.java similarity index 98% rename from core/src/main/java/io/xpipe/core/process/PropertiesFormatsParser.java rename to app/src/main/java/io/xpipe/app/process/PropertiesFormatsParser.java index 6203514b5..6ae0b59f1 100644 --- a/core/src/main/java/io/xpipe/core/process/PropertiesFormatsParser.java +++ b/app/src/main/java/io/xpipe/app/process/PropertiesFormatsParser.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.SneakyThrows; diff --git a/core/src/main/java/io/xpipe/core/util/SecretReference.java b/app/src/main/java/io/xpipe/app/process/SecretReference.java similarity index 90% rename from core/src/main/java/io/xpipe/core/util/SecretReference.java rename to app/src/main/java/io/xpipe/app/process/SecretReference.java index 136207622..7208b3e84 100644 --- a/core/src/main/java/io/xpipe/core/util/SecretReference.java +++ b/app/src/main/java/io/xpipe/app/process/SecretReference.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.app.process; import lombok.AllArgsConstructor; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/process/ShellControl.java b/app/src/main/java/io/xpipe/app/process/ShellControl.java similarity index 96% rename from core/src/main/java/io/xpipe/core/process/ShellControl.java rename to app/src/main/java/io/xpipe/app/process/ShellControl.java index 94f382fa8..fe4a20a72 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellControl.java +++ b/app/src/main/java/io/xpipe/app/process/ShellControl.java @@ -1,11 +1,12 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.StatefulDataStore; -import io.xpipe.core.util.FailableConsumer; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.StatefulDataStore; +import io.xpipe.core.FailableConsumer; +import io.xpipe.core.FailableFunction; +import io.xpipe.core.OsType; import lombok.NonNull; import java.io.IOException; diff --git a/core/src/main/java/io/xpipe/core/process/ShellDialect.java b/app/src/main/java/io/xpipe/app/process/ShellDialect.java similarity index 95% rename from core/src/main/java/io/xpipe/core/process/ShellDialect.java rename to app/src/main/java/io/xpipe/app/process/ShellDialect.java index d10a62067..627f5da0f 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellDialect.java +++ b/app/src/main/java/io/xpipe/app/process/ShellDialect.java @@ -1,10 +1,9 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FileEntry; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystem; -import io.xpipe.core.util.NewLine; -import io.xpipe.core.util.StreamCharset; +import io.xpipe.app.ext.FileEntry; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystem; +import io.xpipe.core.StreamCharset; import java.nio.charset.Charset; import java.util.List; diff --git a/core/src/main/java/io/xpipe/core/process/ShellDialectAskpass.java b/app/src/main/java/io/xpipe/app/process/ShellDialectAskpass.java similarity index 96% rename from core/src/main/java/io/xpipe/core/process/ShellDialectAskpass.java rename to app/src/main/java/io/xpipe/app/process/ShellDialectAskpass.java index 0a8967e30..c14d9f6e8 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellDialectAskpass.java +++ b/app/src/main/java/io/xpipe/app/process/ShellDialectAskpass.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.util.List; import java.util.UUID; diff --git a/core/src/main/java/io/xpipe/core/process/ShellDialects.java b/app/src/main/java/io/xpipe/app/process/ShellDialects.java similarity index 97% rename from core/src/main/java/io/xpipe/core/process/ShellDialects.java rename to app/src/main/java/io/xpipe/app/process/ShellDialects.java index 4beeb5253..980fe2ed1 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellDialects.java +++ b/app/src/main/java/io/xpipe/app/process/ShellDialects.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/io/xpipe/core/process/ShellDumbMode.java b/app/src/main/java/io/xpipe/app/process/ShellDumbMode.java similarity index 96% rename from core/src/main/java/io/xpipe/core/process/ShellDumbMode.java rename to app/src/main/java/io/xpipe/app/process/ShellDumbMode.java index 54ae35cca..d356b2e2c 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellDumbMode.java +++ b/app/src/main/java/io/xpipe/app/process/ShellDumbMode.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.io.IOException; diff --git a/core/src/main/java/io/xpipe/core/process/ShellEnvironmentStoreState.java b/app/src/main/java/io/xpipe/app/process/ShellEnvironmentStoreState.java similarity index 90% rename from core/src/main/java/io/xpipe/core/process/ShellEnvironmentStoreState.java rename to app/src/main/java/io/xpipe/app/process/ShellEnvironmentStoreState.java index dd43f6fd7..ffef0d3d7 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellEnvironmentStoreState.java +++ b/app/src/main/java/io/xpipe/app/process/ShellEnvironmentStoreState.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.DataStoreState; +import io.xpipe.app.ext.DataStoreState; import lombok.EqualsAndHashCode; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/process/ShellLaunchCommand.java b/app/src/main/java/io/xpipe/app/process/ShellLaunchCommand.java similarity index 84% rename from core/src/main/java/io/xpipe/core/process/ShellLaunchCommand.java rename to app/src/main/java/io/xpipe/app/process/ShellLaunchCommand.java index 18913b577..a6c1e9b3b 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellLaunchCommand.java +++ b/app/src/main/java/io/xpipe/app/process/ShellLaunchCommand.java @@ -1,4 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; + +import io.xpipe.core.OsType; import java.util.List; diff --git a/core/src/main/java/io/xpipe/core/process/ShellOpenFunction.java b/app/src/main/java/io/xpipe/app/process/ShellOpenFunction.java similarity index 95% rename from core/src/main/java/io/xpipe/core/process/ShellOpenFunction.java rename to app/src/main/java/io/xpipe/app/process/ShellOpenFunction.java index 58d149630..c087b49c3 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellOpenFunction.java +++ b/app/src/main/java/io/xpipe/app/process/ShellOpenFunction.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.NonNull; diff --git a/core/src/main/java/io/xpipe/core/process/ShellScript.java b/app/src/main/java/io/xpipe/app/process/ShellScript.java similarity index 94% rename from core/src/main/java/io/xpipe/core/process/ShellScript.java rename to app/src/main/java/io/xpipe/app/process/ShellScript.java index d8bd8fb84..55643eba8 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellScript.java +++ b/app/src/main/java/io/xpipe/app/process/ShellScript.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/process/ShellSecurityPolicy.java b/app/src/main/java/io/xpipe/app/process/ShellSecurityPolicy.java similarity index 72% rename from core/src/main/java/io/xpipe/core/process/ShellSecurityPolicy.java rename to app/src/main/java/io/xpipe/app/process/ShellSecurityPolicy.java index 6d378a992..15cb54f56 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellSecurityPolicy.java +++ b/app/src/main/java/io/xpipe/app/process/ShellSecurityPolicy.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; public interface ShellSecurityPolicy { diff --git a/core/src/main/java/io/xpipe/core/process/ShellSpawnException.java b/app/src/main/java/io/xpipe/app/process/ShellSpawnException.java similarity index 79% rename from core/src/main/java/io/xpipe/core/process/ShellSpawnException.java rename to app/src/main/java/io/xpipe/app/process/ShellSpawnException.java index 7c4895217..4569ad04d 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellSpawnException.java +++ b/app/src/main/java/io/xpipe/app/process/ShellSpawnException.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.experimental.StandardException; diff --git a/core/src/main/java/io/xpipe/core/process/ShellStoreState.java b/app/src/main/java/io/xpipe/app/process/ShellStoreState.java similarity index 93% rename from core/src/main/java/io/xpipe/core/process/ShellStoreState.java rename to app/src/main/java/io/xpipe/app/process/ShellStoreState.java index e8da9dd31..0d1595b2f 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellStoreState.java +++ b/app/src/main/java/io/xpipe/app/process/ShellStoreState.java @@ -1,7 +1,8 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.DataStoreState; +import io.xpipe.app.ext.DataStoreState; +import io.xpipe.core.OsType; import lombok.AccessLevel; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/process/ShellTerminalInitCommand.java b/app/src/main/java/io/xpipe/app/process/ShellTerminalInitCommand.java similarity index 87% rename from core/src/main/java/io/xpipe/core/process/ShellTerminalInitCommand.java rename to app/src/main/java/io/xpipe/app/process/ShellTerminalInitCommand.java index 406ad05b7..6a661ce2f 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellTerminalInitCommand.java +++ b/app/src/main/java/io/xpipe/app/process/ShellTerminalInitCommand.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import java.util.Optional; diff --git a/core/src/main/java/io/xpipe/core/process/ShellTtyState.java b/app/src/main/java/io/xpipe/app/process/ShellTtyState.java similarity index 97% rename from core/src/main/java/io/xpipe/core/process/ShellTtyState.java rename to app/src/main/java/io/xpipe/app/process/ShellTtyState.java index ea320c412..928ef8cdc 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellTtyState.java +++ b/app/src/main/java/io/xpipe/app/process/ShellTtyState.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/process/ShellView.java b/app/src/main/java/io/xpipe/app/process/ShellView.java similarity index 96% rename from core/src/main/java/io/xpipe/core/process/ShellView.java rename to app/src/main/java/io/xpipe/app/process/ShellView.java index 0625ef09c..09a1b7293 100644 --- a/core/src/main/java/io/xpipe/core/process/ShellView.java +++ b/app/src/main/java/io/xpipe/app/process/ShellView.java @@ -1,6 +1,7 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import java.io.InputStream; import java.nio.file.Files; @@ -63,7 +64,7 @@ public class ShellView { public FilePath userHome() throws Exception { if (userHome == null) { - userHome = FilePath.of(shellControl.getOsType().getUserHomeDirectory(shellControl)); + userHome = FilePath.of(OsFileSystem.of(shellControl.getOsType()).getUserHomeDirectory(shellControl)); } return userHome; diff --git a/core/src/main/java/io/xpipe/core/process/StubShellControl.java b/app/src/main/java/io/xpipe/app/process/StubShellControl.java similarity index 92% rename from core/src/main/java/io/xpipe/core/process/StubShellControl.java rename to app/src/main/java/io/xpipe/app/process/StubShellControl.java index e0159be90..5901e80a5 100644 --- a/core/src/main/java/io/xpipe/core/process/StubShellControl.java +++ b/app/src/main/java/io/xpipe/app/process/StubShellControl.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.util.FailableConsumer; +import io.xpipe.core.FailableConsumer; import java.util.function.Consumer; diff --git a/core/src/main/java/io/xpipe/core/process/SystemState.java b/app/src/main/java/io/xpipe/app/process/SystemState.java similarity index 72% rename from core/src/main/java/io/xpipe/core/process/SystemState.java rename to app/src/main/java/io/xpipe/app/process/SystemState.java index 613726abb..fb121e466 100644 --- a/core/src/main/java/io/xpipe/core/process/SystemState.java +++ b/app/src/main/java/io/xpipe/app/process/SystemState.java @@ -1,4 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; + +import io.xpipe.core.OsType; public interface SystemState { diff --git a/core/src/main/java/io/xpipe/core/process/TerminalInitFunction.java b/app/src/main/java/io/xpipe/app/process/TerminalInitFunction.java similarity index 95% rename from core/src/main/java/io/xpipe/core/process/TerminalInitFunction.java rename to app/src/main/java/io/xpipe/app/process/TerminalInitFunction.java index 01afa6d5f..eb9367e4f 100644 --- a/core/src/main/java/io/xpipe/core/process/TerminalInitFunction.java +++ b/app/src/main/java/io/xpipe/app/process/TerminalInitFunction.java @@ -1,6 +1,6 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FailableFunction; public interface TerminalInitFunction { diff --git a/core/src/main/java/io/xpipe/core/process/TerminalInitScriptConfig.java b/app/src/main/java/io/xpipe/app/process/TerminalInitScriptConfig.java similarity index 91% rename from core/src/main/java/io/xpipe/core/process/TerminalInitScriptConfig.java rename to app/src/main/java/io/xpipe/app/process/TerminalInitScriptConfig.java index 5ba0ad973..80d04a8b3 100644 --- a/core/src/main/java/io/xpipe/core/process/TerminalInitScriptConfig.java +++ b/app/src/main/java/io/xpipe/app/process/TerminalInitScriptConfig.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/process/TerminalLaunchCommandFunction.java b/app/src/main/java/io/xpipe/app/process/TerminalLaunchCommandFunction.java similarity index 89% rename from core/src/main/java/io/xpipe/core/process/TerminalLaunchCommandFunction.java rename to app/src/main/java/io/xpipe/app/process/TerminalLaunchCommandFunction.java index 2dd098ddb..8865cf8b0 100644 --- a/core/src/main/java/io/xpipe/core/process/TerminalLaunchCommandFunction.java +++ b/app/src/main/java/io/xpipe/app/process/TerminalLaunchCommandFunction.java @@ -1,4 +1,4 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; public interface TerminalLaunchCommandFunction { diff --git a/core/src/main/java/io/xpipe/core/process/WorkingDirectoryFunction.java b/app/src/main/java/io/xpipe/app/process/WorkingDirectoryFunction.java similarity index 93% rename from core/src/main/java/io/xpipe/core/process/WorkingDirectoryFunction.java rename to app/src/main/java/io/xpipe/app/process/WorkingDirectoryFunction.java index 6ce049851..8bb848cdd 100644 --- a/core/src/main/java/io/xpipe/core/process/WorkingDirectoryFunction.java +++ b/app/src/main/java/io/xpipe/app/process/WorkingDirectoryFunction.java @@ -1,7 +1,7 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableFunction; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableFunction; public interface WorkingDirectoryFunction { diff --git a/core/src/main/java/io/xpipe/core/process/WrapperShellControl.java b/app/src/main/java/io/xpipe/app/process/WrapperShellControl.java similarity index 98% rename from core/src/main/java/io/xpipe/core/process/WrapperShellControl.java rename to app/src/main/java/io/xpipe/app/process/WrapperShellControl.java index 4fb1e92e4..0cfe3b8ca 100644 --- a/core/src/main/java/io/xpipe/core/process/WrapperShellControl.java +++ b/app/src/main/java/io/xpipe/app/process/WrapperShellControl.java @@ -1,9 +1,10 @@ -package io.xpipe.core.process; +package io.xpipe.app.process; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableConsumer; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableConsumer; +import io.xpipe.core.OsType; import lombok.Getter; import java.io.IOException; diff --git a/app/src/main/java/io/xpipe/app/pwman/BitwardenPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/BitwardenPasswordManager.java index 1981a1ae1..e666d4d2d 100644 --- a/app/src/main/java/io/xpipe/app/pwman/BitwardenPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/BitwardenPasswordManager.java @@ -4,11 +4,11 @@ import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/pwman/DashlanePasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/DashlanePasswordManager.java index d39b9393b..9bf476b8f 100644 --- a/app/src/main/java/io/xpipe/app/pwman/DashlanePasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/DashlanePasswordManager.java @@ -4,11 +4,11 @@ import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.CommandSupport; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/pwman/EnpassPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/EnpassPasswordManager.java index 99795861d..bc7e417f0 100644 --- a/app/src/main/java/io/xpipe/app/pwman/EnpassPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/EnpassPasswordManager.java @@ -5,11 +5,11 @@ import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import javafx.application.Platform; import javafx.beans.property.Property; diff --git a/app/src/main/java/io/xpipe/app/pwman/KeePassXcAssociationKey.java b/app/src/main/java/io/xpipe/app/pwman/KeePassXcAssociationKey.java index 8da549b6b..105469cd6 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeePassXcAssociationKey.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeePassXcAssociationKey.java @@ -1,6 +1,6 @@ package io.xpipe.app.pwman; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import lombok.Builder; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/pwman/KeePassXcPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/KeePassXcPasswordManager.java index 23717000f..840b169e9 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeePassXcPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeePassXcPasswordManager.java @@ -5,7 +5,7 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/pwman/KeePassXcProxyClient.java b/app/src/main/java/io/xpipe/app/pwman/KeePassXcProxyClient.java index 177118bf1..b41336894 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeePassXcProxyClient.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeePassXcProxyClient.java @@ -3,8 +3,8 @@ package io.xpipe.app.pwman; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.node.ObjectNode; diff --git a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java index 35b59178c..86c371033 100644 --- a/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/KeeperPasswordManager.java @@ -2,16 +2,17 @@ package io.xpipe.app.pwman; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.SecretManager; import io.xpipe.app.util.SecretRetrievalStrategy; -import io.xpipe.core.process.*; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.databind.JsonNode; +import io.xpipe.core.OsType; import java.util.UUID; diff --git a/app/src/main/java/io/xpipe/app/pwman/LastpassPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/LastpassPasswordManager.java index 0c9b6ef87..b834a10d7 100644 --- a/app/src/main/java/io/xpipe/app/pwman/LastpassPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/LastpassPasswordManager.java @@ -2,11 +2,13 @@ package io.xpipe.app.pwman; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.*; -import io.xpipe.core.process.*; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/pwman/OnePasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/OnePasswordManager.java index bf79a7ba2..9dfb579ec 100644 --- a/app/src/main/java/io/xpipe/app/pwman/OnePasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/OnePasswordManager.java @@ -4,10 +4,10 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.CommandSupport; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/pwman/PasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/PasswordManager.java index 4b2271c8b..61067979a 100644 --- a/app/src/main/java/io/xpipe/app/pwman/PasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/PasswordManager.java @@ -1,7 +1,7 @@ package io.xpipe.app.pwman; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.OsType; +import io.xpipe.core.SecretValue; import com.fasterxml.jackson.annotation.JsonTypeInfo; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommand.java b/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommand.java index dc030b629..ea55fe2df 100644 --- a/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommand.java +++ b/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommand.java @@ -9,10 +9,10 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.ExternalApplicationHelper; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.*; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.SecretValue; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.SecretValue; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommandTemplate.java b/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommandTemplate.java index 19aae89d7..5821d431b 100644 --- a/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommandTemplate.java +++ b/app/src/main/java/io/xpipe/app/pwman/PasswordManagerCommandTemplate.java @@ -1,7 +1,7 @@ package io.xpipe.app.pwman; import io.xpipe.app.ext.PrefsChoiceValue; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.util.List; import java.util.stream.Stream; diff --git a/app/src/main/java/io/xpipe/app/pwman/PsonoPasswordManager.java b/app/src/main/java/io/xpipe/app/pwman/PsonoPasswordManager.java index 00e723247..368fbebc4 100644 --- a/app/src/main/java/io/xpipe/app/pwman/PsonoPasswordManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/PsonoPasswordManager.java @@ -6,10 +6,10 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/pwman/WindowsCredentialManager.java b/app/src/main/java/io/xpipe/app/pwman/WindowsCredentialManager.java index ef700ba09..4bf958c9c 100644 --- a/app/src/main/java/io/xpipe/app/pwman/WindowsCredentialManager.java +++ b/app/src/main/java/io/xpipe/app/pwman/WindowsCredentialManager.java @@ -2,7 +2,7 @@ package io.xpipe.app.pwman; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/rdp/CustomRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/CustomRdpClient.java index 344012941..33c1d090f 100644 --- a/app/src/main/java/io/xpipe/app/rdp/CustomRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/CustomRdpClient.java @@ -4,7 +4,7 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationHelper; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.util.Locale; diff --git a/app/src/main/java/io/xpipe/app/rdp/DevolutionsRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/DevolutionsRdpClient.java index 29826588c..37f4bf363 100644 --- a/app/src/main/java/io/xpipe/app/rdp/DevolutionsRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/DevolutionsRdpClient.java @@ -4,7 +4,7 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.ThreadHelper; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/rdp/ExternalRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/ExternalRdpClient.java index d590b94eb..3d620a5cc 100644 --- a/app/src/main/java/io/xpipe/app/rdp/ExternalRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/ExternalRdpClient.java @@ -2,8 +2,9 @@ package io.xpipe.app.rdp; import io.xpipe.app.ext.PrefsChoiceValue; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.nio.file.Files; import java.nio.file.Path; @@ -82,7 +83,7 @@ public interface ExternalRdpClient extends PrefsChoiceValue { boolean supportsPasswordPassing(); default Path writeRdpConfigFile(String title, RdpConfig input) throws Exception { - var name = OsType.getLocal().makeFileSystemCompatible(title); + var name = OsFileSystem.ofLocal().makeFileSystemCompatible(title); var file = ShellTemp.getLocalTempDataDirectory("rdp").resolve(name + ".rdp"); var string = input.toString(); Files.createDirectories(file.getParent()); diff --git a/app/src/main/java/io/xpipe/app/rdp/FreeRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/FreeRdpClient.java index 5a9f3bf49..144962d02 100644 --- a/app/src/main/java/io/xpipe/app/rdp/FreeRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/FreeRdpClient.java @@ -1,7 +1,7 @@ package io.xpipe.app.rdp; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class FreeRdpClient implements ExternalApplicationType.PathApplication, ExternalRdpClient { diff --git a/app/src/main/java/io/xpipe/app/rdp/MstscRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/MstscRdpClient.java index 1375ed4b0..f49185e8b 100644 --- a/app/src/main/java/io/xpipe/app/rdp/MstscRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/MstscRdpClient.java @@ -4,8 +4,8 @@ import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.RdpConfig; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.util.SecretValue; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.SecretValue; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/rdp/RdpLaunchConfig.java b/app/src/main/java/io/xpipe/app/rdp/RdpLaunchConfig.java index b1376d798..5cb8d805d 100644 --- a/app/src/main/java/io/xpipe/app/rdp/RdpLaunchConfig.java +++ b/app/src/main/java/io/xpipe/app/rdp/RdpLaunchConfig.java @@ -1,7 +1,7 @@ package io.xpipe.app.rdp; import io.xpipe.app.util.RdpConfig; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/rdp/RemminaRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/RemminaRdpClient.java index 5bf4e8487..8a07d40e4 100644 --- a/app/src/main/java/io/xpipe/app/rdp/RemminaRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/RemminaRdpClient.java @@ -2,7 +2,7 @@ package io.xpipe.app.rdp; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java index 1d99d06ef..7c3242445 100644 --- a/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/RemoteDesktopAppRdpClient.java @@ -2,7 +2,7 @@ package io.xpipe.app.rdp; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class RemoteDesktopAppRdpClient implements ExternalApplicationType.MacApplication, ExternalRdpClient { diff --git a/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java b/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java index d06d8fe51..77fb585c4 100644 --- a/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java +++ b/app/src/main/java/io/xpipe/app/rdp/WindowsAppRdpClient.java @@ -2,7 +2,7 @@ package io.xpipe.app.rdp; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class WindowsAppRdpClient implements ExternalApplicationType.MacApplication, ExternalRdpClient { diff --git a/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java b/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java index e4d203cd0..a5251b513 100644 --- a/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java +++ b/app/src/main/java/io/xpipe/app/storage/ContextualFileReference.java @@ -1,8 +1,9 @@ package io.xpipe.app.storage; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.OsFileSystem; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; import lombok.AccessLevel; import lombok.AllArgsConstructor; @@ -65,7 +66,7 @@ public class ContextualFileReference { public FilePath toAbsoluteFilePath(ShellControl sc) { return FilePath.of(path.replaceAll( - "/", Matcher.quoteReplacement(sc != null ? sc.getOsType().getFileSystemSeparator() : "/"))); + "/", Matcher.quoteReplacement(sc != null ? OsFileSystem.of(sc.getOsType()).getFileSystemSeparator() : "/"))); } public boolean isInDataDirectory() { diff --git a/app/src/main/java/io/xpipe/app/storage/DataStateProviderImpl.java b/app/src/main/java/io/xpipe/app/storage/DataStateHandler.java similarity index 89% rename from app/src/main/java/io/xpipe/app/storage/DataStateProviderImpl.java rename to app/src/main/java/io/xpipe/app/storage/DataStateHandler.java index b55010434..ef3b08ae4 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStateProviderImpl.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStateHandler.java @@ -1,15 +1,19 @@ package io.xpipe.app.storage; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.DataStoreState; -import io.xpipe.core.store.StatefulDataStore; -import io.xpipe.core.util.DataStateProvider; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.DataStoreState; +import io.xpipe.app.ext.StatefulDataStore; import java.util.function.Supplier; -public class DataStateProviderImpl extends DataStateProvider { +public class DataStateHandler { + + private static final DataStateHandler INSTANCE = new DataStateHandler(); + + public static DataStateHandler get() { + return INSTANCE; + } - @Override public void setState(DataStore store, DataStoreState value) { if (DataStorage.get() == null) { return; @@ -24,7 +28,6 @@ public class DataStateProviderImpl extends DataStateProvider { entry.get().setStorePersistentState(value); } - @Override public T getState(DataStore store, Supplier def) { if (DataStorage.get() == null) { return def.get(); @@ -48,7 +51,6 @@ public class DataStateProviderImpl extends DataStateProvider { return r != null ? r : def.get(); } - @Override public void putCache(DataStore store, String key, Object value) { if (DataStorage.get() == null) { return; @@ -63,7 +65,6 @@ public class DataStateProviderImpl extends DataStateProvider { entry.get().setStoreCache(key, value); } - @Override public T getCache(DataStore store, String key, Class c, Supplier def) { if (DataStorage.get() == null) { return def.get(); diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorage.java b/app/src/main/java/io/xpipe/app/storage/DataStorage.java index ad7efbbcc..5e5b4fbad 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -8,9 +8,9 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.StorePath; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.core.StorePath; import javafx.util.Pair; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorageNode.java b/app/src/main/java/io/xpipe/app/storage/DataStorageNode.java index 7e95792b6..61b62b453 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorageNode.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorageNode.java @@ -4,9 +4,9 @@ import io.xpipe.app.ext.UserScopeStore; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.EncryptionToken; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.core.JsonFactory; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorageSecret.java b/app/src/main/java/io/xpipe/app/storage/DataStorageSecret.java index 3372f3c77..9d209f3a0 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorageSecret.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorageSecret.java @@ -4,10 +4,10 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.EncryptionToken; import io.xpipe.app.util.PasswordLockSecretValue; import io.xpipe.app.util.VaultKeySecretValue; -import io.xpipe.core.util.EncryptedSecretValue; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.EncryptedSecretValue; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.SecretValue; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.node.JsonNodeFactory; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStoreCategory.java b/app/src/main/java/io/xpipe/app/storage/DataStoreCategory.java index bde7a2d62..ddb88e356 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStoreCategory.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStoreCategory.java @@ -1,6 +1,6 @@ package io.xpipe.app.storage; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java b/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java index abca25c46..349102fbb 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStoreEntry.java @@ -1,13 +1,9 @@ package io.xpipe.app.storage; -import io.xpipe.app.ext.DataStoreProvider; -import io.xpipe.app.ext.DataStoreProviders; -import io.xpipe.app.ext.NameableStore; -import io.xpipe.app.ext.UserScopeStore; +import io.xpipe.app.ext.*; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.*; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JacksonException; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStoreEntryRef.java b/app/src/main/java/io/xpipe/app/storage/DataStoreEntryRef.java index cee2f1d5b..adc260c67 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStoreEntryRef.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStoreEntryRef.java @@ -1,6 +1,6 @@ package io.xpipe.app.storage; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import lombok.NonNull; diff --git a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java index b91e79a45..4004a7afd 100644 --- a/app/src/main/java/io/xpipe/app/storage/StandardStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/StandardStorage.java @@ -8,7 +8,7 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.EncryptionKey; import io.xpipe.app.util.GlobalTimer; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import lombok.Getter; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/terminal/AlacrittyTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/AlacrittyTerminalType.java index 667c5d538..69e5149aa 100644 --- a/app/src/main/java/io/xpipe/app/terminal/AlacrittyTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/AlacrittyTerminalType.java @@ -3,7 +3,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public interface AlacrittyTerminalType extends ExternalTerminalType, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/ClinkHelper.java b/app/src/main/java/io/xpipe/app/terminal/ClinkHelper.java index 485b75a7c..24ca993f1 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ClinkHelper.java +++ b/app/src/main/java/io/xpipe/app/terminal/ClinkHelper.java @@ -2,8 +2,8 @@ package io.xpipe.app.terminal; import io.xpipe.app.util.GithubReleaseDownloader; import io.xpipe.app.util.ShellTemp; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; import java.nio.file.FileSystems; diff --git a/app/src/main/java/io/xpipe/app/terminal/CmdTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/CmdTerminalType.java index 65d81aae1..aa23010b9 100644 --- a/app/src/main/java/io/xpipe/app/terminal/CmdTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/CmdTerminalType.java @@ -2,8 +2,8 @@ package io.xpipe.app.terminal; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellDialects; public class CmdTerminalType implements ExternalApplicationType.PathApplication, ExternalTerminalType, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/ConfigFileTerminalPrompt.java b/app/src/main/java/io/xpipe/app/terminal/ConfigFileTerminalPrompt.java index 64c09069d..e158ec549 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ConfigFileTerminalPrompt.java +++ b/app/src/main/java/io/xpipe/app/terminal/ConfigFileTerminalPrompt.java @@ -2,11 +2,11 @@ package io.xpipe.app.terminal; import io.xpipe.app.comp.base.IntegratedTextAreaComp; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.ShellTerminalInitCommand; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.ShellTerminalInitCommand; +import io.xpipe.core.FilePath; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/terminal/CustomTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/CustomTerminalType.java index d2f301097..c659e81f9 100644 --- a/app/src/main/java/io/xpipe/app/terminal/CustomTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/CustomTerminalType.java @@ -5,7 +5,7 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationHelper; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.util.Locale; diff --git a/app/src/main/java/io/xpipe/app/terminal/ExternalTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/ExternalTerminalType.java index a6d2bf5a9..000d57db1 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ExternalTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/ExternalTerminalType.java @@ -4,8 +4,11 @@ import io.xpipe.app.ext.PrefsChoiceValue; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationType; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.TerminalInitFunction; import io.xpipe.app.update.AppDistributionType; -import io.xpipe.core.process.*; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/terminal/GnomeConsoleType.java b/app/src/main/java/io/xpipe/app/terminal/GnomeConsoleType.java index 1e5534a33..6a0316373 100644 --- a/app/src/main/java/io/xpipe/app/terminal/GnomeConsoleType.java +++ b/app/src/main/java/io/xpipe/app/terminal/GnomeConsoleType.java @@ -1,7 +1,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class GnomeConsoleType implements ExternalApplicationType.PathApplication, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/GnomeTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/GnomeTerminalType.java index e715bb1fd..4b532c9b4 100644 --- a/app/src/main/java/io/xpipe/app/terminal/GnomeTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/GnomeTerminalType.java @@ -4,8 +4,8 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; public class GnomeTerminalType implements ExternalApplicationType.PathApplication, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/ITerm2TerminalType.java b/app/src/main/java/io/xpipe/app/terminal/ITerm2TerminalType.java index ecdccd7b6..3e96246f3 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ITerm2TerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/ITerm2TerminalType.java @@ -2,7 +2,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class ITerm2TerminalType implements ExternalApplicationType.MacApplication, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/KittyTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/KittyTerminalType.java index 6e516154c..c1112164c 100644 --- a/app/src/main/java/io/xpipe/app/terminal/KittyTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/KittyTerminalType.java @@ -7,11 +7,11 @@ import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ShellTemp; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; +import io.xpipe.core.XPipeInstallation; import com.fasterxml.jackson.databind.node.JsonNodeFactory; diff --git a/app/src/main/java/io/xpipe/app/terminal/KonsoleTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/KonsoleTerminalType.java index 0ded02d36..96ee104f6 100644 --- a/app/src/main/java/io/xpipe/app/terminal/KonsoleTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/KonsoleTerminalType.java @@ -3,7 +3,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.core.AppCache; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.io.IOException; import java.nio.file.Files; diff --git a/app/src/main/java/io/xpipe/app/terminal/MacOsTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/MacOsTerminalType.java index a24645f7a..b8fbe469e 100644 --- a/app/src/main/java/io/xpipe/app/terminal/MacOsTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/MacOsTerminalType.java @@ -2,7 +2,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class MacOsTerminalType implements ExternalApplicationType.MacApplication, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/MobaXTermTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/MobaXTermTerminalType.java index 4afed077e..b8f1a557b 100644 --- a/app/src/main/java/io/xpipe/app/terminal/MobaXTermTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/MobaXTermTerminalType.java @@ -3,7 +3,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.nio.file.Files; import java.nio.file.Path; diff --git a/app/src/main/java/io/xpipe/app/terminal/OhMyPoshTerminalPrompt.java b/app/src/main/java/io/xpipe/app/terminal/OhMyPoshTerminalPrompt.java index 01bdcff50..60523bf8e 100644 --- a/app/src/main/java/io/xpipe/app/terminal/OhMyPoshTerminalPrompt.java +++ b/app/src/main/java/io/xpipe/app/terminal/OhMyPoshTerminalPrompt.java @@ -1,11 +1,12 @@ package io.xpipe.app.terminal; +import io.xpipe.app.process.*; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.GithubReleaseDownloader; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import javafx.beans.property.Property; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/terminal/OhMyZshTerminalPrompt.java b/app/src/main/java/io/xpipe/app/terminal/OhMyZshTerminalPrompt.java index 8d6aee8f5..af2761849 100644 --- a/app/src/main/java/io/xpipe/app/terminal/OhMyZshTerminalPrompt.java +++ b/app/src/main/java/io/xpipe/app/terminal/OhMyZshTerminalPrompt.java @@ -1,9 +1,12 @@ package io.xpipe.app.terminal; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.ShellScript; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.property.Property; diff --git a/app/src/main/java/io/xpipe/app/terminal/PowerShellTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/PowerShellTerminalType.java index 879a070f3..760a08707 100644 --- a/app/src/main/java/io/xpipe/app/terminal/PowerShellTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/PowerShellTerminalType.java @@ -2,8 +2,8 @@ package io.xpipe.app.terminal; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellDialects; import java.nio.charset.StandardCharsets; import java.util.Base64; diff --git a/app/src/main/java/io/xpipe/app/terminal/PtyxisTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/PtyxisTerminalType.java index 6e4cf85e4..0245b8135 100644 --- a/app/src/main/java/io/xpipe/app/terminal/PtyxisTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/PtyxisTerminalType.java @@ -1,7 +1,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; public class PtyxisTerminalType implements ExternalApplicationType.PathApplication, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/PwshTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/PwshTerminalType.java index a15905e6c..a5204a53b 100644 --- a/app/src/main/java/io/xpipe/app/terminal/PwshTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/PwshTerminalType.java @@ -1,7 +1,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.nio.charset.StandardCharsets; import java.util.Base64; diff --git a/app/src/main/java/io/xpipe/app/terminal/ScreenTerminalMultiplexer.java b/app/src/main/java/io/xpipe/app/terminal/ScreenTerminalMultiplexer.java index f4b5c41d2..9a2341c6b 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ScreenTerminalMultiplexer.java +++ b/app/src/main/java/io/xpipe/app/terminal/ScreenTerminalMultiplexer.java @@ -2,9 +2,9 @@ package io.xpipe.app.terminal; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.ScriptHelper; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.TerminalInitScriptConfig; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.TerminalInitScriptConfig; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/terminal/SecureCrtTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/SecureCrtTerminalType.java index c3b611acc..e8d54dd26 100644 --- a/app/src/main/java/io/xpipe/app/terminal/SecureCrtTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/SecureCrtTerminalType.java @@ -4,7 +4,7 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.SshLocalBridge; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.nio.file.Files; import java.nio.file.Path; diff --git a/app/src/main/java/io/xpipe/app/terminal/StarshipTerminalPrompt.java b/app/src/main/java/io/xpipe/app/terminal/StarshipTerminalPrompt.java index 20e5e98f1..9d35c287a 100644 --- a/app/src/main/java/io/xpipe/app/terminal/StarshipTerminalPrompt.java +++ b/app/src/main/java/io/xpipe/app/terminal/StarshipTerminalPrompt.java @@ -1,11 +1,12 @@ package io.xpipe.app.terminal; +import io.xpipe.app.process.*; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.GithubReleaseDownloader; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import javafx.beans.property.Property; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/app/src/main/java/io/xpipe/app/terminal/TabbyTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/TabbyTerminalType.java index 46697b9e8..591670ab9 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TabbyTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/TabbyTerminalType.java @@ -3,9 +3,9 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.TerminalInitFunction; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.TerminalInitFunction; import java.nio.file.Path; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchConfiguration.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchConfiguration.java index a6e43a6c9..999d21684 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchConfiguration.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchConfiguration.java @@ -4,6 +4,7 @@ import io.xpipe.app.core.AppProperties; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreColor; import io.xpipe.app.storage.DataStoreEntry; @@ -11,11 +12,11 @@ import io.xpipe.app.util.LicenseProvider; import io.xpipe.app.util.LicenseRequiredException; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ScriptHelper; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; import lombok.*; import lombok.experimental.NonFinal; @@ -69,11 +70,12 @@ public class TerminalLaunchConfiguration { var logDir = AppProperties.get().getDataDir().resolve("sessions"); Files.createDirectories(logDir); - var logFile = logDir.resolve(FilePath.of(DataStorage.get().getStoreEntryDisplayName(entry) + " (" - + DATE_FORMATTER.format(Instant.now()) + ").log") - .fileSystemCompatible(OsType.getLocal()) + var logName = OsFileSystem.ofLocal().makeFileSystemCompatible( + FilePath.of(DataStorage.get().getStoreEntryDisplayName(entry) + " (" + + DATE_FORMATTER.format(Instant.now()) + ").log")) .toString() - .replaceAll(" ", "_")); + .replaceAll(" ", "_"); + var logFile = logDir.resolve(logName); try (var sc = LocalShell.getShell().start()) { if (OsType.getLocal() == OsType.WINDOWS) { var launcherScript = ScriptHelper.createExecScript( diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchRequest.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchRequest.java index 9c731ff64..a13332393 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchRequest.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLaunchRequest.java @@ -1,11 +1,14 @@ package io.xpipe.app.terminal; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.ProcessControl; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.TerminalInitScriptConfig; +import io.xpipe.app.process.WorkingDirectoryFunction; import io.xpipe.app.util.ScriptHelper; import io.xpipe.app.util.ThreadHelper; import io.xpipe.beacon.BeaconServerException; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import lombok.Setter; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java index 27c972419..e1590317f 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncher.java @@ -4,14 +4,14 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ScriptHelper; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableFunction; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableFunction; +import io.xpipe.core.XPipeInstallation; import java.io.IOException; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java index 995c00e09..3ff8bf226 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalLauncherManager.java @@ -3,13 +3,13 @@ package io.xpipe.app.terminal; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.ext.ShellStore; import io.xpipe.app.issue.TrackEvent; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ScriptHelper; import io.xpipe.beacon.BeaconClientException; import io.xpipe.beacon.BeaconServerException; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import java.nio.file.Path; import java.util.*; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexer.java b/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexer.java index abd9700c7..0b43316c9 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexer.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexer.java @@ -1,8 +1,8 @@ package io.xpipe.app.terminal; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.TerminalInitScriptConfig; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.TerminalInitScriptConfig; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexerManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexerManager.java index 06ea6f4db..98b2cd67f 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexerManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalMultiplexerManager.java @@ -2,7 +2,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.time.Duration; import java.time.Instant; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalPrompt.java b/app/src/main/java/io/xpipe/app/terminal/TerminalPrompt.java index 156c95b4f..a20072b4f 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalPrompt.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalPrompt.java @@ -2,10 +2,10 @@ package io.xpipe.app.terminal; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.ShellTemp; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellTerminalInitCommand; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellTerminalInitCommand; +import io.xpipe.core.FilePath; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalPromptManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalPromptManager.java index 7b096497a..bcac78450 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalPromptManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalPromptManager.java @@ -2,7 +2,7 @@ package io.xpipe.app.terminal; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; public class TerminalPromptManager { diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalProxyManager.java b/app/src/main/java/io/xpipe/app/terminal/TerminalProxyManager.java index 1c2f6867b..3442377b8 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalProxyManager.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalProxyManager.java @@ -5,8 +5,8 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.ext.DataStore; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/terminal/TerminalView.java b/app/src/main/java/io/xpipe/app/terminal/TerminalView.java index 866a0f922..9a481a4c6 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TerminalView.java +++ b/app/src/main/java/io/xpipe/app/terminal/TerminalView.java @@ -5,7 +5,7 @@ import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import lombok.Getter; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/terminal/TermiusTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/TermiusTerminalType.java index 4d77921c1..97529fac8 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TermiusTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/TermiusTerminalType.java @@ -7,7 +7,7 @@ import io.xpipe.app.core.AppCache; import io.xpipe.app.core.AppI18n; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import java.io.IOException; import java.net.URLEncoder; diff --git a/app/src/main/java/io/xpipe/app/terminal/TmuxTerminalMultiplexer.java b/app/src/main/java/io/xpipe/app/terminal/TmuxTerminalMultiplexer.java index d16d1fdca..ee4a4d7ad 100644 --- a/app/src/main/java/io/xpipe/app/terminal/TmuxTerminalMultiplexer.java +++ b/app/src/main/java/io/xpipe/app/terminal/TmuxTerminalMultiplexer.java @@ -1,9 +1,9 @@ package io.xpipe.app.terminal; import io.xpipe.app.util.CommandSupport; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.TerminalInitScriptConfig; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.TerminalInitScriptConfig; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/terminal/WarpTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WarpTerminalType.java index f9c83b5f1..0ddb9e36b 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WarpTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WarpTerminalType.java @@ -2,9 +2,9 @@ package io.xpipe.app.terminal; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.*; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.TerminalInitFunction; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.TerminalInitFunction; import java.nio.file.Files; import java.nio.file.Path; diff --git a/app/src/main/java/io/xpipe/app/terminal/WaveTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WaveTerminalType.java index 55e6d12ae..6d21ccbb3 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WaveTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WaveTerminalType.java @@ -3,8 +3,8 @@ package io.xpipe.app.terminal; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.XPipeInstallation; public interface WaveTerminalType extends ExternalTerminalType, TrackableTerminalType { diff --git a/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java index 2909fd819..abbdfa0b6 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WezTerminalType.java @@ -5,9 +5,9 @@ import io.xpipe.app.prefs.ExternalApplicationHelper; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; import java.nio.file.Path; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java index 43e5c3608..7bdfef6a1 100644 --- a/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/WindowsTerminalType.java @@ -4,10 +4,10 @@ import io.xpipe.app.core.AppCache; import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.FilePath; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.XPipeInstallation; import com.fasterxml.jackson.databind.node.JsonNodeFactory; diff --git a/app/src/main/java/io/xpipe/app/terminal/XShellTerminalType.java b/app/src/main/java/io/xpipe/app/terminal/XShellTerminalType.java index 0975dc32d..4ff7b7021 100644 --- a/app/src/main/java/io/xpipe/app/terminal/XShellTerminalType.java +++ b/app/src/main/java/io/xpipe/app/terminal/XShellTerminalType.java @@ -10,7 +10,7 @@ import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.SshLocalBridge; import io.xpipe.app.util.WindowsRegistry; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import java.nio.file.Path; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/terminal/ZellijTerminalMultiplexer.java b/app/src/main/java/io/xpipe/app/terminal/ZellijTerminalMultiplexer.java index b58c7342c..3453cc4e3 100644 --- a/app/src/main/java/io/xpipe/app/terminal/ZellijTerminalMultiplexer.java +++ b/app/src/main/java/io/xpipe/app/terminal/ZellijTerminalMultiplexer.java @@ -1,9 +1,9 @@ package io.xpipe.app.terminal; import io.xpipe.app.util.CommandSupport; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.process.TerminalInitScriptConfig; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.process.TerminalInitScriptConfig; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/test/ExtensionTest.java b/app/src/main/java/io/xpipe/app/test/ExtensionTest.java index 1272efa67..718f35b80 100644 --- a/app/src/main/java/io/xpipe/app/test/ExtensionTest.java +++ b/app/src/main/java/io/xpipe/app/test/ExtensionTest.java @@ -2,7 +2,7 @@ package io.xpipe.app.test; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import lombok.SneakyThrows; import java.nio.file.Files; diff --git a/app/src/main/java/io/xpipe/app/test/LocalExtensionTest.java b/app/src/main/java/io/xpipe/app/test/LocalExtensionTest.java index 1706444e0..a8c25ffde 100644 --- a/app/src/main/java/io/xpipe/app/test/LocalExtensionTest.java +++ b/app/src/main/java/io/xpipe/app/test/LocalExtensionTest.java @@ -1,7 +1,7 @@ package io.xpipe.app.test; import io.xpipe.app.core.mode.OperationMode; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import lombok.SneakyThrows; import org.junit.jupiter.api.BeforeAll; diff --git a/app/src/main/java/io/xpipe/app/test/TestModule.java b/app/src/main/java/io/xpipe/app/test/TestModule.java index 931f0b80d..b8ec2026c 100644 --- a/app/src/main/java/io/xpipe/app/test/TestModule.java +++ b/app/src/main/java/io/xpipe/app/test/TestModule.java @@ -1,6 +1,6 @@ package io.xpipe.app.test; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.core.FailableSupplier; import lombok.SneakyThrows; import org.junit.jupiter.api.Named; diff --git a/app/src/main/java/io/xpipe/app/update/AppDistributionType.java b/app/src/main/java/io/xpipe/app/update/AppDistributionType.java index 3270245ab..ccfc0e5ca 100644 --- a/app/src/main/java/io/xpipe/app/update/AppDistributionType.java +++ b/app/src/main/java/io/xpipe/app/update/AppDistributionType.java @@ -5,9 +5,9 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.LocalExec; import io.xpipe.app.util.Translatable; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.XPipeInstallation; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/update/AppDownloads.java b/app/src/main/java/io/xpipe/app/update/AppDownloads.java index 737b8047b..3ad4d166a 100644 --- a/app/src/main/java/io/xpipe/app/update/AppDownloads.java +++ b/app/src/main/java/io/xpipe/app/update/AppDownloads.java @@ -5,8 +5,8 @@ import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.OsType; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/update/AppInstaller.java b/app/src/main/java/io/xpipe/app/update/AppInstaller.java index b3bf98b5d..09e7a6bc5 100644 --- a/app/src/main/java/io/xpipe/app/update/AppInstaller.java +++ b/app/src/main/java/io/xpipe/app/update/AppInstaller.java @@ -8,13 +8,13 @@ import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.LocalShell; import io.xpipe.app.util.ScriptHelper; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellScript; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.ShellScript; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableRunnable; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableRunnable; +import io.xpipe.core.XPipeInstallation; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/update/AppRelease.java b/app/src/main/java/io/xpipe/app/update/AppRelease.java index 280e373d5..36b4286cc 100644 --- a/app/src/main/java/io/xpipe/app/update/AppRelease.java +++ b/app/src/main/java/io/xpipe/app/update/AppRelease.java @@ -1,7 +1,7 @@ package io.xpipe.app.update; import io.xpipe.app.core.AppProperties; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/update/ChocoUpdater.java b/app/src/main/java/io/xpipe/app/update/ChocoUpdater.java index c77bd9ef5..e6c029a37 100644 --- a/app/src/main/java/io/xpipe/app/update/ChocoUpdater.java +++ b/app/src/main/java/io/xpipe/app/update/ChocoUpdater.java @@ -9,10 +9,10 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.XPipeInstallation; import java.nio.file.Files; import java.time.Instant; diff --git a/app/src/main/java/io/xpipe/app/update/CommandUpdater.java b/app/src/main/java/io/xpipe/app/update/CommandUpdater.java index 0746fb1af..798a5157a 100644 --- a/app/src/main/java/io/xpipe/app/update/CommandUpdater.java +++ b/app/src/main/java/io/xpipe/app/update/CommandUpdater.java @@ -6,7 +6,7 @@ import io.xpipe.app.core.mode.OperationMode; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.Hyperlinks; -import io.xpipe.core.process.ShellScript; +import io.xpipe.app.process.ShellScript; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/update/WingetUpdater.java b/app/src/main/java/io/xpipe/app/update/WingetUpdater.java index dcf8a41e3..2a9c18940 100644 --- a/app/src/main/java/io/xpipe/app/update/WingetUpdater.java +++ b/app/src/main/java/io/xpipe/app/update/WingetUpdater.java @@ -9,9 +9,9 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.Hyperlinks; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellScript; +import io.xpipe.core.XPipeInstallation; import java.nio.file.Files; import java.time.Instant; diff --git a/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java b/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java index 4b9fbb0da..55caa6444 100644 --- a/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java +++ b/app/src/main/java/io/xpipe/app/util/AppJacksonModule.java @@ -1,13 +1,18 @@ package io.xpipe.app.util; +import com.fasterxml.jackson.databind.jsontype.NamedType; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.ShellScript; import io.xpipe.app.pwman.PasswordManager; import io.xpipe.app.storage.*; import io.xpipe.app.terminal.ExternalTerminalType; import io.xpipe.app.terminal.TerminalMultiplexer; import io.xpipe.app.terminal.TerminalPrompt; import io.xpipe.app.vnc.ExternalVncClient; -import io.xpipe.core.util.InPlaceSecretValue; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.InPlaceSecretValue; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonParser; @@ -23,6 +28,7 @@ import com.fasterxml.jackson.databind.type.SimpleType; import java.io.CharArrayReader; import java.io.IOException; import java.util.UUID; +import java.util.stream.Stream; public class AppJacksonModule extends SimpleModule { @@ -44,6 +50,20 @@ public class AppJacksonModule extends SimpleModule { addSerializer(EncryptedValue.VaultKey.class, new EncryptedValueSerializer()); addDeserializer(EncryptedValue.VaultKey.class, new EncryptedValueDeserializer<>()); + addSerializer(ShellDialect.class, new ShellDialectSerializer()); + addDeserializer(ShellDialect.class, new ShellDialectDeserializer()); + + addSerializer(OsType.class, new OsTypeSerializer()); + addDeserializer(OsType.Local.class, new OsTypeLocalDeserializer()); + addDeserializer(OsType.Any.class, new OsTypeAnyDeserializer()); + + addSerializer(ShellScript.class, new ShellScriptSerializer()); + addDeserializer(ShellScript.class, new ShellScriptDeserializer()); + + for (ShellDialect t : ShellDialects.ALL) { + context.registerSubtypes(new NamedType(t.getClass())); + } + context.registerSubtypes(PasswordManager.getClasses()); context.registerSubtypes(TerminalMultiplexer.getClasses()); context.registerSubtypes(TerminalPrompt.getClasses()); @@ -53,6 +73,38 @@ public class AppJacksonModule extends SimpleModule { context.addDeserializers(_deserializers); } + public static class OsTypeSerializer extends JsonSerializer { + + @Override + public void serialize(OsType value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.getName()); + } + } + + public static class OsTypeLocalDeserializer extends JsonDeserializer { + + @Override + public OsType.Local deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + var stream = Stream.of(OsType.WINDOWS, OsType.LINUX, OsType.MACOS); + var n = p.getValueAsString(); + return stream.filter(osType -> osType.getName().equals(n)) + .findFirst() + .orElse(null); + } + } + + public static class OsTypeAnyDeserializer extends JsonDeserializer { + + @Override + public OsType.Any deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + var stream = Stream.of(OsType.WINDOWS, OsType.LINUX, OsType.BSD, OsType.SOLARIS, OsType.MACOS); + var n = p.getValueAsString(); + return stream.filter(osType -> osType.getName().equals(n)) + .findFirst() + .orElse(null); + } + } + public static class LocalFileReferenceSerializer extends JsonSerializer { @Override @@ -62,6 +114,47 @@ public class AppJacksonModule extends SimpleModule { } } + public static class ShellDialectSerializer extends JsonSerializer { + + @Override + public void serialize(ShellDialect value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.getId()); + } + } + + public static class ShellDialectDeserializer extends JsonDeserializer { + + @Override + public ShellDialect deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + JsonNode tree = JacksonMapper.getDefault().readTree(p); + if (tree.isObject()) { + var t = tree.get("type"); + if (t == null) { + return null; + } + return ShellDialects.byNameIfPresent(t.asText()).orElse(null); + } + + return ShellDialects.byNameIfPresent(tree.asText()).orElse(null); + } + } + + public static class ShellScriptSerializer extends JsonSerializer { + + @Override + public void serialize(ShellScript value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.getValue()); + } + } + + public static class ShellScriptDeserializer extends JsonDeserializer { + + @Override + public ShellScript deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + return new ShellScript(p.getValueAsString()); + } + } + public static class LocalFileReferenceDeserializer extends JsonDeserializer { @Override diff --git a/app/src/main/java/io/xpipe/app/util/AskpassAlert.java b/app/src/main/java/io/xpipe/app/util/AskpassAlert.java index be698c2be..1d6be338b 100644 --- a/app/src/main/java/io/xpipe/app/util/AskpassAlert.java +++ b/app/src/main/java/io/xpipe/app/util/AskpassAlert.java @@ -3,7 +3,7 @@ package io.xpipe.app.util; import io.xpipe.app.comp.base.SecretFieldComp; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.window.AppWindowHelper; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import javafx.animation.AnimationTimer; import javafx.application.Platform; diff --git a/app/src/main/java/io/xpipe/app/util/BaseElevationHandler.java b/app/src/main/java/io/xpipe/app/util/BaseElevationHandler.java index 3ce77ff17..cd3a96fad 100644 --- a/app/src/main/java/io/xpipe/app/util/BaseElevationHandler.java +++ b/app/src/main/java/io/xpipe/app/util/BaseElevationHandler.java @@ -1,10 +1,10 @@ package io.xpipe.app.util; import io.xpipe.app.storage.DataStorage; -import io.xpipe.core.process.CountDown; -import io.xpipe.core.process.ElevationHandler; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.SecretReference; +import io.xpipe.app.process.CountDown; +import io.xpipe.app.process.ElevationHandler; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.process.SecretReference; import java.util.List; import java.util.UUID; diff --git a/app/src/main/java/io/xpipe/app/util/BooleanScope.java b/app/src/main/java/io/xpipe/app/util/BooleanScope.java index d3ae43f01..5bbff2e12 100644 --- a/app/src/main/java/io/xpipe/app/util/BooleanScope.java +++ b/app/src/main/java/io/xpipe/app/util/BooleanScope.java @@ -1,6 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.core.FailableRunnable; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; diff --git a/app/src/main/java/io/xpipe/app/util/ClipboardHelper.java b/app/src/main/java/io/xpipe/app/util/ClipboardHelper.java index 4a4a2c0e1..dab446408 100644 --- a/app/src/main/java/io/xpipe/app/util/ClipboardHelper.java +++ b/app/src/main/java/io/xpipe/app/util/ClipboardHelper.java @@ -2,7 +2,7 @@ package io.xpipe.app.util; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.AppLayoutModel; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import javafx.animation.PauseTransition; import javafx.scene.input.Clipboard; diff --git a/app/src/main/java/io/xpipe/app/util/CommandDialog.java b/app/src/main/java/io/xpipe/app/util/CommandDialog.java index 919dbd3cc..40c13e2c9 100644 --- a/app/src/main/java/io/xpipe/app/util/CommandDialog.java +++ b/app/src/main/java/io/xpipe/app/util/CommandDialog.java @@ -2,8 +2,8 @@ package io.xpipe.app.util; import io.xpipe.app.comp.Comp; import io.xpipe.app.comp.base.ModalOverlay; -import io.xpipe.core.process.CommandControl; -import io.xpipe.core.process.ProcessOutputException; +import io.xpipe.app.process.CommandControl; +import io.xpipe.app.process.ProcessOutputException; import javafx.scene.control.TextArea; import javafx.scene.layout.StackPane; diff --git a/app/src/main/java/io/xpipe/app/util/CommandSupport.java b/app/src/main/java/io/xpipe/app/util/CommandSupport.java index 5eb45d92f..a2b2c15c8 100644 --- a/app/src/main/java/io/xpipe/app/util/CommandSupport.java +++ b/app/src/main/java/io/xpipe/app/util/CommandSupport.java @@ -3,9 +3,9 @@ package io.xpipe.app.util; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FilePath; +import io.xpipe.core.FailableSupplier; import java.io.IOException; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/util/CommandView.java b/app/src/main/java/io/xpipe/app/util/CommandView.java index dce5ee6d6..bedfd753e 100644 --- a/app/src/main/java/io/xpipe/app/util/CommandView.java +++ b/app/src/main/java/io/xpipe/app/util/CommandView.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.CommandControl; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.CommandControl; +import io.xpipe.app.process.ShellControl; import java.util.function.Consumer; diff --git a/app/src/main/java/io/xpipe/app/util/CommandViewBase.java b/app/src/main/java/io/xpipe/app/util/CommandViewBase.java index f78107eb6..1bd20ff3c 100644 --- a/app/src/main/java/io/xpipe/app/util/CommandViewBase.java +++ b/app/src/main/java/io/xpipe/app/util/CommandViewBase.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.CommandControl; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.CommandControl; +import io.xpipe.app.process.ShellControl; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/util/DesktopHelper.java b/app/src/main/java/io/xpipe/app/util/DesktopHelper.java index bd206873a..75ffa102f 100644 --- a/app/src/main/java/io/xpipe/app/util/DesktopHelper.java +++ b/app/src/main/java/io/xpipe/app/util/DesktopHelper.java @@ -2,11 +2,11 @@ package io.xpipe.app.util; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.update.AppDistributionType; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FileKind; -import io.xpipe.core.store.FilePath; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FileKind; +import io.xpipe.core.FilePath; import java.awt.*; import java.io.File; diff --git a/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java b/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java index 14accccfa..987646a31 100644 --- a/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java +++ b/app/src/main/java/io/xpipe/app/util/DesktopShortcuts.java @@ -1,8 +1,9 @@ package io.xpipe.app.util; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.OsFileSystem; +import io.xpipe.core.OsType; +import io.xpipe.core.FilePath; +import io.xpipe.core.XPipeInstallation; import java.nio.file.Files; import java.nio.file.Path; @@ -94,7 +95,7 @@ public class DesktopShortcuts { } public static Path create(String executable, String args, String name) throws Exception { - var compat = OsType.getLocal().makeFileSystemCompatible(name); + var compat = OsFileSystem.ofLocal().makeFileSystemCompatible(name); if (OsType.getLocal().equals(OsType.WINDOWS)) { return createWindowsShortcut(executable, args, compat); } else if (OsType.getLocal().equals(OsType.LINUX)) { diff --git a/app/src/main/java/io/xpipe/app/util/EncryptedValue.java b/app/src/main/java/io/xpipe/app/util/EncryptedValue.java index bde8a453d..267889780 100644 --- a/app/src/main/java/io/xpipe/app/util/EncryptedValue.java +++ b/app/src/main/java/io/xpipe/app/util/EncryptedValue.java @@ -2,7 +2,7 @@ package io.xpipe.app.util; import io.xpipe.app.storage.DataStorageSecret; import io.xpipe.app.storage.DataStorageUserHandler; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import com.fasterxml.jackson.annotation.JsonSubTypes; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/util/FileBridge.java b/app/src/main/java/io/xpipe/app/util/FileBridge.java index d9cc17129..a801e9f54 100644 --- a/app/src/main/java/io/xpipe/app/util/FileBridge.java +++ b/app/src/main/java/io/xpipe/app/util/FileBridge.java @@ -6,9 +6,9 @@ import io.xpipe.app.core.AppFileWatcher; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.FailableFunction; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.core.OsType; +import io.xpipe.core.FailableFunction; +import io.xpipe.core.FailableSupplier; import lombok.Getter; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/util/FileOpener.java b/app/src/main/java/io/xpipe/app/util/FileOpener.java index 755a57685..f3648a8b9 100644 --- a/app/src/main/java/io/xpipe/app/util/FileOpener.java +++ b/app/src/main/java/io/xpipe/app/util/FileOpener.java @@ -4,9 +4,9 @@ import io.xpipe.app.browser.file.BrowserFileOutput; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialects; import com.sun.jna.platform.win32.Shell32; import com.sun.jna.platform.win32.ShellAPI; diff --git a/app/src/main/java/io/xpipe/app/util/FileReference.java b/app/src/main/java/io/xpipe/app/util/FileReference.java index 9fdf85b66..37937b6bb 100644 --- a/app/src/main/java/io/xpipe/app/util/FileReference.java +++ b/app/src/main/java/io/xpipe/app/util/FileReference.java @@ -3,8 +3,8 @@ package io.xpipe.app.util; import io.xpipe.app.ext.LocalStore; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.FileSystemStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.FileSystemStore; import lombok.Value; import lombok.experimental.SuperBuilder; diff --git a/app/src/main/java/io/xpipe/app/util/FixedHierarchyStore.java b/app/src/main/java/io/xpipe/app/util/FixedHierarchyStore.java index 537586aab..4358f0f35 100644 --- a/app/src/main/java/io/xpipe/app/util/FixedHierarchyStore.java +++ b/app/src/main/java/io/xpipe/app/util/FixedHierarchyStore.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FixedChildStore; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.FixedChildStore; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/util/GithubReleaseDownloader.java b/app/src/main/java/io/xpipe/app/util/GithubReleaseDownloader.java index e01870251..7dbfeaaf2 100644 --- a/app/src/main/java/io/xpipe/app/util/GithubReleaseDownloader.java +++ b/app/src/main/java/io/xpipe/app/util/GithubReleaseDownloader.java @@ -1,6 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.core.util.JacksonMapper; +import io.xpipe.core.JacksonMapper; import java.io.IOException; import java.net.URI; diff --git a/app/src/main/java/io/xpipe/app/util/GlobalTimer.java b/app/src/main/java/io/xpipe/app/util/GlobalTimer.java index c65ca96d6..c47bc287b 100644 --- a/app/src/main/java/io/xpipe/app/util/GlobalTimer.java +++ b/app/src/main/java/io/xpipe/app/util/GlobalTimer.java @@ -1,6 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.core.FailableRunnable; import java.time.Duration; import java.util.Timer; diff --git a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java index 63c6e94b1..3a75f14ce 100644 --- a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java +++ b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java @@ -2,7 +2,7 @@ package io.xpipe.app.util; import io.xpipe.app.comp.Comp; import io.xpipe.app.ext.ExtensionException; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/util/LocalShell.java b/app/src/main/java/io/xpipe/app/util/LocalShell.java index 4e6250a2f..09894f29a 100644 --- a/app/src/main/java/io/xpipe/app/util/LocalShell.java +++ b/app/src/main/java/io/xpipe/app/util/LocalShell.java @@ -2,9 +2,9 @@ package io.xpipe.app.util; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.*; +import io.xpipe.app.process.*; -import lombok.Getter; +import io.xpipe.core.OsType; import lombok.SneakyThrows; public class LocalShell { diff --git a/app/src/main/java/io/xpipe/app/util/NativeBridge.java b/app/src/main/java/io/xpipe/app/util/NativeBridge.java index a85068c25..a0c56fe09 100644 --- a/app/src/main/java/io/xpipe/app/util/NativeBridge.java +++ b/app/src/main/java/io/xpipe/app/util/NativeBridge.java @@ -2,8 +2,8 @@ package io.xpipe.app.util; import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeInstallation; import com.sun.jna.Library; import com.sun.jna.Native; diff --git a/app/src/main/java/io/xpipe/app/util/OptionsBuilder.java b/app/src/main/java/io/xpipe/app/util/OptionsBuilder.java index 07d5643fc..92131b85a 100644 --- a/app/src/main/java/io/xpipe/app/util/OptionsBuilder.java +++ b/app/src/main/java/io/xpipe/app/util/OptionsBuilder.java @@ -7,7 +7,7 @@ import io.xpipe.app.comp.base.*; import io.xpipe.app.core.AppI18n; import io.xpipe.app.ext.GuiDialog; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import javafx.beans.property.*; import javafx.beans.value.ChangeListener; diff --git a/app/src/main/java/io/xpipe/app/util/PasswdFile.java b/app/src/main/java/io/xpipe/app/util/PasswdFile.java index ad24df972..80186b0a2 100644 --- a/app/src/main/java/io/xpipe/app/util/PasswdFile.java +++ b/app/src/main/java/io/xpipe/app/util/PasswdFile.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/util/PasswordLockSecretValue.java b/app/src/main/java/io/xpipe/app/util/PasswordLockSecretValue.java index 65bb57989..5276fc6e3 100644 --- a/app/src/main/java/io/xpipe/app/util/PasswordLockSecretValue.java +++ b/app/src/main/java/io/xpipe/app/util/PasswordLockSecretValue.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; import io.xpipe.app.storage.DataStorageUserHandler; -import io.xpipe.core.util.AesSecretValue; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.AesSecretValue; +import io.xpipe.core.InPlaceSecretValue; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/app/src/main/java/io/xpipe/app/util/PlatformInit.java b/app/src/main/java/io/xpipe/app/util/PlatformInit.java index 23791f252..ef1e38866 100644 --- a/app/src/main/java/io/xpipe/app/util/PlatformInit.java +++ b/app/src/main/java/io/xpipe/app/util/PlatformInit.java @@ -4,7 +4,7 @@ import io.xpipe.app.core.*; import io.xpipe.app.core.check.AppGpuCheck; import io.xpipe.app.core.window.ModifiedStage; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Application; diff --git a/app/src/main/java/io/xpipe/app/util/PlatformState.java b/app/src/main/java/io/xpipe/app/util/PlatformState.java index 5feb89dfb..e29d35c81 100644 --- a/app/src/main/java/io/xpipe/app/util/PlatformState.java +++ b/app/src/main/java/io/xpipe/app/util/PlatformState.java @@ -3,7 +3,7 @@ package io.xpipe.app.util; import io.xpipe.app.core.check.AppSystemFontCheck; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import javafx.application.Platform; import javafx.scene.text.Font; diff --git a/app/src/main/java/io/xpipe/app/util/RdpConfig.java b/app/src/main/java/io/xpipe/app/util/RdpConfig.java index f8ad606c5..2c4ce89ec 100644 --- a/app/src/main/java/io/xpipe/app/util/RdpConfig.java +++ b/app/src/main/java/io/xpipe/app/util/RdpConfig.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.StreamCharset; +import io.xpipe.core.FilePath; +import io.xpipe.core.StreamCharset; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/util/RemminaHelper.java b/app/src/main/java/io/xpipe/app/util/RemminaHelper.java index b75adc05d..3641730a9 100644 --- a/app/src/main/java/io/xpipe/app/util/RemminaHelper.java +++ b/app/src/main/java/io/xpipe/app/util/RemminaHelper.java @@ -1,9 +1,9 @@ package io.xpipe.app.util; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.rdp.RdpLaunchConfig; import io.xpipe.app.vnc.VncLaunchConfig; -import io.xpipe.core.process.OsType; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import java.nio.charset.StandardCharsets; import java.nio.file.Files; @@ -46,7 +46,7 @@ public class RemminaHelper { } public static Path writeRemminaRdpConfigFile(RdpLaunchConfig configuration, String password) throws Exception { - var name = OsType.getLocal().makeFileSystemCompatible(configuration.getTitle()); + var name = OsFileSystem.ofLocal().makeFileSystemCompatible(configuration.getTitle()); var file = ShellTemp.getLocalTempDataDirectory(null).resolve(name + ".remmina"); var string = """ @@ -77,7 +77,7 @@ public class RemminaHelper { } public static Path writeRemminaVncConfigFile(VncLaunchConfig configuration, String password) throws Exception { - var name = OsType.getLocal().makeFileSystemCompatible(configuration.getTitle()); + var name = OsFileSystem.ofLocal().makeFileSystemCompatible(configuration.getTitle()); var file = ShellTemp.getLocalTempDataDirectory(null).resolve(name + ".remmina"); var string = """ diff --git a/app/src/main/java/io/xpipe/app/util/ScanDialog.java b/app/src/main/java/io/xpipe/app/util/ScanDialog.java index f7c53d38e..4aff76b9e 100644 --- a/app/src/main/java/io/xpipe/app/util/ScanDialog.java +++ b/app/src/main/java/io/xpipe/app/util/ScanDialog.java @@ -7,8 +7,8 @@ import io.xpipe.app.core.AppLayoutModel; import io.xpipe.app.ext.ShellStore; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.process.ShellTtyState; -import io.xpipe.core.process.SystemState; +import io.xpipe.app.process.ShellTtyState; +import io.xpipe.app.process.SystemState; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/util/ScanDialogAction.java b/app/src/main/java/io/xpipe/app/util/ScanDialogAction.java index 2d90d0c85..c4b922f23 100644 --- a/app/src/main/java/io/xpipe/app/util/ScanDialogAction.java +++ b/app/src/main/java/io/xpipe/app/util/ScanDialogAction.java @@ -3,8 +3,8 @@ package io.xpipe.app.util; import io.xpipe.app.ext.ScanProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellTtyState; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellTtyState; import javafx.collections.ObservableList; diff --git a/app/src/main/java/io/xpipe/app/util/ScriptHelper.java b/app/src/main/java/io/xpipe/app/util/ScriptHelper.java index e8ab5a37c..684a89247 100644 --- a/app/src/main/java/io/xpipe/app/util/ScriptHelper.java +++ b/app/src/main/java/io/xpipe/app/util/ScriptHelper.java @@ -1,9 +1,12 @@ package io.xpipe.app.util; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; +import io.xpipe.core.SecretValue; import lombok.SneakyThrows; diff --git a/app/src/main/java/io/xpipe/app/util/SecretManager.java b/app/src/main/java/io/xpipe/app/util/SecretManager.java index a56e4053c..59de1dbf2 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretManager.java +++ b/app/src/main/java/io/xpipe/app/util/SecretManager.java @@ -1,9 +1,9 @@ package io.xpipe.app.util; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.process.CountDown; -import io.xpipe.core.util.SecretReference; -import io.xpipe.core.util.SecretValue; +import io.xpipe.app.process.CountDown; +import io.xpipe.app.process.SecretReference; +import io.xpipe.core.SecretValue; import java.time.Duration; import java.util.*; diff --git a/app/src/main/java/io/xpipe/app/util/SecretQuery.java b/app/src/main/java/io/xpipe/app/util/SecretQuery.java index 996d1b557..7fc8b4dcb 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretQuery.java +++ b/app/src/main/java/io/xpipe/app/util/SecretQuery.java @@ -1,7 +1,7 @@ package io.xpipe.app.util; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.util.SecretReference; +import io.xpipe.app.process.SecretReference; import java.time.Duration; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/util/SecretQueryFilter.java b/app/src/main/java/io/xpipe/app/util/SecretQueryFilter.java index 2ad68b23b..9882db15b 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretQueryFilter.java +++ b/app/src/main/java/io/xpipe/app/util/SecretQueryFilter.java @@ -1,6 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import java.util.Optional; diff --git a/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java b/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java index eaf48121b..2a0ae69bb 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java +++ b/app/src/main/java/io/xpipe/app/util/SecretQueryProgress.java @@ -1,9 +1,9 @@ package io.xpipe.app.util; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.process.CountDown; -import io.xpipe.core.util.SecretReference; -import io.xpipe.core.util.SecretValue; +import io.xpipe.app.process.CountDown; +import io.xpipe.app.process.SecretReference; +import io.xpipe.core.SecretValue; import lombok.Getter; import lombok.NonNull; diff --git a/app/src/main/java/io/xpipe/app/util/SecretQueryResult.java b/app/src/main/java/io/xpipe/app/util/SecretQueryResult.java index 72b80c02f..f52704237 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretQueryResult.java +++ b/app/src/main/java/io/xpipe/app/util/SecretQueryResult.java @@ -1,6 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import lombok.Value; diff --git a/app/src/main/java/io/xpipe/app/util/SecretRetrievalStrategy.java b/app/src/main/java/io/xpipe/app/util/SecretRetrievalStrategy.java index 6c4d7a4ef..ce7cf71f9 100644 --- a/app/src/main/java/io/xpipe/app/util/SecretRetrievalStrategy.java +++ b/app/src/main/java/io/xpipe/app/util/SecretRetrievalStrategy.java @@ -3,7 +3,7 @@ package io.xpipe.app.util; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.InPlaceSecretValue; import io.xpipe.app.ext.ValidationException; import com.fasterxml.jackson.annotation.JsonSubTypes; diff --git a/app/src/main/java/io/xpipe/app/util/ShellControlCache.java b/app/src/main/java/io/xpipe/app/util/ShellControlCache.java index ac61fc136..a8ec020b2 100644 --- a/app/src/main/java/io/xpipe/app/util/ShellControlCache.java +++ b/app/src/main/java/io/xpipe/app/util/ShellControlCache.java @@ -1,7 +1,7 @@ package io.xpipe.app.util; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.FailableSupplier; import lombok.Getter; diff --git a/app/src/main/java/io/xpipe/app/util/ShellTemp.java b/app/src/main/java/io/xpipe/app/util/ShellTemp.java index fc758e6c7..792e1cff8 100644 --- a/app/src/main/java/io/xpipe/app/util/ShellTemp.java +++ b/app/src/main/java/io/xpipe/app/util/ShellTemp.java @@ -1,10 +1,10 @@ package io.xpipe.app.util; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; import org.apache.commons.io.FileUtils; diff --git a/app/src/main/java/io/xpipe/app/util/SshLocalBridge.java b/app/src/main/java/io/xpipe/app/util/SshLocalBridge.java index 446f31a40..b485bd1c3 100644 --- a/app/src/main/java/io/xpipe/app/util/SshLocalBridge.java +++ b/app/src/main/java/io/xpipe/app/util/SshLocalBridge.java @@ -4,11 +4,11 @@ import io.xpipe.app.beacon.AppBeaconServer; import io.xpipe.app.core.AppProperties; import io.xpipe.app.ext.ProcessControlProvider; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.core.FilePath; +import io.xpipe.core.XPipeInstallation; import lombok.Getter; import lombok.Setter; diff --git a/app/src/main/java/io/xpipe/app/util/StoreStateFormat.java b/app/src/main/java/io/xpipe/app/util/StoreStateFormat.java index 35fa248d3..ce86d1944 100644 --- a/app/src/main/java/io/xpipe/app/util/StoreStateFormat.java +++ b/app/src/main/java/io/xpipe/app/util/StoreStateFormat.java @@ -2,10 +2,10 @@ package io.xpipe.app.util; import io.xpipe.app.core.AppI18n; import io.xpipe.app.hub.comp.StoreSection; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellEnvironmentStoreState; -import io.xpipe.core.process.ShellStoreState; -import io.xpipe.core.process.ShellTtyState; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.process.ShellEnvironmentStoreState; +import io.xpipe.app.process.ShellStoreState; +import io.xpipe.app.process.ShellTtyState; import javafx.beans.binding.Bindings; import javafx.beans.value.ObservableValue; diff --git a/app/src/main/java/io/xpipe/app/util/ThreadHelper.java b/app/src/main/java/io/xpipe/app/util/ThreadHelper.java index 4c6357139..f8c7c99cf 100644 --- a/app/src/main/java/io/xpipe/app/util/ThreadHelper.java +++ b/app/src/main/java/io/xpipe/app/util/ThreadHelper.java @@ -3,7 +3,7 @@ package io.xpipe.app.util; import io.xpipe.app.core.AppProperties; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.issue.TrackEvent; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.core.FailableRunnable; import lombok.SneakyThrows; diff --git a/app/src/main/java/io/xpipe/app/util/Validators.java b/app/src/main/java/io/xpipe/app/util/Validators.java index 0e0d42182..0539b1e21 100644 --- a/app/src/main/java/io/xpipe/app/util/Validators.java +++ b/app/src/main/java/io/xpipe/app/util/Validators.java @@ -2,7 +2,7 @@ package io.xpipe.app.util; import io.xpipe.app.core.AppI18n; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import io.xpipe.app.ext.ValidationException; import java.util.List; diff --git a/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java b/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java index 99c202b81..2851c9bce 100644 --- a/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java +++ b/app/src/main/java/io/xpipe/app/util/VaultKeySecretValue.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; import io.xpipe.app.storage.DataStorage; -import io.xpipe.core.util.AesSecretValue; -import io.xpipe.core.util.InPlaceSecretValue; +import io.xpipe.core.AesSecretValue; +import io.xpipe.core.InPlaceSecretValue; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/app/src/main/java/io/xpipe/app/util/WindowsRegistry.java b/app/src/main/java/io/xpipe/app/util/WindowsRegistry.java index cd3cb6014..ad8de8315 100644 --- a/app/src/main/java/io/xpipe/app/util/WindowsRegistry.java +++ b/app/src/main/java/io/xpipe/app/util/WindowsRegistry.java @@ -1,8 +1,8 @@ package io.xpipe.app.util; import io.xpipe.app.issue.ErrorEventFactory; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ShellControl; import com.sun.jna.platform.win32.Advapi32Util; import com.sun.jna.platform.win32.WinReg; diff --git a/app/src/main/java/io/xpipe/app/vnc/CustomVncClient.java b/app/src/main/java/io/xpipe/app/vnc/CustomVncClient.java index a26dbb026..f61310ce6 100644 --- a/app/src/main/java/io/xpipe/app/vnc/CustomVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/CustomVncClient.java @@ -3,7 +3,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.comp.base.TextFieldComp; import io.xpipe.app.prefs.ExternalApplicationHelper; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/app/src/main/java/io/xpipe/app/vnc/ExternalVncClient.java b/app/src/main/java/io/xpipe/app/vnc/ExternalVncClient.java index 296a83740..91d9c9fb0 100644 --- a/app/src/main/java/io/xpipe/app/vnc/ExternalVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/ExternalVncClient.java @@ -2,7 +2,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.util.ClipboardHelper; -import io.xpipe.core.process.OsType; +import io.xpipe.core.OsType; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/app/src/main/java/io/xpipe/app/vnc/RealVncClient.java b/app/src/main/java/io/xpipe/app/vnc/RealVncClient.java index cd83198ed..0800141c5 100644 --- a/app/src/main/java/io/xpipe/app/vnc/RealVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/RealVncClient.java @@ -1,7 +1,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/vnc/RemminaVncClient.java b/app/src/main/java/io/xpipe/app/vnc/RemminaVncClient.java index 200804139..2afa511af 100644 --- a/app/src/main/java/io/xpipe/app/vnc/RemminaVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/RemminaVncClient.java @@ -3,7 +3,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.RemminaHelper; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/vnc/ScreenSharingVncClient.java b/app/src/main/java/io/xpipe/app/vnc/ScreenSharingVncClient.java index 86c471025..ed9a8bbb1 100644 --- a/app/src/main/java/io/xpipe/app/vnc/ScreenSharingVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/ScreenSharingVncClient.java @@ -1,7 +1,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.prefs.ExternalApplicationType; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/vnc/TigerVncClient.java b/app/src/main/java/io/xpipe/app/vnc/TigerVncClient.java index 1b43a4349..3abc560bc 100644 --- a/app/src/main/java/io/xpipe/app/vnc/TigerVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/TigerVncClient.java @@ -3,7 +3,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/vnc/TightVncClient.java b/app/src/main/java/io/xpipe/app/vnc/TightVncClient.java index c1d0b180a..c0db3d643 100644 --- a/app/src/main/java/io/xpipe/app/vnc/TightVncClient.java +++ b/app/src/main/java/io/xpipe/app/vnc/TightVncClient.java @@ -2,7 +2,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.prefs.ExternalApplicationType; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.CommandBuilder; +import io.xpipe.app.process.CommandBuilder; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Builder; diff --git a/app/src/main/java/io/xpipe/app/vnc/VncBaseStore.java b/app/src/main/java/io/xpipe/app/vnc/VncBaseStore.java index f7d3f1d5b..4cca47542 100644 --- a/app/src/main/java/io/xpipe/app/vnc/VncBaseStore.java +++ b/app/src/main/java/io/xpipe/app/vnc/VncBaseStore.java @@ -1,7 +1,7 @@ package io.xpipe.app.vnc; import io.xpipe.app.util.SecretRetrievalStrategy; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; public interface VncBaseStore extends DataStore { diff --git a/app/src/main/java/io/xpipe/app/vnc/VncLaunchConfig.java b/app/src/main/java/io/xpipe/app/vnc/VncLaunchConfig.java index 6a95d21b6..832ebd0a7 100644 --- a/app/src/main/java/io/xpipe/app/vnc/VncLaunchConfig.java +++ b/app/src/main/java/io/xpipe/app/vnc/VncLaunchConfig.java @@ -1,8 +1,8 @@ package io.xpipe.app.vnc; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.util.SecretValue; +import io.xpipe.app.process.ShellControl; +import io.xpipe.core.SecretValue; import lombok.Value; diff --git a/app/src/main/java/module-info.java b/app/src/main/java/module-info.java index 42d19d3f7..96ec7a365 100644 --- a/app/src/main/java/module-info.java +++ b/app/src/main/java/module-info.java @@ -10,13 +10,13 @@ import io.xpipe.app.ext.*; import io.xpipe.app.hub.action.impl.*; import io.xpipe.app.issue.EventHandler; import io.xpipe.app.issue.EventHandlerImpl; -import io.xpipe.app.storage.DataStateProviderImpl; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.util.AppJacksonModule; import io.xpipe.app.util.LicenseProvider; import io.xpipe.beacon.BeaconInterface; -import io.xpipe.core.util.DataStateProvider; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import com.fasterxml.jackson.databind.Module; import org.slf4j.spi.SLF4JServiceProvider; @@ -55,6 +55,7 @@ open module io.xpipe.app { exports io.xpipe.app.browser.menu.impl.compress; exports io.xpipe.app.hub.action; exports io.xpipe.app.hub.action.impl; + exports io.xpipe.app.process; requires com.sun.jna; requires com.sun.jna.platform; @@ -117,6 +118,7 @@ open module io.xpipe.app { uses io.xpipe.beacon.BeaconInterface; uses DataStorageExtensionProvider; uses ProcessControlProvider; + uses ShellDialect; provides ActionProvider with BrowseHubLeafProvider, @@ -195,9 +197,8 @@ open module io.xpipe.app { ActionProvider.Loader, PrefsProvider.Loader, LicenseProvider.Loader, - ScanProvider.Loader; - provides DataStateProvider with - DataStateProviderImpl; + ScanProvider.Loader, + ShellDialects.Loader; provides SLF4JServiceProvider with AppLogs.Slf4jProvider; provides EventHandler with diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java b/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java index 9afc1ceaa..c84876f09 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconClient.java @@ -1,8 +1,8 @@ package io.xpipe.beacon; import io.xpipe.beacon.api.HandshakeExchange; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.XPipeInstallation; import com.fasterxml.jackson.databind.node.ObjectNode; import lombok.SneakyThrows; diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconConfig.java b/beacon/src/main/java/io/xpipe/beacon/BeaconConfig.java index 2d910a988..e56d03b59 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconConfig.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconConfig.java @@ -1,6 +1,6 @@ package io.xpipe.beacon; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.XPipeInstallation; import lombok.experimental.UtilityClass; diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconInterface.java b/beacon/src/main/java/io/xpipe/beacon/BeaconInterface.java index c597f41d9..31e5a8aa5 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconInterface.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconInterface.java @@ -1,6 +1,6 @@ package io.xpipe.beacon; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.ModuleLayerLoader; import com.sun.net.httpserver.HttpExchange; import lombok.SneakyThrows; diff --git a/beacon/src/main/java/io/xpipe/beacon/BeaconServer.java b/beacon/src/main/java/io/xpipe/beacon/BeaconServer.java index 18e3faf68..bfb55d313 100644 --- a/beacon/src/main/java/io/xpipe/beacon/BeaconServer.java +++ b/beacon/src/main/java/io/xpipe/beacon/BeaconServer.java @@ -1,10 +1,10 @@ package io.xpipe.beacon; import io.xpipe.beacon.api.DaemonStopExchange; -import io.xpipe.core.process.OsType; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.XPipeDaemonMode; -import io.xpipe.core.util.XPipeInstallation; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; +import io.xpipe.core.XPipeDaemonMode; +import io.xpipe.core.XPipeInstallation; import java.io.BufferedReader; import java.io.InputStreamReader; diff --git a/beacon/src/main/java/io/xpipe/beacon/api/AskpassExchange.java b/beacon/src/main/java/io/xpipe/beacon/api/AskpassExchange.java index b53442408..54768ad62 100644 --- a/beacon/src/main/java/io/xpipe/beacon/api/AskpassExchange.java +++ b/beacon/src/main/java/io/xpipe/beacon/api/AskpassExchange.java @@ -1,7 +1,7 @@ package io.xpipe.beacon.api; import io.xpipe.beacon.BeaconInterface; -import io.xpipe.core.util.SecretValue; +import io.xpipe.core.SecretValue; import lombok.Builder; import lombok.NonNull; diff --git a/beacon/src/main/java/io/xpipe/beacon/api/CategoryInfoExchange.java b/beacon/src/main/java/io/xpipe/beacon/api/CategoryInfoExchange.java index 10cfb4a87..4773318e7 100644 --- a/beacon/src/main/java/io/xpipe/beacon/api/CategoryInfoExchange.java +++ b/beacon/src/main/java/io/xpipe/beacon/api/CategoryInfoExchange.java @@ -1,7 +1,7 @@ package io.xpipe.beacon.api; import io.xpipe.beacon.BeaconInterface; -import io.xpipe.core.store.StorePath; +import io.xpipe.core.StorePath; import com.fasterxml.jackson.databind.JsonNode; import lombok.Builder; diff --git a/beacon/src/main/java/io/xpipe/beacon/api/ConnectionAddExchange.java b/beacon/src/main/java/io/xpipe/beacon/api/ConnectionAddExchange.java index bc887aba5..0b977f835 100644 --- a/beacon/src/main/java/io/xpipe/beacon/api/ConnectionAddExchange.java +++ b/beacon/src/main/java/io/xpipe/beacon/api/ConnectionAddExchange.java @@ -1,7 +1,7 @@ package io.xpipe.beacon.api; +import com.fasterxml.jackson.databind.JsonNode; import io.xpipe.beacon.BeaconInterface; -import io.xpipe.core.store.DataStore; import lombok.Builder; import lombok.NonNull; @@ -25,7 +25,7 @@ public class ConnectionAddExchange extends BeaconInterface { + + @Override + public void serialize(StorePath value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + var ar = value.getNames().toArray(String[]::new); + jgen.writeArray(ar, 0, ar.length); + } + } + + public static class StorePathDeserializer extends JsonDeserializer { + + @Override + public StorePath deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + JavaType javaType = + JacksonMapper.getDefault().getTypeFactory().constructCollectionLikeType(List.class, String.class); + List list = JacksonMapper.getDefault().readValue(p, javaType); + return new StorePath(list); + } + } + + public static class FilePathSerializer extends JsonSerializer { + + @Override + public void serialize(FilePath value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.toString()); + } + } + + public static class FilePathDeserializer extends JsonDeserializer { + + @Override + public FilePath deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + return FilePath.of(p.getValueAsString()); + } + } + + public static class CharsetSerializer extends JsonSerializer { + + @Override + public void serialize(Charset value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.name()); + } + } + + public static class CharsetDeserializer extends JsonDeserializer { + + @Override + public Charset deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + return Charset.forName(p.getValueAsString()); + } + } + + public static class LocalPathSerializer extends JsonSerializer { + + @Override + public void serialize(Path value, JsonGenerator jgen, SerializerProvider provider) throws IOException { + jgen.writeString(value.toString()); + } + } + + public static class LocalPathDeserializer extends JsonDeserializer { + + @Override + public Path deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + return Path.of(p.getValueAsString()); + } + } + + @JsonSerialize(as = Throwable.class) + public abstract static class ThrowableTypeMixIn { + + @JsonIdentityInfo(generator = ObjectIdGenerators.StringIdGenerator.class, property = "$id") + private Throwable cause; + } +} diff --git a/core/src/main/java/io/xpipe/core/util/Deobfuscator.java b/core/src/main/java/io/xpipe/core/Deobfuscator.java similarity index 96% rename from core/src/main/java/io/xpipe/core/util/Deobfuscator.java rename to core/src/main/java/io/xpipe/core/Deobfuscator.java index 502fbf84a..5eeee89d9 100644 --- a/core/src/main/java/io/xpipe/core/util/Deobfuscator.java +++ b/core/src/main/java/io/xpipe/core/Deobfuscator.java @@ -1,6 +1,4 @@ -package io.xpipe.core.util; - -import io.xpipe.core.process.OsType; +package io.xpipe.core; import java.io.PrintWriter; import java.io.StringWriter; @@ -71,7 +69,7 @@ public class Deobfuscator { .redirectErrorStream(true); var active = proc.start(); var out = new String(active.getInputStream().readAllBytes()) - .replaceAll("\r\n", NewLine.LF.getNewLineString()); + .replaceAll("\r\n", "\n"); var code = active.waitFor(); if (code == 0) { return out; diff --git a/core/src/main/java/io/xpipe/core/util/EncryptedSecretValue.java b/core/src/main/java/io/xpipe/core/EncryptedSecretValue.java similarity index 98% rename from core/src/main/java/io/xpipe/core/util/EncryptedSecretValue.java rename to core/src/main/java/io/xpipe/core/EncryptedSecretValue.java index 816de3e02..03599be06 100644 --- a/core/src/main/java/io/xpipe/core/util/EncryptedSecretValue.java +++ b/core/src/main/java/io/xpipe/core/EncryptedSecretValue.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/util/FailableBiConsumer.java b/core/src/main/java/io/xpipe/core/FailableBiConsumer.java similarity index 82% rename from core/src/main/java/io/xpipe/core/util/FailableBiConsumer.java rename to core/src/main/java/io/xpipe/core/FailableBiConsumer.java index 508d8a496..b0b506483 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableBiConsumer.java +++ b/core/src/main/java/io/xpipe/core/FailableBiConsumer.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; @FunctionalInterface public interface FailableBiConsumer { diff --git a/core/src/main/java/io/xpipe/core/util/FailableBiFunction.java b/core/src/main/java/io/xpipe/core/FailableBiFunction.java similarity index 82% rename from core/src/main/java/io/xpipe/core/util/FailableBiFunction.java rename to core/src/main/java/io/xpipe/core/FailableBiFunction.java index 0fec7f0f9..f4062d510 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableBiFunction.java +++ b/core/src/main/java/io/xpipe/core/FailableBiFunction.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; @FunctionalInterface public interface FailableBiFunction { diff --git a/core/src/main/java/io/xpipe/core/util/FailableConsumer.java b/core/src/main/java/io/xpipe/core/FailableConsumer.java similarity index 80% rename from core/src/main/java/io/xpipe/core/util/FailableConsumer.java rename to core/src/main/java/io/xpipe/core/FailableConsumer.java index c3b3ea956..07a89a44b 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableConsumer.java +++ b/core/src/main/java/io/xpipe/core/FailableConsumer.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; @FunctionalInterface public interface FailableConsumer { diff --git a/core/src/main/java/io/xpipe/core/util/FailableFunction.java b/core/src/main/java/io/xpipe/core/FailableFunction.java similarity index 80% rename from core/src/main/java/io/xpipe/core/util/FailableFunction.java rename to core/src/main/java/io/xpipe/core/FailableFunction.java index 0f453b64b..0ba109719 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableFunction.java +++ b/core/src/main/java/io/xpipe/core/FailableFunction.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; @FunctionalInterface public interface FailableFunction { diff --git a/core/src/main/java/io/xpipe/core/util/FailableRunnable.java b/core/src/main/java/io/xpipe/core/FailableRunnable.java similarity index 79% rename from core/src/main/java/io/xpipe/core/util/FailableRunnable.java rename to core/src/main/java/io/xpipe/core/FailableRunnable.java index 12b2202c4..6a8e1876f 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableRunnable.java +++ b/core/src/main/java/io/xpipe/core/FailableRunnable.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; @FunctionalInterface public interface FailableRunnable { diff --git a/core/src/main/java/io/xpipe/core/util/FailableSupplier.java b/core/src/main/java/io/xpipe/core/FailableSupplier.java similarity index 72% rename from core/src/main/java/io/xpipe/core/util/FailableSupplier.java rename to core/src/main/java/io/xpipe/core/FailableSupplier.java index a530fbf76..4f939a54b 100644 --- a/core/src/main/java/io/xpipe/core/util/FailableSupplier.java +++ b/core/src/main/java/io/xpipe/core/FailableSupplier.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; public interface FailableSupplier { diff --git a/core/src/main/java/io/xpipe/core/store/FileInfo.java b/core/src/main/java/io/xpipe/core/FileInfo.java similarity index 96% rename from core/src/main/java/io/xpipe/core/store/FileInfo.java rename to core/src/main/java/io/xpipe/core/FileInfo.java index fa899bf64..1d18efdfa 100644 --- a/core/src/main/java/io/xpipe/core/store/FileInfo.java +++ b/core/src/main/java/io/xpipe/core/FileInfo.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.core; import lombok.Value; diff --git a/core/src/main/java/io/xpipe/core/store/FileKind.java b/core/src/main/java/io/xpipe/core/FileKind.java similarity index 71% rename from core/src/main/java/io/xpipe/core/store/FileKind.java rename to core/src/main/java/io/xpipe/core/FileKind.java index 716d6478d..9ccbb4724 100644 --- a/core/src/main/java/io/xpipe/core/store/FileKind.java +++ b/core/src/main/java/io/xpipe/core/FileKind.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.core; public enum FileKind { FILE, diff --git a/core/src/main/java/io/xpipe/core/store/FilePath.java b/core/src/main/java/io/xpipe/core/FilePath.java similarity index 88% rename from core/src/main/java/io/xpipe/core/store/FilePath.java rename to core/src/main/java/io/xpipe/core/FilePath.java index f3ab7852f..36eac218f 100644 --- a/core/src/main/java/io/xpipe/core/store/FilePath.java +++ b/core/src/main/java/io/xpipe/core/FilePath.java @@ -1,23 +1,12 @@ -package io.xpipe.core.store; - -import io.xpipe.core.process.OsType; +package io.xpipe.core; import lombok.NonNull; import java.nio.file.Path; import java.util.*; -import java.util.regex.Pattern; public final class FilePath { - public static boolean isProbableFilePath(OsType osType, String s) { - if (osType.equals(OsType.WINDOWS) && s.length() >= 2 && s.charAt(1) == ':') { - return true; - } - - return s.startsWith("/"); - } - public static FilePath of(String path) { return path != null ? new FilePath(path) : null; } @@ -66,19 +55,6 @@ public final class FilePath { return Objects.hashCode(value); } - public FilePath fileSystemCompatible(OsType osType) { - var split = split(); - var needsReplacement = split.stream().anyMatch(s -> !s.equals(osType.makeFileSystemCompatible(s))); - if (!needsReplacement) { - return this; - } - - var p = Pattern.compile("[^/\\\\]+"); - var m = p.matcher(value); - var replaced = m.replaceAll(matchResult -> osType.makeFileSystemCompatible(matchResult.group())); - return FilePath.of(replaced); - } - public FilePath getRoot() { if (value.startsWith("/")) { return FilePath.of("/"); diff --git a/core/src/main/java/io/xpipe/core/util/InPlaceSecretValue.java b/core/src/main/java/io/xpipe/core/InPlaceSecretValue.java similarity index 98% rename from core/src/main/java/io/xpipe/core/util/InPlaceSecretValue.java rename to core/src/main/java/io/xpipe/core/InPlaceSecretValue.java index 5795433b7..4b08cb7b2 100644 --- a/core/src/main/java/io/xpipe/core/util/InPlaceSecretValue.java +++ b/core/src/main/java/io/xpipe/core/InPlaceSecretValue.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/core/src/main/java/io/xpipe/core/util/JacksonMapper.java b/core/src/main/java/io/xpipe/core/JacksonMapper.java similarity index 99% rename from core/src/main/java/io/xpipe/core/util/JacksonMapper.java rename to core/src/main/java/io/xpipe/core/JacksonMapper.java index f7be57103..1fdf48628 100644 --- a/core/src/main/java/io/xpipe/core/util/JacksonMapper.java +++ b/core/src/main/java/io/xpipe/core/JacksonMapper.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.core.JsonGenerator; diff --git a/core/src/main/java/io/xpipe/core/util/KeyValue.java b/core/src/main/java/io/xpipe/core/KeyValue.java similarity index 89% rename from core/src/main/java/io/xpipe/core/util/KeyValue.java rename to core/src/main/java/io/xpipe/core/KeyValue.java index 5f6ca4085..01c945b81 100644 --- a/core/src/main/java/io/xpipe/core/util/KeyValue.java +++ b/core/src/main/java/io/xpipe/core/KeyValue.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import lombok.AllArgsConstructor; import lombok.Builder; diff --git a/core/src/main/java/io/xpipe/core/util/ModuleLayerLoader.java b/core/src/main/java/io/xpipe/core/ModuleLayerLoader.java similarity index 96% rename from core/src/main/java/io/xpipe/core/util/ModuleLayerLoader.java rename to core/src/main/java/io/xpipe/core/ModuleLayerLoader.java index 994d62528..695000a74 100644 --- a/core/src/main/java/io/xpipe/core/util/ModuleLayerLoader.java +++ b/core/src/main/java/io/xpipe/core/ModuleLayerLoader.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import java.util.ServiceLoader; import java.util.function.Consumer; diff --git a/core/src/main/java/io/xpipe/core/OsType.java b/core/src/main/java/io/xpipe/core/OsType.java new file mode 100644 index 000000000..f5434d807 --- /dev/null +++ b/core/src/main/java/io/xpipe/core/OsType.java @@ -0,0 +1,83 @@ +package io.xpipe.core; + +import java.util.Locale; + +public interface OsType { + + Windows WINDOWS = new Windows(); + Linux LINUX = new Linux(); + MacOs MACOS = new MacOs(); + Bsd BSD = new Bsd(); + Solaris SOLARIS = new Solaris(); + + static Local getLocal() { + String osName = System.getProperty("os.name", "generic").toLowerCase(Locale.ENGLISH); + if ((osName.contains("mac")) || (osName.contains("darwin"))) { + return MACOS; + } else if (osName.contains("win")) { + return WINDOWS; + } else { + return LINUX; + } + } + + String getName(); + + sealed interface Local extends OsType permits OsType.Windows, OsType.Linux, OsType.MacOs { + + String getId(); + + default Any toAny() { + return (Any) this; + } + } + + sealed interface Any extends OsType + permits OsType.Windows, OsType.Linux, OsType.MacOs, OsType.Solaris, OsType.Bsd {} + + final class Windows implements OsType, Local, Any { + + @Override + public String getName() { + return "Windows"; + } + + @Override + public String getId() { + return "windows"; + } + } + + class Unix implements OsType { + + @Override + public String getName() { + return "Linux"; + } + } + + final class Linux extends Unix implements OsType, Local, Any { + + @Override + public String getId() { + return "linux"; + } + } + + final class Solaris extends Unix implements Any {} + + final class Bsd extends Unix implements Any {} + + final class MacOs implements OsType, Local, Any { + + @Override + public String getId() { + return "macos"; + } + + @Override + public String getName() { + return "Mac"; + } + } +} diff --git a/core/src/main/java/io/xpipe/core/util/SecretValue.java b/core/src/main/java/io/xpipe/core/SecretValue.java similarity index 98% rename from core/src/main/java/io/xpipe/core/util/SecretValue.java rename to core/src/main/java/io/xpipe/core/SecretValue.java index c44b2626e..ac9bce6ff 100644 --- a/core/src/main/java/io/xpipe/core/util/SecretValue.java +++ b/core/src/main/java/io/xpipe/core/SecretValue.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import com.fasterxml.jackson.annotation.JsonTypeInfo; diff --git a/core/src/main/java/io/xpipe/core/store/StorePath.java b/core/src/main/java/io/xpipe/core/StorePath.java similarity index 98% rename from core/src/main/java/io/xpipe/core/store/StorePath.java rename to core/src/main/java/io/xpipe/core/StorePath.java index b39d2ad61..4a3b7152a 100644 --- a/core/src/main/java/io/xpipe/core/store/StorePath.java +++ b/core/src/main/java/io/xpipe/core/StorePath.java @@ -1,4 +1,4 @@ -package io.xpipe.core.store; +package io.xpipe.core; import com.fasterxml.jackson.annotation.JsonCreator; import lombok.EqualsAndHashCode; diff --git a/core/src/main/java/io/xpipe/core/util/StreamCharset.java b/core/src/main/java/io/xpipe/core/StreamCharset.java similarity index 99% rename from core/src/main/java/io/xpipe/core/util/StreamCharset.java rename to core/src/main/java/io/xpipe/core/StreamCharset.java index 010a185b9..88c39dc0d 100644 --- a/core/src/main/java/io/xpipe/core/util/StreamCharset.java +++ b/core/src/main/java/io/xpipe/core/StreamCharset.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import lombok.Value; @@ -9,7 +9,6 @@ import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.util.Arrays; import java.util.List; -import java.util.Locale; import java.util.Objects; import java.util.stream.Stream; diff --git a/core/src/main/java/io/xpipe/core/util/UuidHelper.java b/core/src/main/java/io/xpipe/core/UuidHelper.java similarity index 95% rename from core/src/main/java/io/xpipe/core/util/UuidHelper.java rename to core/src/main/java/io/xpipe/core/UuidHelper.java index ff03f8c2f..d3b3e5649 100644 --- a/core/src/main/java/io/xpipe/core/util/UuidHelper.java +++ b/core/src/main/java/io/xpipe/core/UuidHelper.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import java.util.Optional; import java.util.UUID; diff --git a/core/src/main/java/io/xpipe/core/util/XPipeDaemonMode.java b/core/src/main/java/io/xpipe/core/XPipeDaemonMode.java similarity index 98% rename from core/src/main/java/io/xpipe/core/util/XPipeDaemonMode.java rename to core/src/main/java/io/xpipe/core/XPipeDaemonMode.java index 905f93fd7..3093fe366 100644 --- a/core/src/main/java/io/xpipe/core/util/XPipeDaemonMode.java +++ b/core/src/main/java/io/xpipe/core/XPipeDaemonMode.java @@ -1,4 +1,4 @@ -package io.xpipe.core.util; +package io.xpipe.core; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Getter; diff --git a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java b/core/src/main/java/io/xpipe/core/XPipeInstallation.java similarity index 99% rename from core/src/main/java/io/xpipe/core/util/XPipeInstallation.java rename to core/src/main/java/io/xpipe/core/XPipeInstallation.java index f9c4e0b8a..ab9a4600a 100644 --- a/core/src/main/java/io/xpipe/core/util/XPipeInstallation.java +++ b/core/src/main/java/io/xpipe/core/XPipeInstallation.java @@ -1,8 +1,5 @@ -package io.xpipe.core.util; +package io.xpipe.core; -import io.xpipe.core.process.OsType; - -import io.xpipe.core.store.FilePath; import lombok.Getter; import lombok.SneakyThrows; diff --git a/core/src/main/java/io/xpipe/core/util/CoreJacksonModule.java b/core/src/main/java/io/xpipe/core/util/CoreJacksonModule.java deleted file mode 100644 index ad7e546e3..000000000 --- a/core/src/main/java/io/xpipe/core/util/CoreJacksonModule.java +++ /dev/null @@ -1,229 +0,0 @@ -package io.xpipe.core.util; - -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.StorePath; - -import com.fasterxml.jackson.annotation.JsonIdentityInfo; -import com.fasterxml.jackson.annotation.ObjectIdGenerators; -import com.fasterxml.jackson.core.JsonGenerator; -import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.databind.*; -import com.fasterxml.jackson.databind.annotation.JsonSerialize; -import com.fasterxml.jackson.databind.jsontype.NamedType; -import com.fasterxml.jackson.databind.module.SimpleModule; - -import java.io.IOException; -import java.nio.charset.Charset; -import java.nio.file.Path; -import java.util.List; -import java.util.stream.Stream; - -public class CoreJacksonModule extends SimpleModule { - - @Override - public void setupModule(SetupContext context) { - context.registerSubtypes(new NamedType(InPlaceSecretValue.class)); - - for (ShellDialect t : ShellDialects.ALL) { - context.registerSubtypes(new NamedType(t.getClass())); - } - - addSerializer(FilePath.class, new FilePathSerializer()); - addDeserializer(FilePath.class, new FilePathDeserializer()); - - addSerializer(StorePath.class, new StorePathSerializer()); - addDeserializer(StorePath.class, new StorePathDeserializer()); - - addSerializer(Charset.class, new CharsetSerializer()); - addDeserializer(Charset.class, new CharsetDeserializer()); - - addSerializer(ShellDialect.class, new ShellDialectSerializer()); - addDeserializer(ShellDialect.class, new ShellDialectDeserializer()); - - addSerializer(NewLine.class, new NewLineSerializer()); - addDeserializer(NewLine.class, new NewLineDeserializer()); - - addSerializer(Path.class, new LocalPathSerializer()); - addDeserializer(Path.class, new LocalPathDeserializer()); - - addSerializer(OsType.class, new OsTypeSerializer()); - addDeserializer(OsType.Local.class, new OsTypeLocalDeserializer()); - addDeserializer(OsType.Any.class, new OsTypeAnyDeserializer()); - - addSerializer(ShellScript.class, new ShellScriptSerializer()); - addDeserializer(ShellScript.class, new ShellScriptDeserializer()); - - context.setMixInAnnotations(Throwable.class, ThrowableTypeMixIn.class); - - context.addSerializers(_serializers); - context.addDeserializers(_deserializers); - } - - public static class ShellScriptSerializer extends JsonSerializer { - - @Override - public void serialize(ShellScript value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.getValue()); - } - } - - public static class ShellScriptDeserializer extends JsonDeserializer { - - @Override - public ShellScript deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - return new ShellScript(p.getValueAsString()); - } - } - - public static class StorePathSerializer extends JsonSerializer { - - @Override - public void serialize(StorePath value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - var ar = value.getNames().toArray(String[]::new); - jgen.writeArray(ar, 0, ar.length); - } - } - - public static class StorePathDeserializer extends JsonDeserializer { - - @Override - public StorePath deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - JavaType javaType = - JacksonMapper.getDefault().getTypeFactory().constructCollectionLikeType(List.class, String.class); - List list = JacksonMapper.getDefault().readValue(p, javaType); - return new StorePath(list); - } - } - - public static class FilePathSerializer extends JsonSerializer { - - @Override - public void serialize(FilePath value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.toString()); - } - } - - public static class FilePathDeserializer extends JsonDeserializer { - - @Override - public FilePath deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - return FilePath.of(p.getValueAsString()); - } - } - - public static class CharsetSerializer extends JsonSerializer { - - @Override - public void serialize(Charset value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.name()); - } - } - - public static class CharsetDeserializer extends JsonDeserializer { - - @Override - public Charset deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - return Charset.forName(p.getValueAsString()); - } - } - - public static class ShellDialectSerializer extends JsonSerializer { - - @Override - public void serialize(ShellDialect value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.getId()); - } - } - - public static class ShellDialectDeserializer extends JsonDeserializer { - - @Override - public ShellDialect deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - JsonNode tree = JacksonMapper.getDefault().readTree(p); - if (tree.isObject()) { - var t = tree.get("type"); - if (t == null) { - return null; - } - return ShellDialects.byNameIfPresent(t.asText()).orElse(null); - } - - return ShellDialects.byNameIfPresent(tree.asText()).orElse(null); - } - } - - public static class NewLineSerializer extends JsonSerializer { - - @Override - public void serialize(NewLine value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.getId()); - } - } - - public static class NewLineDeserializer extends JsonDeserializer { - - @Override - public NewLine deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - return NewLine.byId(p.getValueAsString()); - } - } - - public static class LocalPathSerializer extends JsonSerializer { - - @Override - public void serialize(Path value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.toString()); - } - } - - public static class LocalPathDeserializer extends JsonDeserializer { - - @Override - public Path deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - return Path.of(p.getValueAsString()); - } - } - - public static class OsTypeSerializer extends JsonSerializer { - - @Override - public void serialize(OsType value, JsonGenerator jgen, SerializerProvider provider) throws IOException { - jgen.writeString(value.getName()); - } - } - - public static class OsTypeLocalDeserializer extends JsonDeserializer { - - @Override - public OsType.Local deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - var stream = Stream.of(OsType.WINDOWS, OsType.LINUX, OsType.MACOS); - var n = p.getValueAsString(); - return stream.filter(osType -> osType.getName().equals(n)) - .findFirst() - .orElse(null); - } - } - - public static class OsTypeAnyDeserializer extends JsonDeserializer { - - @Override - public OsType.Any deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { - var stream = Stream.of(OsType.WINDOWS, OsType.LINUX, OsType.BSD, OsType.SOLARIS, OsType.MACOS); - var n = p.getValueAsString(); - return stream.filter(osType -> osType.getName().equals(n)) - .findFirst() - .orElse(null); - } - } - - @JsonSerialize(as = Throwable.class) - public abstract static class ThrowableTypeMixIn { - - @JsonIdentityInfo(generator = ObjectIdGenerators.StringIdGenerator.class, property = "$id") - private Throwable cause; - } -} diff --git a/core/src/main/java/io/xpipe/core/util/DataStateProvider.java b/core/src/main/java/io/xpipe/core/util/DataStateProvider.java deleted file mode 100644 index 822a53909..000000000 --- a/core/src/main/java/io/xpipe/core/util/DataStateProvider.java +++ /dev/null @@ -1,32 +0,0 @@ -package io.xpipe.core.util; - -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.DataStoreState; - -import java.util.ServiceLoader; -import java.util.function.Supplier; - -public abstract class DataStateProvider { - - private static DataStateProvider INSTANCE; - - public static DataStateProvider get() { - if (INSTANCE == null) { - INSTANCE = ServiceLoader.load(ModuleLayer.boot(), DataStateProvider.class) - .findFirst() - .orElseThrow(); - } - - return INSTANCE; - } - - public abstract void setState(DataStore store, DataStoreState value); - - public abstract T getState(DataStore store, Supplier def); - - public abstract void putCache(DataStore store, String key, Object value); - - public abstract T getCache(DataStore store, String key, Class c, Supplier def); - - public abstract boolean canCacheToStorage(DataStore store); -} diff --git a/core/src/main/java/module-info.java b/core/src/main/java/module-info.java index fbb13ba02..b3eb9fd76 100644 --- a/core/src/main/java/module-info.java +++ b/core/src/main/java/module-info.java @@ -1,13 +1,9 @@ -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.util.CoreJacksonModule; -import io.xpipe.core.util.JacksonMapper; -import io.xpipe.core.util.ModuleLayerLoader; +import io.xpipe.core.CoreJacksonModule; +import io.xpipe.core.JacksonMapper; +import io.xpipe.core.ModuleLayerLoader; open module io.xpipe.core { - exports io.xpipe.core.store; - exports io.xpipe.core.util; - exports io.xpipe.core.process; + exports io.xpipe.core; requires com.fasterxml.jackson.datatype.jsr310; requires com.fasterxml.jackson.core; @@ -17,13 +13,10 @@ open module io.xpipe.core { requires static lombok; uses com.fasterxml.jackson.databind.Module; - uses io.xpipe.core.util.DataStateProvider; uses ModuleLayerLoader; - uses ShellDialect; provides ModuleLayerLoader with - JacksonMapper.Loader, - ShellDialects.Loader; + JacksonMapper.Loader; provides com.fasterxml.jackson.databind.Module with CoreJacksonModule; } diff --git a/core/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module b/core/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module index a3c185b3e..97cd2a927 100644 --- a/core/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module +++ b/core/src/main/resources/META-INF/services/com.fasterxml.jackson.databind.Module @@ -1 +1 @@ -io.xpipe.core.util.CoreJacksonModule \ No newline at end of file +io.xpipe.core.CoreJacksonModule \ No newline at end of file diff --git a/core/src/main/resources/META-INF/services/io.xpipe.core.ModuleLayerLoader b/core/src/main/resources/META-INF/services/io.xpipe.core.ModuleLayerLoader new file mode 100644 index 000000000..392fd889a --- /dev/null +++ b/core/src/main/resources/META-INF/services/io.xpipe.core.ModuleLayerLoader @@ -0,0 +1,2 @@ +io.xpipe.core.JacksonMapper$Loader +io.xpipe.app.process.ShellDialects$Loader \ No newline at end of file diff --git a/core/src/main/resources/META-INF/services/io.xpipe.core.util.ModuleLayerLoader b/core/src/main/resources/META-INF/services/io.xpipe.core.util.ModuleLayerLoader deleted file mode 100644 index c61f23fd2..000000000 --- a/core/src/main/resources/META-INF/services/io.xpipe.core.util.ModuleLayerLoader +++ /dev/null @@ -1,2 +0,0 @@ -io.xpipe.core.util.JacksonMapper$Loader -io.xpipe.core.process.ShellDialects$Loader \ No newline at end of file diff --git a/core/src/test/java/io/xpipe/core/test/StorePathTest.java b/core/src/test/java/io/xpipe/core/test/StorePathTest.java index 39cc5dafb..8323aa89b 100644 --- a/core/src/test/java/io/xpipe/core/test/StorePathTest.java +++ b/core/src/test/java/io/xpipe/core/test/StorePathTest.java @@ -1,6 +1,6 @@ package io.xpipe.core.test; -import io.xpipe.core.store.StorePath; +import io.xpipe.core.StorePath; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java index 74dabc6f5..15f9ffc67 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStore.java @@ -2,8 +2,8 @@ package io.xpipe.ext.base.desktop; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.ext.DataStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Value; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStoreProvider.java index a9909cc00..2b6feb028 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopApplicationStoreProvider.java @@ -8,8 +8,8 @@ import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.FailableRunnable; import javafx.beans.property.BooleanProperty; import javafx.beans.property.Property; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopBaseStore.java b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopBaseStore.java index fa47a0bd2..4e6cd0353 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopBaseStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/desktop/DesktopBaseStore.java @@ -1,7 +1,7 @@ package io.xpipe.ext.base.desktop; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.ext.DataStore; public interface DesktopBaseStore extends DataStore { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStore.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStore.java index d609470cf..8f18c837c 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStore.java @@ -1,7 +1,7 @@ package io.xpipe.ext.base.identity; +import io.xpipe.app.ext.DataStore; import io.xpipe.app.util.*; -import io.xpipe.core.store.*; import io.xpipe.app.ext.SelfReferentialStore; import lombok.EqualsAndHashCode; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStoreProvider.java index 9d90c9644..6bccac0b6 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/IdentityStoreProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.hub.comp.StoreEntryWrapper; import io.xpipe.app.hub.comp.StoreSection; import io.xpipe.app.hub.comp.SystemStateComp; import io.xpipe.app.util.SecretRetrievalStrategy; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityStoreProvider.java index 55691c161..98dd6b313 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/LocalIdentityStoreProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.util.EncryptedValue; import io.xpipe.app.util.OptionsBuilder; import io.xpipe.app.util.SecretRetrievalStrategy; import io.xpipe.app.util.SecretRetrievalStrategyHelper; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.ReadOnlyObjectWrapper; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStore.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStore.java index 94a2dd5b9..3fa89d57c 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStore.java @@ -5,8 +5,8 @@ import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.pwman.PasswordManager; import io.xpipe.app.util.*; -import io.xpipe.core.store.InternalCacheDataStore; -import io.xpipe.core.store.ValidatableStore; +import io.xpipe.app.ext.InternalCacheDataStore; +import io.xpipe.app.ext.ValidatableStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java index e0f60bef4..b4a95bd8d 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/PasswordManagerIdentityStoreProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.storage.DataStorageUserHandler; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleBooleanProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStateManager.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStateManager.java index d8f61cd83..3062cbcde 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStateManager.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStateManager.java @@ -3,10 +3,11 @@ package io.xpipe.ext.base.identity; import io.xpipe.app.issue.ErrorAction; import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.LocalShell; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; +import io.xpipe.core.OsType; import java.util.concurrent.atomic.AtomicBoolean; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStrategy.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStrategy.java index 67d8b9f35..06cd68350 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStrategy.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/SshIdentityStrategy.java @@ -1,14 +1,17 @@ package io.xpipe.ext.base.identity; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialects; import io.xpipe.app.storage.ContextualFileReference; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.SecretRetrievalStrategy; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.util.KeyValue; +import io.xpipe.core.FilePath; +import io.xpipe.core.KeyValue; import io.xpipe.app.ext.ValidationException; import com.fasterxml.jackson.annotation.JsonSubTypes; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/SyncedIdentityStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/SyncedIdentityStoreProvider.java index 87101002c..08bc9ec5b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/SyncedIdentityStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/SyncedIdentityStoreProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.ext.GuiDialog; import io.xpipe.app.hub.comp.StoreEntryWrapper; import io.xpipe.app.storage.*; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.*; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/identity/UsernameStrategy.java b/ext/base/src/main/java/io/xpipe/ext/base/identity/UsernameStrategy.java index 0ffc86f07..b898f369b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/identity/UsernameStrategy.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/identity/UsernameStrategy.java @@ -1,6 +1,6 @@ package io.xpipe.ext.base.identity; -import io.xpipe.core.util.FailableSupplier; +import io.xpipe.core.FailableSupplier; import lombok.EqualsAndHashCode; import lombok.ToString; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java b/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java index aae8f4e8a..d499df013 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/PredefinedScriptStore.java @@ -2,7 +2,7 @@ package io.xpipe.ext.base.script; import io.xpipe.app.core.AppResources; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.process.ShellDialects; +import io.xpipe.app.process.ShellDialects; import lombok.Getter; import lombok.Setter; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/RunHubBatchScriptActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/script/RunHubBatchScriptActionProvider.java index acbb9cd5d..55a6741e9 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/RunHubBatchScriptActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/RunHubBatchScriptActionProvider.java @@ -5,7 +5,7 @@ import io.xpipe.app.ext.ShellStore; import io.xpipe.app.hub.action.MultiStoreAction; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandDialog; -import io.xpipe.core.process.CommandControl; +import io.xpipe.app.process.CommandControl; import lombok.experimental.SuperBuilder; import lombok.extern.jackson.Jacksonized; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/RunScriptActionProviderMenu.java b/ext/base/src/main/java/io/xpipe/ext/base/script/RunScriptActionProviderMenu.java index ce4ebaa74..d162b779b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/RunScriptActionProviderMenu.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/RunScriptActionProviderMenu.java @@ -12,8 +12,8 @@ import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.ShellTtyState; -import io.xpipe.core.process.SystemState; +import io.xpipe.app.process.ShellTtyState; +import io.xpipe.app.process.SystemState; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableValue; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptGroupStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptGroupStoreProvider.java index 69d980ac1..00b0fc4de 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptGroupStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptGroupStoreProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java index c63521c7e..efc301246 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStore.java @@ -1,8 +1,10 @@ package io.xpipe.ext.base.script; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.EnabledStoreState; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.*; import lombok.*; import lombok.experimental.SuperBuilder; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStoreSetup.java b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStoreSetup.java index 29ff1d753..7462f51ae 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStoreSetup.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/ScriptStoreSetup.java @@ -1,14 +1,14 @@ package io.xpipe.ext.base.script; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.ShellTemp; -import io.xpipe.core.process.*; -import io.xpipe.core.store.FilePath; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.core.FilePath; +import io.xpipe.app.ext.StatefulDataStore; import java.util.*; @@ -133,7 +133,7 @@ public class ScriptStoreSetup { for (DataStoreEntryRef scriptStore : refs) { var content = d.prepareScriptContent(proc, scriptStore.getStore().getCommands()); - var fileName = proc.getOsType() + var fileName = OsFileSystem.of(proc.getOsType()) .makeFileSystemCompatible( scriptStore.get().getName().toLowerCase(Locale.ROOT).replaceAll(" ", "_")); var scriptFile = FilePath.of(targetDir, fileName + "." + d.getScriptFileEnding()); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditHubLeafProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditHubLeafProvider.java index da083aa80..84b410525 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditHubLeafProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptQuickEditHubLeafProvider.java @@ -6,11 +6,11 @@ import io.xpipe.app.hub.action.HubLeafProvider; import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.hub.comp.StoreCreationDialog; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.FileOpener; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.process.OsType; import javafx.beans.value.ObservableValue; @@ -78,7 +78,7 @@ public class SimpleScriptQuickEditHubLeafProvider implements HubLeafProvider { ref.get().setStoreInternal(script.toBuilder().commands(s).build(), true); }); diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStore.java b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStore.java index 18d65ad19..71912c49c 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStore.java @@ -4,8 +4,8 @@ import io.xpipe.app.core.AppI18n; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.ScriptHelper; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialect; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.process.ShellDialect; import io.xpipe.app.ext.ValidationException; import io.xpipe.app.ext.SelfReferentialStore; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStoreProvider.java index 286d5423b..f58550b80 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/script/SimpleScriptStoreProvider.java @@ -10,13 +10,14 @@ import io.xpipe.app.ext.DataStoreProvider; import io.xpipe.app.ext.EnabledParentStoreProvider; import io.xpipe.app.ext.GuiDialog; import io.xpipe.app.hub.comp.*; +import io.xpipe.app.process.OsFileSystem; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellDialect; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.store.DataStore; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellDialect; +import io.xpipe.app.process.ShellDialects; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.Property; @@ -211,13 +212,13 @@ public class SimpleScriptStoreProvider implements EnabledParentStoreProvider, Da var name = wrapper.getName().getValue().toLowerCase(Locale.ROOT).replaceAll(" ", "_"); if (st.getMinimumDialect() == null) { - return OsType.LINUX.makeFileSystemCompatible(name) + ".sh"; + return OsFileSystem.of(OsType.LINUX).makeFileSystemCompatible(name) + ".sh"; } var os = st.getMinimumDialect() == ShellDialects.CMD || ShellDialects.isPowershell(st.getMinimumDialect()) ? OsType.WINDOWS : OsType.LINUX; - return os.makeFileSystemCompatible(name) + "." + st.getMinimumDialect().getScriptFileEnding(); + return OsFileSystem.of(os).makeFileSystemCompatible(name) + "." + st.getMinimumDialect().getScriptFileEnding(); } @SneakyThrows diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStore.java index d67a97bf9..44e162636 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStore.java @@ -2,7 +2,7 @@ package io.xpipe.ext.base.service; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import io.xpipe.app.ext.GroupStore; import lombok.AccessLevel; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStoreProvider.java index f01898adb..886f041ed 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceGroupStoreProvider.java @@ -9,7 +9,7 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.SimpleBooleanProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStore.java index 8667dbdb4..864cd369a 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStore.java @@ -8,7 +8,7 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.HostHelper; import io.xpipe.app.util.LicenseProvider; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import lombok.EqualsAndHashCode; import lombok.Getter; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStoreProvider.java index faaf733b3..1961038bb 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/AbstractServiceStoreProvider.java @@ -10,8 +10,8 @@ import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.DocumentationLink; import io.xpipe.app.util.StoreStateFormat; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.app.ext.DataStore; +import io.xpipe.core.FailableRunnable; import javafx.beans.binding.Bindings; import javafx.beans.value.ObservableValue; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStore.java index 324cde0d5..270ea9fd0 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStore.java @@ -1,7 +1,7 @@ package io.xpipe.ext.base.service; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.*; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStoreProvider.java index 7ab7dd887..182908b31 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceGroupStoreProvider.java @@ -2,7 +2,7 @@ package io.xpipe.ext.base.service; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import java.util.List; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceStoreProvider.java index 49aca183f..9c7cf7d13 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/CustomServiceStoreProvider.java @@ -8,7 +8,7 @@ import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceCreatorStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceCreatorStore.java index 229ce7e18..4fd62f275 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceCreatorStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceCreatorStore.java @@ -1,7 +1,7 @@ package io.xpipe.ext.base.service; import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import java.util.List; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStore.java index 1bb5e546e..0f51f5ffa 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStore.java @@ -3,8 +3,8 @@ package io.xpipe.ext.base.service; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FixedChildStore; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.FixedChildStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.AccessLevel; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStoreProvider.java index 4b988e652..e7c760128 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceGroupStoreProvider.java @@ -2,7 +2,7 @@ package io.xpipe.ext.base.service; import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import java.util.List; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStore.java index 01cd9312c..89f1b797b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStore.java @@ -3,8 +3,8 @@ package io.xpipe.ext.base.service; import io.xpipe.app.ext.NetworkTunnelStore; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStore; -import io.xpipe.core.store.FixedChildStore; +import io.xpipe.app.ext.DataStore; +import io.xpipe.app.ext.FixedChildStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStoreProvider.java index a9801c74c..0ed51d961 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/FixedServiceStoreProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/MappedServiceStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/MappedServiceStoreProvider.java index b12eba9fc..a25251805 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/MappedServiceStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/MappedServiceStoreProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.comp.StoreViewState; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.property.Property; import javafx.beans.property.SimpleObjectProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlSession.java b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlSession.java index f80b5cb9b..3170e4281 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlSession.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlSession.java @@ -1,8 +1,8 @@ package io.xpipe.ext.base.service; import io.xpipe.app.ext.Session; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ElevationFunction; +import io.xpipe.app.process.CommandBuilder; +import io.xpipe.app.process.ElevationFunction; import lombok.Getter; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStore.java b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStore.java index e0fce2b6b..c92bf2474 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStore.java @@ -4,8 +4,8 @@ import io.xpipe.app.ext.ShellStore; import io.xpipe.app.ext.SingletonSessionStore; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.ShellScript; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.process.ShellScript; +import io.xpipe.app.ext.DataStore; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.Value; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStoreProvider.java index 8886a1844..46ff56c0f 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/service/ServiceControlStoreProvider.java @@ -12,7 +12,7 @@ import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.OptionsBuilder; import io.xpipe.app.util.StoreStateFormat; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.binding.Bindings; import javafx.beans.property.Property; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/PauseableStore.java b/ext/base/src/main/java/io/xpipe/ext/base/store/PauseableStore.java index 8bb3a9d71..cd757a086 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/PauseableStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/PauseableStore.java @@ -1,6 +1,6 @@ package io.xpipe.ext.base.store; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; public interface PauseableStore extends DataStore { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java index 353feb393..c20bde53d 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java @@ -12,7 +12,7 @@ import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.terminal.TerminalLauncher; import io.xpipe.app.terminal.TerminalPromptManager; import io.xpipe.app.util.StoreStateFormat; -import io.xpipe.core.util.FailableRunnable; +import io.xpipe.core.FailableRunnable; import io.xpipe.ext.base.script.ScriptStoreSetup; import javafx.beans.property.BooleanProperty; diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/StartableStore.java b/ext/base/src/main/java/io/xpipe/ext/base/store/StartableStore.java index 219d112fd..ecd7f297f 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/StartableStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/StartableStore.java @@ -1,6 +1,6 @@ package io.xpipe.ext.base.store; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; public interface StartableStore extends DataStore { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/StoppableStore.java b/ext/base/src/main/java/io/xpipe/ext/base/store/StoppableStore.java index 59cdf59b1..2200c6a5b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/StoppableStore.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/StoppableStore.java @@ -1,6 +1,6 @@ package io.xpipe.ext.base.store; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; public interface StoppableStore extends DataStore { diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/StoreRestartActionProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/store/StoreRestartActionProvider.java index c8df87b93..b9450b026 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/StoreRestartActionProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/StoreRestartActionProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.hub.action.StoreActionCategory; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusCommandView.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusCommandView.java index 9e3fe46b9..8f6e31463 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusCommandView.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusCommandView.java @@ -2,10 +2,10 @@ package io.xpipe.ext.system.incus; import io.xpipe.app.ext.ContainerStoreState; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandViewBase; -import io.xpipe.core.process.*; import io.xpipe.ext.base.identity.IdentityValue; import lombok.NonNull; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java index 34ea0756d..2e8094983 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerEditRunConfigActionProvider.java @@ -10,7 +10,7 @@ import io.xpipe.app.hub.action.HubLeafProvider; import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStore.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStore.java index 918551c95..7490b7c85 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStore.java @@ -3,9 +3,9 @@ package io.xpipe.ext.system.incus; import io.xpipe.app.ext.*; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.*; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.ext.base.identity.IdentityValue; import io.xpipe.ext.base.store.PauseableStore; import io.xpipe.ext.base.store.StartableStore; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStoreProvider.java index 12058c22d..fe239cab6 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusContainerStoreProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.ext.GuiDialog; import io.xpipe.app.hub.comp.*; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import io.xpipe.ext.base.identity.IdentityChoice; import io.xpipe.ext.base.store.ShellStoreProvider; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStore.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStore.java index bb1cfb83e..83bb89e96 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStore.java @@ -5,9 +5,9 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStoreState; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.ext.DataStoreState; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.app.ext.SelfReferentialStore; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStoreProvider.java index 6530761d5..54aa9aa7d 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusInstallStoreProvider.java @@ -9,7 +9,7 @@ import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusScanProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusScanProvider.java index 61c9155ea..cab3955c5 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusScanProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/incus/IncusScanProvider.java @@ -3,8 +3,8 @@ package io.xpipe.ext.system.incus; import io.xpipe.app.ext.ScanProvider; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ShellControl; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ShellControl; public class IncusScanProvider extends ScanProvider { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStore.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStore.java index 7a80ae94c..ad407353b 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStore.java @@ -5,9 +5,9 @@ import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.Validators; -import io.xpipe.core.store.DataStoreState; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.ext.DataStoreState; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.app.ext.SelfReferentialStore; import com.fasterxml.jackson.annotation.JsonTypeName; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStoreProvider.java index d58db7c57..f0dcc2e83 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCmdStoreProvider.java @@ -9,7 +9,7 @@ import io.xpipe.app.storage.DataStoreCategory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCommandView.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCommandView.java index e8a9ca0ee..6e1ac9837 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCommandView.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdCommandView.java @@ -2,10 +2,10 @@ package io.xpipe.ext.system.lxd; import io.xpipe.app.ext.ContainerStoreState; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandViewBase; -import io.xpipe.core.process.*; import io.xpipe.ext.base.identity.IdentityValue; import lombok.NonNull; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java index 35745cbb4..172af2a8f 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerEditRunConfigActionProvider.java @@ -10,7 +10,7 @@ import io.xpipe.app.hub.action.HubLeafProvider; import io.xpipe.app.hub.action.StoreAction; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LabelGraphic; -import io.xpipe.core.store.FilePath; +import io.xpipe.core.FilePath; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStore.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStore.java index e9683e557..0723eedeb 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStore.java @@ -3,9 +3,9 @@ package io.xpipe.ext.system.lxd; import io.xpipe.app.ext.*; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.*; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.ext.base.identity.IdentityValue; import io.xpipe.ext.base.store.PauseableStore; import io.xpipe.ext.base.store.StartableStore; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStoreProvider.java index 55e38a8ff..6f2124a38 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdContainerStoreProvider.java @@ -6,7 +6,7 @@ import io.xpipe.app.ext.GuiDialog; import io.xpipe.app.hub.comp.*; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import io.xpipe.ext.base.identity.IdentityChoice; import io.xpipe.ext.base.store.ShellStoreProvider; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdScanProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdScanProvider.java index bd1cac3cc..9c7f17367 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdScanProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/lxd/LxdScanProvider.java @@ -3,9 +3,9 @@ package io.xpipe.ext.system.lxd; import io.xpipe.app.ext.ScanProvider; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.OsType; -import io.xpipe.core.process.ProcessOutputException; -import io.xpipe.core.process.ShellControl; +import io.xpipe.core.OsType; +import io.xpipe.app.process.ProcessOutputException; +import io.xpipe.app.process.ShellControl; public class LxdScanProvider extends ScanProvider { diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStore.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStore.java index f68067c6f..cb3ca5c1e 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStore.java @@ -1,16 +1,13 @@ package io.xpipe.ext.system.podman; -import io.xpipe.app.ext.ContainerStoreState; -import io.xpipe.app.ext.ShellStore; +import io.xpipe.app.ext.*; import io.xpipe.app.issue.ErrorEventFactory; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.CommandSupport; import io.xpipe.app.util.FixedHierarchyStore; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.*; -import io.xpipe.app.ext.SelfReferentialStore; +import io.xpipe.app.process.ShellControl; import com.fasterxml.jackson.annotation.JsonTypeName; import lombok.EqualsAndHashCode; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStoreProvider.java index 072e65fc3..cf9ea2146 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCmdStoreProvider.java @@ -11,7 +11,7 @@ import io.xpipe.app.hub.comp.SystemStateComp; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.BindingsHelper; import io.xpipe.app.util.DocumentationLink; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import javafx.beans.value.ObservableValue; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java index e4c5deb8f..e9d6b014c 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanCommandView.java @@ -1,9 +1,9 @@ package io.xpipe.ext.system.podman; import io.xpipe.app.issue.ErrorEventFactory; +import io.xpipe.app.process.*; import io.xpipe.app.util.CommandView; import io.xpipe.app.util.CommandViewBase; -import io.xpipe.core.process.*; import lombok.NonNull; import lombok.Value; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStore.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStore.java index 7a0de4e14..d8440b0ce 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStore.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStore.java @@ -5,10 +5,10 @@ import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.app.util.LicenseRequiredException; import io.xpipe.app.util.Validators; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.store.FixedChildStore; -import io.xpipe.core.store.InternalCacheDataStore; -import io.xpipe.core.store.StatefulDataStore; +import io.xpipe.app.process.ShellControl; +import io.xpipe.app.ext.FixedChildStore; +import io.xpipe.app.ext.InternalCacheDataStore; +import io.xpipe.app.ext.StatefulDataStore; import io.xpipe.app.ext.SelfReferentialStore; import io.xpipe.ext.base.service.AbstractServiceStore; import io.xpipe.ext.base.service.FixedServiceCreatorStore; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStoreProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStoreProvider.java index db1c25a9c..710624129 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStoreProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanContainerStoreProvider.java @@ -7,7 +7,7 @@ import io.xpipe.app.hub.comp.*; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; import io.xpipe.app.util.*; -import io.xpipe.core.store.DataStore; +import io.xpipe.app.ext.DataStore; import io.xpipe.ext.base.service.FixedServiceGroupStore; import io.xpipe.ext.base.store.ShellStoreProvider; diff --git a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanScanProvider.java b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanScanProvider.java index d807d8235..bf0b4297c 100644 --- a/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanScanProvider.java +++ b/ext/system/src/main/java/io/xpipe/ext/system/podman/PodmanScanProvider.java @@ -3,7 +3,7 @@ package io.xpipe.ext.system.podman; import io.xpipe.app.ext.ScanProvider; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellControl; +import io.xpipe.app.process.ShellControl; public class PodmanScanProvider extends ScanProvider {