This is an automated email from the ASF dual-hosted git repository.
malliaridis pushed a commit to branch branch_9_8
in repository https://gitbox.apache.org/repos/asf/solr.git
The following commit(s) were added to refs/heads/branch_9_8 by this push:
new a86d50db808 SOLR-17595: Backport "Fix Solr examples for Windows"
(#2911)
a86d50db808 is described below
commit a86d50db808591eff7b47923641802a42aa30eec
Author: Christos Malliaridis <[email protected]>
AuthorDate: Wed Dec 18 17:52:06 2024 +0200
SOLR-17595: Backport "Fix Solr examples for Windows" (#2911)
* Fix argument parsing for -D options with multiple values on Windows
(cherry picked from commit 44ea44d1fb07019e8bcd56c7a341301566d64deb)
* SOLR-17595: Fix Solr examples for Windows (#2909)
* Fix argument parsing for -D options with multiple values on Windows
* Fix invalid usage of wildcards in RunExampleTool / PostTool
(cherry picked from commit a4229e76771da0125b38204db01ea0934e09c4f4)
* Fix unsupported method
---
solr/CHANGES.txt | 3 +++
solr/bin/solr.cmd | 27 +++++++++++++++++++---
.../java/org/apache/solr/cli/RunExampleTool.java | 4 +++-
3 files changed, 30 insertions(+), 4 deletions(-)
diff --git a/solr/CHANGES.txt b/solr/CHANGES.txt
index b6396873d36..b6f30d7f998 100644
--- a/solr/CHANGES.txt
+++ b/solr/CHANGES.txt
@@ -114,6 +114,9 @@ Bug Fixes
* SOLR-17586: Print zkcli.sh deprecation msg to stderr, which fixes Solr
Operator upload of security.json to zookeeper (Jan Høydahl)
+* SOLR-17595: Fix two issues in Solr CLI that prevent Solr from starting with
the techproducts example and from
+ correctly parsing arguments on Windows that start with -D and have multiple
values separated by "," or spaces. (Christos Malliaridis)
+
Dependency Upgrades
---------------------
* PR#2702: chore(deps): update io.netty:* to v4.1.114.final (solrbot)
diff --git a/solr/bin/solr.cmd b/solr/bin/solr.cmd
index 6581d14ed4e..af440528d06 100755
--- a/solr/bin/solr.cmd
+++ b/solr/bin/solr.cmd
@@ -726,15 +726,36 @@ SHIFT
goto parse_args
:set_passthru
-set "PASSTHRU=%~1=%~2"
+set "PASSTHRU_KEY=%~1"
+set "PASSTHRU_VALUES="
+
+SHIFT
+:repeat_passthru
+set "arg=%~1"
+if "%arg%"=="" goto end_passthru
+set firstChar=%arg:~0,1%
+IF "%firstChar%"=="-" (
+ goto end_passthru
+)
+
+if defined PASSTHRU_VALUES (
+ set "PASSTHRU_VALUES=%PASSTHRU_VALUES%,%arg%"
+) else (
+ set "PASSTHRU_VALUES=%arg%"
+)
+SHIFT
+goto repeat_passthru
+
+:end_passthru
+set "PASSTHRU=%PASSTHRU_KEY%=%PASSTHRU_VALUES%"
+
IF NOT "%SOLR_OPTS%"=="" (
set "SOLR_OPTS=%SOLR_OPTS% %PASSTHRU%"
) ELSE (
set "SOLR_OPTS=%PASSTHRU%"
)
set "PASS_TO_RUN_EXAMPLE=%PASSTHRU% !PASS_TO_RUN_EXAMPLE!"
-SHIFT
-SHIFT
+
goto parse_args
:set_noprompt
diff --git a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
index 0b278d13e60..a9afa3be2db 100644
--- a/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
+++ b/solr/core/src/java/org/apache/solr/cli/RunExampleTool.java
@@ -337,7 +337,9 @@ public class RunExampleTool extends ToolBase {
collectionName,
"--type",
"application/xml",
- exampledocsDir.getAbsolutePath() + "/*.xml"
+ "--filetypes",
+ "xml",
+ exampledocsDir.getAbsolutePath()
};
PostTool postTool = new PostTool();
CommandLine postToolCli = SolrCLI.parseCmdLine(postTool, args);