blob: 6ebd1b7f51e6e90f7efe946c941f25b9861365b7 [file] [log] [blame]
#!/usr/bin/env sh
# PredictionIO Package Script
# NOTE: Run this script after bin/build.sh to package things up
# This scripts package everything up into a deployable package that runs off a single configuration file
# Get the absolute path of the build script
SCRIPT="$0"
while [ -h "$SCRIPT" ] ; do
SCRIPT=`readlink "$SCRIPT"`
done
# Get the base directory of the repo
DIR=`dirname $SCRIPT`/..
cd $DIR
BASE=`pwd`
. "$BASE/bin/common.sh"
. "$BASE/bin/vendors.sh"
# Package admin server
echo "Going to package PredictionIO Admin Server..."
cd $ADMIN_DIR
$PLAY stage
# Package API server
echo "Going to package PredictionIO API Server..."
cd $API_DIR
$PLAY stage
# Package scheduler server
echo "Going to package PredictionIO Scheduler Server..."
cd $SCHEDULER_DIR
$PLAY stage
# Packaging
rm -rf "$PACKAGE_DIR"
mkdir -p "$PACKAGE_DIR/bin"
mkdir -p "$PACKAGE_DIR/lib"
cp -n $ADMIN_DIR/target/universal/stage/bin/predictionio-admin $PACKAGE_DIR/bin
cp -n $ADMIN_DIR/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -n $API_DIR/target/universal/stage/bin/predictionio-api $PACKAGE_DIR/bin
cp -n $API_DIR/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -n $SCHEDULER_DIR/target/universal/stage/bin/predictionio-scheduler $PACKAGE_DIR/bin
cp -n $SCHEDULER_DIR/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -R $DIST_DIR/bin/* $PACKAGE_DIR/bin
cp $BASE/bin/quiet.sh $PACKAGE_DIR/bin
cp -R $DIST_DIR/conf $PACKAGE_DIR
cp "$BASE/process/target/scala-2.10/predictionio-process-hadoop-scalding-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp "$BASE/process/engines/commons/evaluations/scala/paramgen/target/scala-2.10/predictionio-process-commons-evaluations-paramgen-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp "$BASE/process/engines/commons/evaluations/scala/u2itrainingtestsplit/target/scala-2.10/predictionio-process-commons-evaluations-scala-u2itrainingtestsplittime-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp "$BASE/process/engines/itemrec/algorithms/scala/mahout/target/scala-2.10/predictionio-process-itemrec-algorithms-scala-mahout-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp "$BASE/process/engines/itemrec/evaluations/scala/topkitems/target/scala-2.10/predictionio-process-itemrec-evaluations-topkitems-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp "$BASE/process/engines/itemsim/evaluations/scala/topkitems/target/scala-2.10/predictionio-process-itemsim-evaluations-topkitems-assembly-$VERSION.jar" "$PACKAGE_DIR/lib"
cp -n $BASE/tools/conncheck/target/universal/stage/bin/conncheck $PACKAGE_DIR/bin
cp -n $BASE/tools/conncheck/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -n $BASE/tools/settingsinit/target/universal/stage/bin/settingsinit $PACKAGE_DIR/bin
cp -n $BASE/tools/settingsinit/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -n $BASE/tools/softwaremanager/target/universal/stage/lib/* $PACKAGE_DIR/lib
cp -n $BASE/tools/users/target/universal/stage/bin/users $PACKAGE_DIR/bin
cp -n $BASE/tools/users/target/universal/stage/lib/* $PACKAGE_DIR/lib
mkdir -p $PACKAGE_DIR/vendors/mahout-distribution-0.8
cp $VENDOR_MAHOUT/mahout-core-0.8-job.jar $PACKAGE_DIR/vendors/mahout-distribution-0.8
cd $DIST_DIR/target
rm "$PACKAGE_NAME.zip"
zip -q -r "$PACKAGE_NAME.zip" "$PACKAGE_NAME"
echo "Packaging finished at $DIST_DIR/target/$PACKAGE_NAME.zip"