From 8a9bcb3c365c0712df1a5f23ce5956e4193c769d Mon Sep 17 00:00:00 2001 From: jaykay12 Date: Sat, 25 Jul 2026 22:01:51 +0530 Subject: [PATCH 1/9] 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 2/9] 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 3/9] 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 4/9] 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 5/9] 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 6/9] 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 7/9] 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 8/9] 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 9/9] 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