diff --git a/.travis.yml b/.travis.yml index f6112b67..1cf55b3f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: scala sudo: required scala: - - 2.11.7 + - 2.11.8 jdk: - oraclejdk8 cache: diff --git a/build.sbt b/build.sbt index c55c65b3..3369f0f5 100644 --- a/build.sbt +++ b/build.sbt @@ -3,11 +3,13 @@ val http4sVersion = "0.14.1" val circeVersion = "0.4.1" lazy val evaluator = (project in file(".")) + .enablePlugins(JavaAppPackaging) .settings( name := "evaluator", scalaVersion := "2.11.8", resolvers += Resolver.sonatypeRepo("snapshots"), libraryDependencies ++= Seq( + "org.scala-exercises" %% "evaluator-types" % version.value, "org.scala-lang" % "scala-compiler" % scalaVersion.value, "io.monix" %% "monix" % "2.0-RC8", "org.http4s" %% "http4s-dsl" % http4sVersion, @@ -27,8 +29,6 @@ lazy val evaluator = (project in file(".")) ) ) -enablePlugins(JavaAppPackaging) - addCompilerPlugin( "org.scalamacros" % "paradise" % "2.1.0" cross CrossVersion.full ) diff --git a/src/main/resources/application.conf b/src/main/resources/application.conf index 0ee0ddcc..d9ae5d89 100644 --- a/src/main/resources/application.conf +++ b/src/main/resources/application.conf @@ -1,5 +1,4 @@ eval.auth { secretKey = "secretKey" secretKey = ${?EVAL_SECRET_KEY} -} - +} \ No newline at end of file diff --git a/src/main/scala/types.scala b/src/main/scala/types.scala deleted file mode 100644 index 390f3afb..00000000 --- a/src/main/scala/types.scala +++ /dev/null @@ -1,74 +0,0 @@ -package org.scalaexercises.evaluator - -import scala.concurrent.duration._ -import io.circe._, io.circe.generic.auto._ - -final case class RangePosition( - start: Int, - point: Int, - end: Int) - -final case class CompilationInfo( - message: String, - pos: Option[RangePosition]) - -final case class RuntimeError( - val error: Throwable, - position: Option[Int]) - -sealed trait EvalResult[+A] - -object EvalResult { - type CI = Map[String, List[CompilationInfo]] -} - -import EvalResult._ - -final case class EvalSuccess[A]( - complilationInfos: CI, - result: A, - consoleOutput: String) extends EvalResult[A] - -final case class Timeout[A](duration: FiniteDuration) extends EvalResult[A] - -final case class UnresolvedDependency[A](explanation: String) extends EvalResult[A] - -final case class EvalRuntimeError[A]( - complilationInfos: CI, - runtimeError: Option[RuntimeError]) extends EvalResult[A] - -final case class CompilationError[A](complilationInfos: CI) extends EvalResult[A] - -final case class GeneralError[A](stack: Throwable) extends EvalResult[A] - -final case class Dependency( - groupId: String, - artifactId: String, - version: String) - -final case class EvalRequest( - resolvers: List[String] = Nil, - dependencies: List[Dependency] = Nil, - code: String) - -final case class EvalResponse( - msg: String, - value: Option[String] = None, - valueType: Option[String] = None, - compilationInfos: CI = Map.empty) - -object EvalResponse { - - object messages { - - val `ok` = "Ok" - val `Timeout Exceded` = "Timeout" - val `Unresolved Dependency` = "Unresolved Dependency" - val `Runtime Error` = "Runtime Error" - val `Compilation Error` = "Compilation Error" - val `Unforeseen Exception` = "Unforeseen Exception" - - } - -} - diff --git a/version.sbt b/version.sbt new file mode 100644 index 00000000..19138f19 --- /dev/null +++ b/version.sbt @@ -0,0 +1 @@ +version in ThisBuild := "0.1-SNAPSHOT" \ No newline at end of file