aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/CodegenPlugin.scala
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-02-24 08:24:56 -0800
committerGitHub <noreply@github.com>2017-02-24 08:24:56 -0800
commitae6eb86aa9396e43104520697b3aa5e42f79d6e2 (patch)
tree341a103eaa3483f6db197c06f993524e39df769e /src/main/scala/CodegenPlugin.scala
parent3420c2b7481c3179cc164fa355bcdbc860d4e9ad (diff)
parente8588e7264ed8a50e880e066e709ee8a498c3294 (diff)
downloadslick-codegen-plugin-ae6eb86aa9396e43104520697b3aa5e42f79d6e2.tar.gz
slick-codegen-plugin-ae6eb86aa9396e43104520697b3aa5e42f79d6e2.tar.bz2
slick-codegen-plugin-ae6eb86aa9396e43104520697b3aa5e42f79d6e2.zip
Merge pull request #23 from drivergroup/codegen-refactors
Codegen refactors
Diffstat (limited to 'src/main/scala/CodegenPlugin.scala')
-rw-r--r--src/main/scala/CodegenPlugin.scala21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/main/scala/CodegenPlugin.scala b/src/main/scala/CodegenPlugin.scala
index 55d4089..c90fe66 100644
--- a/src/main/scala/CodegenPlugin.scala
+++ b/src/main/scala/CodegenPlugin.scala
@@ -46,6 +46,10 @@ object CodegenPlugin extends AutoPlugin {
"codegen-type-replacements",
"A map of types to find and replace"
)
+ lazy val codegenHeader = SettingKey[String](
+ "codegen-header",
+ "Comments that go at the top of generated files; notices and tooling directives."
+ )
lazy val slickCodeGenTask =
TaskKey[Unit]("gen-tables", "generate the table definitions")
@@ -58,6 +62,7 @@ object CodegenPlugin extends AutoPlugin {
codegenIdType := Option.empty,
codegenSchemaImports := List.empty,
codegenTypeReplacements := Map.empty,
+ codegenHeader := "AUTO-GENERATED Slick data model",
slickCodeGenTask := Def.taskDyn {
Def.task {
codegenDatabaseConfigs.value.foreach {
@@ -67,15 +72,17 @@ object CodegenPlugin extends AutoPlugin {
config.outputPackage,
Some(config.schemaWhitelist).filter(_.nonEmpty),
config.outputPath,
- config.foreignKeys,
- (if (codegenIdType.value.isEmpty)
- codegenSchemaBaseClassParts.value :+ "DefaultIdTypeMapper"
- else
- codegenSchemaBaseClassParts.value) match {
- case Nil => "AnyRef"
- case parts => parts.mkString(" with ")
+ config.foreignKeys, {
+ val parts =
+ (if (codegenIdType.value.isEmpty)
+ codegenSchemaBaseClassParts.value :+ "DefaultIdTypeMapper"
+ else
+ codegenSchemaBaseClassParts.value)
+
+ Some(parts).filter(_.nonEmpty).map(_.mkString(" with "))
},
codegenIdType.value,
+ codegenHeader.value,
codegenSchemaImports.value,
codegenTypeReplacements.value
)