blob: 630b0870d05506396a2b34e985c199c51578aef3 [file] [log] [blame]
#!/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.
#
search() {
local i=0;
local needle=$1;
shift
for str in $@; do
if [ "${str}" = "$needle" ]; then
echo ${i}
return
else
((i++))
fi
done
echo ${i}
}
if [ -z $PIO_HOME ] ; then
PIO_FILE=$(readlink -f $0 2>/dev/null)
if [ $? = 0 ] ; then
export PIO_HOME="$(cd $(dirname $PIO_FILE)/..; pwd)"
else
CURRENT_DIR=`pwd`
TARGET_FILE="$0"
cd "$(dirname "$TARGET_FILE")"
TARGET_FILE=$(basename "$TARGET_FILE")
while [ -L "$TARGET_FILE" ]
do
TARGET_FILE=$(readlink "$TARGET_FILE")
cd "$(dirname "$TARGET_FILE")"
TARGET_FILE=$(basename "$TARGET_FILE")
done
export PIO_HOME="$(cd $(dirname "$TARGET_FILE")/..; pwd -P)"
cd "$CURRENT_DIR"
fi
fi
if [ -z $PIO_CONF_DIR ] ; then
export PIO_CONF_DIR="${PIO_HOME}/conf"
if [ ! -d $PIO_CONF_DIR ] ; then
export PIO_CONF_DIR="/etc/predictionio"
if [ ! -d $PIO_CONF_DIR ] ; then
echo "PIO_CONF_DIR is not found."
exit 1
fi
fi
fi
PIDFILE=$1
shift
FIRST_SEP=$(search "--" $@)
FIRST_HALF="${@:1:$FIRST_SEP}"
SECOND_HALF="${@:$FIRST_SEP+1}"
exec nohup ${PIO_HOME}/bin/pio-class org.apache.predictionio.tools.console.Console ${FIRST_HALF} --pio-home ${PIO_HOME} ${SECOND_HALF} <&- > /dev/null 2>&1 &
echo $! > ${PIDFILE}