// code generation task that calls the customized code generator lazy val slick = TaskKey[Seq[File]]("generateModel") lazy val slickCodeGenTask = (sourceManaged, dependencyClasspath in Compile, runner in Compile, streams) map { (dir, cp, r, s) => //val outputDir = (dir / "slick").getPath val outputDir = "app" val url = System.getenv("DATABASE_URL") val jdbcDriver = "org.postgresql.Driver" val slickDriver = "scala.slick.driver.PostgresDriver" val pkg = "models" val tables = "bids,charges,items,transactions,users" val views = "accounts,sales" toError(r.run("codegen.ModelGenerator", cp.files, Array(slickDriver, jdbcDriver, url, tables, outputDir, "Tables", pkg), s.log)) toError(r.run("codegen.ModelGenerator", cp.files, Array(slickDriver, jdbcDriver, url, views, outputDir, "Views", pkg), s.log)) Seq( file(outputDir + "/models/Tables.scala"), file(outputDir + "/models/Views.scala") ) } slick <<= slickCodeGenTask