From 8a9bcb3c365c0712df1a5f23ce5956e4193c769d Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sat, 25 Jul 2026 22:01:51 +0530 Subject: [PATCH 01/21] proper packaging --- .../java/org/apache/solr/cli/CLIUtils.java | 1 + .../src/java/org/apache/solr/cli/SolrCLI.java | 30 +++++++++++++++++++ .../apache/solr/cli/{ => tools}/ApiTool.java | 6 +++- .../solr/cli/{ => tools}/AssertTool.java | 3 +- .../apache/solr/cli/{ => tools}/AuthTool.java | 3 +- .../solr/cli/{ => tools}/ClusterTool.java | 6 +++- .../solr/cli/{ => tools}/ConfigTool.java | 3 +- .../solr/cli/{ => tools}/CreateTool.java | 6 +++- .../solr/cli/{ => tools}/DeleteTool.java | 6 +++- .../solr/cli/{ => tools}/ExportTool.java | 6 +++- .../solr/cli/{ => tools}/HealthcheckTool.java | 3 +- .../solr/cli/{ => tools}/PackageTool.java | 6 +++- .../solr/cli/{ => tools}/PostLogsTool.java | 3 +- .../apache/solr/cli/{ => tools}/PostTool.java | 3 +- .../solr/cli/{ => tools}/RunExampleTool.java | 3 +- .../solr/cli/{ => tools}/StatusTool.java | 3 +- .../solr/cli/{ => tools}/StreamTool.java | 3 +- .../solr/cli/{ => tools}/UpdateACLTool.java | 6 +++- .../solr/cli/{ => tools}/VersionTool.java | 6 +++- .../configset}/ConfigSetDownloadTool.java | 6 +++- .../configset}/ConfigSetUploadTool.java | 6 +++- .../snapshot}/SnapshotCreateTool.java | 6 +++- .../snapshot}/SnapshotDeleteTool.java | 6 +++- .../snapshot}/SnapshotDescribeTool.java | 6 +++- .../snapshot}/SnapshotExportTool.java | 6 +++- .../snapshot}/SnapshotListTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkCpTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkLsTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkMkrootTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkMvTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkRmTool.java | 6 +++- .../solr/cli/{ => tools/zk}/ZkToolHelp.java | 6 +++- .../test/org/apache/solr/cli/ApiToolTest.java | 1 + .../org/apache/solr/cli/AssertToolTest.java | 1 + .../org/apache/solr/cli/AuthToolTest.java | 1 + .../org/apache/solr/cli/CreateToolTest.java | 1 + .../org/apache/solr/cli/DeleteToolTest.java | 1 + .../apache/solr/cli/HealthcheckToolTest.java | 1 + .../org/apache/solr/cli/PackageToolTest.java | 2 ++ .../org/apache/solr/cli/PostLogsToolTest.java | 2 +- .../org/apache/solr/cli/PostToolTest.java | 1 + .../apache/solr/cli/SolrCLIZkToolsTest.java | 6 ++++ .../org/apache/solr/cli/StatusToolTest.java | 1 + .../org/apache/solr/cli/StreamToolTest.java | 1 + .../org/apache/solr/cli/TestExportTool.java | 1 + .../solr/cli/TestSolrCLIRunExample.java | 2 ++ .../org/apache/solr/cli/VersionToolTest.java | 1 + .../apache/solr/cli/ZkSubcommandsTest.java | 7 +++++ .../solr/cloud/SolrCloudExampleTest.java | 8 ++--- .../security/BasicAuthIntegrationTest.java | 2 +- .../cloud/AbstractFullDistribZkTestBase.java | 2 +- 51 files changed, 189 insertions(+), 37 deletions(-) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/ApiTool.java (95%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/AssertTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/AuthTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/ClusterTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/ConfigTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/CreateTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/DeleteTool.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/ExportTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/HealthcheckTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/PackageTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/PostLogsTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/PostTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/RunExampleTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/StatusTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/StreamTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/UpdateACLTool.java (92%) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/VersionTool.java (92%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/configset}/ConfigSetDownloadTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/configset}/ConfigSetUploadTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotCreateTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotDeleteTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotDescribeTool.java (96%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotExportTool.java (95%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotListTool.java (93%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkCpTool.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkLsTool.java (92%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkMkrootTool.java (93%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkMvTool.java (94%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkRmTool.java (93%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkToolHelp.java (91%) diff --git a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java index 1a8f76c0db8b..e1646d1560dc 100644 --- a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java +++ b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java @@ -33,6 +33,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.exec.OS; +import org.apache.solr.cli.tools.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 263fb7a7da23..d78acb6e2647 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -42,6 +42,36 @@ import org.apache.commons.cli.help.HelpFormatter; import org.apache.commons.cli.help.TableDefinition; import org.apache.commons.cli.help.TextHelpAppendable; +import org.apache.solr.cli.tools.ApiTool; +import org.apache.solr.cli.tools.AssertTool; +import org.apache.solr.cli.tools.AuthTool; +import org.apache.solr.cli.tools.ClusterTool; +import org.apache.solr.cli.tools.ConfigTool; +import org.apache.solr.cli.tools.CreateTool; +import org.apache.solr.cli.tools.DeleteTool; +import org.apache.solr.cli.tools.ExportTool; +import org.apache.solr.cli.tools.HealthcheckTool; +import org.apache.solr.cli.tools.PackageTool; +import org.apache.solr.cli.tools.PostLogsTool; +import org.apache.solr.cli.tools.PostTool; +import org.apache.solr.cli.tools.RunExampleTool; +import org.apache.solr.cli.tools.StatusTool; +import org.apache.solr.cli.tools.StreamTool; +import org.apache.solr.cli.tools.UpdateACLTool; +import org.apache.solr.cli.tools.VersionTool; +import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; +import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; +import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; +import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; +import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; +import org.apache.solr.cli.tools.snapshot.SnapshotListTool; +import org.apache.solr.cli.tools.zk.ZkCpTool; +import org.apache.solr.cli.tools.zk.ZkLsTool; +import org.apache.solr.cli.tools.zk.ZkMkrootTool; +import org.apache.solr.cli.tools.zk.ZkMvTool; +import org.apache.solr.cli.tools.zk.ZkRmTool; +import org.apache.solr.cli.tools.zk.ZkToolHelp; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.ContentStreamUpdateRequest; import org.apache.solr.common.util.ContentStreamBase; diff --git a/solr/core/src/java/org/apache/solr/cli/ApiTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/ApiTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java index 4a9c86fb8485..1479b5e14b86 100644 --- a/solr/core/src/java/org/apache/solr/cli/ApiTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java @@ -15,12 +15,16 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.net.URI; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.GenericSolrRequest; import org.apache.solr.client.solrj.response.json.JsonMapResponseParser; diff --git a/solr/core/src/java/org/apache/solr/cli/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/AssertTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java index 928065f0a798..cdfb59e1467c 100644 --- a/solr/core/src/java/org/apache/solr/cli/AssertTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.IOException; import java.lang.invoke.MethodHandles; @@ -27,6 +27,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.request.HealthCheckRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/AuthTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java index df0133cfead4..ca096596e1fd 100644 --- a/solr/core/src/java/org/apache/solr/cli/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; @@ -37,6 +37,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.lucene.util.Constants; +import org.apache.solr.cli.*; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/cli/ClusterTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/ClusterTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java index 54626e2b7db7..6e290af96b6d 100644 --- a/solr/core/src/java/org/apache/solr/cli/ClusterTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java @@ -15,13 +15,17 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.IOException; import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.ClusterProperties; diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/ConfigTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java index a4145168165b..80be0c991407 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.HashMap; import java.util.List; @@ -24,6 +24,7 @@ import org.apache.commons.cli.MissingArgumentException; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.common.util.NamedList; import org.noggit.CharArr; diff --git a/solr/core/src/java/org/apache/solr/cli/CreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/CreateTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java index 6b7c6549503f..885c880498c2 100644 --- a/solr/core/src/java/org/apache/solr/cli/CreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.IOException; import java.nio.file.Files; @@ -27,7 +27,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.file.PathUtils; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; import org.apache.solr.cli.CommonCLIOptions.DefaultValues; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/DeleteTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java index 59450cf00c14..0f0a99ba1a96 100644 --- a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.lang.invoke.MethodHandles; import java.util.Collection; @@ -25,6 +25,10 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/ExportTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java index 9fb9a23e3d2c..17de8379d8d3 100644 --- a/solr/core/src/java/org/apache/solr/cli/ExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import static org.apache.solr.common.params.CommonParams.FL; import static org.apache.solr.common.params.CommonParams.JAVABIN; @@ -54,6 +54,10 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.lucene.util.SuppressForbidden; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrServerException; diff --git a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java index 176debbb0b8b..86d81c4fe8ec 100644 --- a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import static org.apache.solr.common.params.CommonParams.DISTRIB; import static org.apache.solr.common.params.CommonParams.NAME; @@ -30,6 +30,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.SolrQuery; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java index aaa3649d1be8..e582c0a5cf55 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import static org.apache.solr.cli.SolrCLI.printGreen; import static org.apache.solr.cli.SolrCLI.printRed; @@ -32,6 +32,10 @@ import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configurator; import org.apache.lucene.util.SuppressForbidden; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.common.SolrException; import org.apache.solr.common.SolrException.ErrorCode; diff --git a/solr/core/src/java/org/apache/solr/cli/PostLogsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/PostLogsTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java index dd83821ea291..e0988469f7f1 100644 --- a/solr/core/src/java/org/apache/solr/cli/PostLogsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.BufferedReader; import java.io.IOException; @@ -36,6 +36,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/PostTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/PostTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/PostTool.java index 4975033b8d6e..608005e978f6 100644 --- a/solr/core/src/java/org/apache/solr/cli/PostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import static java.nio.charset.StandardCharsets.US_ASCII; import static java.nio.charset.StandardCharsets.UTF_8; @@ -71,6 +71,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.output.NullOutputStream; +import org.apache.solr.cli.*; import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; diff --git a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/RunExampleTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java index 8db32fc0b66b..75c45d829828 100644 --- a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -45,6 +45,7 @@ import org.apache.commons.exec.Executor; import org.apache.commons.exec.environment.EnvironmentUtils; import org.apache.commons.io.file.PathUtils; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/cli/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/StatusTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java index 27a4840a3a4e..f403573a08b9 100644 --- a/solr/core/src/java/org/apache/solr/cli/StatusTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Collection; import java.util.LinkedHashMap; @@ -29,6 +29,7 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.cli.SolrProcessManager.SolrProcess; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.ClusterApi; diff --git a/solr/core/src/java/org/apache/solr/cli/StreamTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/StreamTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java index 31070e7e27b0..873da1629662 100644 --- a/solr/core/src/java/org/apache/solr/cli/StreamTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.BufferedReader; import java.io.FileInputStream; @@ -38,6 +38,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; import org.apache.solr.client.solrj.io.SolrClientCache; import org.apache.solr.client.solrj.io.Tuple; import org.apache.solr.client.solrj.io.comp.StreamComparator; diff --git a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java b/solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java similarity index 92% rename from solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java index 021f05d7e82c..b3b3f1cbe9b9 100644 --- a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java @@ -15,11 +15,15 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/VersionTool.java b/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java similarity index 92% rename from solr/core/src/java/org/apache/solr/cli/VersionTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java index 8bb14172467a..4dad22ebdc62 100644 --- a/solr/core/src/java/org/apache/solr/cli/VersionTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java @@ -15,10 +15,14 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.request.SystemInfoRequest; import org.apache.solr.client.solrj.response.SystemInfoResponse; diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java index 5623794626cb..b47efc152ef2 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.configset; import java.lang.invoke.MethodHandles; import java.nio.file.Files; @@ -22,6 +22,10 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java index 71daf15d3386..d0bada511220 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java @@ -14,13 +14,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.configset; import java.lang.invoke.MethodHandles; import java.nio.file.Path; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkMaintenanceUtils; import org.apache.solr.common.util.EnvUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java index dfc39bf7cb2d..0fc3fdebcc55 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java @@ -14,11 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.CollectionAdminResponse; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java index 00b5c3c01979..6bfc19fd4e6e 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java @@ -14,11 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.CollectionAdminResponse; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java similarity index 96% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java index 477ad265e7d5..6d4b363ed78b 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.io.IOException; import java.text.DateFormat; @@ -25,6 +25,10 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java index d71b8df8b1a2..dddb8fdad53d 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java @@ -14,11 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.common.params.CollectionAdminParams; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java similarity index 93% rename from solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java index 4501fddc8397..877b554262d5 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java @@ -14,11 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.response.CollectionAdminResponse; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/ZkCpTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java index 2edaccee9df1..ad135b827b68 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkCpTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import static org.apache.solr.packagemanager.PackageUtils.format; @@ -27,6 +27,10 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java similarity index 92% rename from solr/core/src/java/org/apache/solr/cli/ZkLsTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java index 2ca4be286f20..586e9bab5909 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkLsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java @@ -14,11 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java similarity index 93% rename from solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java index 2a644f2a1364..6c64414fcad7 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import static org.apache.solr.packagemanager.PackageUtils.format; @@ -22,6 +22,10 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/ZkMvTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java index a11ac0884f87..e3cb8cc0ad26 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkMvTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import static org.apache.solr.packagemanager.PackageUtils.format; @@ -22,6 +22,10 @@ import java.util.Locale; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java similarity index 93% rename from solr/core/src/java/org/apache/solr/cli/ZkRmTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java index 92e6b4daaa4e..fae3a9df44f4 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java @@ -14,12 +14,16 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import java.util.Locale; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkToolHelp.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java similarity index 91% rename from solr/core/src/java/org/apache/solr/cli/ZkToolHelp.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java index 9251484a859f..40154c19c721 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkToolHelp.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java @@ -14,13 +14,17 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import static org.apache.solr.cli.SolrCLI.print; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.*; +import org.apache.solr.cli.tools.UpdateACLTool; +import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; /** Supports zk help information in the bin/solr script. */ public class ZkToolHelp extends ToolBase { diff --git a/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java b/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java index 6893e51dc227..3d65c900285d 100644 --- a/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java @@ -21,6 +21,7 @@ import java.util.Arrays; import java.util.Locale; import org.apache.lucene.tests.util.TestUtil; +import org.apache.solr.cli.tools.ApiTool; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java b/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java index 9f3aa0e77a57..b9eeff9e0039 100644 --- a/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java @@ -19,6 +19,7 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Set; +import org.apache.solr.cli.tools.AssertTool; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.ZkStateReader; diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java b/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java index aa31392a2f4f..14d787207819 100644 --- a/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java @@ -21,6 +21,7 @@ import java.nio.file.Files; import java.nio.file.Path; import org.apache.commons.io.file.PathUtils; +import org.apache.solr.cli.tools.AuthTool; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.security.Sha256AuthenticationProvider; import org.junit.After; diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java b/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java index 74c9a6411668..50fcbef470b1 100644 --- a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; +import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.util.SecurityJson; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java b/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java index 8c36e1b661c7..b08b8f6ab5f6 100644 --- a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; +import org.apache.solr.cli.tools.DeleteTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java index 68d7fba3c5d5..f3ec2b3ab6fe 100644 --- a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java @@ -18,6 +18,7 @@ package org.apache.solr.cli; import java.util.Set; +import org.apache.solr.cli.tools.HealthcheckTool; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java index 9282af37e520..53b9ce4ec7ff 100644 --- a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java @@ -22,6 +22,8 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; +import org.apache.solr.cli.tools.ApiTool; +import org.apache.solr.cli.tools.PackageTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java b/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java index 5f2089bb5f0c..d0914e51ecd1 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java @@ -22,7 +22,7 @@ import java.util.Collection; import java.util.List; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.cli.PostLogsTool.LogRecordReader; +import org.apache.solr.cli.tools.PostLogsTool.LogRecordReader; import org.apache.solr.common.SolrInputDocument; import org.apache.solr.common.SolrInputField; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/PostToolTest.java b/solr/core/src/test/org/apache/solr/cli/PostToolTest.java index a238bd62c15a..c25e443f45e9 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/PostToolTest.java @@ -34,6 +34,7 @@ import java.util.Map; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.tools.PostTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java b/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java index bd8f8a8a151f..595d2e7a1ca4 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java @@ -27,6 +27,12 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; +import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; +import org.apache.solr.cli.tools.zk.ZkCpTool; +import org.apache.solr.cli.tools.zk.ZkLsTool; +import org.apache.solr.cli.tools.zk.ZkMvTool; +import org.apache.solr.cli.tools.zk.ZkRmTool; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java b/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java index e035db8495c2..f252334ac34f 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; import java.util.Map; +import org.apache.solr.cli.tools.StatusTool; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.util.Utils; import org.apache.solr.embedded.JettySolrRunner; diff --git a/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java b/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java index a50254ef67e2..441d1ae503b2 100644 --- a/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java @@ -32,6 +32,7 @@ import java.util.HashMap; import java.util.List; import org.apache.commons.cli.CommandLine; +import org.apache.solr.cli.tools.StreamTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.io.Tuple; diff --git a/solr/core/src/test/org/apache/solr/cli/TestExportTool.java b/solr/core/src/test/org/apache/solr/cli/TestExportTool.java index ef6b20853d74..6344e72171fa 100644 --- a/solr/core/src/test/org/apache/solr/cli/TestExportTool.java +++ b/solr/core/src/test/org/apache/solr/cli/TestExportTool.java @@ -32,6 +32,7 @@ import java.util.zip.GZIPInputStream; import org.apache.lucene.tests.util.TestUtil; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.tools.ExportTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java index 7a7f105c0848..2218f57ebbfa 100644 --- a/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java +++ b/solr/core/src/test/org/apache/solr/cli/TestSolrCLIRunExample.java @@ -37,6 +37,8 @@ import org.apache.commons.exec.ExecuteResultHandler; import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.tools.DeleteTool; +import org.apache.solr.cli.tools.RunExampleTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.SolrQuery; diff --git a/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java b/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java index b8e4ebd4eee1..145c133c65ec 100644 --- a/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java @@ -16,6 +16,7 @@ */ package org.apache.solr.cli; +import org.apache.solr.cli.tools.VersionTool; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.embedded.JettySolrRunner; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java b/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java index d5aa1a72d5ae..4a4928669faa 100644 --- a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java @@ -27,6 +27,13 @@ import java.util.stream.Stream; import org.apache.lucene.tests.mockfile.FilterPath; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.tools.ClusterTool; +import org.apache.solr.cli.tools.UpdateACLTool; +import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; +import org.apache.solr.cli.tools.zk.ZkCpTool; +import org.apache.solr.cli.tools.zk.ZkLsTool; +import org.apache.solr.cli.tools.zk.ZkRmTool; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.AbstractZkTestCase; import org.apache.solr.cloud.ZkConfigSetService; diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java index c7a6e70ef295..3f543c2080b7 100644 --- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java +++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java @@ -25,10 +25,10 @@ import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CLIUtils; -import org.apache.solr.cli.CreateTool; -import org.apache.solr.cli.DeleteTool; -import org.apache.solr.cli.HealthcheckTool; -import org.apache.solr.cli.PostTool; +import org.apache.solr.cli.tools.CreateTool; +import org.apache.solr.cli.tools.DeleteTool; +import org.apache.solr.cli.tools.HealthcheckTool; +import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.SolrQuery; diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java index 9684d5447cf7..1b33660ebbe4 100644 --- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java +++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java @@ -26,7 +26,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import org.apache.solr.cli.CLITestHelper; -import org.apache.solr.cli.StatusTool; +import org.apache.solr.cli.tools.StatusTool; import org.apache.solr.client.solrj.RemoteSolrException; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java index ef9159a38d59..a04c9a500367 100644 --- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java +++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java @@ -49,7 +49,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import org.apache.solr.BaseDistributedSearchTestCase; -import org.apache.solr.cli.ConfigSetUploadTool; +import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; From 620c40307458062bfa2b998c2b2a05b09db005b7 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 02:46:28 +0530 Subject: [PATCH 02/21] more re-packaging --- .../src/java/org/apache/solr/cli/SolrCLI.java | 21 ++----------------- .../cli/{ => tools}/SolrProcessManager.java | 2 +- .../org/apache/solr/cli/tools/StatusTool.java | 2 +- .../ConfigSetDownloadTool.java | 2 +- .../ConfigSetUploadTool.java | 2 +- .../apache/solr/cli/tools/zk/ZkToolHelp.java | 2 -- .../solr/cli/SolrProcessManagerTest.java | 3 ++- .../solr/cli/{ => tools}/ApiToolTest.java | 5 +++-- .../solr/cli/{ => tools}/AssertToolTest.java | 5 +++-- .../solr/cli/{ => tools}/AuthToolTest.java | 4 ++-- .../solr/cli/{ => tools}/CreateToolTest.java | 4 ++-- .../solr/cli/{ => tools}/DeleteToolTest.java | 4 ++-- .../cli/{ => tools}/HealthcheckToolTest.java | 5 +++-- .../solr/cli/{ => tools}/PackageToolTest.java | 8 ++++--- .../cli/{ => tools}/PostLogsToolTest.java | 2 +- .../solr/cli/{ => tools}/PostToolTest.java | 5 +++-- .../solr/cli/{ => tools}/StatusToolTest.java | 6 ++++-- .../solr/cli/{ => tools}/StreamToolTest.java | 6 ++++-- .../solr/cli/{ => tools}/TestExportTool.java | 5 +++-- .../solr/cli/{ => tools}/VersionToolTest.java | 5 +++-- .../{ => tools/zk}/SolrCLIZkToolsTest.java | 10 +++------ .../cli/{ => tools/zk}/ZkSubcommandsTest.java | 8 ++----- .../cloud/AbstractFullDistribZkTestBase.java | 2 +- 23 files changed, 52 insertions(+), 66 deletions(-) rename solr/core/src/java/org/apache/solr/cli/{ => tools}/SolrProcessManager.java (99%) rename solr/core/src/java/org/apache/solr/cli/tools/{configset => zk}/ConfigSetDownloadTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/tools/{configset => zk}/ConfigSetUploadTool.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ApiToolTest.java (97%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/AssertToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/AuthToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/CreateToolTest.java (95%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/DeleteToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/HealthcheckToolTest.java (97%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PackageToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PostLogsToolTest.java (99%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PostToolTest.java (99%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/StatusToolTest.java (94%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/StreamToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/TestExportTool.java (99%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/VersionToolTest.java (95%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/zk}/SolrCLIZkToolsTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/zk}/ZkSubcommandsTest.java (98%) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index d78acb6e2647..773291771e37 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -59,8 +59,8 @@ import org.apache.solr.cli.tools.StreamTool; import org.apache.solr.cli.tools.UpdateACLTool; import org.apache.solr.cli.tools.VersionTool; -import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; -import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; +import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; @@ -250,23 +250,6 @@ private static Tool newTool(String toolType, ToolRuntime runtime) throws Excepti throw new IllegalArgumentException(toolType + " is not a valid command!"); } - /** - * Returns the value of the option with the given name, or the value of the deprecated option. If - * both values are null, then it returns the default value. - * - *

If this method is marked as unused by your IDE, it means we have no deprecated CLI options - * currently, congratulations! This method is preserved for the next time we need to deprecate a - * CLI option. - */ - public static String getOptionWithDeprecatedAndDefault( - CommandLine cli, Option opt, Option deprecated, String def) { - String val = cli.getOptionValue(opt); - if (val == null) { - val = cli.getOptionValue(deprecated); - } - return val == null ? def : val; - } - // TODO: SOLR-17429 - remove the custom logic when Commons CLI is upgraded and // makes stderr the default, or makes Option.toDeprecatedString() public. private static void deprecatedHandlerStdErr(Option o) { diff --git a/solr/core/src/java/org/apache/solr/cli/SolrProcessManager.java b/solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/SolrProcessManager.java rename to solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java index 3001fd2afd53..edea03c41157 100644 --- a/solr/core/src/java/org/apache/solr/cli/SolrProcessManager.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import static org.apache.solr.servlet.CoreContainerProvider.SOLR_INSTALL_DIR; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java index f403573a08b9..9e3b85763a0d 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java @@ -30,7 +30,7 @@ import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.solr.cli.*; -import org.apache.solr.cli.SolrProcessManager.SolrProcess; +import org.apache.solr.cli.tools.SolrProcessManager.SolrProcess; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.ClusterApi; import org.apache.solr.client.solrj.request.CollectionsApi; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java index b47efc152ef2..f80117fdf9bf 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetDownloadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools.configset; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import java.nio.file.Files; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java index d0bada511220..891b71b13c3e 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/configset/ConfigSetUploadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools.configset; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import java.nio.file.Path; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java index 40154c19c721..fd4afb00f0b9 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java @@ -23,8 +23,6 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.*; import org.apache.solr.cli.tools.UpdateACLTool; -import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; -import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; /** Supports zk help information in the bin/solr script. */ public class ZkToolHelp extends ToolBase { diff --git a/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java b/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java index 2102e1e3d75d..7133739e5f2d 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java +++ b/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java @@ -32,7 +32,8 @@ import java.util.stream.Collectors; import org.apache.commons.math3.util.Pair; import org.apache.solr.SolrTestCase; -import org.apache.solr.cli.SolrProcessManager.SolrProcess; +import org.apache.solr.cli.tools.SolrProcessManager; +import org.apache.solr.cli.tools.SolrProcessManager.SolrProcess; import org.junit.AfterClass; import org.junit.BeforeClass; import org.slf4j.Logger; diff --git a/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/ApiToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java index 3d65c900285d..14cf66fd596d 100644 --- a/solr/core/src/test/org/apache/solr/cli/ApiToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java @@ -14,14 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.net.URI; import java.net.URISyntaxException; import java.util.Arrays; import java.util.Locale; import org.apache.lucene.tests.util.TestUtil; -import org.apache.solr.cli.tools.ApiTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/AssertToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java index b9eeff9e0039..b6da89aff39b 100644 --- a/solr/core/src/test/org/apache/solr/cli/AssertToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java @@ -14,12 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.nio.file.Files; import java.nio.file.Path; import java.util.Set; -import org.apache.solr.cli.tools.AssertTool; + +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.ZkStateReader; diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/AuthToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java index 14d787207819..a9505a2900c4 100644 --- a/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java @@ -15,13 +15,13 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import org.apache.commons.io.file.PathUtils; -import org.apache.solr.cli.tools.AuthTool; +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.security.Sha256AuthenticationProvider; import org.junit.After; diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java similarity index 95% rename from solr/core/src/test/org/apache/solr/cli/CreateToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java index 50fcbef470b1..f166bf359e0f 100644 --- a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; -import org.apache.solr.cli.tools.CreateTool; +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.util.SecurityJson; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java index b08b8f6ab5f6..27481c6e25ad 100644 --- a/solr/core/src/test/org/apache/solr/cli/DeleteToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java @@ -15,9 +15,9 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; -import org.apache.solr.cli.tools.DeleteTool; +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java index f3ec2b3ab6fe..0ac8245f4ecc 100644 --- a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java @@ -15,10 +15,11 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Set; -import org.apache.solr.cli.tools.HealthcheckTool; + +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/PackageToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java index 53b9ce4ec7ff..eda4bacb69b5 100644 --- a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java @@ -15,15 +15,17 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.StringReader; import java.lang.invoke.MethodHandles; import java.util.Arrays; import java.util.List; import java.util.Objects; -import org.apache.solr.cli.tools.ApiTool; -import org.apache.solr.cli.tools.PackageTool; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolTest.java similarity index 99% rename from solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolTest.java index d0914e51ecd1..e2257de93434 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.BufferedReader; import java.io.StringReader; diff --git a/solr/core/src/test/org/apache/solr/cli/PostToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java similarity index 99% rename from solr/core/src/test/org/apache/solr/cli/PostToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java index c25e443f45e9..54e311d39545 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; @@ -34,7 +34,8 @@ import java.util.Map; import java.util.Set; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.cli.tools.PostTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java similarity index 94% rename from solr/core/src/test/org/apache/solr/cli/StatusToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java index f252334ac34f..62dbe302c4b3 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java @@ -14,10 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Map; -import org.apache.solr.cli.tools.StatusTool; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.util.Utils; import org.apache.solr.embedded.JettySolrRunner; diff --git a/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/StreamToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java index 441d1ae503b2..9bd21fa4928d 100644 --- a/solr/core/src/test/org/apache/solr/cli/StreamToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.BufferedWriter; import java.io.ByteArrayInputStream; @@ -32,7 +32,9 @@ import java.util.HashMap; import java.util.List; import org.apache.commons.cli.CommandLine; -import org.apache.solr.cli.tools.StreamTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.io.Tuple; diff --git a/solr/core/src/test/org/apache/solr/cli/TestExportTool.java b/solr/core/src/test/org/apache/solr/cli/tools/TestExportTool.java similarity index 99% rename from solr/core/src/test/org/apache/solr/cli/TestExportTool.java rename to solr/core/src/test/org/apache/solr/cli/tools/TestExportTool.java index 6344e72171fa..34eda2175652 100644 --- a/solr/core/src/test/org/apache/solr/cli/TestExportTool.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/TestExportTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.FileInputStream; import java.io.IOException; @@ -32,7 +32,8 @@ import java.util.zip.GZIPInputStream; import org.apache.lucene.tests.util.TestUtil; import org.apache.solr.SolrTestCaseJ4; -import org.apache.solr.cli.tools.ExportTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolTest.java similarity index 95% rename from solr/core/src/test/org/apache/solr/cli/VersionToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/VersionToolTest.java index 145c133c65ec..b0c8ce1a5b22 100644 --- a/solr/core/src/test/org/apache/solr/cli/VersionToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolTest.java @@ -14,9 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; -import org.apache.solr.cli.tools.VersionTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.embedded.JettySolrRunner; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java index 595d2e7a1ca4..c2448b54e3aa 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrCLIZkToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.io.IOException; import java.nio.charset.StandardCharsets; @@ -27,12 +27,8 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; -import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; -import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; -import org.apache.solr.cli.tools.zk.ZkCpTool; -import org.apache.solr.cli.tools.zk.ZkLsTool; -import org.apache.solr.cli.tools.zk.ZkMvTool; -import org.apache.solr.cli.tools.zk.ZkRmTool; + +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java index 4a4928669faa..3ee1d832cacb 100644 --- a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.io.BufferedWriter; import java.io.IOException; @@ -27,13 +27,9 @@ import java.util.stream.Stream; import org.apache.lucene.tests.mockfile.FilterPath; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.tools.ClusterTool; import org.apache.solr.cli.tools.UpdateACLTool; -import org.apache.solr.cli.tools.configset.ConfigSetDownloadTool; -import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; -import org.apache.solr.cli.tools.zk.ZkCpTool; -import org.apache.solr.cli.tools.zk.ZkLsTool; -import org.apache.solr.cli.tools.zk.ZkRmTool; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.AbstractZkTestCase; import org.apache.solr.cloud.ZkConfigSetService; diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java index a04c9a500367..cc252a9c898e 100644 --- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java +++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java @@ -49,7 +49,7 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import org.apache.solr.BaseDistributedSearchTestCase; -import org.apache.solr.cli.tools.configset.ConfigSetUploadTool; +import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; From 0e09eb54ff79edc6ec746b6206c62ee6ef69a43a Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 02:54:09 +0530 Subject: [PATCH 03/21] changes --- .../apache/solr/cli/{ => tools}/SolrProcessManagerTest.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/SolrProcessManagerTest.java (98%) diff --git a/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java b/solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java index 7133739e5f2d..e163076dde98 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrProcessManagerTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.BufferedReader; @@ -32,7 +32,6 @@ import java.util.stream.Collectors; import org.apache.commons.math3.util.Pair; import org.apache.solr.SolrTestCase; -import org.apache.solr.cli.tools.SolrProcessManager; import org.apache.solr.cli.tools.SolrProcessManager.SolrProcess; import org.junit.AfterClass; import org.junit.BeforeClass; @@ -98,7 +97,7 @@ private static Pair createProcess(int port, boolean https) thr "-DmockSolr=true", "-cp", classPath, - "org.apache.solr.cli.SolrProcessManagerTest$MockSolrProcess", + "org.apache.solr.cli.tools.SolrProcessManagerTest$MockSolrProcess", https ? "--module=https" : "--module=http"); // Start the process and read first line of output From a15a56448449eed0086b58f75633796d84d223b7 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:10:33 +0530 Subject: [PATCH 04/21] more re-organise --- solr/core/src/java/org/apache/solr/cli/CLIUtils.java | 2 +- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 8 ++++---- .../solr/cli/{tools => process}/SolrProcessManager.java | 2 +- .../src/java/org/apache/solr/cli/tools/AssertTool.java | 1 + .../java/org/apache/solr/cli/tools/RunExampleTool.java | 1 + .../apache/solr/cli/tools/{ => cluster}/ClusterTool.java | 2 +- .../solr/cli/tools/{ => cluster}/HealthcheckTool.java | 2 +- .../apache/solr/cli/tools/{ => cluster}/StatusTool.java | 5 +++-- .../org/apache/solr/cli/tools/{ => zk}/UpdateACLTool.java | 2 +- .../src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java | 1 - .../cli/{tools => process}/SolrProcessManagerTest.java | 6 +++--- .../solr/cli/tools/{ => cluster}/HealthcheckToolTest.java | 2 +- .../solr/cli/tools/{ => cluster}/StatusToolTest.java | 2 +- .../org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java | 3 +-- .../test/org/apache/solr/cloud/SolrCloudExampleTest.java | 2 +- .../apache/solr/security/BasicAuthIntegrationTest.java | 2 +- 16 files changed, 22 insertions(+), 21 deletions(-) rename solr/core/src/java/org/apache/solr/cli/{tools => process}/SolrProcessManager.java (99%) rename solr/core/src/java/org/apache/solr/cli/tools/{ => cluster}/ClusterTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/tools/{ => cluster}/HealthcheckTool.java (99%) rename solr/core/src/java/org/apache/solr/cli/tools/{ => cluster}/StatusTool.java (98%) rename solr/core/src/java/org/apache/solr/cli/tools/{ => zk}/UpdateACLTool.java (98%) rename solr/core/src/test/org/apache/solr/cli/{tools => process}/SolrProcessManagerTest.java (97%) rename solr/core/src/test/org/apache/solr/cli/tools/{ => cluster}/HealthcheckToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/tools/{ => cluster}/StatusToolTest.java (97%) diff --git a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java index e1646d1560dc..9ae167958a2b 100644 --- a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java +++ b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java @@ -33,7 +33,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.exec.OS; -import org.apache.solr.cli.tools.StatusTool; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 773291771e37..72c8611c4a9f 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -45,19 +45,19 @@ import org.apache.solr.cli.tools.ApiTool; import org.apache.solr.cli.tools.AssertTool; import org.apache.solr.cli.tools.AuthTool; -import org.apache.solr.cli.tools.ClusterTool; +import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.cli.tools.ConfigTool; import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; import org.apache.solr.cli.tools.ExportTool; -import org.apache.solr.cli.tools.HealthcheckTool; +import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.PackageTool; import org.apache.solr.cli.tools.PostLogsTool; import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.tools.RunExampleTool; -import org.apache.solr.cli.tools.StatusTool; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.StreamTool; -import org.apache.solr.cli.tools.UpdateACLTool; +import org.apache.solr.cli.tools.zk.UpdateACLTool; import org.apache.solr.cli.tools.VersionTool; import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java b/solr/core/src/java/org/apache/solr/cli/process/SolrProcessManager.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java rename to solr/core/src/java/org/apache/solr/cli/process/SolrProcessManager.java index edea03c41157..e310547e9d20 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/SolrProcessManager.java +++ b/solr/core/src/java/org/apache/solr/cli/process/SolrProcessManager.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.process; import static org.apache.solr.servlet.CoreContainerProvider.SOLR_INSTALL_DIR; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java index cdfb59e1467c..c6eb5949d1a3 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java @@ -28,6 +28,7 @@ import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.solr.cli.*; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.request.HealthCheckRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java index 75c45d829828..85e4853ed87a 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java @@ -46,6 +46,7 @@ import org.apache.commons.exec.environment.EnvironmentUtils; import org.apache.commons.io.file.PathUtils; import org.apache.solr.cli.*; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.common.SolrException; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java index 6e290af96b6d..d3beb816e3e9 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ClusterTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.cluster; import java.io.IOException; import java.util.concurrent.TimeUnit; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java index 86d81c4fe8ec..16c28498f31c 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/HealthcheckTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.cluster; import static org.apache.solr.common.params.CommonParams.DISTRIB; import static org.apache.solr.common.params.CommonParams.NAME; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java index 9e3b85763a0d..72aba8ad3a09 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/StatusTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.cluster; import java.util.Collection; import java.util.LinkedHashMap; @@ -30,7 +30,8 @@ import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; import org.apache.solr.cli.*; -import org.apache.solr.cli.tools.SolrProcessManager.SolrProcess; +import org.apache.solr.cli.process.SolrProcessManager; +import org.apache.solr.cli.process.SolrProcessManager.SolrProcess; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.ClusterApi; import org.apache.solr.client.solrj.request.CollectionsApi; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java index b3b3f1cbe9b9..7e8c5aa4ed17 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/UpdateACLTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.zk; import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java index fd4afb00f0b9..ee054bbbb0ac 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java @@ -22,7 +22,6 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.*; -import org.apache.solr.cli.tools.UpdateACLTool; /** Supports zk help information in the bin/solr script. */ public class ZkToolHelp extends ToolBase { diff --git a/solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java b/solr/core/src/test/org/apache/solr/cli/process/SolrProcessManagerTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java rename to solr/core/src/test/org/apache/solr/cli/process/SolrProcessManagerTest.java index e163076dde98..f572ce96b12c 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/SolrProcessManagerTest.java +++ b/solr/core/src/test/org/apache/solr/cli/process/SolrProcessManagerTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.process; import com.fasterxml.jackson.core.JsonProcessingException; import java.io.BufferedReader; @@ -32,7 +32,7 @@ import java.util.stream.Collectors; import org.apache.commons.math3.util.Pair; import org.apache.solr.SolrTestCase; -import org.apache.solr.cli.tools.SolrProcessManager.SolrProcess; +import org.apache.solr.cli.process.SolrProcessManager.SolrProcess; import org.junit.AfterClass; import org.junit.BeforeClass; import org.slf4j.Logger; @@ -97,7 +97,7 @@ private static Pair createProcess(int port, boolean https) thr "-DmockSolr=true", "-cp", classPath, - "org.apache.solr.cli.tools.SolrProcessManagerTest$MockSolrProcess", + "org.apache.solr.cli.process.SolrProcessManagerTest$MockSolrProcess", https ? "--module=https" : "--module=http"); // Start the process and read first line of output diff --git a/solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java index 0ac8245f4ecc..25ea62f2b156 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.cluster; import java.util.Set; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java index 62dbe302c4b3..42522c2f4aac 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/StatusToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.cluster; import java.util.Map; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java index 3ee1d832cacb..2d84734dd6e7 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java @@ -28,8 +28,7 @@ import org.apache.lucene.tests.mockfile.FilterPath; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.cli.CLITestHelper; -import org.apache.solr.cli.tools.ClusterTool; -import org.apache.solr.cli.tools.UpdateACLTool; +import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.AbstractZkTestCase; import org.apache.solr.cloud.ZkConfigSetService; diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java index 3f543c2080b7..7c00d256cd91 100644 --- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java +++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java @@ -27,7 +27,7 @@ import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; -import org.apache.solr.cli.tools.HealthcheckTool; +import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; diff --git a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java index 1b33660ebbe4..97d335fb1127 100644 --- a/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java +++ b/solr/core/src/test/org/apache/solr/security/BasicAuthIntegrationTest.java @@ -26,7 +26,7 @@ import java.util.Set; import java.util.concurrent.TimeUnit; import org.apache.solr.cli.CLITestHelper; -import org.apache.solr.cli.tools.StatusTool; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.RemoteSolrException; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; From 6fd51ebc33ddebfeeb7cf3d5c99304bf06877e6f Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:20:16 +0530 Subject: [PATCH 05/21] pcakge info --- .../apache/solr/cli/process/package-info.java | 18 ++++++++++++++++++ .../solr/cli/tools/cluster/package-info.java | 18 ++++++++++++++++++ .../apache/solr/cli/tools/package-info.java | 18 ++++++++++++++++++ .../solr/cli/tools/snapshot/package-info.java | 18 ++++++++++++++++++ .../apache/solr/cli/tools/zk/package-info.java | 18 ++++++++++++++++++ 5 files changed, 90 insertions(+) create mode 100644 solr/core/src/java/org/apache/solr/cli/process/package-info.java create mode 100644 solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java create mode 100644 solr/core/src/java/org/apache/solr/cli/tools/package-info.java create mode 100644 solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java create mode 100644 solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java diff --git a/solr/core/src/java/org/apache/solr/cli/process/package-info.java b/solr/core/src/java/org/apache/solr/cli/process/package-info.java new file mode 100644 index 000000000000..7fa4515b410b --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/process/package-info.java @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.cli.process; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java new file mode 100644 index 000000000000..8dddd011bd7e --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.cli.tools.cluster; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/package-info.java new file mode 100644 index 000000000000..36668f0f46c2 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/package-info.java @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.cli.tools; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java new file mode 100644 index 000000000000..17d0d21a4af2 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.cli.tools.snapshot; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java new file mode 100644 index 000000000000..6dbc0e639dde --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java @@ -0,0 +1,18 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.solr.cli.tools.zk; From b7b5c851f03753b89e813b37112abab7660f7a61 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:29:37 +0530 Subject: [PATCH 06/21] tidying up --- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 12 ++++++------ .../org/apache/solr/cli/process/package-info.java | 1 + .../apache/solr/cli/tools/cluster/package-info.java | 1 + .../java/org/apache/solr/cli/tools/package-info.java | 1 + .../apache/solr/cli/tools/snapshot/package-info.java | 1 + .../org/apache/solr/cli/tools/zk/package-info.java | 1 + .../org/apache/solr/cli/tools/AssertToolTest.java | 1 - .../org/apache/solr/cli/tools/PackageToolTest.java | 1 - .../solr/cli/tools/cluster/HealthcheckToolTest.java | 1 - .../solr/cli/tools/cluster/StatusToolTest.java | 1 - .../apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java | 1 - .../org/apache/solr/cloud/SolrCloudExampleTest.java | 6 +++--- .../solr/cloud/AbstractFullDistribZkTestBase.java | 2 +- 13 files changed, 15 insertions(+), 15 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 72c8611c4a9f..7c5464f8fac5 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -45,27 +45,27 @@ import org.apache.solr.cli.tools.ApiTool; import org.apache.solr.cli.tools.AssertTool; import org.apache.solr.cli.tools.AuthTool; -import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.cli.tools.ConfigTool; import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; import org.apache.solr.cli.tools.ExportTool; -import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.PackageTool; import org.apache.solr.cli.tools.PostLogsTool; import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.tools.RunExampleTool; -import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.StreamTool; -import org.apache.solr.cli.tools.zk.UpdateACLTool; import org.apache.solr.cli.tools.VersionTool; -import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; -import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; +import org.apache.solr.cli.tools.cluster.ClusterTool; +import org.apache.solr.cli.tools.cluster.HealthcheckTool; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; import org.apache.solr.cli.tools.snapshot.SnapshotListTool; +import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; +import org.apache.solr.cli.tools.zk.UpdateACLTool; import org.apache.solr.cli.tools.zk.ZkCpTool; import org.apache.solr.cli.tools.zk.ZkLsTool; import org.apache.solr.cli.tools.zk.ZkMkrootTool; diff --git a/solr/core/src/java/org/apache/solr/cli/process/package-info.java b/solr/core/src/java/org/apache/solr/cli/process/package-info.java index 7fa4515b410b..a231b83508af 100644 --- a/solr/core/src/java/org/apache/solr/cli/process/package-info.java +++ b/solr/core/src/java/org/apache/solr/cli/process/package-info.java @@ -15,4 +15,5 @@ * limitations under the License. */ +/** Utilities for discovering and managing Solr OS processes. */ package org.apache.solr.cli.process; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java index 8dddd011bd7e..7df20c6e5886 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java @@ -15,4 +15,5 @@ * limitations under the License. */ +/** CLI tools for cluster status, health, and properties. */ package org.apache.solr.cli.tools.cluster; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/package-info.java index 36668f0f46c2..9b2fe5548c69 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/package-info.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/package-info.java @@ -15,4 +15,5 @@ * limitations under the License. */ +/** General-purpose Solr CLI tool implementations. */ package org.apache.solr.cli.tools; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java index 17d0d21a4af2..81e12093e466 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java @@ -15,4 +15,5 @@ * limitations under the License. */ +/** CLI tools for managing Solr collection snapshots. */ package org.apache.solr.cli.tools.snapshot; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java index 6dbc0e639dde..3ff4b2606230 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java @@ -15,4 +15,5 @@ * limitations under the License. */ +/** CLI tools for ZooKeeper and config set operations. */ package org.apache.solr.cli.tools.zk; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java index b6da89aff39b..d11fc5726ba9 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java @@ -19,7 +19,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Set; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java index eda4bacb69b5..86dd2f04b383 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java @@ -22,7 +22,6 @@ import java.util.Arrays; import java.util.List; import java.util.Objects; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java index 25ea62f2b156..2e5fa0fac67b 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java @@ -18,7 +18,6 @@ package org.apache.solr.cli.tools.cluster; import java.util.Set; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java index 42522c2f4aac..48a5cc105519 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools.cluster; import java.util.Map; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java index c2448b54e3aa..3ee75847de45 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/SolrCLIZkToolsTest.java @@ -27,7 +27,6 @@ import java.util.ArrayList; import java.util.List; import java.util.concurrent.TimeUnit; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java index 7c00d256cd91..96b7d9d81f64 100644 --- a/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java +++ b/solr/core/src/test/org/apache/solr/cloud/SolrCloudExampleTest.java @@ -25,12 +25,12 @@ import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; -import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.PostTool; -import org.apache.solr.cli.SolrCLI; -import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.client.solrj.request.SolrQuery; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.common.cloud.ZkStateReader; diff --git a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java index cc252a9c898e..6873416716ac 100644 --- a/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java +++ b/solr/test-framework/src/java/org/apache/solr/cloud/AbstractFullDistribZkTestBase.java @@ -49,10 +49,10 @@ import java.util.concurrent.atomic.AtomicReference; import java.util.function.Consumer; import org.apache.solr.BaseDistributedSearchTestCase; -import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrRequest.METHOD; From 6890483e1863f354c5cffec4e5d5d0c37497320f Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:42:02 +0530 Subject: [PATCH 07/21] wildcard imports removed --- .../src/java/org/apache/solr/cli/tools/AssertTool.java | 6 +++++- solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java | 6 +++++- .../src/java/org/apache/solr/cli/tools/ConfigTool.java | 6 +++++- .../src/java/org/apache/solr/cli/tools/PostLogsTool.java | 7 +++++-- solr/core/src/java/org/apache/solr/cli/tools/PostTool.java | 7 +++++-- .../src/java/org/apache/solr/cli/tools/RunExampleTool.java | 7 ++++++- .../src/java/org/apache/solr/cli/tools/StreamTool.java | 6 +++++- .../org/apache/solr/cli/tools/cluster/HealthcheckTool.java | 7 ++++++- .../java/org/apache/solr/cli/tools/cluster/StatusTool.java | 6 +++++- 9 files changed, 47 insertions(+), 11 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java index c6eb5949d1a3..4d620259a4de 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java @@ -27,7 +27,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java index ca096596e1fd..b7cc871975fa 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java @@ -37,7 +37,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.lucene.util.Constants; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; import org.apache.solr.core.SolrCore; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java index 80be0c991407..26c3b71bdbdd 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java @@ -24,7 +24,11 @@ import org.apache.commons.cli.MissingArgumentException; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.common.util.NamedList; import org.noggit.CharArr; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java index e0988469f7f1..6f191f8f1130 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java @@ -36,8 +36,11 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; -import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime;import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.common.SolrInputDocument; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java index 608005e978f6..60edf5c3c68b 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java @@ -71,8 +71,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.output.NullOutputStream; -import org.apache.solr.cli.*; -import org.apache.solr.client.api.util.SolrVersion; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime;import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.util.Utils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java index 85e4853ed87a..efe3599ba313 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java @@ -45,7 +45,12 @@ import org.apache.commons.exec.Executor; import org.apache.commons.exec.environment.EnvironmentUtils; import org.apache.commons.io.file.PathUtils; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java index 873da1629662..8b96fec83bad 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java @@ -38,7 +38,11 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.io.SolrClientCache; import org.apache.solr.client.solrj.io.Tuple; import org.apache.solr.client.solrj.io.comp.StreamComparator; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java index 16c28498f31c..ce49941a23d6 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java @@ -30,7 +30,12 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.SolrQuery; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java index 72aba8ad3a09..ca17e4b91e34 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java @@ -29,7 +29,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.process.SolrProcessManager; import org.apache.solr.cli.process.SolrProcessManager.SolrProcess; import org.apache.solr.client.solrj.SolrClient; From 62f8ac7358f76e23b7949d618c2b428e50016c13 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:44:10 +0530 Subject: [PATCH 08/21] tidy --- solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java | 3 ++- solr/core/src/java/org/apache/solr/cli/tools/PostTool.java | 3 ++- .../core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java index 6f191f8f1130..a99ac281f0b6 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java @@ -40,7 +40,8 @@ import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; import org.apache.solr.cli.ToolBase; -import org.apache.solr.cli.ToolRuntime;import org.apache.solr.client.solrj.SolrClient; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; import org.apache.solr.client.solrj.request.UpdateRequest; import org.apache.solr.common.SolrInputDocument; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java index 60edf5c3c68b..549917a6cea8 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java @@ -75,7 +75,8 @@ import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; import org.apache.solr.cli.ToolBase; -import org.apache.solr.cli.ToolRuntime;import org.apache.solr.client.api.util.SolrVersion; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.common.util.Utils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java index ee054bbbb0ac..e383535317ce 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkToolHelp.java @@ -21,7 +21,8 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.cli.*; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; /** Supports zk help information in the bin/solr script. */ public class ZkToolHelp extends ToolBase { From 227379be0c808ba238ef455ac856c786e3409ec4 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 26 Jul 2026 03:53:04 +0530 Subject: [PATCH 09/21] Added cl --- changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml diff --git a/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml b/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml new file mode 100644 index 000000000000..7be1a5ae2717 --- /dev/null +++ b/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml @@ -0,0 +1,7 @@ +title: Reorganize org.apache.solr.cli into domain-based sub-packages +type: other +authors: + - name: Jalaz Kumar +links: + - name: SOLR-18234 + url: https://issues.apache.org/jira/browse/SOLR-18234 From 9a40eca53fb5966b43ca8d7c4658154e53add2b9 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Mon, 31 Aug 2026 00:06:18 +0530 Subject: [PATCH 10/21] minor --- solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java index 1212e1000670..63cab0359368 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java @@ -38,6 +38,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.lucene.util.Constants; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; From 825264858169ab0132772394f7d846ea881eee11 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sun, 20 Sep 2026 11:08:05 +0530 Subject: [PATCH 11/21] minor --- solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java index 6c377cf422f8..735786f39381 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java @@ -37,6 +37,11 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.io.SolrClientCache; import org.apache.solr.client.solrj.io.Tuple; From 156d8dcd0ba89e2060e3c8f1dc1996db78326719 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Tue, 6 Oct 2026 21:23:58 +0530 Subject: [PATCH 12/21] compilation fix --- changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml | 1 + .../src/java/org/apache/solr/cli/ConnectionOptions.java | 6 +++--- solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java | 2 ++ .../core/src/java/org/apache/solr/cli/tools/CreateTool.java | 5 +++++ .../core/src/java/org/apache/solr/cli/tools/DeleteTool.java | 6 +++++- .../src/java/org/apache/solr/cli/tools/VersionTool.java | 3 +++ .../java/org/apache/solr/cli/tools/cluster/StatusTool.java | 1 + .../org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java | 3 +++ .../org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java | 3 +++ .../java/org/apache/solr/cli/tools/zk/UpdateACLTool.java | 2 ++ .../src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java | 3 +++ .../src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java | 3 +++ .../src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java | 2 ++ .../src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java | 2 ++ .../src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java | 3 +++ 15 files changed, 41 insertions(+), 4 deletions(-) diff --git a/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml b/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml index 7be1a5ae2717..90f0a6c04a66 100644 --- a/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml +++ b/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml @@ -2,6 +2,7 @@ title: Reorganize org.apache.solr.cli into domain-based sub-packages type: other authors: - name: Jalaz Kumar + nick: jaykay12 links: - name: SOLR-18234 url: https://issues.apache.org/jira/browse/SOLR-18234 diff --git a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java index 0a782b5a60fb..a2349e186042 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java @@ -27,7 +27,7 @@ * ensure the user provides at most one of {@code --solr-connection}, {@code --solr-url} or {@code * --zk-host}. */ -class ConnectionOptions { +public class ConnectionOptions { @CommandLine.Option( names = {"-s", "--solr-connection"}, description = @@ -54,7 +54,7 @@ class ConnectionOptions { * The effective ZooKeeper connection string, taking {@code --solr-connection} into account, or * null if the user targeted Solr via a URL (or gave no target at all). */ - String effectiveZkHost() throws IOException { + public String effectiveZkHost() throws IOException { if (solrConnection != null) { var connection = CloudSolrClient.CloudSolrClientConnection.parse(solrConnection); return connection.isZookeeper() ? solrConnection : null; @@ -66,7 +66,7 @@ String effectiveZkHost() throws IOException { * The effective Solr URL, taking {@code --solr-connection} into account, or null if the user * targeted ZooKeeper (or gave no target at all). */ - String effectiveSolrUrl() throws IOException { + public String effectiveSolrUrl() throws IOException { if (solrConnection != null) { var connection = CloudSolrClient.CloudSolrClientConnection.parse(solrConnection); return connection.isZookeeper() ? null : connection.quorumItems().get(0); diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java index f4fdd88b0b88..1455d35f51d3 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java @@ -41,8 +41,10 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java index 95001a326a4d..09c8044237da 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java @@ -28,11 +28,16 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.file.PathUtils; +import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; import org.apache.solr.cli.CommonCLIOptions.DefaultValues; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java index 42680a78086c..dab30e5ebb85 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java @@ -21,11 +21,15 @@ import org.apache.commons.cli.DeprecatedAttributes; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; -import org.apache.solr.client.solrj.RemoteSolrException; +import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.client.solrj.RemoteSolrException; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java b/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java index 11bf693364e7..1d44d2c5b285 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java @@ -21,6 +21,9 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.api.util.SolrVersion; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java index ab5e41fb0e1b..7965d7031a34 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java @@ -32,6 +32,7 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.process.SolrProcessManager; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java index 9710228dd47f..319abf8c6525 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java @@ -25,8 +25,11 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConfigSetOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java index 77052693007f..049202c2cf73 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java @@ -24,8 +24,11 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConfigSetOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkMaintenanceUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java index abddd03a2f78..e1dd266b2ff2 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java @@ -22,8 +22,10 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java index 8a3238eee16e..d6c4b3a4cd45 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java @@ -29,8 +29,11 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java index 7a5584a791b4..872e8124a3ee 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java @@ -21,8 +21,11 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java index 62ac8e3d35c5..bd08085228ca 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java @@ -25,8 +25,10 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java index 50cfebac955b..9dc0230772f8 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java @@ -25,8 +25,10 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java index fb56257fc3a0..77bc09452d9c 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java @@ -23,8 +23,11 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; From 5874edca03c3655f10759d08d11d13e398d2e466 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Tue, 6 Oct 2026 21:41:04 +0530 Subject: [PATCH 13/21] minor refactoring --- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 1 + .../core/src/java/org/apache/solr/cli/tools/AuthTool.java | 2 +- .../apache/solr/cli/tools/zk/ConfigSetDownloadTool.java | 1 - .../org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java | 1 - .../java/org/apache/solr/cli/tools/zk/UpdateACLTool.java | 1 - .../solr/cli/{ => tools/zk}/ZkConnectionOptions.java | 7 ++++++- .../src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java | 1 - .../src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java | 1 - .../java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java | 1 - .../src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java | 1 - .../src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java | 1 - .../java/org/apache/solr/cli/{ => tools/zk}/ZkTool.java | 8 ++++++-- 12 files changed, 14 insertions(+), 12 deletions(-) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkConnectionOptions.java (95%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/zk}/ZkTool.java (91%) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 95666d1903a4..63c745d21bb0 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -71,6 +71,7 @@ import org.apache.solr.cli.tools.zk.ZkMkrootTool; import org.apache.solr.cli.tools.zk.ZkMvTool; import org.apache.solr.cli.tools.zk.ZkRmTool; +import org.apache.solr.cli.tools.zk.ZkTool; import org.apache.solr.cli.tools.zk.ZkToolHelp; import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java index 1455d35f51d3..4885d5ff5365 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AuthTool.java @@ -44,7 +44,7 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; +import org.apache.solr.cli.tools.zk.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java index 319abf8c6525..f7901c49fdd7 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java @@ -29,7 +29,6 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java index 049202c2cf73..07aa3d999dc4 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java @@ -28,7 +28,6 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkMaintenanceUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java index e1dd266b2ff2..aa159120db8b 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java @@ -25,7 +25,6 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/ZkConnectionOptions.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java index c83a58ade0b6..4ace95124576 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.Map; + +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import picocli.CommandLine; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java index d6c4b3a4cd45..491a1e792cf2 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkCpTool.java @@ -33,7 +33,6 @@ import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.SolrException; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java index 872e8124a3ee..300834e1b871 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkLsTool.java @@ -25,7 +25,6 @@ import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java index bd08085228ca..579fd48376b2 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java @@ -28,7 +28,6 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java index 9dc0230772f8..6bf35b19da71 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMvTool.java @@ -28,7 +28,6 @@ import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java index 77bc09452d9c..e0a8648b78ec 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java @@ -27,7 +27,6 @@ import org.apache.solr.cli.RecursiveOption; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.ZkConnectionOptions; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java similarity index 91% rename from solr/core/src/java/org/apache/solr/cli/ZkTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java index bed1805853ca..470fa7e3bd8e 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java @@ -14,9 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.concurrent.Callable; + +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; /** @@ -39,7 +42,8 @@ }) public class ZkTool implements Callable { - @CommandLine.Mixin HelpMixin helpMixin; + @CommandLine.Mixin + HelpMixin helpMixin; @CommandLine.Spec CommandLine.Model.CommandSpec spec; From a6c980fc8b8c9318593ec491cf4dc85d52ef2413 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Tue, 6 Oct 2026 21:44:18 +0530 Subject: [PATCH 14/21] more refactoring --- .../src/java/org/apache/solr/cli/SolrCLI.java | 2 +- .../solr/cli/tools/{ => pkg}/PackageTool.java | 2 +- .../solr/cli/tools/pkg/package-info.java | 19 +++++++++++++++++++ .../solr/cli/tools/PackageToolTest.java | 1 + 4 files changed, 22 insertions(+), 2 deletions(-) rename solr/core/src/java/org/apache/solr/cli/tools/{ => pkg}/PackageTool.java (99%) create mode 100644 solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 63c745d21bb0..5199729b99ac 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -49,7 +49,7 @@ import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; import org.apache.solr.cli.tools.ExportTool; -import org.apache.solr.cli.tools.PackageTool; +import org.apache.solr.cli.tools.pkg.PackageTool; import org.apache.solr.cli.tools.PostLogsTool; import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.tools.RunExampleTool; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java similarity index 99% rename from solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java index 16d782542687..e173ff391c7a 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printGreen; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java new file mode 100644 index 000000000000..4a37b3c333d8 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** CLI tools for package operations. */ +package org.apache.solr.cli.tools.pkg; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java index 86dd2f04b383..380627b6f0cc 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java @@ -25,6 +25,7 @@ import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.pkg.PackageTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; From ec08acd3b7e1ac8afc491a3e2ea78bee502eaa33 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Tue, 6 Oct 2026 22:55:50 +0530 Subject: [PATCH 15/21] tests refactored --- .../org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java | 2 +- .../core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java | 1 + .../src/test/org/apache/solr/cli/CreateToolPicocliTest.java | 1 + .../src/test/org/apache/solr/cli/DeleteToolPicocliTest.java | 1 + .../src/test/org/apache/solr/cli/SnapshotExportToolTest.java | 1 + .../src/test/org/apache/solr/cli/StatusToolPicocliTest.java | 2 ++ .../src/test/org/apache/solr/cli/VersionToolPicocliTest.java | 2 ++ .../src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java | 1 + solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java | 1 + .../src/test/org/apache/solr/cli/tools/CreateToolTest.java | 1 + .../src/test/org/apache/solr/cli/tools/DeleteToolTest.java | 1 + .../test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java | 3 ++- 12 files changed, 15 insertions(+), 2 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java index 01c7993e6ed6..e87788f37085 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java @@ -149,7 +149,7 @@ void exportSnapshot(SnapshotExportParams params) throws Exception { * The name of the backup this command creates. It is derived rather than supplied, because it * names the backup being written, not a snapshot being read. */ - static String backupName(String collectionName, Instant when) { + public static String backupName(String collectionName, Instant when) { return collectionName + "_" + BACKUP_NAME_TIMESTAMP.format(when); } diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java index 41a4385b55da..b382860d0ff2 100644 --- a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java @@ -18,6 +18,7 @@ package org.apache.solr.cli; import java.util.Arrays; +import org.apache.solr.cli.tools.AuthToolTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java index 7eddb2c923b1..1a0b7772a0d2 100644 --- a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; import java.util.Arrays; +import org.apache.solr.cli.tools.CreateToolTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java index 308e9d872371..d3dcea376cb6 100644 --- a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; import java.util.Arrays; +import org.apache.solr.cli.tools.DeleteToolTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java index 81c46f302dd7..edd1ec5a3a23 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java @@ -25,6 +25,7 @@ import java.util.stream.Stream; import org.apache.commons.cli.CommandLine; import org.apache.lucene.tests.util.LuceneTestCase; +import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.MiniSolrCloudCluster; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java index 71d9e5ed705e..ff156e17c8b0 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java @@ -18,6 +18,8 @@ import java.io.Reader; import java.util.Arrays; +import org.apache.solr.cli.tools.cluster.StatusTool; +import org.apache.solr.cli.tools.cluster.StatusToolTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java index 4c454ecec275..59927c560ff7 100644 --- a/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java @@ -17,6 +17,8 @@ package org.apache.solr.cli; import java.util.Arrays; +import org.apache.solr.cli.tools.VersionTool; +import org.apache.solr.cli.tools.VersionToolTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java index 9b631013cd56..8a80e156c652 100644 --- a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java @@ -17,6 +17,7 @@ package org.apache.solr.cli; import java.util.Arrays; +import org.apache.solr.cli.tools.zk.ZkSubcommandsTest; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java index 1fb75019676a..9aaf6bdf37e4 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java @@ -22,6 +22,7 @@ import java.nio.file.Path; import org.apache.commons.io.file.PathUtils; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.security.Sha256AuthenticationProvider; import org.junit.After; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java index bfc50266c342..6728318d60ec 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java @@ -18,6 +18,7 @@ package org.apache.solr.cli.tools; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.util.SecurityJson; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java index 03966431ba1b..68a29166167c 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolTest.java @@ -18,6 +18,7 @@ package org.apache.solr.cli.tools; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java index dbda91471f51..c76cac98e898 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java @@ -28,6 +28,7 @@ import org.apache.lucene.tests.mockfile.FilterPath; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.cloud.AbstractFullDistribZkTestBase; import org.apache.solr.cloud.AbstractZkTestCase; @@ -54,7 +55,7 @@ *

Subclasses override {@link #runTool} to exercise different invocation paths (commons-cli vs * picocli). All {@code @Test} methods are inherited and run in each subclass. * - * @see ZkSubcommandsPicocliTest + * @see org.apache.solr.cli.ZkSubcommandsPicocliTest */ public class ZkSubcommandsTest extends SolrTestCaseJ4 { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); From 179e2d129c9f670be3aa37989818521a697fc2f3 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Tue, 6 Oct 2026 23:00:51 +0530 Subject: [PATCH 16/21] more refactoring --- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 2 +- solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java | 2 +- .../org/apache/solr/cli/tools/zk/ZkConnectionOptions.java | 1 - .../core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java | 4 +--- .../apache/solr/cli/{ => tools}/AuthToolPicocliTest.java | 7 +++++-- .../apache/solr/cli/{ => tools}/CreateToolPicocliTest.java | 7 +++++-- .../apache/solr/cli/{ => tools}/DeleteToolPicocliTest.java | 7 +++++-- .../solr/cli/{ => tools}/VersionToolPicocliTest.java | 6 +++--- .../cli/{ => tools/cluster}/StatusToolPicocliTest.java | 6 +++--- .../apache/solr/cli/tools/{ => pkg}/PackageToolTest.java | 4 ++-- .../cli/{ => tools/snapshot}/SnapshotExportToolTest.java | 5 +++-- .../solr/cli/{ => tools/zk}/ZkSubcommandsPicocliTest.java | 7 +++++-- .../org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java | 2 +- 13 files changed, 35 insertions(+), 25 deletions(-) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/AuthToolPicocliTest.java (89%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/CreateToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/DeleteToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/VersionToolPicocliTest.java (92%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/cluster}/StatusToolPicocliTest.java (92%) rename solr/core/src/test/org/apache/solr/cli/tools/{ => pkg}/PackageToolTest.java (99%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/snapshot}/SnapshotExportToolTest.java (98%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/zk}/ZkSubcommandsPicocliTest.java (91%) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 5199729b99ac..2461ceb09382 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -49,7 +49,6 @@ import org.apache.solr.cli.tools.CreateTool; import org.apache.solr.cli.tools.DeleteTool; import org.apache.solr.cli.tools.ExportTool; -import org.apache.solr.cli.tools.pkg.PackageTool; import org.apache.solr.cli.tools.PostLogsTool; import org.apache.solr.cli.tools.PostTool; import org.apache.solr.cli.tools.RunExampleTool; @@ -58,6 +57,7 @@ import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.cluster.StatusTool; +import org.apache.solr.cli.tools.pkg.PackageTool; import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java index 048253ea8245..31d62dc1e0a5 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java @@ -81,7 +81,7 @@ void callApi(ApiParams params) throws Exception { echo(response); } - protected String callGet(String url, String credentials) throws Exception { + public String callGet(String url, String credentials) throws Exception { URI uri = new URI(url.replace("+", "%20")); String solrUrl = getSolrUrlFromUri(uri); String path = uri.getPath(); diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java index 4ace95124576..ec5811f468d4 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools.zk; import java.util.Map; - import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java index 470fa7e3bd8e..f0b40a976897 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools.zk; import java.util.concurrent.Callable; - import org.apache.solr.cli.CLIO; import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; @@ -42,8 +41,7 @@ }) public class ZkTool implements Callable { - @CommandLine.Mixin - HelpMixin helpMixin; + @CommandLine.Mixin HelpMixin helpMixin; @CommandLine.Spec CommandLine.Model.CommandSpec spec; diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java similarity index 89% rename from solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java index b382860d0ff2..1696dbb1643f 100644 --- a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java @@ -15,10 +15,13 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; -import org.apache.solr.cli.tools.AuthToolTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java index 1a0b7772a0d2..98b8b650339e 100644 --- a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java @@ -14,10 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; -import org.apache.solr.cli.tools.CreateToolTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java index d3dcea376cb6..26b4b6d5b2f7 100644 --- a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java @@ -14,10 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; -import org.apache.solr.cli.tools.DeleteToolTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java similarity index 92% rename from solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java index 59927c560ff7..a8312412fc57 100644 --- a/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java @@ -14,11 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; -import org.apache.solr.cli.tools.VersionTool; -import org.apache.solr.cli.tools.VersionToolTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java similarity index 92% rename from solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java index ff156e17c8b0..555aaf7d1577 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java @@ -14,12 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.cluster; import java.io.Reader; import java.util.Arrays; -import org.apache.solr.cli.tools.cluster.StatusTool; -import org.apache.solr.cli.tools.cluster.StatusToolTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolTest.java similarity index 99% rename from solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolTest.java index 380627b6f0cc..917427bbc2e6 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolTest.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli.tools; +package org.apache.solr.cli.tools.pkg; import java.io.StringReader; import java.lang.invoke.MethodHandles; @@ -25,7 +25,7 @@ import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolRuntime; -import org.apache.solr.cli.tools.pkg.PackageTool; +import org.apache.solr.cli.tools.ApiTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java similarity index 98% rename from solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java index edd1ec5a3a23..0437418ef9d9 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.io.IOException; import java.nio.file.Files; @@ -25,7 +25,8 @@ import java.util.stream.Stream; import org.apache.commons.cli.CommandLine; import org.apache.lucene.tests.util.LuceneTestCase; -import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.MiniSolrCloudCluster; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java similarity index 91% rename from solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java index 8a80e156c652..4b628fe7635a 100644 --- a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java @@ -14,10 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.Arrays; -import org.apache.solr.cli.tools.zk.ZkSubcommandsTest; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java index c76cac98e898..7189f4178807 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsTest.java @@ -55,7 +55,7 @@ *

Subclasses override {@link #runTool} to exercise different invocation paths (commons-cli vs * picocli). All {@code @Test} methods are inherited and run in each subclass. * - * @see org.apache.solr.cli.ZkSubcommandsPicocliTest + * @see ZkSubcommandsPicocliTest */ public class ZkSubcommandsTest extends SolrTestCaseJ4 { private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass()); From 2d14f4c9f8ff4bec4ea9def2fbfc7fd5caca0fcb Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Wed, 7 Oct 2026 00:07:59 +0530 Subject: [PATCH 17/21] no longer needed --- .../org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java index e87788f37085..01c7993e6ed6 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java @@ -149,7 +149,7 @@ void exportSnapshot(SnapshotExportParams params) throws Exception { * The name of the backup this command creates. It is derived rather than supplied, because it * names the backup being written, not a snapshot being read. */ - public static String backupName(String collectionName, Instant when) { + static String backupName(String collectionName, Instant when) { return collectionName + "_" + BACKUP_NAME_TIMESTAMP.format(when); } From 9103345869199d01665b5f9e2ab6abbb34d502b3 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Fri, 9 Oct 2026 16:41:03 +0530 Subject: [PATCH 18/21] picocli refactoring --- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 6 +----- .../apache/solr/cli/{ => tools/pkg}/PackageAddKey.java | 2 +- .../apache/solr/cli/{ => tools/pkg}/PackageAddRepo.java | 2 +- .../apache/solr/cli/{ => tools/pkg}/PackageDeploy.java | 2 +- .../apache/solr/cli/{ => tools/pkg}/PackageInstall.java | 2 +- .../solr/cli/{ => tools/pkg}/PackageListAvailable.java | 2 +- .../solr/cli/{ => tools/pkg}/PackageListDeployed.java | 2 +- .../solr/cli/{ => tools/pkg}/PackageListInstalled.java | 2 +- .../solr/cli/{ => tools/pkg}/PackageSubCommand.java | 9 +++++++-- .../apache/solr/cli/{ => tools/pkg}/PackageUndeploy.java | 2 +- .../solr/cli/{ => tools/pkg}/PackageUninstall.java | 2 +- .../cli/{ => tools/snapshot}/SnapshotCreateShim.java | 2 +- .../cli/{ => tools/snapshot}/SnapshotDeleteShim.java | 2 +- .../cli/{ => tools/snapshot}/SnapshotDescribeShim.java | 2 +- .../cli/{ => tools/snapshot}/SnapshotExportShim.java | 2 +- .../solr/cli/{ => tools/snapshot}/SnapshotListShim.java | 2 +- .../cli/{ => tools/snapshot}/SnapshotNameOptions.java | 2 +- .../solr/cli/{ => tools/snapshot}/SnapshotTool.java | 8 ++++++-- .../apache/solr/cli/{ => tools}/ApiToolPicocliTest.java | 7 ++++++- .../solr/cli/{ => tools}/AssertToolPicocliTest.java | 7 ++++++- .../solr/cli/{ => tools}/ConfigToolPicocliTest.java | 7 ++++++- .../org/apache/solr/cli/{ => tools}/ConfigToolTest.java | 5 ++++- .../solr/cli/{ => tools}/ExportToolPicocliTest.java | 7 ++++++- .../org/apache/solr/cli/{ => tools}/ExportToolTest.java | 5 ++++- .../apache/solr/cli/{ => tools}/PostLogsToolCliTest.java | 5 ++++- .../solr/cli/{ => tools}/PostLogsToolPicocliTest.java | 7 ++++++- .../apache/solr/cli/{ => tools}/PostToolPicocliTest.java | 7 ++++++- .../solr/cli/{ => tools}/StreamToolPicocliTest.java | 7 ++++++- .../{ => tools/cluster}/HealthcheckToolPicocliTest.java | 7 ++++++- .../solr/cli/{ => tools/pkg}/PackageToolPicocliTest.java | 4 +++- .../snapshot}/SnapshotExportToolPicocliTest.java | 7 +++++-- .../{ => tools/snapshot}/SnapshotToolsPicocliTest.java | 7 ++++++- .../solr/cli/{ => tools/snapshot}/SnapshotToolsTest.java | 7 +++++-- 33 files changed, 108 insertions(+), 41 deletions(-) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageAddKey.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageAddRepo.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageDeploy.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageInstall.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageListAvailable.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageListDeployed.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageListInstalled.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageSubCommand.java (88%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageUndeploy.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/pkg}/PackageUninstall.java (98%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotCreateShim.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotDeleteShim.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotDescribeShim.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotExportShim.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotListShim.java (97%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotNameOptions.java (96%) rename solr/core/src/java/org/apache/solr/cli/{ => tools/snapshot}/SnapshotTool.java (91%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ApiToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/AssertToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ConfigToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ConfigToolTest.java (96%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ExportToolPicocliTest.java (90%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/ExportToolTest.java (97%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PostLogsToolCliTest.java (96%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PostLogsToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/PostToolPicocliTest.java (88%) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/StreamToolPicocliTest.java (94%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/cluster}/HealthcheckToolPicocliTest.java (90%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/pkg}/PackageToolPicocliTest.java (90%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/snapshot}/SnapshotExportToolPicocliTest.java (85%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/snapshot}/SnapshotToolsPicocliTest.java (96%) rename solr/core/src/test/org/apache/solr/cli/{ => tools/snapshot}/SnapshotToolsTest.java (94%) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 621265f82bbf..d2d34d18f1c3 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -58,11 +58,7 @@ import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.pkg.PackageTool; -import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; -import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; -import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; -import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; -import org.apache.solr.cli.tools.snapshot.SnapshotListTool; +import org.apache.solr.cli.tools.snapshot.*; import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.cli.tools.zk.UpdateACLTool; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageAddKey.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageAddKey.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java index 97f6bc286beb..1ccd56cb148d 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageAddKey.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import java.nio.file.Path; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java index cb3bc7067a32..afe686c3f969 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package add-repo command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageDeploy.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageDeploy.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java index ff24a7a1692d..31891e422e6e 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageDeploy.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageInstall.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageInstall.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java index b48c65f4a120..30f5686ab6e1 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageInstall.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package install command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java index e0420ecb7d46..72bf9f98c489 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package list-available command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java index 944fce6591b0..67343aea6bda 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java index e1d62b26d956..036643b6265f 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package list-installed command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java similarity index 88% rename from solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java index 9b8130227af1..af1ad15dcad0 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java @@ -15,9 +15,13 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import org.apache.commons.cli.CommandLine; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; import org.apache.solr.packagemanager.PackageManager; import org.apache.solr.packagemanager.RepositoryManager; @@ -32,7 +36,8 @@ interface PackageAction { @picocli.CommandLine.ParentCommand PackageTool packageTool; - @picocli.CommandLine.Mixin CredentialsOptions credentialsOptions; + @picocli.CommandLine.Mixin + CredentialsOptions credentialsOptions; @picocli.CommandLine.ArgGroup(exclusive = true, multiplicity = "0..1") ConnectionOptions connectionOptions; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java index d38da3404070..45ae2d81a929 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageUninstall.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageUninstall.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java index 0171ec552b38..97ad7fce4183 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageUninstall.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package uninstall command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java index 22b55a6da091..01e7a55ce2d8 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDeleteShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java index 9834a17d6681..16e2c8faf6df 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDescribeShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java index 8426c8754849..7fe2d1d6733e 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotExportShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotExportShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java index 4cb77cf05f24..451cc522f443 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotListShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotListShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java index 4085ead8ff05..f42b45dd2745 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotListShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotNameOptions.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java similarity index 96% rename from solr/core/src/java/org/apache/solr/cli/SnapshotNameOptions.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java index c4a95de99767..eafe917d97c8 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotNameOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import picocli.CommandLine; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java similarity index 91% rename from solr/core/src/java/org/apache/solr/cli/SnapshotTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java index 6c7aba2e33af..ab3a835462ec 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java @@ -14,9 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.concurrent.Callable; + +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; /** @@ -35,7 +38,8 @@ SnapshotListTool.class }) public class SnapshotTool implements Callable { - @CommandLine.Mixin HelpMixin helpMixin; + @CommandLine.Mixin + HelpMixin helpMixin; @CommandLine.Spec CommandLine.Model.CommandSpec spec; @Override diff --git a/solr/core/src/test/org/apache/solr/cli/ApiToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/ApiToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java index ef8c7ab3ba6b..4d49efb16d5f 100644 --- a/solr/core/src/test/org/apache/solr/cli/ApiToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java index ba1618234552..2552d867b88c 100644 --- a/solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java index 6ba1d85d9689..4cb3a5e86e98 100644 --- a/solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java index 162144c8c756..61bc0e143189 100644 --- a/solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java @@ -14,8 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java index 62781d4c4f4b..9a9b762dcb38 100644 --- a/solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/ExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/ExportToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java index c5ceffa4cc0d..84017c99ddea 100644 --- a/solr/core/src/test/org/apache/solr/cli/ExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java @@ -14,11 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.nio.file.Files; import java.nio.file.Path; import java.util.List; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java index 436594983983..61d9577fa516 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java @@ -14,12 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.Locale; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.SolrQuery; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java index 39aa9da7c7ec..54072a0e69a0 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/PostToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/PostToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java index 1a0de20e2c7f..956ae07d0b0e 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java similarity index 94% rename from solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java index 3dd46ac101dd..117aa00cbb2c 100644 --- a/solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.util.SecurityJson; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/HealthcheckToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java index bcef8b7e705b..53d4d3359f4d 100644 --- a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.cluster; import java.util.Arrays; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/PackageToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/PackageToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java index b850ee70cf19..d6e2f61b6a0d 100644 --- a/solr/core/src/test/org/apache/solr/cli/PackageToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java @@ -15,8 +15,10 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** Runs all {@link PackageToolTest} tests through the picocli invocation path. */ diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java similarity index 85% rename from solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java index 8be7c47e4594..938fd733b9e8 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java @@ -14,7 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; /** * Runs the {@link SnapshotExportToolTest} tests that go through {@code runTool} using the {@code @@ -25,7 +28,7 @@ public class SnapshotExportToolPicocliTest extends SnapshotExportToolTest { @Override protected int runTool( - String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) + String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) throws Exception { return SnapshotToolsPicocliTest.runAsGroup(args, runtime); } diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java index 649c5185cf97..b4bb0be8eb62 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java @@ -14,10 +14,15 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.ArrayList; import java.util.List; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.logging.DeprecationLog; import org.apache.solr.util.LogListener; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java similarity index 94% rename from solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java index 5389dfe1573e..8aa5c82792e8 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java @@ -14,10 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.ArrayList; import java.util.List; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.SolrInputDocument; @@ -30,7 +33,7 @@ public class SnapshotToolsTest extends SolrCloudTestCase { /** Runs the tool. Overridden by the picocli variant of this test. */ protected int runTool( - String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) + String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) throws Exception { return CLITestHelper.runTool(args, runtime, clazz); } From 85424a9b531a032e5013f43534a25c8e5139dfa0 Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Fri, 9 Oct 2026 16:50:46 +0530 Subject: [PATCH 19/21] import setup --- solr/core/src/java/org/apache/solr/cli/CLIUtils.java | 2 +- .../org/apache/solr/cli/CollectionNameOptions.java | 4 ++-- .../java/org/apache/solr/cli/ConnectionOptions.java | 10 +++++----- .../src/java/org/apache/solr/cli/tools/ApiTool.java | 2 ++ .../src/java/org/apache/solr/cli/tools/AssertTool.java | 2 ++ .../src/java/org/apache/solr/cli/tools/ConfigTool.java | 4 ++++ .../src/java/org/apache/solr/cli/tools/ExportTool.java | 3 +++ .../java/org/apache/solr/cli/tools/PostLogsTool.java | 3 +++ .../src/java/org/apache/solr/cli/tools/PostTool.java | 3 +++ .../java/org/apache/solr/cli/tools/RunExampleTool.java | 1 + .../src/java/org/apache/solr/cli/tools/StreamTool.java | 4 ++++ .../org/apache/solr/cli/tools/cluster/ClusterTool.java | 2 ++ .../apache/solr/cli/tools/cluster/HealthcheckTool.java | 3 +++ .../org/apache/solr/cli/tools/pkg/PackageTool.java | 7 ++++++- .../solr/cli/tools/snapshot/SnapshotCreateTool.java | 4 ++++ .../solr/cli/tools/snapshot/SnapshotDeleteTool.java | 4 ++++ .../solr/cli/tools/snapshot/SnapshotDescribeTool.java | 4 ++++ .../solr/cli/tools/snapshot/SnapshotExportTool.java | 4 ++++ .../solr/cli/tools/snapshot/SnapshotListTool.java | 4 ++++ 19 files changed, 61 insertions(+), 9 deletions(-) diff --git a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java index 716f637e38fd..d672982ca050 100644 --- a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java +++ b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java @@ -255,7 +255,7 @@ public static String normalizeSolrUrl(CommandLine cli) throws Exception { * * @param connectionOptions the parsed connection group, or null if none of its options was given */ - static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) + public static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) throws Exception { String solrUrl = connectionOptions != null ? connectionOptions.solrUrl : null; if (solrUrl == null) { diff --git a/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java b/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java index 975ef0708e23..f7e037e44a5d 100644 --- a/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java @@ -21,12 +21,12 @@ /** * Picocli mixin for the {@code -c} / {@code --name} option naming the collection a command acts on. */ -class CollectionNameOptions { +public class CollectionNameOptions { @CommandLine.Option( names = {"-c", "--name"}, required = true, paramLabel = "NAME", description = "Name of the collection.") - String name; + public String name; } diff --git a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java index 9fe9d9217bbb..55b0d6004d0f 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java @@ -37,13 +37,13 @@ public class ConnectionOptions { "Zookeeper or HTTP(s) connection string; unnecessary if SOLR_CONNECTION is defined in solr.in.sh; otherwise, defaults to " + CommonCLIOptions.DefaultValues.ZK_HOST + ".") - String solrConnection; + public String solrConnection; @CommandLine.Option( names = {"--solr-url"}, description = "Base Solr URL, which can be used to determine the zk-host if that's not known.") - String solrUrl; + public String solrUrl; @CommandLine.Option( names = {"-z", "--zk-host"}, @@ -51,7 +51,7 @@ public class ConnectionOptions { "Zookeeper connection string; unnecessary if ZK_HOST is defined in solr.in.sh; otherwise, defaults to " + CommonCLIOptions.DefaultValues.ZK_HOST + ".") - String zkHost; + public String zkHost; /** * The effective ZooKeeper connection string, taking {@code --solr-connection} into account, or @@ -77,7 +77,7 @@ public String effectiveSolrUrl() throws IOException { return solrUrl; } - static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) + public static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) throws Exception { if (connectionOptions != null) { String solrUrl = connectionOptions.effectiveSolrUrl(); @@ -114,7 +114,7 @@ static String resolveSolrUrl(ConnectionOptions connectionOptions, String credent return defaultUrl; } - static String resolveZkHost( + public static String resolveZkHost( ConnectionOptions connectionOptions, String solrUrl, String credentials) throws Exception { boolean resolveFromSolrUrl = false; if (connectionOptions != null) { diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java index eff041a63531..146f59693eca 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java @@ -23,6 +23,8 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java index edcd7ee94df5..fd3a0992bafd 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java @@ -31,6 +31,8 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.tools.cluster.StatusTool; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java index f2ef3956c04a..06008b5b6966 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ConfigTool.java @@ -24,8 +24,12 @@ import org.apache.commons.cli.MissingArgumentException; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java index 54b62b8c42e4..6ac151437a18 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/ExportTool.java @@ -56,6 +56,9 @@ import org.apache.lucene.util.SuppressForbidden; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java index df357a971210..547e38cffdfc 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java @@ -39,6 +39,9 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java index ff28de996432..1bcb2fde044a 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/PostTool.java @@ -74,6 +74,9 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.api.util.SolrVersion; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java index 02ef628b80f4..bc0b2b416167 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/RunExampleTool.java @@ -48,6 +48,7 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java index 447d5b219656..7581917058f1 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java @@ -40,8 +40,12 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.io.SolrClientCache; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java index 76f759a84ed5..76a690b62e36 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java @@ -24,8 +24,10 @@ import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.zk.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.ClusterProperties; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java index cd8922de3732..c6c758ce3f4e 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java @@ -35,6 +35,9 @@ import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java index ed247e97cd03..c356fb0fcb50 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java @@ -33,8 +33,12 @@ import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configurator; import org.apache.lucene.util.SuppressForbidden; +import org.apache.solr.cli.CLIO; import org.apache.solr.cli.CLIUtils; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; @@ -147,7 +151,8 @@ record PackageFlags( @picocli.CommandLine.ArgGroup(exclusive = true, multiplicity = "0..1") ConnectionOptions connectionOptions; - @picocli.CommandLine.Mixin CredentialsOptions credentialsOptions; + @picocli.CommandLine.Mixin + CredentialsOptions credentialsOptions; @picocli.CommandLine.Spec private picocli.CommandLine.Model.CommandSpec spec; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java index 48c9430b8ff1..c0bd9828137c 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java @@ -20,7 +20,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CollectionNameOptions; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java index b79d95a6181f..046bf709e94b 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java @@ -20,7 +20,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CollectionNameOptions; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java index a5f831eaef03..6dab21a2f4d2 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java @@ -26,7 +26,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CollectionNameOptions; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java index 9a968af93c46..8ed9c29ff2a0 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java @@ -24,7 +24,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CollectionNameOptions; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java index 931a753dfea7..fda9643bee7c 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java @@ -20,7 +20,11 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CollectionNameOptions; import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; From b08717b68c38f60e35a55d685790d36ac96b56de Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Fri, 9 Oct 2026 17:00:22 +0530 Subject: [PATCH 20/21] imports & tidying --- .../src/java/org/apache/solr/cli/ConnectionOptions.java | 1 + solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 7 ++++++- .../org/apache/solr/cli/tools/pkg/PackageSubCommand.java | 3 +-- .../java/org/apache/solr/cli/tools/pkg/PackageTool.java | 3 +-- .../org/apache/solr/cli/tools/snapshot/SnapshotTool.java | 4 +--- .../test/org/apache/solr/cli/tools/ApiToolPicocliTest.java | 1 - .../src/test/org/apache/solr/cli/tools/ApiToolTest.java | 1 + .../org/apache/solr/cli/tools/AssertToolPicocliTest.java | 1 - .../src/test/org/apache/solr/cli/tools/AssertToolTest.java | 1 + .../org/apache/solr/cli/tools/ConfigToolPicocliTest.java | 1 - .../org/apache/solr/cli/tools/ExportToolPicocliTest.java | 1 - .../src/test/org/apache/solr/cli/tools/ExportToolTest.java | 1 - .../org/apache/solr/cli/tools/PostLogsToolCliTest.java | 1 - .../org/apache/solr/cli/tools/PostLogsToolPicocliTest.java | 1 - .../org/apache/solr/cli/tools/PostToolPicocliTest.java | 1 - .../src/test/org/apache/solr/cli/tools/PostToolTest.java | 1 + .../solr/cli/{ => tools}/SolrCLIRunExamplePicocliTest.java | 5 ++++- .../org/apache/solr/cli/tools/StreamToolPicocliTest.java | 1 - .../src/test/org/apache/solr/cli/tools/StreamToolTest.java | 1 + .../solr/cli/tools/cluster/HealthcheckToolPicocliTest.java | 1 - .../apache/solr/cli/tools/cluster/HealthcheckToolTest.java | 1 + .../cli/tools/snapshot/SnapshotExportToolPicocliTest.java | 2 +- .../solr/cli/tools/snapshot/SnapshotExportToolTest.java | 1 + .../solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java | 1 - .../apache/solr/cli/tools/snapshot/SnapshotToolsTest.java | 3 +-- .../apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java | 1 + 26 files changed, 23 insertions(+), 23 deletions(-) rename solr/core/src/test/org/apache/solr/cli/{ => tools}/SolrCLIRunExamplePicocliTest.java (95%) diff --git a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java index 55b0d6004d0f..ac0cd2769ad7 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.util.Map; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.common.util.EnvUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index d2d34d18f1c3..aa036ebdbdbc 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -58,7 +58,12 @@ import org.apache.solr.cli.tools.cluster.HealthcheckTool; import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.pkg.PackageTool; -import org.apache.solr.cli.tools.snapshot.*; +import org.apache.solr.cli.tools.snapshot.SnapshotCreateShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDeleteShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDescribeShim; +import org.apache.solr.cli.tools.snapshot.SnapshotExportShim; +import org.apache.solr.cli.tools.snapshot.SnapshotListShim; +import org.apache.solr.cli.tools.snapshot.SnapshotTool; import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; import org.apache.solr.cli.tools.zk.UpdateACLTool; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java index af1ad15dcad0..2e6e9f03658e 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java @@ -36,8 +36,7 @@ interface PackageAction { @picocli.CommandLine.ParentCommand PackageTool packageTool; - @picocli.CommandLine.Mixin - CredentialsOptions credentialsOptions; + @picocli.CommandLine.Mixin CredentialsOptions credentialsOptions; @picocli.CommandLine.ArgGroup(exclusive = true, multiplicity = "0..1") ConnectionOptions connectionOptions; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java index c356fb0fcb50..52d8d10b7a7d 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java @@ -151,8 +151,7 @@ record PackageFlags( @picocli.CommandLine.ArgGroup(exclusive = true, multiplicity = "0..1") ConnectionOptions connectionOptions; - @picocli.CommandLine.Mixin - CredentialsOptions credentialsOptions; + @picocli.CommandLine.Mixin CredentialsOptions credentialsOptions; @picocli.CommandLine.Spec private picocli.CommandLine.Model.CommandSpec spec; diff --git a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java index ab3a835462ec..3590d5cff627 100644 --- a/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools.snapshot; import java.util.concurrent.Callable; - import org.apache.solr.cli.CLIO; import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; @@ -38,8 +37,7 @@ SnapshotListTool.class }) public class SnapshotTool implements Callable { - @CommandLine.Mixin - HelpMixin helpMixin; + @CommandLine.Mixin HelpMixin helpMixin; @CommandLine.Spec CommandLine.Model.CommandSpec spec; @Override diff --git a/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java index 4d49efb16d5f..66c5464cd4ca 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java index 293c1630cdaf..08d0f9945806 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolTest.java @@ -22,6 +22,7 @@ import java.util.Locale; import org.apache.lucene.tests.util.TestUtil; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java index 2552d867b88c..3fe12346b394 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java index b9fa7725fcf0..c15089282283 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolTest.java @@ -20,6 +20,7 @@ import java.nio.file.Path; import java.util.Set; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.ZkStateReader; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java index 4cb3a5e86e98..24625d081834 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java index 9a9b762dcb38..42c9df9368b5 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java index 84017c99ddea..5e7105224ca1 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java @@ -19,7 +19,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java index 61d9577fa516..d37a6650d088 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java @@ -20,7 +20,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.Locale; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java index 54072a0e69a0..f37089bff69a 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java index 956ae07d0b0e..583899d3de81 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java index 71edce9c2c61..1a621f9cc660 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostToolTest.java @@ -36,6 +36,7 @@ import org.apache.lucene.util.Constants; import org.apache.solr.SolrTestCaseJ4; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java similarity index 95% rename from solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java index be338f64cba0..e7e86c2f3402 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java @@ -14,11 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.PrintWriter; import java.io.StringWriter; import java.util.List; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.TestSolrCLIRunExample; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java index 117aa00cbb2c..634a45b38459 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java index 2892a55f8bc0..76629af2fc82 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolTest.java @@ -34,6 +34,7 @@ import org.apache.commons.cli.CommandLine; import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java index 53d4d3359f4d..046fb3c551dc 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java @@ -17,7 +17,6 @@ package org.apache.solr.cli.tools.cluster; import java.util.Arrays; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java index c6e466b8e73e..524782e59108 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java @@ -19,6 +19,7 @@ import java.util.Set; import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java index 938fd733b9e8..8d6fa8f98488 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java @@ -28,7 +28,7 @@ public class SnapshotExportToolPicocliTest extends SnapshotExportToolTest { @Override protected int runTool( - String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) + String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) throws Exception { return SnapshotToolsPicocliTest.runAsGroup(args, runtime); } diff --git a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java index 32ba35b349c0..ed348e19ded9 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java @@ -27,6 +27,7 @@ import org.apache.lucene.tests.util.LuceneTestCase; import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.MiniSolrCloudCluster; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java index b4bb0be8eb62..aa1aaf557373 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java @@ -18,7 +18,6 @@ import java.util.ArrayList; import java.util.List; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.SolrCLI; import org.apache.solr.cli.ToolBase; diff --git a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java index 8aa5c82792e8..e280b8774707 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java @@ -18,7 +18,6 @@ import java.util.ArrayList; import java.util.List; - import org.apache.solr.cli.CLITestHelper; import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; @@ -33,7 +32,7 @@ public class SnapshotToolsTest extends SolrCloudTestCase { /** Runs the tool. Overridden by the picocli variant of this test. */ protected int runTool( - String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) + String[] args, CLITestHelper.TestingRuntime runtime, Class clazz) throws Exception { return CLITestHelper.runTool(args, runtime, clazz); } diff --git a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java index 8486cba7fa9c..8f0f13f9dcdf 100644 --- a/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java @@ -21,6 +21,7 @@ import org.apache.solr.cli.CliDefaultValueProvider; import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.common.cloud.ClusterProperties; import org.junit.Test; import picocli.CommandLine; From 66ddc777d11fd1856c454935e3dea7790139889d Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Fri, 9 Oct 2026 17:01:59 +0530 Subject: [PATCH 21/21] compile checks --- solr/core/src/java/org/apache/solr/cli/SolrCLI.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index aa036ebdbdbc..01284fe6e045 100755 --- a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java +++ b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java @@ -59,10 +59,15 @@ import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.cli.tools.pkg.PackageTool; import org.apache.solr.cli.tools.snapshot.SnapshotCreateShim; +import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; import org.apache.solr.cli.tools.snapshot.SnapshotDeleteShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; import org.apache.solr.cli.tools.snapshot.SnapshotDescribeShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; import org.apache.solr.cli.tools.snapshot.SnapshotExportShim; +import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; import org.apache.solr.cli.tools.snapshot.SnapshotListShim; +import org.apache.solr.cli.tools.snapshot.SnapshotListTool; import org.apache.solr.cli.tools.snapshot.SnapshotTool; import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; import org.apache.solr.cli.tools.zk.ConfigSetUploadTool;