You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@predictionio.apache.org by do...@apache.org on 2017/03/13 16:58:05 UTC
incubator-predictionio git commit: [PIO-51] Properly locate engine
directory
Repository: incubator-predictionio
Updated Branches:
refs/heads/develop 0d8646572 -> 6d92b4576
[PIO-51] Properly locate engine directory
When --engine-dir is passed as CLI argument, use this instead of user.dir
Closes #357
Project: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/commit/6d92b457
Tree: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/tree/6d92b457
Diff: http://git-wip-us.apache.org/repos/asf/incubator-predictionio/diff/6d92b457
Branch: refs/heads/develop
Commit: 6d92b45763e9d8f1164ef0610562aa1c87cc96d9
Parents: 0d86465
Author: Chan Lee <ch...@gmail.com>
Authored: Mon Mar 13 09:57:35 2017 -0700
Committer: Donald Szeto <do...@apache.org>
Committed: Mon Mar 13 09:57:35 2017 -0700
----------------------------------------------------------------------
.../scala/org/apache/predictionio/tools/RunServer.scala | 5 +++--
.../scala/org/apache/predictionio/tools/RunWorkflow.scala | 10 ++++++----
.../org/apache/predictionio/tools/commands/Engine.scala | 3 ++-
.../org/apache/predictionio/tools/console/Console.scala | 8 +++-----
4 files changed, 14 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/6d92b457/tools/src/main/scala/org/apache/predictionio/tools/RunServer.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/org/apache/predictionio/tools/RunServer.scala b/tools/src/main/scala/org/apache/predictionio/tools/RunServer.scala
index 1c70974..db055b5 100644
--- a/tools/src/main/scala/org/apache/predictionio/tools/RunServer.scala
+++ b/tools/src/main/scala/org/apache/predictionio/tools/RunServer.scala
@@ -47,7 +47,7 @@ case class ServerArgs(
eventServer: EventServerArgs = EventServerArgs(),
batch: String = "",
accessKey: String = "",
- variantJson: File = new File("engine.json"),
+ variantJson: Option[File] = None,
jsonExtractor: JsonExtractorOption = JsonExtractorOption.Both)
@@ -68,7 +68,8 @@ object RunServer extends Logging {
"--engineInstanceId",
engineInstanceId,
"--engine-variant",
- engineDirPath + File.separator + serverArgs.variantJson.getName,
+ serverArgs.variantJson.getOrElse(
+ new File(engineDirPath, "engine.json")).getCanonicalPath,
"--ip",
serverArgs.deploy.ip,
"--port",
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/6d92b457/tools/src/main/scala/org/apache/predictionio/tools/RunWorkflow.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/org/apache/predictionio/tools/RunWorkflow.scala b/tools/src/main/scala/org/apache/predictionio/tools/RunWorkflow.scala
index 97831a6..462770e 100644
--- a/tools/src/main/scala/org/apache/predictionio/tools/RunWorkflow.scala
+++ b/tools/src/main/scala/org/apache/predictionio/tools/RunWorkflow.scala
@@ -36,7 +36,7 @@ import scala.sys.process._
case class WorkflowArgs(
batch: String = "",
- variantJson: File = new File("engine.json"),
+ variantJson: Option[File] = None,
verbosity: Int = 0,
engineParamsKey: Option[String] = None,
engineFactory: Option[String] = None,
@@ -56,15 +56,17 @@ object RunWorkflow extends Logging {
verbose: Boolean = false): Expected[(Process, () => Unit)] = {
val jarFiles = jarFilesForScala(engineDirPath).map(_.toURI)
- val variantJson = engineDirPath + File.separator + wa.variantJson.getName
- val ei = Console.getEngineInfo(new File(variantJson))
+ val variantJson = wa.variantJson.getOrElse(new File(engineDirPath, "engine.json"))
+ val ei = Console.getEngineInfo(
+ variantJson,
+ engineDirPath)
val args = Seq(
"--engine-id",
ei.engineId,
"--engine-version",
ei.engineVersion,
"--engine-variant",
- variantJson,
+ variantJson.toURI.toString,
"--verbosity",
wa.verbosity.toString) ++
wa.engineFactory.map(
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/6d92b457/tools/src/main/scala/org/apache/predictionio/tools/commands/Engine.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/org/apache/predictionio/tools/commands/Engine.scala b/tools/src/main/scala/org/apache/predictionio/tools/commands/Engine.scala
index 69a3924..c4dc8d4 100644
--- a/tools/src/main/scala/org/apache/predictionio/tools/commands/Engine.scala
+++ b/tools/src/main/scala/org/apache/predictionio/tools/commands/Engine.scala
@@ -222,7 +222,8 @@ object Engine extends EitherLogging {
return Left(verifyResult.left.get)
}
val ei = Console.getEngineInfo(
- new File(engineDirPath, serverArgs.variantJson.getName))
+ serverArgs.variantJson.getOrElse(new File(engineDirPath, "engine.json")),
+ engineDirPath)
val engineInstances = storage.Storage.getMetaDataEngineInstances
val engineInstance = engineInstanceId map { eid =>
engineInstances.get(eid)
http://git-wip-us.apache.org/repos/asf/incubator-predictionio/blob/6d92b457/tools/src/main/scala/org/apache/predictionio/tools/console/Console.scala
----------------------------------------------------------------------
diff --git a/tools/src/main/scala/org/apache/predictionio/tools/console/Console.scala b/tools/src/main/scala/org/apache/predictionio/tools/console/Console.scala
index f4c891a..810fee0 100644
--- a/tools/src/main/scala/org/apache/predictionio/tools/console/Console.scala
+++ b/tools/src/main/scala/org/apache/predictionio/tools/console/Console.scala
@@ -120,10 +120,9 @@ object Console extends Logging {
"deployment.")
opt[String]("engine-dir") abbr("ed") action { (x, c) =>
c.copy(engine = c.engine.copy(engineDir = Some(x)))
- } text("Specify absolute path for engine directory, default to " +
- "current directory.")
+ } text("Specify path for engine directory, default to current directory.")
opt[File]("variant") abbr("v") action { (x, c) =>
- c.copy(workflow = c.workflow.copy(variantJson = x))
+ c.copy(workflow = c.workflow.copy(variantJson = Some(x)))
}
opt[File]("sbt") action { (x, c) =>
c.copy(build = c.build.copy(sbt = Some(x)))
@@ -734,7 +733,7 @@ object Console extends Logging {
}
}
- def getEngineInfo(jsonFile: File): EngineInfo = {
+ def getEngineInfo(jsonFile: File, engineDir: String): EngineInfo = {
// Use engineFactory as engineId
val variantJson = parse(Source.fromFile(jsonFile).mkString)
val engineId = variantJson \ "engineFactory" match {
@@ -754,7 +753,6 @@ object Console extends Logging {
}
// Use hash of engine directory as engineVersion
- val engineDir = sys.props("user.dir")
val engineVersion = java.security.MessageDigest.getInstance("SHA-1").
digest(engineDir.getBytes).map("%02x".format(_)).mkString