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..90f0a6c04a66 --- /dev/null +++ b/changelog/unreleased/SOLR-18234-solr-cli-reorganise.yml @@ -0,0 +1,8 @@ +title: Reorganize org.apache.solr.cli into domain-based sub-packages +type: other +authors: + - name: Jalaz Kumar + nick: jaykay12 +links: + - name: SOLR-18234 + url: https://issues.apache.org/jira/browse/SOLR-18234 diff --git a/solr/core/src/java/org/apache/solr/cli/CLIUtils.java b/solr/core/src/java/org/apache/solr/cli/CLIUtils.java index 3c5d2a98ad6f..d672982ca050 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.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; @@ -254,7 +255,7 @@ public static String normalizeSolrUrl(CommandLine cli) throws Exception { * * @param connectionOptions the parsed connection group, or null if none of its options was given */ - static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) + public static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) throws Exception { String solrUrl = connectionOptions != null ? connectionOptions.solrUrl : null; if (solrUrl == null) { diff --git a/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java b/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java index 975ef0708e23..f7e037e44a5d 100644 --- a/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/CollectionNameOptions.java @@ -21,12 +21,12 @@ /** * Picocli mixin for the {@code -c} / {@code --name} option naming the collection a command acts on. */ -class CollectionNameOptions { +public class CollectionNameOptions { @CommandLine.Option( names = {"-c", "--name"}, required = true, paramLabel = "NAME", description = "Name of the collection.") - String name; + public String name; } diff --git a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java index 57ee0532faaa..ac0cd2769ad7 100644 --- a/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/ConnectionOptions.java @@ -18,6 +18,7 @@ import java.io.IOException; import java.util.Map; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.common.util.EnvUtils; @@ -30,20 +31,20 @@ * ensure the user provides at most one of {@code --solr-connection}, {@code --solr-url} or {@code * --zk-host}. */ -class ConnectionOptions { +public class ConnectionOptions { @CommandLine.Option( names = {"-s", "--solr-connection"}, description = "Zookeeper or HTTP(s) connection string; unnecessary if SOLR_CONNECTION is defined in solr.in.sh; otherwise, defaults to " + CommonCLIOptions.DefaultValues.ZK_HOST + ".") - String solrConnection; + public String solrConnection; @CommandLine.Option( names = {"--solr-url"}, description = "Base Solr URL, which can be used to determine the zk-host if that's not known.") - String solrUrl; + public String solrUrl; @CommandLine.Option( names = {"-z", "--zk-host"}, @@ -51,13 +52,13 @@ class ConnectionOptions { "Zookeeper connection string; unnecessary if ZK_HOST is defined in solr.in.sh; otherwise, defaults to " + CommonCLIOptions.DefaultValues.ZK_HOST + ".") - String zkHost; + public String zkHost; /** * The effective ZooKeeper connection string, taking {@code --solr-connection} into account, or * null if the user targeted Solr via a URL (or gave no target at all). */ - String effectiveZkHost() throws IOException { + public String effectiveZkHost() throws IOException { if (solrConnection != null) { var connection = CloudSolrClient.CloudSolrClientConnection.parse(solrConnection); return connection.isZookeeper() ? solrConnection : null; @@ -69,7 +70,7 @@ String effectiveZkHost() throws IOException { * The effective Solr URL, taking {@code --solr-connection} into account, or null if the user * targeted ZooKeeper (or gave no target at all). */ - String effectiveSolrUrl() throws IOException { + public String effectiveSolrUrl() throws IOException { if (solrConnection != null) { var connection = CloudSolrClient.CloudSolrClientConnection.parse(solrConnection); return connection.isZookeeper() ? null : connection.quorumItems().get(0); @@ -77,7 +78,7 @@ String effectiveSolrUrl() throws IOException { return solrUrl; } - static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) + public static String resolveSolrUrl(ConnectionOptions connectionOptions, String credentials) throws Exception { if (connectionOptions != null) { String solrUrl = connectionOptions.effectiveSolrUrl(); @@ -114,7 +115,7 @@ static String resolveSolrUrl(ConnectionOptions connectionOptions, String credent return defaultUrl; } - static String resolveZkHost( + public static String resolveZkHost( ConnectionOptions connectionOptions, String solrUrl, String credentials) throws Exception { boolean resolveFromSolrUrl = false; if (connectionOptions != null) { diff --git a/solr/core/src/java/org/apache/solr/cli/SolrCLI.java b/solr/core/src/java/org/apache/solr/cli/SolrCLI.java index 555b30bf7c8d..01284fe6e045 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,43 @@ 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.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.PostLogsTool; +import org.apache.solr.cli.tools.PostTool; +import org.apache.solr.cli.tools.RunExampleTool; +import org.apache.solr.cli.tools.StreamTool; +import org.apache.solr.cli.tools.VersionTool; +import org.apache.solr.cli.tools.cluster.ClusterTool; +import org.apache.solr.cli.tools.cluster.HealthcheckTool; +import org.apache.solr.cli.tools.cluster.StatusTool; +import org.apache.solr.cli.tools.pkg.PackageTool; +import org.apache.solr.cli.tools.snapshot.SnapshotCreateShim; +import org.apache.solr.cli.tools.snapshot.SnapshotCreateTool; +import org.apache.solr.cli.tools.snapshot.SnapshotDeleteShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDeleteTool; +import org.apache.solr.cli.tools.snapshot.SnapshotDescribeShim; +import org.apache.solr.cli.tools.snapshot.SnapshotDescribeTool; +import org.apache.solr.cli.tools.snapshot.SnapshotExportShim; +import org.apache.solr.cli.tools.snapshot.SnapshotExportTool; +import org.apache.solr.cli.tools.snapshot.SnapshotListShim; +import org.apache.solr.cli.tools.snapshot.SnapshotListTool; +import org.apache.solr.cli.tools.snapshot.SnapshotTool; +import org.apache.solr.cli.tools.zk.ConfigSetDownloadTool; +import org.apache.solr.cli.tools.zk.ConfigSetUploadTool; +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; +import org.apache.solr.cli.tools.zk.ZkMvTool; +import org.apache.solr.cli.tools.zk.ZkRmTool; +import org.apache.solr.cli.tools.zk.ZkTool; +import org.apache.solr.cli.tools.zk.ZkToolHelp; import org.apache.solr.client.api.util.SolrVersion; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.request.ContentWriterUpdateRequest; diff --git a/solr/core/src/java/org/apache/solr/cli/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/SolrProcessManager.java rename to solr/core/src/java/org/apache/solr/cli/process/SolrProcessManager.java index e51e6c92f9d0..0cc75a1366a0 100644 --- a/solr/core/src/java/org/apache/solr/cli/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; +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/process/package-info.java b/solr/core/src/java/org/apache/solr/cli/process/package-info.java new file mode 100644 index 000000000000..a231b83508af --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/process/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** 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/ApiTool.java b/solr/core/src/java/org/apache/solr/cli/tools/ApiTool.java similarity index 93% 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 0f904185bdcb..146f59693eca 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,18 @@ * 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.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.GenericSolrRequest; import org.apache.solr.client.solrj.response.InputStreamResponseParser; @@ -107,7 +113,7 @@ void callApi(ApiParams params) throws Exception { echo(response); } - protected String callGet(String url, String credentials) throws Exception { + public String callGet(String url, String credentials) throws Exception { URI uri = new URI(url.replace("+", "%20")); String solrUrl = getSolrUrlFromUri(uri); String path = uri.getPath(); diff --git a/solr/core/src/java/org/apache/solr/cli/AssertTool.java b/solr/core/src/java/org/apache/solr/cli/tools/AssertTool.java similarity index 98% 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 c3027b82ed76..fd3a0992bafd 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; @@ -28,6 +28,14 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.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 98% 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 b63a0d545ddf..4885d5ff5365 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; @@ -38,6 +38,13 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.lucene.util.Constants; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.zk.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.util.EnvUtils; 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 96% 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 d9284e8fe4dd..06008b5b6966 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,15 @@ import org.apache.commons.cli.MissingArgumentException; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.common.util.EnvUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/CreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/CreateTool.java similarity index 97% 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 58149b974757..0db1c7756d4f 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; @@ -28,7 +28,16 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.file.PathUtils; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; import org.apache.solr.cli.CommonCLIOptions.DefaultValues; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.CloudSolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/DeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/DeleteTool.java similarity index 96% 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 15ca84581f10..dab30e5ebb85 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,13 +14,21 @@ * 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.Locale; import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.DeprecatedAttributes; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.RemoteSolrException; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrServerException; 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 98% 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 03dacb31f48f..6ac151437a18 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,13 @@ 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.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/PostLogsTool.java b/solr/core/src/java/org/apache/solr/cli/tools/PostLogsTool.java similarity index 98% 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 5f02b57ece20..547e38cffdfc 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,14 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; 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 859cee11e21d..1bcb2fde044a 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,14 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; import org.apache.commons.io.output.NullOutputStream; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.api.util.SolrVersion; 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 66828271c060..f7ade4ef3da0 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,14 @@ 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.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +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/StreamTool.java b/solr/core/src/java/org/apache/solr/cli/tools/StreamTool.java similarity index 98% 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 798707425780..7581917058f1 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; @@ -37,6 +37,15 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.io.SolrClientCache; diff --git a/solr/core/src/java/org/apache/solr/cli/VersionTool.java b/solr/core/src/java/org/apache/solr/cli/tools/VersionTool.java similarity index 90% 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 a7b66e89a8ad..1d44d2c5b285 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,17 @@ * 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.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.api.util.SolrVersion; 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/ClusterTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/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/cluster/ClusterTool.java index baf98380fca5..76a690b62e36 100644 --- a/solr/core/src/java/org/apache/solr/cli/ClusterTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/ClusterTool.java @@ -15,13 +15,19 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.cluster; 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.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.zk.ZkConnectionOptions; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.cloud.ZkController; import org.apache.solr.common.cloud.ClusterProperties; diff --git a/solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/HealthcheckTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/cluster/HealthcheckTool.java index 005be05cec77..c6c758ce3f4e 100644 --- a/solr/core/src/java/org/apache/solr/cli/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; +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; @@ -32,6 +32,15 @@ import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.jetty.HttpJettySolrClient; diff --git a/solr/core/src/java/org/apache/solr/cli/StatusTool.java b/solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/StatusTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/cluster/StatusTool.java index a51e1ba7adc5..7965d7031a34 100644 --- a/solr/core/src/java/org/apache/solr/cli/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; +package org.apache.solr.cli.tools.cluster; import java.util.Collection; import java.util.LinkedHashMap; @@ -29,7 +29,14 @@ import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionGroup; import org.apache.commons.cli.Options; -import org.apache.solr.cli.SolrProcessManager.SolrProcess; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.process.SolrProcessManager; +import org.apache.solr.cli.process.SolrProcessManager.SolrProcess; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.ClusterApi; 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..7df20c6e5886 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/cluster/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** CLI tools for 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 new file mode 100644 index 000000000000..9b2fe5548c69 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** General-purpose Solr CLI tool implementations. */ +package org.apache.solr.cli.tools; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageAddKey.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageAddKey.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java index 97f6bc286beb..1ccd56cb148d 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageAddKey.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddKey.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import java.nio.file.Path; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java index cb3bc7067a32..afe686c3f969 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageAddRepo.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageAddRepo.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package add-repo command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageDeploy.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageDeploy.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java index ff24a7a1692d..31891e422e6e 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageDeploy.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageDeploy.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageInstall.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageInstall.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java index b48c65f4a120..30f5686ab6e1 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageInstall.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageInstall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package install command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java index e0420ecb7d46..72bf9f98c489 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListAvailable.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListAvailable.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package list-available command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java index 944fce6591b0..67343aea6bda 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListDeployed.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListDeployed.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java index e1d62b26d956..036643b6265f 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageListInstalled.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageListInstalled.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package list-installed command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java similarity index 91% rename from solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java index 0b4b35e7e07f..8ac73d4e3f41 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageSubCommand.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageSubCommand.java @@ -15,9 +15,13 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import org.apache.commons.cli.CommandLine; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cli.packagemanager.PackageManager; import org.apache.solr.cli.packagemanager.RepositoryManager; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageTool.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/PackageTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java index c1ef0a086d92..ba186b1db0d7 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageTool.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printGreen; import static org.apache.solr.cli.SolrCLI.printRed; @@ -33,6 +33,14 @@ import org.apache.logging.log4j.core.LoggerContext; import org.apache.logging.log4j.core.config.Configurator; import org.apache.lucene.util.SuppressForbidden; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.cli.packagemanager.PackageManager; import org.apache.solr.cli.packagemanager.PackageUtils; import org.apache.solr.cli.packagemanager.RepositoryManager; @@ -143,7 +151,7 @@ record PackageFlags( @picocli.CommandLine.ArgGroup(exclusive = true, multiplicity = "0..1") ConnectionOptions connectionOptions; - @picocli.CommandLine.Mixin CredentialsOptions credentialsOptions; + @picocli.CommandLine.Mixin public CredentialsOptions credentialsOptions; @picocli.CommandLine.Spec private picocli.CommandLine.Model.CommandSpec spec; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java index d38da3404070..45ae2d81a929 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageUndeploy.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUndeploy.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; import static org.apache.solr.cli.SolrCLI.printRed; diff --git a/solr/core/src/java/org/apache/solr/cli/PackageUninstall.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java similarity index 98% rename from solr/core/src/java/org/apache/solr/cli/PackageUninstall.java rename to solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java index 0171ec552b38..97ad7fce4183 100644 --- a/solr/core/src/java/org/apache/solr/cli/PackageUninstall.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/PackageUninstall.java @@ -15,7 +15,7 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; /** Supports package uninstall command in the bin/solr script. */ @SuppressWarnings("UnnecessarilyFullyQualified") diff --git a/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java b/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java new file mode 100644 index 000000000000..4a37b3c333d8 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/pkg/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** CLI tools for package operations. */ +package org.apache.solr.cli.tools.pkg; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java index 22b55a6da091..01e7a55ce2d8 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotCreateTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotCreateTool.java similarity index 93% 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 5066f75f3bbd..c0bd9828137c 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,19 @@ * 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.CollectionNameOptions; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/SnapshotDeleteShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDeleteShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java index 9834a17d6681..16e2c8faf6df 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDeleteTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDeleteTool.java similarity index 93% 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 399796c9835e..046bf709e94b 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,19 @@ * 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.CollectionNameOptions; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/SnapshotDescribeShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotDescribeShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java index 8426c8754849..7fe2d1d6733e 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotDescribeTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotDescribeTool.java similarity index 94% 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 9793903ccfc9..6dab21a2f4d2 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,14 @@ 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.CollectionNameOptions; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/SnapshotExportShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotExportShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java index 4cb77cf05f24..451cc522f443 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotExportShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotExportTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotExportTool.java similarity index 96% 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 06b8017c1ed3..8ed9c29ff2a0 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,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.time.Instant; import java.time.ZoneOffset; @@ -23,6 +23,14 @@ 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.CollectionNameOptions; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/SnapshotListShim.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java similarity index 97% rename from solr/core/src/java/org/apache/solr/cli/SnapshotListShim.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java index 4085ead8ff05..f42b45dd2745 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotListShim.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListShim.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import org.apache.solr.logging.DeprecationLog; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotListTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotListTool.java similarity index 92% 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 4649215b53ef..fda9643bee7c 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,19 @@ * 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.CollectionNameOptions; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.ConnectionOptions; +import org.apache.solr.cli.CredentialsOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrClient; 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/SnapshotNameOptions.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java similarity index 96% rename from solr/core/src/java/org/apache/solr/cli/SnapshotNameOptions.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java index c4a95de99767..eafe917d97c8 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotNameOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotNameOptions.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import picocli.CommandLine; diff --git a/solr/core/src/java/org/apache/solr/cli/SnapshotTool.java b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java similarity index 93% rename from solr/core/src/java/org/apache/solr/cli/SnapshotTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java index 6c7aba2e33af..3590d5cff627 100644 --- a/solr/core/src/java/org/apache/solr/cli/SnapshotTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/SnapshotTool.java @@ -14,9 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.concurrent.Callable; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; /** 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..81e12093e466 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/snapshot/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** CLI tools for managing Solr collection snapshots. */ +package org.apache.solr.cli.tools.snapshot; diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/ConfigSetDownloadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetDownloadTool.java index 33d7727f6e2f..f7901c49fdd7 100644 --- a/solr/core/src/java/org/apache/solr/cli/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; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import java.nio.file.Files; @@ -23,6 +23,12 @@ 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.ConfigSetOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/ConfigSetUploadTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ConfigSetUploadTool.java index dae7174605ad..07aa3d999dc4 100644 --- a/solr/core/src/java/org/apache/solr/cli/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; +package org.apache.solr.cli.tools.zk; import java.lang.invoke.MethodHandles; import java.nio.file.Path; @@ -22,6 +22,12 @@ 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.ConfigSetOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.apache.solr.common.cloud.ZkMaintenanceUtils; diff --git a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java similarity index 94% rename from solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java index 4a1e6cf331d6..aa159120db8b 100644 --- a/solr/core/src/java/org/apache/solr/cli/UpdateACLTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/UpdateACLTool.java @@ -15,11 +15,16 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; 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.DefaultToolRuntime; +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/ZkConnectionOptions.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java similarity index 95% rename from solr/core/src/java/org/apache/solr/cli/ZkConnectionOptions.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java index c83a58ade0b6..ec5811f468d4 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkConnectionOptions.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkConnectionOptions.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.Map; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.tools.cluster.StatusTool; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.impl.CloudSolrClient; import picocli.CommandLine; diff --git a/solr/core/src/java/org/apache/solr/cli/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 0798a168245f..c70b314f3fd8 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.cli.packagemanager.PackageUtils.format; @@ -27,6 +27,12 @@ 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.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; +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 93% 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 ae87c1173d92..300834e1b871 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,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 java.lang.invoke.MethodHandles; import java.util.concurrent.TimeUnit; import org.apache.commons.cli.Options; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.CommonCLIOptions; +import org.apache.solr.cli.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkMkrootTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkMkrootTool.java similarity index 95% 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 317bd7965b4d..adef050212db 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.cli.packagemanager.PackageUtils.format; @@ -23,6 +23,11 @@ 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.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; import org.slf4j.Logger; 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 95% 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 08eea82044c4..adbaa371ef3e 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.cli.packagemanager.PackageUtils.format; @@ -23,6 +23,11 @@ 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.DefaultToolRuntime; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkRmTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkRmTool.java similarity index 94% 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 c657d456bc50..e0a8648b78ec 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,13 +14,19 @@ * 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 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.DefaultToolRuntime; +import org.apache.solr.cli.RecursiveOption; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrServerException; import org.apache.solr.client.solrj.impl.SolrZkClientTimeout; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/java/org/apache/solr/cli/ZkTool.java b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java similarity index 93% rename from solr/core/src/java/org/apache/solr/cli/ZkTool.java rename to solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java index bed1805853ca..f0b40a976897 100644 --- a/solr/core/src/java/org/apache/solr/cli/ZkTool.java +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/ZkTool.java @@ -14,9 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.concurrent.Callable; +import org.apache.solr.cli.CLIO; +import org.apache.solr.cli.HelpMixin; import picocli.CommandLine; /** 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 96% 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 8217702f511f..4ce2acff56bd 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,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 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.ToolBase; +import org.apache.solr.cli.ToolRuntime; /** Supports zk help information in the bin/solr script. */ public class ZkToolHelp extends ToolBase { 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..3ff4b2606230 --- /dev/null +++ b/solr/core/src/java/org/apache/solr/cli/tools/zk/package-info.java @@ -0,0 +1,19 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** CLI tools for ZooKeeper and config set operations. */ +package org.apache.solr.cli.tools.zk; diff --git a/solr/core/src/test/org/apache/solr/cli/SolrCloudExampleTest.java b/solr/core/src/test/org/apache/solr/cli/SolrCloudExampleTest.java index a9b680c207f9..ef88644f35dd 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrCloudExampleTest.java +++ b/solr/core/src/test/org/apache/solr/cli/SolrCloudExampleTest.java @@ -23,6 +23,10 @@ import java.util.concurrent.TimeUnit; import org.apache.commons.cli.CommandLine; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.tools.CreateTool; +import org.apache.solr.cli.tools.DeleteTool; +import org.apache.solr.cli.tools.PostTool; +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.cloud.AbstractFullDistribZkTestBase; 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 b9957e993cc1..d924444e95cf 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.jetty.HttpJettySolrClient; diff --git a/solr/core/src/test/org/apache/solr/cli/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/SolrProcessManagerTest.java rename to solr/core/src/test/org/apache/solr/cli/process/SolrProcessManagerTest.java index e31ccb3381ec..48ac8f8d63d4 100644 --- a/solr/core/src/test/org/apache/solr/cli/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; +package org.apache.solr.cli.process; import java.io.BufferedReader; import java.io.IOException; @@ -30,7 +30,7 @@ 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.process.SolrProcessManager.SolrProcess; import org.junit.AfterClass; import org.junit.BeforeClass; import org.slf4j.Logger; @@ -95,7 +95,7 @@ private static Pair createProcess(int port, boolean https) thr "-DmockSolr=true", "-cp", classPath, - "org.apache.solr.cli.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/ApiToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/ApiToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java index ef8c7ab3ba6b..66c5464cd4ca 100644 --- a/solr/core/src/test/org/apache/solr/cli/ApiToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ApiToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/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 c44c5258c27d..08d0f9945806 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,13 +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; 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.CLITestHelper; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java index ba1618234552..3fe12346b394 100644 --- a/solr/core/src/test/org/apache/solr/cli/AssertToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AssertToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/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 77f6a273108b..c15089282283 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,11 +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.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.cloud.ZkStateReader; diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java similarity index 89% rename from solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java index 41a4385b55da..1696dbb1643f 100644 --- a/solr/core/src/test/org/apache/solr/cli/AuthToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolPicocliTest.java @@ -15,9 +15,13 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/AuthToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/AuthToolTest.java similarity index 97% 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 b0e94f2ef8da..9aaf6bdf37e4 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,12 +15,14 @@ * 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.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.security.Sha256AuthenticationProvider; import org.junit.After; diff --git a/solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java index 6ba1d85d9689..24625d081834 100644 --- a/solr/core/src/test/org/apache/solr/cli/ConfigToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java index 162144c8c756..61bc0e143189 100644 --- a/solr/core/src/test/org/apache/solr/cli/ConfigToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ConfigToolTest.java @@ -14,8 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CLIUtils; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.SolrClient; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java index 7eddb2c923b1..98b8b650339e 100644 --- a/solr/core/src/test/org/apache/solr/cli/CreateToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/CreateToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/CreateToolTest.java similarity index 94% 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 e1df239b51bb..6728318d60ec 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,8 +15,10 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.util.SecurityJson; import org.junit.BeforeClass; diff --git a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java index 308e9d872371..26b4b6d5b2f7 100644 --- a/solr/core/src/test/org/apache/solr/cli/DeleteToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/DeleteToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/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 4e1bebe38846..68a29166167c 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,8 +15,10 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java index 62781d4c4f4b..42c9df9368b5 100644 --- a/solr/core/src/test/org/apache/solr/cli/ExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/ExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/ExportToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java index c5ceffa4cc0d..5e7105224ca1 100644 --- a/solr/core/src/test/org/apache/solr/cli/ExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/ExportToolTest.java @@ -14,11 +14,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.List; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.AbstractUpdateRequest; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.UpdateRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java index 436594983983..d37a6650d088 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolCliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolCliTest.java @@ -14,12 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; import java.util.Locale; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.client.solrj.request.SolrQuery; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java index 39aa9da7c7ec..f37089bff69a 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostLogsToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostLogsToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/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 5f2089bb5f0c..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; @@ -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/PostToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java similarity index 88% rename from solr/core/src/test/org/apache/solr/cli/PostToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java index 1a0de20e2c7f..583899d3de81 100644 --- a/solr/core/src/test/org/apache/solr/cli/PostToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/PostToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/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 d3c7c0641a3d..1a621f9cc660 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; @@ -35,6 +35,9 @@ import java.util.Set; import org.apache.lucene.util.Constants; import org.apache.solr.SolrTestCaseJ4; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java similarity index 95% rename from solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java index be338f64cba0..e7e86c2f3402 100644 --- a/solr/core/src/test/org/apache/solr/cli/SolrCLIRunExamplePicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/SolrCLIRunExamplePicocliTest.java @@ -14,11 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.io.PrintWriter; import java.io.StringWriter; import java.util.List; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.TestSolrCLIRunExample; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java similarity index 94% rename from solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java index 3dd46ac101dd..634a45b38459 100644 --- a/solr/core/src/test/org/apache/solr/cli/StreamToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/StreamToolPicocliTest.java @@ -14,9 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.util.SecurityJson; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/cli/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 90d458eb7fda..76629af2fc82 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,6 +32,10 @@ import java.util.HashMap; import java.util.List; import org.apache.commons.cli.CommandLine; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; 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 ef6b20853d74..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,6 +32,8 @@ import java.util.zip.GZIPInputStream; import org.apache.lucene.tests.util.TestUtil; import org.apache.solr.SolrTestCaseJ4; +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/VersionToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java similarity index 92% rename from solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java index 4c454ecec275..a8312412fc57 100644 --- a/solr/core/src/test/org/apache/solr/cli/VersionToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/VersionToolPicocliTest.java @@ -14,9 +14,11 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; import picocli.CommandLine; /** 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 48ffedead43a..40ef06796a06 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,8 +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.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/HealthcheckToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/HealthcheckToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java index bcef8b7e705b..046fb3c551dc 100644 --- a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolPicocliTest.java @@ -14,9 +14,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.cluster; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.junit.Test; import picocli.CommandLine; diff --git a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java index 0cd3d8b583ca..524782e59108 100644 --- a/solr/core/src/test/org/apache/solr/cli/HealthcheckToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/HealthcheckToolTest.java @@ -15,9 +15,11 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.cluster; import java.util.Set; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.impl.CloudSolrClient; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java similarity index 92% rename from solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java index 71d9e5ed705e..555aaf7d1577 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/StatusToolPicocliTest.java @@ -14,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.cluster; import java.io.Reader; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; import picocli.CommandLine; /** diff --git a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/cluster/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/cluster/StatusToolTest.java index b01973f83195..d2f657639057 100644 --- a/solr/core/src/test/org/apache/solr/cli/StatusToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/cluster/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.cluster; import java.io.Reader; import java.util.Map; +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/PackageToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java similarity index 90% rename from solr/core/src/test/org/apache/solr/cli/PackageToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java index b850ee70cf19..d6e2f61b6a0d 100644 --- a/solr/core/src/test/org/apache/solr/cli/PackageToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolPicocliTest.java @@ -15,8 +15,10 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolRuntime; import picocli.CommandLine; /** Runs all {@link PackageToolTest} tests through the picocli invocation path. */ diff --git a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/pkg/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/pkg/PackageToolTest.java index a919b30555b7..310213e9b980 100644 --- a/solr/core/src/test/org/apache/solr/cli/PackageToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/pkg/PackageToolTest.java @@ -15,13 +15,17 @@ * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.pkg; 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.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.ApiTool; import org.apache.solr.client.solrj.SolrRequest; import org.apache.solr.client.solrj.SolrResponse; import org.apache.solr.client.solrj.request.CollectionAdminRequest; diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java similarity index 91% rename from solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java index 8be7c47e4594..8d6fa8f98488 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolPicocliTest.java @@ -14,7 +14,10 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; + +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; /** * Runs the {@link SnapshotExportToolTest} tests that go through {@code runTool} using the {@code diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java similarity index 97% rename from solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java index a3c45246a105..ed348e19ded9 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotExportToolTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotExportToolTest.java @@ -14,7 +14,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.io.IOException; import java.nio.file.Files; @@ -25,6 +25,9 @@ import java.util.stream.Stream; import org.apache.commons.cli.CommandLine; import org.apache.lucene.tests.util.LuceneTestCase; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.MiniSolrCloudCluster; import org.apache.solr.cloud.SolrCloudTestCase; diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java index 649c5185cf97..aa1aaf557373 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsPicocliTest.java @@ -14,10 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.ArrayList; import java.util.List; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.SolrCLI; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; import org.apache.solr.logging.DeprecationLog; import org.apache.solr.util.LogListener; import org.junit.Test; diff --git a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java similarity index 96% rename from solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java index 5389dfe1573e..e280b8774707 100644 --- a/solr/core/src/test/org/apache/solr/cli/SnapshotToolsTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/snapshot/SnapshotToolsTest.java @@ -14,10 +14,12 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.snapshot; import java.util.ArrayList; import java.util.List; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.ToolBase; import org.apache.solr.client.solrj.request.CollectionAdminRequest; import org.apache.solr.cloud.SolrCloudTestCase; import org.apache.solr.common.SolrInputDocument; 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 99% 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 bd8f8a8a151f..3ee75847de45 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,6 +27,7 @@ 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; import org.apache.solr.common.cloud.SolrZkClient; diff --git a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java similarity index 91% rename from solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java rename to solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java index 72279717ea97..8f0f13f9dcdf 100644 --- a/solr/core/src/test/org/apache/solr/cli/ZkSubcommandsPicocliTest.java +++ b/solr/core/src/test/org/apache/solr/cli/tools/zk/ZkSubcommandsPicocliTest.java @@ -14,9 +14,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.apache.solr.cli; +package org.apache.solr.cli.tools.zk; import java.util.Arrays; +import org.apache.solr.cli.CLITestHelper; +import org.apache.solr.cli.CliDefaultValueProvider; +import org.apache.solr.cli.ToolBase; +import org.apache.solr.cli.ToolRuntime; +import org.apache.solr.cli.tools.cluster.ClusterTool; import org.apache.solr.common.cloud.ClusterProperties; import org.junit.Test; import picocli.CommandLine; 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 99% 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 80d02217a89e..0b001027ee3d 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,6 +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.ToolBase; +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;