blob: 28000b4be5a2f6b7126726c61e05a3e7dfb6de88 [file] [log] [blame]
#!/bin/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.
#
#-------------------------------------------------------------
# error help print
printUsageExit()
{
cat << EOF
Usage: $0 <dml-filename> [arguments] [-help]
-help - Print this usage message and exit
Default Java options (-Xmx4g -Xms4g -Xmn400m) can be overridden by setting SYSTEMML_STANDALONE_OPTS.
EOF
exit 1
}
# Script internally invokes 'java [SYSTEMML_STANDALONE_OPTS] -jar StandaloneSystemML.jar -f <dml-filename> -exec singlenode -config=SystemML-config.xml [arguments]'
while getopts "h:" options; do
case $options in
h ) echo Warning: Help requested. Will exit after usage message;
printUsageExit
;;
\? ) echo Warning: Help requested. Will exit after usage message;
printUsageExit
;;
* ) echo Error: Unexpected error while processing options;
esac
done
if [ -z $1 ] ; then
echo "Wrong Usage.";
printUsageExit;
fi
# Peel off first argument so that $@ contains arguments to DML script
SCRIPT_FILE=$1
shift
# Build up a classpath with all included libraries
CURRENT_PATH=$( cd $(dirname $0) ; pwd -P )
CLASSPATH=""
for f in ${CURRENT_PATH}/lib/*.jar; do
CLASSPATH=${CLASSPATH}:$f;
done
LOG4JPROP=log4j.properties
# set default java opts if none supplied
if [ -z "$SYSTEMML_STANDALONE_OPTS" ] ; then
SYSTEMML_STANDALONE_OPTS="-Xmx4g -Xms4g -Xmn400m"
fi;
# invoke the jar with options and arguments
CMD="\
java ${SYSTEMML_STANDALONE_OPTS} \
-cp ${CLASSPATH} \
-Dlog4j.configuration=file:${LOG4JPROP} \
org.apache.sysml.api.DMLScript \
-f ${SCRIPT_FILE} \
-exec singlenode \
-config=$CURRENT_PATH"/SystemML-config.xml" \
$@"
$CMD
# if there was an error, display the full java command
# RETURN_CODE=$?
# if [ $RETURN_CODE -ne 0 ]
# then
# echo "Failed to run SystemML. Exit code: $RETURN_CODE"
# echo ${CMD}
# fi