featureManager.bat 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set errorlevel=
  4. set CURRENT_DIR="%~dp0"
  5. set CURRENT_DIR=!CURRENT_DIR:"=!
  6. set WLP_INSTALL_DIR=!CURRENT_DIR:~0,-5!
  7. @REM De-quote input environment variables.
  8. if defined JRE_HOME set JRE_HOME=!JRE_HOME:"=!
  9. if defined JAVA_HOME set JAVA_HOME=!JAVA_HOME:"=!
  10. if defined WLP_USER_DIR set WLP_USER_DIR=!WLP_USER_DIR:"=!
  11. if defined WLP_OUTPUT_DIR set WLP_OUTPUT_DIR=!WLP_OUTPUT_DIR:"=!
  12. call:readServerEnv "%WLP_INSTALL_DIR%\java\java.env"
  13. call:readServerEnv "%WLP_INSTALL_DIR%\etc\default.env"
  14. call:readServerEnv "%WLP_INSTALL_DIR%\etc\server.env"
  15. if not defined WLP_DEFAULT_USER_DIR set WLP_DEFAULT_USER_DIR=!WLP_INSTALL_DIR!\usr
  16. if not defined WLP_USER_DIR set WLP_USER_DIR=!WLP_DEFAULT_USER_DIR!
  17. if not defined WLP_DEFAULT_OUTPUT_DIR set WLP_DEFAULT_OUTPUT_DIR=!WLP_USER_DIR!\servers
  18. if not defined WLP_OUTPUT_DIR set WLP_OUTPUT_DIR=!WLP_DEFAULT_OUTPUT_DIR!
  19. @REM find the java command
  20. if NOT defined JAVA_HOME (
  21. if NOT defined JRE_HOME (
  22. if NOT defined WLP_DEFAULT_JAVA_HOME (
  23. @REM Use whatever java is on the path
  24. set JAVA_CMD_QUOTED="java"
  25. ) else (
  26. if "!WLP_DEFAULT_JAVA_HOME:~0,17!" == "@WLP_INSTALL_DIR@" (
  27. set WLP_DEFAULT_JAVA_HOME=!WLP_INSTALL_DIR!!WLP_DEFAULT_JAVA_HOME:~17!
  28. )
  29. set JAVA_CMD_QUOTED="!WLP_DEFAULT_JAVA_HOME!\bin\java"
  30. )
  31. ) else (
  32. set JAVA_CMD_QUOTED="%JRE_HOME%\bin\java"
  33. )
  34. ) else (
  35. if exist "%JAVA_HOME%\jre\bin\java.exe" set JAVA_HOME=!JAVA_HOME!\jre
  36. set JAVA_CMD_QUOTED="!JAVA_HOME!\bin\java"
  37. )
  38. @REM If this is a Java 9 JDK, add some JDK 9 workarounds to the JVM_ARGS
  39. if exist "%JAVA_HOME%\jmods\java.base.jmod" set JVM_ARGS=--add-opens java.base/java.lang=ALL-UNNAMED --add-exports java.base/sun.security.action=ALL-UNNAMED !JVM_ARGS!
  40. set JVM_ARGS=-Djava.awt.headless=true !JVM_ARGS!
  41. set TOOL_JAVA_CMD_QUOTED=!JAVA_CMD_QUOTED! !JVM_ARGS! -jar "!WLP_INSTALL_DIR!\bin\tools/ws-featureManager.jar"
  42. @REM Do not create a SCC
  43. if defined IBM_JAVA_OPTIONS (
  44. set IBM_JAVA_OPTIONS=!IBM_JAVA_OPTIONS! -Xshareclasses:none
  45. )
  46. if defined OPENJ9_JAVA_OPTIONS (
  47. set OPENJ9_JAVA_OPTIONS=!OPENJ9_JAVA_OPTIONS! -Xshareclasses:none
  48. )
  49. @REM Execute the tool script or JAR.
  50. if exist "!WLP_INSTALL_DIR!\lib\tools-internal/featureManager.bat" goto:script
  51. !TOOL_JAVA_CMD_QUOTED! %*
  52. set RC=%errorlevel%
  53. call:javaCmdResult
  54. goto:exit
  55. :script
  56. set JAVA_RC=
  57. call "!WLP_INSTALL_DIR!\lib\tools-internal/featureManager" %*
  58. if defined JAVA_RC (
  59. set RC=!JAVA_RC!
  60. call:javaCmdResult
  61. )
  62. goto:exit
  63. @REM
  64. @REM Read and set variables from the quoted file %1. Empty lines and lines
  65. @REM beginning with the hash character ('#') are ignored. All other lines must
  66. @REM be be of the form: VAR=VALUE
  67. @REM
  68. :readServerEnv
  69. if not exist %1 goto:eof
  70. for /f "usebackq eol=# delims== tokens=1,*" %%i in (%1) do set %%i=%%j
  71. goto:eof
  72. @REM
  73. @REM Check the result of a Java command.
  74. @REM
  75. :javaCmdResult
  76. if %RC% == 0 goto:eof
  77. if !JAVA_CMD_QUOTED! == "java" (
  78. @REM The command does not contain "\", so errorlevel 9009 will be reported
  79. @REM if the command does not exist.
  80. if %RC% neq 9009 goto:eof
  81. ) else (
  82. @REM The command contains "\", so errorlevel 3 will be reported. We can't
  83. @REM distinguish that from our own exit codes, so check for the existence
  84. @REM of java.exe.
  85. if exist !JAVA_CMD_QUOTED!.exe goto:eof
  86. )
  87. @REM Windows prints a generic "The system cannot find the path specified.",
  88. @REM so echo the java command.
  89. echo !JAVA_CMD_QUOTED!
  90. goto:eof
  91. :exit
  92. %COMSPEC% /c exit %RC%