Skip to content

Commit

Permalink
indicate failure in runScript
Browse files Browse the repository at this point in the history
  • Loading branch information
davidpeklak committed Jun 30, 2014
1 parent c70b4e1 commit ff42b93
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 17 deletions.
2 changes: 1 addition & 1 deletion build.sbt
Expand Up @@ -4,7 +4,7 @@ organization := "com.github.davidpeklak"

name := "smt"

version := "0.4f-SNAPSHOT"
version := "0.4g-SNAPSHOT"

publishMavenStyle := false

Expand Down
29 changes: 14 additions & 15 deletions src/main/scala/smt/ConnectionHandling.scala
Expand Up @@ -121,21 +121,6 @@ trait AddHandling[T] extends AddAction[T] with ConnectionHandling[T] {
} yield ()
}

def applyMigration(m: Migration, hash: Seq[Byte]): upMoveTypes.EWDKleisli[Unit] = {
import upMoveTypes._
import EWSyntax._

def finalize(downs: List[Script], hash: Seq[Byte]): EDKleisli[Unit] = {
addDowns(hash, downs) >> add(m.name, hash, now)
}

m.groups.toList.traverse__(applyGroup).conclude {
(ums, f) => liftE(finalize(ums.downsToApply, failHash(f)) >> failure(f))
} {
(ums, _) => liftE(finalize(ums.downsToApply, hash))
}
}

def applyMigrations(mhs: Seq[(Migration, Seq[Byte])], latestCommon: Option[Seq[Byte]], runTests: Boolean): namedMoveTypes.EWDKleisli[Unit] = {
import namedMoveTypes._
import upMoveTypes.EWSyntax._
Expand All @@ -150,4 +135,18 @@ trait AddHandling[T] extends AddAction[T] with ConnectionHandling[T] {
}
}

def applyMigration(m: Migration, hash: Seq[Byte]): upMoveTypes.EWDKleisli[Unit] = {
import upMoveTypes._
import EWSyntax._

def finalize(downs: List[Script], hash: Seq[Byte]): EDKleisli[Unit] = {
addDowns(hash, downs) >> add(m.name, hash, now)
}

m.groups.toList.traverse__(applyGroup).conclude {
(ums, f) => liftE(finalize(ums.downsToApply, failHash(f)) >> failure(f))
} {
(ums, _) => liftE(finalize(ums.downsToApply, hash))
}
}
}
3 changes: 2 additions & 1 deletion src/main/scala/smt/SMTImpl.scala
Expand Up @@ -91,7 +91,8 @@ object SMTImpl {
val fullPath = relPath.foldLeft[File](sourceDir)((p, s) => p / s)
val script = OneFileOneScriptParser(fullPath).head
val action = stateHandling.applyScript(script)
action.run(db).run
val result = action.run(db).run
throwLeft(s)(result)
}
case Seq() => throw new Exception("Path expected.")
case _ => throw new Exception("Too many arguments. Path expected.")
Expand Down

0 comments on commit ff42b93

Please sign in to comment.