MakeJAR2.sh revision 6383:7da291690aa0
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
27AGENT="$1"
28APP="$2"
29
30if [ "${TESTSRC}" = "" ]
31then
32  echo "TESTSRC not set.  Test cannot execute.  Failed."
33  exit 1
34fi
35echo "TESTSRC=${TESTSRC}"
36
37if [ "${TESTJAVA}" = "" ]
38then
39  echo "TESTJAVA not set.  Test cannot execute.  Failed."
40  exit 1
41fi
42echo "TESTJAVA=${TESTJAVA}"
43
44if [ "${COMPILEJAVA}" = "" ]
45then
46  COMPILEJAVA="${TESTJAVA}"
47fi
48echo "COMPILEJAVA=${COMPILEJAVA}"
49
50if [ "${TESTCLASSES}" = "" ]
51then
52  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
53  exit 1
54fi
55
56OS=`uname -s`
57case "$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      ;;
71esac
72
73JAVAC="${COMPILEJAVA}/bin/javac -g"
74JAR="${COMPILEJAVA}/bin/jar"
75
76cp ${TESTSRC}/${AGENT}.java .
77cp ${TESTSRC}/${APP}.java .
78rm -rf ilib
79mkdir ilib
80cp ${TESTSRC}/ilib/*.java ilib
81rm -rf bootpath
82mkdir -p bootpath/bootreporter
83cp ${TESTSRC}/bootreporter/*.java bootpath/bootreporter
84
85cd bootpath
86${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} bootreporter/*.java
87cd ..
88
89${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} ${AGENT}.java ilib/*.java
90${JAVAC} ${TESTJAVACOPTS} ${TESTTOOLVMOPTS} -classpath .${PATHSEP}bootpath ${APP}.java
91
92echo "Manifest-Version: 1.0"    >  ${AGENT}.mf
93echo Premain-Class: ${AGENT} >> ${AGENT}.mf
94echo Boot-Class-Path: bootpath >> ${AGENT}.mf
95shift 2
96while [ $# != 0 ] ; do
97  echo $1 >> ${AGENT}.mf
98  shift
99done
100
101${JAR} ${TESTTOOLVMOPTS} cvfm ${AGENT}.jar ${AGENT}.mf ${AGENT}*.class ilib/*.class
102
103# rm -rf  ${AGENT}.java ilib ${AGENT}.mf ${AGENT}*.class
104