diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2017-02-24 08:24:56 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-02-24 08:24:56 -0800 |
commit | ae6eb86aa9396e43104520697b3aa5e42f79d6e2 (patch) | |
tree | 341a103eaa3483f6db197c06f993524e39df769e /src/main/scala/CodegenPlugin.scala | |
parent | 3420c2b7481c3179cc164fa355bcdbc860d4e9ad (diff) | |
parent | e8588e7264ed8a50e880e066e709ee8a498c3294 (diff) | |
download | slick-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.scala | 21 |
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 ) |