The current bootstrap.sh fails when running under qsh on the as400. I think the command is limited to 256 characters in length. Please find below the fix to bootstrap.sh that will work under the qsh on the 400. -Steve More echo ... Compiling Ant Classes for X in `ls ${TOOLS}/bzip2/*.java \ ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \ ${TOOLS}/ant/util/regexp/RegexpMatcher.java \ ${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ ${TOOLS}/ant/types/*.java \ ${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ ${TOOLS}/ant/taskdefs/compilers/*.java \ ${TOOLS}/ant/taskdefs/condition/*.java` do "${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} $X ret=$? if [ $ret != 0 ]; then echo ... Failed compiling Ant classes ! exit $ret fi done
This looks okay, but if there is a way to detect qsh, I'd rather see something like: <pre> parallel=true if some-way-to-determine qsh ; then parallel=false fi sourcefiles=${TOOLS}/bzip2/*.java \ ${TOOLS}/tar/*.java ${TOOLS}/zip/*.java \ ${TOOLS}/ant/util/regexp/RegexpMatcher.java \ ${TOOLS}/ant/util/regexp/RegexpMatcherFactory.java \ ${TOOLS}/ant/types/*.java \ ${TOOLS}/ant/*.java ${TOOLS}/ant/taskdefs/*.java \ ${TOOLS}/ant/taskdefs/compilers/*.java \ ${TOOLS}/ant/taskdefs/condition/*.java if $parallel ; then ret=0 for X in $sourcefiles ; do if [ $ret == 0 ] ; then "${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} $X ret=$? fi done else "${JAVAC}" $BOOTJAVAC_OPTS -d ${CLASSDIR} $X $sourcefiles ret=$? fi if [ $ret != 0 ]; then echo ... Failed compiling Ant classes ! exit $ret fi </pre> -just being nitpicky to avoid multiple invocations of the compiler except when necessary.
OK, This should work then: > echo $0 QSHELL/QZSHSH