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 <malliari...@apache.org>
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);

Reply via email to