From 3df9e26bb9aa7b992dd704c72e34e0e28159f426 Mon Sep 17 00:00:00 2001 From: Anthony Pieter Holland Date: Fri, 25 Mar 2016 18:23:27 +0200 Subject: Updated library version for sbt, scala, slick, sl4j, h2 and the eclipse plugin to latest stable versions as of the time of this commit. Also has to remove prefix "scala." from val profile in Example.scala --- build.sbt | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 build.sbt (limited to 'build.sbt') diff --git a/build.sbt b/build.sbt new file mode 100644 index 0000000..86ceb40 --- /dev/null +++ b/build.sbt @@ -0,0 +1,30 @@ +val slickVersion = "3.1.1" + +lazy val mainProject = Project( + id="slick-codegen-example", + base=file("."), + settings = Defaults.coreDefaultSettings ++ Seq( + scalaVersion := "2.11.8", + libraryDependencies ++= List( + "com.typesafe.slick" %% "slick" % slickVersion, + "com.typesafe.slick" %% "slick-codegen" % slickVersion, + "org.slf4j" % "slf4j-nop" % "1.7.19", + "com.h2database" % "h2" % "1.4.191" + ), + slick <<= slickCodeGenTask, // register manual sbt command + sourceGenerators in Compile <+= slickCodeGenTask // register automatic code generation on every compile, remove for only manual use + ) +) + +// code generation task +lazy val slick = TaskKey[Seq[File]]("gen-tables") +lazy val slickCodeGenTask = (sourceManaged, dependencyClasspath in Compile, runner in Compile, streams) map { (dir, cp, r, s) => + val outputDir = (dir / "slick").getPath // place generated files in sbt's managed sources folder + val url = "jdbc:h2:mem:test;INIT=runscript from 'src/main/sql/create.sql'" // connection info for a pre-populated throw-away, in-memory db for this demo, which is freshly initialized on every run + val jdbcDriver = "org.h2.Driver" + val slickDriver = "slick.driver.H2Driver" + val pkg = "demo" + toError(r.run("slick.codegen.SourceCodeGenerator", cp.files, Array(slickDriver, jdbcDriver, url, outputDir, pkg), s.log)) + val fname = outputDir + "/demo/Tables.scala" + Seq(file(fname)) +} -- cgit v1.2.3