ANY23-322 Any23 embedded service is broken
[any23.git] / service / src / main / bin / any23server
1 #!/bin/sh
2 # ----------------------------------------------------------------------------
3 # Licensed to the Apache Software Foundation (ASF) under one or more
4 # contributor license agreements. See the NOTICE file distributed with
5 # this work for additional information regarding copyright ownership.
6 # The ASF licenses this file to You under the Apache License, Version 2.0
7 # (the "License"); you may not use this file except in compliance with
8 # the License.  You may obtain a copy of the License at
9
10 #  http://www.apache.org/licenses/LICENSE-2.0
11
12 # Unless required by applicable law or agreed to in writing, software
13 # distributed under the License is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ----------------------------------------------------------------------------
18
19 BASEDIR=`dirname $0`/..
20 BASEDIR=`(cd "$BASEDIR"; pwd)`
21
22 # OS specific support.  $var _must_ be set to either true or false.
23 cygwin=false;
24 darwin=false;
25 case "`uname`" in
26   CYGWIN*) cygwin=true ;;
27   Darwin*) darwin=true
28            if [ -z "$JAVA_VERSION" ] ; then
29              JAVA_VERSION="CurrentJDK"
30            else
31              echo "Using Java version: $JAVA_VERSION"
32            fi
33            if [ -z "$JAVA_HOME" ] ; then
34              JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
35            fi
36            ;;
37 esac
38
39 if [ -z "$JAVA_HOME" ] ; then
40   if [ -r /etc/gentoo-release ] ; then
41     JAVA_HOME=`java-config --jre-home`
42   fi
43 fi
44
45 # For Cygwin, ensure paths are in UNIX format before anything is touched
46 if $cygwin ; then
47   [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
48   [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --unix "$CLASSPATH"`
49 fi
50
51 # If a specific java binary isn't specified search for the standard 'java' binary
52 if [ -z "$JAVACMD" ] ; then
53   if [ -n "$JAVA_HOME"  ] ; then
54     if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
55       # IBM's JDK on AIX uses strange locations for the executables
56       JAVACMD="$JAVA_HOME/jre/sh/java"
57     else
58       JAVACMD="$JAVA_HOME/bin/java"
59     fi
60   else
61     JAVACMD=`which java`
62   fi
63 fi
64
65 if [ ! -x "$JAVACMD" ] ; then
66   echo "Error: JAVA_HOME is not defined correctly."
67   echo "  We cannot execute $JAVACMD"
68   exit 1
69 fi
70
71 if [ -z "$REPO" ]
72 then
73   REPO="$BASEDIR"/lib
74 fi
75
76 EXTRA_JVM_ARGUMENTS="-Xms500m -Xmx500m -XX:-UseGCOverheadLimit"
77
78 # For Cygwin, switch paths to Windows format before running java
79 if $cygwin; then
80   [ -n "$CLASSPATH" ] && CLASSPATH=`cygpath --path --windows "$CLASSPATH"`
81   [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"`
82   [ -n "$HOME" ] && HOME=`cygpath --path --windows "$HOME"`
83   [ -n "$BASEDIR" ] && BASEDIR=`cygpath --path --windows "$BASEDIR"`
84   [ -n "$REPO" ] && REPO=`cygpath --path --windows "$REPO"`
85 fi
86
87 exec "$JAVACMD" $JAVA_OPTS \
88   $EXTRA_JVM_ARGUMENTS \
89   -jar "$REPO"/jetty-runner-${jetty.runner.version}.jar \
90   --path /${project.artifactId} "$REPO"/${project.build.finalName}.${project.packaging}