I'm trying out apache maven (v2.2.1) on TCC 11.00.31 x64 Windows 7 [v 6.1.7600]. The maven batch file (mvn.bat) seems to be written to recognize 4NT - at least older versions of the 4NT command shell. It contains batch code that looks like this:
...
@REM -- 4NT shell
if "%@eval[2+2]" == "4" goto 4NTArgs
@REM -- Regular WinNT shell
set MAVEN_CMD_LINE_ARGS=%*
goto endInit
@REM The 4NT Shell from jp software
:4NTArgs
set MAVEN_CMD_LINE_ARGS=%$
goto endInit
...
:endInit
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
@REM -- 4NT shell
if "%@eval[2+2]" == "4" goto 4NTCWJars
@REM -- Regular WinNT shell
for %%i in ("%M2_HOME%"\boot\classworlds-*) do set CLASSWORLDS_JAR="%%i"
goto runm2
@REM The 4NT Shell from jp software
:4NTCWJars
for %%i in ("%M2_HOME%\boot\classworlds-*") do set CLASSWORLDS_JAR="%%i"
goto runm2
...
I've found that maven doesn't work properly when this code is enabled, so I've REM'd out the relevant 'if' statements (e.g., @REM if "%@eval...) and used the base code path, which assumes regular cmd.exe operation.
This actually works fine for me. I guess TCC has become "more compatible" with cmd.exe in the later versions of TCC and Windows, but perhaps at the expense of backward compatibility with older versions of 4NT... (?)
Anyone know why this might be? I'd like to submit a patch to the apache maven folks so that the mvn.bat file will work with both older and newer versions of 4NT/TCC. Any idea how I might go about determining when the change took place that caused the breakage?
Thanks in advance,
John
...
@REM -- 4NT shell
if "%@eval[2+2]" == "4" goto 4NTArgs
@REM -- Regular WinNT shell
set MAVEN_CMD_LINE_ARGS=%*
goto endInit
@REM The 4NT Shell from jp software
:4NTArgs
set MAVEN_CMD_LINE_ARGS=%$
goto endInit
...
:endInit
SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
@REM -- 4NT shell
if "%@eval[2+2]" == "4" goto 4NTCWJars
@REM -- Regular WinNT shell
for %%i in ("%M2_HOME%"\boot\classworlds-*) do set CLASSWORLDS_JAR="%%i"
goto runm2
@REM The 4NT Shell from jp software
:4NTCWJars
for %%i in ("%M2_HOME%\boot\classworlds-*") do set CLASSWORLDS_JAR="%%i"
goto runm2
...
I've found that maven doesn't work properly when this code is enabled, so I've REM'd out the relevant 'if' statements (e.g., @REM if "%@eval...) and used the base code path, which assumes regular cmd.exe operation.
This actually works fine for me. I guess TCC has become "more compatible" with cmd.exe in the later versions of TCC and Windows, but perhaps at the expense of backward compatibility with older versions of 4NT... (?)
Anyone know why this might be? I'd like to submit a patch to the apache maven folks so that the mvn.bat file will work with both older and newer versions of 4NT/TCC. Any idea how I might go about determining when the change took place that caused the breakage?
Thanks in advance,
John