aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/CodegenPlugin.scala
diff options
context:
space:
mode:
authorPetro Verkhogliad <vpetro@gmail.com>2016-11-17 02:31:10 -0500
committerPetro Verkhogliad <vpetro@gmail.com>2016-11-17 02:31:10 -0500
commit792f2401e29c728ce6730f54da15382bb567bd04 (patch)
tree13ef35f56c9031d5aeda6e2d066f44956cb7e7b7 /src/main/scala/CodegenPlugin.scala
parent69ccaf3dddf800735f693a097815a1e1a32cda44 (diff)
downloadslick-codegen-plugin-792f2401e29c728ce6730f54da15382bb567bd04.tar.gz
slick-codegen-plugin-792f2401e29c728ce6730f54da15382bb567bd04.tar.bz2
slick-codegen-plugin-792f2401e29c728ce6730f54da15382bb567bd04.zip
Auto inject task and default settings
Diffstat (limited to 'src/main/scala/CodegenPlugin.scala')
-rw-r--r--src/main/scala/CodegenPlugin.scala40
1 files changed, 23 insertions, 17 deletions
diff --git a/src/main/scala/CodegenPlugin.scala b/src/main/scala/CodegenPlugin.scala
index 8bde45d..d74eda7 100644
--- a/src/main/scala/CodegenPlugin.scala
+++ b/src/main/scala/CodegenPlugin.scala
@@ -7,28 +7,34 @@ object CodegenPlugin extends AutoPlugin {
type TableColumn = (String, String)
object autoImport {
- lazy val codegen = TaskKey[Unit]("gen-tables", "generate slick database schema")
-
lazy val codegenURI = SettingKey[String]("codegen-uri", "uri for the database configuration")
lazy val codegenPackage = SettingKey[String]("codegen-package", "package in which to place generated code")
lazy val codegenOutputPath = SettingKey[String]("codegen-output-path", "directory to with the generated code will be written")
lazy val codegenSchemaWhitelist = SettingKey[List[String]]("codegen-schema-whitelist", "schemas and tables to process")
lazy val codegenForeignKeys = SettingKey[Map[TableColumn, TableColumn]]("codegen-foreign-keys", "foreign key references to data models add manually")
- lazy val slickCodeGenTask = Def.task {
- Generator.run(
- new java.net.URI(codegenURI.value),
- codegenPackage.value,
- Some(codegenSchemaWhitelist.value).filter(_.nonEmpty),
- codegenOutputPath.value,
- codegenForeignKeys.value
- )
- }
-
- lazy val baseCodegenSettings: Seq[Def.Setting[_]] = Seq(
- codegen := slickCodeGenTask.value,
- codegenSchemaWhitelist := List.empty,
- codegenForeignKeys := Map.empty
- )
+ lazy val slickCodeGenTask = TaskKey[Unit]("gen-tables", "generate the table definitions")
+
}
+
+ import autoImport._
+
+ override lazy val projectSettings = Seq(
+ codegenSchemaWhitelist := List.empty,
+ codegenForeignKeys := Map.empty,
+ slickCodeGenTask := Def.taskDyn {
+ Def.task {
+ Generator.run(
+ new java.net.URI(codegenURI.value),
+ codegenPackage.value,
+ Some(codegenSchemaWhitelist.value).filter(_.nonEmpty),
+ codegenOutputPath.value,
+ codegenForeignKeys.value
+ )
+ }
+ }.value
+
+ )
+
+
}