blob: 70280a915d69787af87153bf48e00251d376f86b [file] [log] [blame]
#!/usr/bin/env sh
# PredictionIO Build Script
set -e
# 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"
# Full rebuild?
if test "$REBUILD" = "1" ; then
echo "Rebuild set."
CLEAN=clean
else
echo "Incremental build set. Use \"REBUILD=1 $0\" for clean rebuild."
CLEAN=
fi
echo "Going to build PredictionIO..."
BASE_TARGETS="update compile commons/publish output/publish"
if test "$SKIP_PROCESS" = "1" ; then
echo "Skip building process assemblies."
else
echo "+ Assemble Process Hadoop Scalding"
BASE_TARGETS="$BASE_TARGETS processHadoopScalding/assembly"
fi
# Build Non-distributed Random Algorithm
echo "+ Pack Non-distributed Random Algorithm"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsAlgoScalaRandom/pack"
# Build Generic Single Machine ItemRec Data Preparator
echo "+ Pack Single Machine Generic ItemRec Data Preparator"
BASE_TARGETS="$BASE_TARGETS processEnginesItemRecAlgoScalaGeneric/pack"
# Build Mahout ItemRec Job and Model Construcotor
echo "+ Pack Mahout ItemRec Job and Model Constructor"
BASE_TARGETS="$BASE_TARGETS processEnginesItemRecAlgoScalaMahout/pack"
# Build GraphChi Model Constructor
echo "+ Pack GraphChi ItemRec Model Constructor"
BASE_TARGETS="$BASE_TARGETS processEnginesItemRecAlgoScalaGraphChi/pack"
# Build Generic Single Machine ItemSim Data Preparator
echo "+ Pack Single Machine Generic ItemSim Data Preparator"
BASE_TARGETS="$BASE_TARGETS processEnginesItemSimAlgoScalaGeneric/pack"
# Build Mahout ItemSim Job and Model Construcotor
echo "+ Pack Mahout ItemSim Job and Model Constructor"
BASE_TARGETS="$BASE_TARGETS processEnginesItemSimAlgoScalaMahout/pack"
# Build GraphChi Model Constructor
echo "+ Pack GraphChi ItemSim Model Constructor"
BASE_TARGETS="$BASE_TARGETS processEnginesItemSimAlgoScalaGraphChi/pack"
# Build Single Machine U2I Action Splitter
echo "+ Pack Single Machine U2I Action Splitter"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsEvalScalaU2ISplit/pack"
# Build Single Machine MAP@k
echo "+ Pack Single Machine MAP@k"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsEvalScalaMetricsMAP/pack"
# Build parameter generator
echo "+ Pack Process Commons Evaluations Scala Parameter Generator"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsEvalScalaParamGen/pack"
# Build Single Machine Top-K Collector
echo "+ Pack Single Machine Top-K Collector"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsEvalScalaTopKItems/pack"
echo "+ Pack Process Commons Evaluations Scala U2I Training-Test Splitter Wrapper"
BASE_TARGETS="$BASE_TARGETS processEnginesCommonsEvalScalaU2ITrainingTestSplit/pack"
# Build connection check tool
echo "+ Pack Connection Check Tool"
BASE_TARGETS="$BASE_TARGETS toolsConncheck/pack"
# Build settings initialization tool
echo "+ Pack Settings Initialization Tool"
BASE_TARGETS="$BASE_TARGETS toolsSettingsInit/pack"
# Build software manager
echo "+ Pack Software Manager"
BASE_TARGETS="$BASE_TARGETS toolsSoftwareManager/pack"
# Build user tool
echo "+ Pack User Tool"
BASE_TARGETS="$BASE_TARGETS toolsUsers/pack"
# Build migration tool for 0.7
echo "+ Pack 0.7 Migration Tool"
BASE_TARGETS="$BASE_TARGETS toolsMigrationStandardizedInfoIDs/pack"
# Build Feature-based Item Rec
echo "+ Feature-based Item Rec"
BASE_TARGETS="$BASE_TARGETS processEnginesItemRecAlgoScalaFeatureBased/pack"
$SBT $CLEAN $BASE_TARGETS
# Build admin server
echo "Going to build PredictionIO Admin Server..."
cd $BASE/servers/admin
$PLAY $CLEAN update compile
# Build API server
echo "Going to build PredictionIO API Server..."
cd $BASE/servers/api
$PLAY $CLEAN update compile
# Build scheduler server
echo "Going to build PredictionIO Scheduler Server..."
cd $BASE/servers/scheduler
$PLAY $CLEAN update compile