You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by to...@apache.org on 2022/03/12 10:42:24 UTC
[lucene] branch branch_9x updated: LUCENE-10461: fix windows launch script for luke so that it works with integration tests AND actual command line. Cmd escaping rules and start command line is absolutely insane. (#743)
This is an automated email from the ASF dual-hosted git repository.
tomoko pushed a commit to branch branch_9x
in repository https://gitbox.apache.org/repos/asf/lucene.git
The following commit(s) were added to refs/heads/branch_9x by this push:
new a34072c LUCENE-10461: fix windows launch script for luke so that it works with integration tests AND actual command line. Cmd escaping rules and start command line is absolutely insane. (#743)
a34072c is described below
commit a34072c816d9992e7c04849f83f36b7a3231dcc3
Author: Dawid Weiss <da...@carrotsearch.com>
AuthorDate: Sat Mar 12 11:39:31 2022 +0100
LUCENE-10461: fix windows launch script for luke so that it works with integration tests AND actual command line. Cmd escaping rules and start command line is absolutely insane. (#743)
---
lucene/distribution/src/binary-release/bin/luke.cmd | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git a/lucene/distribution/src/binary-release/bin/luke.cmd b/lucene/distribution/src/binary-release/bin/luke.cmd
index bd1f66a..648cade 100644
--- a/lucene/distribution/src/binary-release/bin/luke.cmd
+++ b/lucene/distribution/src/binary-release/bin/luke.cmd
@@ -13,24 +13,30 @@
@rem See the License for the specific language governing permissions and
@rem limitations under the License.
-@echo off
+@ECHO OFF
SETLOCAL
SET MODULES=%~dp0..
IF DEFINED LAUNCH_CMD GOTO testing
-SET LAUNCH_CMD=start javaw
+REM Windows 'start' command takes the first quoted argument to be the title of the started window. Since we
+REM quote the LAUNCH_CMD (because it can contain spaces), it misinterprets it as the title and fails to run.
+REM force the window title here.
+SET LAUNCH_START=start "Lucene Luke"
+SET LAUNCH_CMD=javaw
SET LAUNCH_OPTS=
goto launch
:testing
-REM For distribution testing we don't use start and pass an explicit launch ('java') command,
-REM otherwise we can't block on luke invocation and can't intercept the return status.
-REM We also force UTF-8 encoding.
+REM For distribution testing we don't use start and pass an explicit java command path,
+REM This is required because otherwise we can't block on luke invocation and can't intercept
+REM the return status. We also force UTF-8 encoding so that we don't have to interpret the output in
+REM an unknown local platform encoding.
+SET LAUNCH_START=
SET LAUNCH_OPTS=-Dfile.encoding=UTF-8
:launch
-"%LAUNCH_CMD%" %LAUNCH_OPTS% --module-path "%MODULES%\modules;%MODULES%\modules-thirdparty" --module org.apache.lucene.luke %*
+%LAUNCH_START% "%LAUNCH_CMD%" %LAUNCH_OPTS% --module-path "%MODULES%\modules;%MODULES%\modules-thirdparty" --module org.apache.lucene.luke %*
SET EXITVAL=%errorlevel%
EXIT /b %EXITVAL%
ENDLOCAL