diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2016-09-09 18:40:05 -0400 |
---|---|---|
committer | Stewart Stewart <stewinsalot@gmail.com> | 2016-09-09 18:40:05 -0400 |
commit | ee0f1822447ec1ff84ecad2e2b9a19ce7dc37d36 (patch) | |
tree | 29d64bf2518e0365e9ba9e7c599038c4a84631f5 /src/main/scala/CodegenPlugin.scala | |
parent | f932919f6bc57f5d080dd42e17af83af0a6ea080 (diff) | |
download | slick-codegen-plugin-ee0f1822447ec1ff84ecad2e2b9a19ce7dc37d36.tar.gz slick-codegen-plugin-ee0f1822447ec1ff84ecad2e2b9a19ce7dc37d36.tar.bz2 slick-codegen-plugin-ee0f1822447ec1ff84ecad2e2b9a19ce7dc37d36.zip |
make manualForeignKeys a plugin parameter
Diffstat (limited to 'src/main/scala/CodegenPlugin.scala')
-rw-r--r-- | src/main/scala/CodegenPlugin.scala | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/main/scala/CodegenPlugin.scala b/src/main/scala/CodegenPlugin.scala index d6ac8c8..7b51fb8 100644 --- a/src/main/scala/CodegenPlugin.scala +++ b/src/main/scala/CodegenPlugin.scala @@ -4,18 +4,25 @@ import complete.DefaultParsers._ object CodegenPlugin extends AutoPlugin { override def requires = sbt.plugins.JvmPlugin + type TableColumn = (String, String) + object autoImport { lazy val genTables = TaskKey[Seq[File]]("gen-tables") - lazy val dbConfigURI = SettingKey[String]("uri for the database configuration") + lazy val uri = SettingKey[String]("uri for the database configuration") lazy val pkg = SettingKey[String]("package in which to place generated code") lazy val tablesFilename = SettingKey[String]("path for slick table models") lazy val rowsFilename = SettingKey[String]("path for row case classes") lazy val schemas = SettingKey[List[String]]("schemas and tables to process") + lazy val manualForeignKeys = SettingKey[Map[TableColumn, TableColumn]]("foreign key references to data models add manually") lazy val slickCodeGenTask = Def.task { - val uri = new java.net.URI(dbConfigURI.value) - - codegen.NamespacedCodegen.run(uri, pkg.value, tablesFilename.value, rowsFilename.value, schemas.value) + codegen.NamespacedCodegen.run( + new java.net.URI(uri.value), + pkg.value, + tablesFilename.value, + rowsFilename.value, + schemas.value, + manualForeignKeys.value) Seq(file(tablesFilename.value), file(rowsFilename.value)) } |