ddlGen.bat 3.9 KB

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