From a674e119607e5ba6dd7e9efa5183947eaf7e1ec7 Mon Sep 17 00:00:00 2001 From: Alexander Skoblikov Date: Thu, 4 Dec 2025 16:46:34 +0300 Subject: [PATCH] dbeaver/pro#7352 remove cli dependency from model bundles (#3945) --- .../META-INF/MANIFEST.MF | 13 +++++++++++++ .../io.cloudbeaver.model.cli/build.properties | 5 +++++ .../io.cloudbeaver.model.cli/plugin.xml | 6 ++++++ .../bundles/io.cloudbeaver.model.cli/pom.xml | 16 ++++++++++++++++ .../model/cli/CloudBeaverCommandLine.java | 0 .../model/cli/CloudBeaverInstanceServer.java | 0 .../model/cli/CloudBeaverMixin.java | 0 .../model/cli/CloudBeaverTopLevelCommand.java | 0 .../model/cli/CloudbeaverCliConstants.java | 0 .../io.cloudbeaver.model/META-INF/MANIFEST.MF | 4 ---- .../model/app/BaseServletApplication.java | 19 ------------------- .../META-INF/MANIFEST.MF | 1 + .../io/cloudbeaver/server/CBApplication.java | 11 +++++++++++ .../META-INF/MANIFEST.MF | 1 + server/bundles/pom.xml | 1 + 15 files changed, 54 insertions(+), 23 deletions(-) create mode 100644 server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF create mode 100644 server/bundles/io.cloudbeaver.model.cli/build.properties create mode 100644 server/bundles/io.cloudbeaver.model.cli/plugin.xml create mode 100644 server/bundles/io.cloudbeaver.model.cli/pom.xml rename server/bundles/{io.cloudbeaver.model => io.cloudbeaver.model.cli}/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java (100%) rename server/bundles/{io.cloudbeaver.model => io.cloudbeaver.model.cli}/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java (100%) rename server/bundles/{io.cloudbeaver.model => io.cloudbeaver.model.cli}/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java (100%) rename server/bundles/{io.cloudbeaver.model => io.cloudbeaver.model.cli}/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java (100%) rename server/bundles/{io.cloudbeaver.model => io.cloudbeaver.model.cli}/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java (100%) diff --git a/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF new file mode 100644 index 0000000000..f3d1d2720e --- /dev/null +++ b/server/bundles/io.cloudbeaver.model.cli/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Vendor: DBeaver Corp +Bundle-Name: Cloudbeaver Web Model +Bundle-SymbolicName: io.cloudbeaver.model.cli;singleton:=true +Bundle-Version: 1.0.0.qualifier +Bundle-Release-Date: 20251222 +Bundle-RequiredExecutionEnvironment: JavaSE-21 +Bundle-ActivationPolicy: lazy +Require-Bundle: org.jkiss.dbeaver.model.cli;visibility:=reexport +Export-Package: io.cloudbeaver.model.cli +Automatic-Module-Name: io.cloudbeaver.model.cli +Import-Package: org.slf4j diff --git a/server/bundles/io.cloudbeaver.model.cli/build.properties b/server/bundles/io.cloudbeaver.model.cli/build.properties new file mode 100644 index 0000000000..493b290ff7 --- /dev/null +++ b/server/bundles/io.cloudbeaver.model.cli/build.properties @@ -0,0 +1,5 @@ +source.. = src/ +output.. = target/classes/ +bin.includes = .,\ + META-INF/,\ + plugin.xml diff --git a/server/bundles/io.cloudbeaver.model.cli/plugin.xml b/server/bundles/io.cloudbeaver.model.cli/plugin.xml new file mode 100644 index 0000000000..ff83905d12 --- /dev/null +++ b/server/bundles/io.cloudbeaver.model.cli/plugin.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/server/bundles/io.cloudbeaver.model.cli/pom.xml b/server/bundles/io.cloudbeaver.model.cli/pom.xml new file mode 100644 index 0000000000..7936cbd9df --- /dev/null +++ b/server/bundles/io.cloudbeaver.model.cli/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + io.cloudbeaver + bundles + 1.0.0-SNAPSHOT + ../ + + io.cloudbeaver.model.cli + 1.0.0-SNAPSHOT + eclipse-plugin + + diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java similarity index 100% rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverCommandLine.java diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java similarity index 100% rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverInstanceServer.java diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java similarity index 100% rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverMixin.java diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java similarity index 100% rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudBeaverTopLevelCommand.java diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java b/server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java similarity index 100% rename from server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java rename to server/bundles/io.cloudbeaver.model.cli/src/io/cloudbeaver/model/cli/CloudbeaverCliConstants.java diff --git a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF index 3f8dcced93..dc923995aa 100644 --- a/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.model/META-INF/MANIFEST.MF @@ -9,7 +9,6 @@ Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Require-Bundle: org.jkiss.dbeaver.data.gis;visibility:=reexport, org.jkiss.dbeaver.model;visibility:=reexport, - org.jkiss.dbeaver.model.cli;visibility:=reexport, org.jkiss.dbeaver.model.sm;visibility:=reexport, org.jkiss.dbeaver.model.event;visibility:=reexport, org.jkiss.dbeaver.model.nio;visibility:=reexport, @@ -30,13 +29,10 @@ Export-Package: io.cloudbeaver, io.cloudbeaver.model.app, io.cloudbeaver.model.config, io.cloudbeaver.model.apilog, - io.cloudbeaver.model.cli, - io.cloudbeaver.model.events, io.cloudbeaver.model.fs, io.cloudbeaver.model.log, io.cloudbeaver.model.rm, io.cloudbeaver.model.rm.local, - io.cloudbeaver.model.rm.lock, io.cloudbeaver.model.session, io.cloudbeaver.model.user, io.cloudbeaver.model.utils, diff --git a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java index 65868acdc7..51e136a9dd 100644 --- a/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java +++ b/server/bundles/io.cloudbeaver.model/src/io/cloudbeaver/model/app/BaseServletApplication.java @@ -16,7 +16,6 @@ */ package io.cloudbeaver.model.app; -import io.cloudbeaver.model.cli.CloudBeaverInstanceServer; import io.cloudbeaver.model.log.SLF4JLogHandler; import org.eclipse.core.runtime.Platform; import org.eclipse.equinox.app.IApplicationContext; @@ -28,7 +27,6 @@ import org.jkiss.dbeaver.model.DBFileController; import org.jkiss.dbeaver.model.app.DBPWorkspace; import org.jkiss.dbeaver.model.auth.SMCredentialsProvider; import org.jkiss.dbeaver.model.auth.SMSessionContext; -import org.jkiss.dbeaver.model.cli.ApplicationInstanceController; import org.jkiss.dbeaver.model.data.json.JSONUtils; import org.jkiss.dbeaver.model.impl.app.ApplicationRegistry; import org.jkiss.dbeaver.model.impl.app.BaseApplicationImpl; @@ -41,7 +39,6 @@ import org.jkiss.dbeaver.utils.GeneralUtils; import org.jkiss.dbeaver.utils.RuntimeUtils; import org.jkiss.utils.CommonUtils; -import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; @@ -60,7 +57,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme private static final Log log = Log.getLog(BaseServletApplication.class); private String instanceId; - private CloudBeaverInstanceServer instanceServer; @Override public RMController createResourceController( @NotNull SMCredentialsProvider credentialsProvider, @@ -204,11 +200,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme public Object start(IApplicationContext context) { initializeApplicationServices(); try { - try { - this.instanceServer = createInstanceServer(); - } catch (Exception e) { - log.error("Error initializing instance server", e); - } startServer(); } catch (Exception e) { log.error(e.getMessage(), e); @@ -217,10 +208,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme return EXIT_OK; } - protected CloudBeaverInstanceServer createInstanceServer() throws IOException { - return new CloudBeaverInstanceServer(); - } - protected abstract void startServer() throws DBException; @Override @@ -281,12 +268,6 @@ public abstract class BaseServletApplication extends BaseApplicationImpl impleme } } - @Nullable - @Override - public ApplicationInstanceController getInstanceServer() { - return instanceServer; - } - @Override public boolean isAnonymousAccessEnabled() { return getAppConfiguration().isAnonymousAccessEnabled(); diff --git a/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF index dd40960605..271c5826ed 100644 --- a/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.server.ce/META-INF/MANIFEST.MF @@ -9,6 +9,7 @@ Bundle-RequiredExecutionEnvironment: JavaSE-21 Bundle-ActivationPolicy: lazy Bundle-Activator: io.cloudbeaver.server.CBPlatformActivator Require-Bundle: io.cloudbeaver.server;visibility:=reexport, + io.cloudbeaver.model.cli;visibility:=reexport, com.google.guava Export-Package: io.cloudbeaver, io.cloudbeaver.model, diff --git a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java index 586697b60d..8100fa80e4 100644 --- a/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java +++ b/server/bundles/io.cloudbeaver.server.ce/src/io/cloudbeaver/server/CBApplication.java @@ -24,6 +24,7 @@ import io.cloudbeaver.model.app.BaseServletApplication; import io.cloudbeaver.model.app.ServletAuthApplication; import io.cloudbeaver.model.app.ServletAuthConfiguration; import io.cloudbeaver.model.app.ServletSystemInformationCollector; +import io.cloudbeaver.model.cli.CloudBeaverInstanceServer; import io.cloudbeaver.model.config.CBAppConfig; import io.cloudbeaver.model.config.CBServerConfig; import io.cloudbeaver.registry.WebDriverRegistry; @@ -86,6 +87,7 @@ public abstract class CBApplication */ private static final long CONFIGURATION_MODE_SESSION_IDLE_TIME = 60 * 60 * 1000 * 24 * 7; + private CloudBeaverInstanceServer instanceServer; static { Log.setDefaultDebugStream(System.out); @@ -199,6 +201,11 @@ public abstract class CBApplication @Override protected void startServer() { + try { + this.instanceServer = createInstanceServer(); + } catch (Exception e) { + log.error("Error initializing instance server", e); + } try { if (!loadServerConfiguration()) { return; @@ -795,4 +802,8 @@ public abstract class CBApplication public T getApplicationContextValue(@NotNull String key) { return (T) applicationContext.get(key); } + + protected CloudBeaverInstanceServer createInstanceServer() throws IOException { + return new CloudBeaverInstanceServer(); + } } diff --git a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF index 8c72652a81..78b32686d7 100644 --- a/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF +++ b/server/bundles/io.cloudbeaver.server/META-INF/MANIFEST.MF @@ -18,6 +18,7 @@ Require-Bundle: org.eclipse.core.runtime;visibility:=reexport, org.jkiss.bundle.apache.dbcp, org.jkiss.dbeaver.net.ssh, io.cloudbeaver.model;visibility:=reexport, + io.cloudbeaver.model.cli, io.cloudbeaver.service.security;visibility:=reexport Export-Package: io.cloudbeaver, io.cloudbeaver.model, diff --git a/server/bundles/pom.xml b/server/bundles/pom.xml index fa644299fe..7b6c56ccfa 100644 --- a/server/bundles/pom.xml +++ b/server/bundles/pom.xml @@ -14,6 +14,7 @@ io.cloudbeaver.model + io.cloudbeaver.model.cli io.cloudbeaver.server io.cloudbeaver.server.ce io.cloudbeaver.slf4j