aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStewart Stewart <stewinsalot@gmail.com>2017-05-30 17:46:16 -0700
committerGitHub <noreply@github.com>2017-05-30 17:46:16 -0700
commit35b3281f94b50753f8d0bbe586b859a010bfa667 (patch)
treeaf6a6f9ff1d33fccb812ab4655678a9417388551
parent66f6f78b9230b3a59ab2d77c31b03f209c0937f8 (diff)
parentf58872065d859cdc3ce8489acdf0b443041e37a3 (diff)
downloadslick-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.scala5
-rw-r--r--src/main/scala/Main.scala10
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,