diff options
author | Stewart Stewart <stewinsalot@gmail.com> | 2017-05-30 17:46:16 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-30 17:46:16 -0700 |
commit | 35b3281f94b50753f8d0bbe586b859a010bfa667 (patch) | |
tree | af6a6f9ff1d33fccb812ab4655678a9417388551 | |
parent | 66f6f78b9230b3a59ab2d77c31b03f209c0937f8 (diff) | |
parent | f58872065d859cdc3ce8489acdf0b443041e37a3 (diff) | |
download | slick-codegen-plugin-35b3281f94b50753f8d0bbe586b859a010bfa667.tar.gz slick-codegen-plugin-35b3281f94b50753f8d0bbe586b859a010bfa667.tar.bz2 slick-codegen-plugin-35b3281f94b50753f8d0bbe586b859a010bfa667.zip |
Merge pull request #29 from drivergroup/row-import-statements
Add parameter for row-file specific imports
-rw-r--r-- | src/main/scala/CodegenPlugin.scala | 5 | ||||
-rw-r--r-- | src/main/scala/Main.scala | 10 |
2 files changed, 11 insertions, 4 deletions
diff --git a/src/main/scala/CodegenPlugin.scala b/src/main/scala/CodegenPlugin.scala index c90fe66..1ede3b8 100644 --- a/src/main/scala/CodegenPlugin.scala +++ b/src/main/scala/CodegenPlugin.scala @@ -42,6 +42,10 @@ object CodegenPlugin extends AutoPlugin { "codegen-schema-imports", "A list of things to import into each schema definition" ) + lazy val codegenSchemaRowImports = SettingKey[Option[List[String]]]( + "codegen-schema-imports", + "An optional list of things to import for table row definitions of each schema. Uses schemaImports otherwise." + ) lazy val codegenTypeReplacements = SettingKey[Map[String, String]]( "codegen-type-replacements", "A map of types to find and replace" @@ -84,6 +88,7 @@ object CodegenPlugin extends AutoPlugin { codegenIdType.value, codegenHeader.value, codegenSchemaImports.value, + codegenSchemaRowImports.value getOrElse codegenSchemaImports.value, codegenTypeReplacements.value ) } diff --git a/src/main/scala/Main.scala b/src/main/scala/Main.scala index 2602103..e71a9e8 100644 --- a/src/main/scala/Main.scala +++ b/src/main/scala/Main.scala @@ -46,13 +46,15 @@ object Generator { parentType: Option[String], idType: Option[String], header: String, - schemaImports: List[String], + tablesFileImports: List[String], + rowsFileImports: List[String], typeReplacements: Map[String, String]) = { val dc: DatabaseConfig[JdbcProfile] = DatabaseConfig.forURI[JdbcProfile](uri) val parsedSchemasOpt: Option[Map[String, List[String]]] = schemaNames.map(ModelTransformation.parseSchemaList) - val imports = schemaImports.map("import " + _).mkString("\n") + + def importStatements(imports: List[String]) = imports.map("import " + _).mkString("\n") try { val dbModel: slick.model.Model = Await.result( @@ -74,7 +76,7 @@ object Generator { val rowGenerator = new RowSourceCodeGenerator( model = schemaOnlyModel, headerComment = header, - imports = imports, + imports = importStatements(rowsFileImports), schemaName = schemaName, fullDatabaseModel = dbModel, idType, @@ -85,7 +87,7 @@ object Generator { val tableGenerator = new TableSourceCodeGenerator(schemaOnlyModel = schemaOnlyModel, headerComment = header, - imports = imports, + imports = importStatements(tablesFileImports), schemaName = schemaName, fullDatabaseModel = dbModel, pkg = pkg, |