From fcec7f3b6427dbd3a34e74903621ab745e46c1ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B0=B4=E6=9D=91=E6=95=8F=E5=BF=97?= Date: Sun, 8 Jan 2023 15:46:56 +0900 Subject: [PATCH] fix: use FileTemplateLoader and add fixtureTemplateName --- .../maeharin/factlin/core/codegenerator/CodeGenerator.kt | 7 +++++-- .../kotlin/com/maeharin/factlin/gradle/FactlinExtension.kt | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/maeharin/factlin/core/codegenerator/CodeGenerator.kt b/src/main/kotlin/com/maeharin/factlin/core/codegenerator/CodeGenerator.kt index feb171d..7816af8 100644 --- a/src/main/kotlin/com/maeharin/factlin/core/codegenerator/CodeGenerator.kt +++ b/src/main/kotlin/com/maeharin/factlin/core/codegenerator/CodeGenerator.kt @@ -7,6 +7,7 @@ import com.maeharin.factlin.core.kclassbuilder.KClass import com.maeharin.factlin.core.kclassbuilder.KClassBuilder import com.maeharin.factlin.core.schemaretriever.Table import com.maeharin.factlin.gradle.FactlinExtension +import freemarker.cache.FileTemplateLoader import freemarker.template.Configuration import freemarker.template.Template import org.slf4j.LoggerFactory @@ -45,8 +46,10 @@ class CodeGenerator( // template config template = if (extension.fixtureTemplatePath != null) { - val config = Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS) - config.getTemplate(extension.fixtureTemplatePath) + val config = Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).also { + it.templateLoader = FileTemplateLoader(File(extension.fixtureTemplatePath!!), false) + } + config.getTemplate(extension.fixtureTemplateName) } else { val config = Configuration(Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS).also { it.setClassForTemplateLoading(javaClass, "/factlin") diff --git a/src/main/kotlin/com/maeharin/factlin/gradle/FactlinExtension.kt b/src/main/kotlin/com/maeharin/factlin/gradle/FactlinExtension.kt index d493120..d7aed17 100644 --- a/src/main/kotlin/com/maeharin/factlin/gradle/FactlinExtension.kt +++ b/src/main/kotlin/com/maeharin/factlin/gradle/FactlinExtension.kt @@ -8,6 +8,7 @@ open class FactlinExtension { var fixtureOutputDir = "src/test/kotlin/com/maeharin/factlin/fixtures" var fixturePackageName = "com.maeharin.factlin.fixtures" var fixtureTemplatePath: String? = null + var fixtureTemplateName: String? = null var includeTables: List? = null var excludeTables: List = emptyList() var cleanOutputDir = false