Use new train() with SparkContext and pio sbt plugin
diff --git a/.gitignore b/.gitignore
index 295cafd..ebc8c6e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,3 +2,4 @@
 manifest.json
 target/
 pio.log
+/pio.sbt
diff --git a/build.sbt b/build.sbt
index 62d4b72..6e2892e 100644
--- a/build.sbt
+++ b/build.sbt
@@ -7,6 +7,6 @@
 organization := "io.prediction"
 
 libraryDependencies ++= Seq(
-  "io.prediction"    %% "core"          % "0.8.6" % "provided",
+  "io.prediction"    %% "core"          % pioVersion.value % "provided",
   "org.apache.spark" %% "spark-core"    % "1.2.0" % "provided",
   "org.apache.spark" %% "spark-mllib"   % "1.2.0" % "provided")
diff --git a/project/pio.sbt b/project/pio.sbt
new file mode 100644
index 0000000..8346a96
--- /dev/null
+++ b/project/pio.sbt
@@ -0,0 +1 @@
+addSbtPlugin("io.prediction" % "pio-build" % "0.9.0")
diff --git a/src/main/scala/ALSAlgorithm.scala b/src/main/scala/ALSAlgorithm.scala
index 8521af2..0c0db22 100644
--- a/src/main/scala/ALSAlgorithm.scala
+++ b/src/main/scala/ALSAlgorithm.scala
@@ -24,7 +24,7 @@
 
   @transient lazy val logger = Logger[this.type]
 
-  def train(data: PreparedData): ALSModel = {
+  def train(sc: SparkContext, data: PreparedData): ALSModel = {
     // MLLib ALS cannot handle empty training data.
     require(!data.ratings.take(1).isEmpty,
       s"RDD[Rating] in PreparedData cannot be empty." +