| #!/usr/bin/env bash |
| # |
| # Licensed to the Apache Software Foundation (ASF) under one |
| # or more contributor license agreements. See the NOTICE file |
| # distributed with this work for additional information |
| # regarding copyright ownership. The ASF licenses this file |
| # to you under the Apache License, Version 2.0 (the |
| # "License"); you may not use this file except in compliance |
| # with the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # |
| |
| # STORM-2486: Prevent `cd` from printing the target directory. |
| unset CDPATH |
| |
| # Resolve links - $0 may be a softlink |
| PRG="${0}" |
| |
| while [ -h "${PRG}" ]; do |
| ls=`ls -ld "${PRG}"` |
| link=`expr "$ls" : '.*-> \(.*\)$'` |
| if expr "$link" : '/.*' > /dev/null; then |
| PRG="$link" |
| else |
| PRG=`dirname "${PRG}"`/"$link" |
| fi |
| done |
| |
| # check for version |
| if [ -z $PYTHON ]; then |
| PYTHON="/usr/bin/env python" |
| fi |
| majversion=`$PYTHON -V 2>&1 | awk '{print $2}' | cut -d'.' -f1` |
| minversion=`$PYTHON -V 2>&1 | awk '{print $2}' | cut -d'.' -f2` |
| numversion=$(( 10 * $majversion + $minversion)) |
| if (( $numversion < 26 )); then |
| echo "Need python version > 2.6" |
| exit 1 |
| fi |
| |
| STORM_BIN_DIR=`dirname ${PRG}` |
| export STORM_BASE_DIR=`cd ${STORM_BIN_DIR}/..;pwd` |
| |
| #check to see if the conf dir or file is given as an optional argument |
| if [ $# -gt 1 ]; then |
| if [ "--config" = "$1" ]; then |
| conf_file=$2 |
| if [ -d "$conf_file" ]; then |
| conf_file=$conf_file/storm.yaml |
| fi |
| if [ ! -f "$conf_file" ]; then |
| echo "Error: Cannot find configuration file: $conf_file" |
| exit 1 |
| fi |
| STORM_CONF_FILE=$conf_file |
| STORM_CONF_DIR=`dirname $conf_file` |
| fi |
| fi |
| |
| export STORM_CONF_DIR="${STORM_CONF_DIR:-$STORM_BASE_DIR/conf}" |
| export STORM_CONF_FILE="${STORM_CONF_FILE:-$STORM_BASE_DIR/conf/storm.yaml}" |
| |
| if [ -f "${STORM_CONF_DIR}/storm-env.sh" ]; then |
| . "${STORM_CONF_DIR}/storm-env.sh" |
| fi |
| |
| exec "${STORM_BIN_DIR}/storm.py" "$@" |