aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/CodegenPlugin.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/CodegenPlugin.scala')
-rw-r--r--src/main/scala/CodegenPlugin.scala8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/main/scala/CodegenPlugin.scala b/src/main/scala/CodegenPlugin.scala
index d74eda7..98d832c 100644
--- a/src/main/scala/CodegenPlugin.scala
+++ b/src/main/scala/CodegenPlugin.scala
@@ -12,6 +12,7 @@ object CodegenPlugin extends AutoPlugin {
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 codegenSchemaBaseClassParts = SettingKey[List[String]]("codegen-schema-base-class-parts", "parts inherited by each generated schema object")
lazy val slickCodeGenTask = TaskKey[Unit]("gen-tables", "generate the table definitions")
@@ -22,6 +23,7 @@ object CodegenPlugin extends AutoPlugin {
override lazy val projectSettings = Seq(
codegenSchemaWhitelist := List.empty,
codegenForeignKeys := Map.empty,
+ codegenSchemaBaseClassParts := List.empty,
slickCodeGenTask := Def.taskDyn {
Def.task {
Generator.run(
@@ -29,7 +31,11 @@ object CodegenPlugin extends AutoPlugin {
codegenPackage.value,
Some(codegenSchemaWhitelist.value).filter(_.nonEmpty),
codegenOutputPath.value,
- codegenForeignKeys.value
+ codegenForeignKeys.value,
+ codegenSchemaBaseClassParts.value match {
+ case Nil => "AnyRef"
+ case parts => parts.mkString(" with ")
+ }
)
}
}.value