1 #!/bin/sh 2 3 # 4 # Copyright (c) 2005, 2008, Oracle and/or its affiliates. All rights reserved. 5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 6 # 7 # This code is free software; you can redistribute it and/or modify it 8 # under the terms of the GNU General Public License version 2 only, as 9 # published by the Free Software Foundation. 10 # 11 # This code is distributed in the hope that it will be useful, but WITHOUT 12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 # version 2 for more details (a copy is included in the LICENSE file that 15 # accompanied this code). 16 # 17 # You should have received a copy of the GNU General Public License version 18 # 2 along with this work; if not, write to the Free Software Foundation, 19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 # 21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 # or visit www.oracle.com if you need additional information or have any 23 # questions. 24 # 25 26 27 AGENT="$1" 28 APP="$2" 29 30 if [ "${TESTSRC}" = "" ] 31 then 32 echo "TESTSRC not set. Test cannot execute. Failed." 33 exit 1 34 fi 35 echo "TESTSRC=${TESTSRC}" 36 37 if [ "${TESTJAVA}" = "" ] 38 then 39 echo "TESTJAVA not set. Test cannot execute. Failed." 40 exit 1 41 fi 42 echo "TESTJAVA=${TESTJAVA}" 43 44 if [ "${COMPILEJAVA}" = "" ] 45 then 46 COMPILEJAVA="${TESTJAVA}" 47 fi 48 echo "COMPILEJAVA=${COMPILEJAVA}" 49 50 if [ "${TESTCLASSES}" = "" ] 51 then 52 echo "TESTCLASSES not set. Test cannot execute. Failed." 53 exit 1 54 fi 55 56 OS=`uname -s` 57 case "$OS" in 58 SunOS | Linux ) 59 PATHSEP=":" 60 ;; 61 62 Windows* | CYGWIN*) 63 PATHSEP=";" 64 ;; 65 66 # catch all other OSs 67 * ) 68 echo "Unrecognized system! $OS" 69 fail "Unrecognized system! $OS" 70 ;; 71 esac 72 73 JAVAC="${COMPILEJAVA}/bin/javac -g" 74 JAR="${COMPILEJAVA}/bin/jar" 75 76 cp ${TESTSRC}/${AGENT}.java . 77 cp ${TESTSRC}/${APP}.java . 78 rm -rf asmlib 79 mkdir asmlib 80 cp ${TESTSRC}/asmlib/*.java asmlib 81 rm -rf bootpath 82 mkdir -p bootpath/bootreporter 83 cp ${TESTSRC}/bootreporter/*.java bootpath/bootreporter 84 85 cd bootpath 86 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} bootreporter/*.java 87 cd .. 88 89 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} \ 90 -XaddExports:java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED ${AGENT}.java asmlib/*.java 91 ${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -classpath .${PATHSEP}bootpath ${APP}.java 92 93 echo "Manifest-Version: 1.0" > ${AGENT}.mf 94 echo Premain-Class: ${AGENT} >> ${AGENT}.mf 95 echo Boot-Class-Path: bootpath >> ${AGENT}.mf 96 shift 2 97 while [ $# != 0 ] ; do 98 echo $1 >> ${AGENT}.mf 99 shift 100 done 101 102 ${JAR} ${TESTTOOLVMOPTS} cvfm ${AGENT}.jar ${AGENT}.mf ${AGENT}*.class asmlib/*.class 103 104 # rm -rf ${AGENT}.java asmlib ${AGENT}.mf ${AGENT}*.class