xref: /aosp_15_r20/sdk/hierarchyviewer/etc/hierarchyviewer1.sh (revision 1789df15502f1991eff51ff970dce5df8404dd56)
1*1789df15SXin Li#!/bin/sh
2*1789df15SXin Li# Copyright 2008, The Android Open Source Project
3*1789df15SXin Li#
4*1789df15SXin Li# Licensed under the Apache License, Version 2.0 (the "License");
5*1789df15SXin Li# you may not use this file except in compliance with the License.
6*1789df15SXin Li# You may obtain a copy of the License at
7*1789df15SXin Li#
8*1789df15SXin Li#     http://www.apache.org/licenses/LICENSE-2.0
9*1789df15SXin Li#
10*1789df15SXin Li# Unless required by applicable law or agreed to in writing, software
11*1789df15SXin Li# distributed under the License is distributed on an "AS IS" BASIS,
12*1789df15SXin Li# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*1789df15SXin Li# See the License for the specific language governing permissions and
14*1789df15SXin Li# limitations under the License.
15*1789df15SXin Li
16*1789df15SXin Li# Set up prog to be the path of this script, including following symlinks,
17*1789df15SXin Li# and set up progdir to be the fully-qualified pathname of its directory.
18*1789df15SXin Liprog="$0"
19*1789df15SXin Liwhile [ -h "${prog}" ]; do
20*1789df15SXin Li    newProg=`/bin/ls -ld "${prog}"`
21*1789df15SXin Li    newProg=`expr "${newProg}" : ".* -> \(.*\)$"`
22*1789df15SXin Li    if expr "x${newProg}" : 'x/' >/dev/null; then
23*1789df15SXin Li        prog="${newProg}"
24*1789df15SXin Li    else
25*1789df15SXin Li        progdir=`dirname "${prog}"`
26*1789df15SXin Li        prog="${progdir}/${newProg}"
27*1789df15SXin Li    fi
28*1789df15SXin Lidone
29*1789df15SXin Lioldwd=`pwd`
30*1789df15SXin Liprogdir=`dirname "${prog}"`
31*1789df15SXin Licd "${progdir}"
32*1789df15SXin Liprogdir=`pwd`
33*1789df15SXin Liprog="${progdir}"/`basename "${prog}"`
34*1789df15SXin Licd "${oldwd}"
35*1789df15SXin Li
36*1789df15SXin Lijarfile=hierarchyviewer.jar
37*1789df15SXin Liframeworkdir="$progdir"
38*1789df15SXin Liif [ ! -r "$frameworkdir/$jarfile" ]
39*1789df15SXin Lithen
40*1789df15SXin Li    frameworkdir=`dirname "$progdir"`/tools/lib
41*1789df15SXin Li    libdir=`dirname "$progdir"`/tools/lib
42*1789df15SXin Lifi
43*1789df15SXin Liif [ ! -r "$frameworkdir/$jarfile" ]
44*1789df15SXin Lithen
45*1789df15SXin Li    frameworkdir=`dirname "$progdir"`/framework
46*1789df15SXin Li    libdir=`dirname "$progdir"`/lib
47*1789df15SXin Lifi
48*1789df15SXin Liif [ ! -r "$frameworkdir/$jarfile" ]
49*1789df15SXin Lithen
50*1789df15SXin Li    echo `basename "$prog"`": can't find $jarfile"
51*1789df15SXin Li    exit 1
52*1789df15SXin Lifi
53*1789df15SXin Li
54*1789df15SXin Liif [ "$OSTYPE" = "cygwin" ] ; then
55*1789df15SXin Li    jarpath=`cygpath -w  "$frameworkdir/$jarfile"`
56*1789df15SXin Li    progdir=`cygpath -w  "$progdir"`
57*1789df15SXin Lielse
58*1789df15SXin Li    jarpath="$frameworkdir/$jarfile"
59*1789df15SXin Lifi
60*1789df15SXin Li
61*1789df15SXin Li# need to use "java.ext.dirs" because "-jar" causes classpath to be ignored
62*1789df15SXin Li# might need more memory, e.g. -Xmx128M
63*1789df15SXin Liexec java -Xmx512M -Djava.ext.dirs="$frameworkdir" -Dhierarchyviewer.adb="$progdir" -jar "$jarpath" "$@"
64