You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

fop.sh 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. #! /bin/sh
  2. #
  3. # Shell script to run FOP, adapted from the Jakarta-Ant project.
  4. if [ -f $HOME/.foprc ] ; then
  5. . $HOME/.foprc
  6. fi
  7. # OS specific support. $var _must_ be set to either true or false.
  8. cygwin=false;
  9. darwin=false;
  10. case "`uname`" in
  11. CYGWIN*) cygwin=true ;;
  12. Darwin*) darwin=true ;;
  13. esac
  14. if [ -z "$FOP_HOME" ] ; then
  15. # try to find FOP
  16. if [ -d /opt/fop ] ; then
  17. FOP_HOME=/opt/fop
  18. fi
  19. if [ -d ${HOME}/opt/fop ] ; then
  20. FOP_HOME=${HOME}/opt/fop
  21. fi
  22. ## resolve links - $0 may be a link to fop's home
  23. PRG=$0
  24. progname=`basename $0`
  25. while [ -h "$PRG" ] ; do
  26. ls=`ls -ld "$PRG"`
  27. link=`expr "$ls" : '.*-> \(.*\)$'`
  28. if expr "$link" : '.*/.*' > /dev/null; then
  29. PRG="$link"
  30. else
  31. PRG="`dirname $PRG`/$link"
  32. fi
  33. done
  34. FOP_HOME=`dirname "$PRG"`
  35. fi
  36. # For Cygwin, ensure paths are in UNIX format before anything is touched
  37. if $cygwin ; then
  38. [ -n "$FOP_HOME" ] &&
  39. FOP_HOME=`cygpath --unix "$FOP_HOME"`
  40. [ -n "$FOP_HYPHENATION_PATH" ] &&
  41. FOP_HYPHENATION_PATH=`cygpath --unix "$FOP_HYPHENATION_PATH"`
  42. [ -n "$JAVA_HOME" ] &&
  43. JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
  44. [ -n "$CLASSPATH" ] &&
  45. CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
  46. fi
  47. if [ -z "$JAVACMD" ] ; then
  48. if [ -n "$JAVA_HOME" ] ; then
  49. if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
  50. # IBM's JDK on AIX uses strange locations for the executables
  51. JAVACMD=$JAVA_HOME/jre/sh/java
  52. else
  53. JAVACMD=$JAVA_HOME/bin/java
  54. fi
  55. else
  56. JAVACMD=java
  57. fi
  58. fi
  59. if [ ! -x "$JAVACMD" ] ; then
  60. echo "Error: JAVA_HOME is not defined correctly."
  61. echo " We cannot execute $JAVACMD"
  62. exit
  63. fi
  64. if [ -n "$CLASSPATH" ] ; then
  65. LOCALCLASSPATH=$CLASSPATH
  66. fi
  67. # add fop.jar, which resides in $FOP_HOME/build
  68. LOCALCLASSPATH=${FOP_HOME}/build/fop.jar:$LOCALCLASSPATH
  69. # add fop-hyph.jar, which may reside in $FOP_HOME/build
  70. LOCALCLASSPATH=${FOP_HOME}/build/fop-hyph.jar:$LOCALCLASSPATH
  71. # add in the dependency .jar files, which reside in $FOP_HOME/lib
  72. DIRLIBS=${FOP_HOME}/lib/*.jar
  73. for i in ${DIRLIBS}
  74. do
  75. # if the directory is empty, then it will return the input string
  76. # this is stupid, so case for it
  77. if [ "$i" != "${DIRLIBS}" ] ; then
  78. if [ -z "$LOCALCLASSPATH" ] ; then
  79. LOCALCLASSPATH=$i
  80. else
  81. LOCALCLASSPATH="$i":$LOCALCLASSPATH
  82. fi
  83. fi
  84. done
  85. # add in user-defined hyphenation JARs
  86. if [ -n "$FOP_HYPHENATION_PATH" ] ; then
  87. LOCALCLASSPATH=$LOCALCLASSPATH:$FOP_HYPHENATION_PATH
  88. fi
  89. # For Cygwin, switch paths to Windows format before running java
  90. if $cygwin; then
  91. FOP_HOME=`cygpath --path --windows "$FOP_HOME"`
  92. JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
  93. LOCALCLASSPATH=`cygpath --path --windows "$LOCALCLASSPATH"`
  94. fi
  95. $JAVACMD -classpath "$LOCALCLASSPATH" $FOP_OPTS org.apache.fop.apps.Fop "$@"