diff --git a/keel-sql/keel-sql.gradle.kts b/keel-sql/keel-sql.gradle.kts index e522c2bfc4..aae29858ea 100644 --- a/keel-sql/keel-sql.gradle.kts +++ b/keel-sql/keel-sql.gradle.kts @@ -1,3 +1,4 @@ +import ch.ayedo.jooqmodelator.gradle.JooqModelatorTask import com.diffplug.gradle.spotless.SpotlessExtension plugins { @@ -78,7 +79,7 @@ dependencies { jooqModelator { jooqVersion = "3.13.2" jooqEdition = "OSS" - jooqConfigPath = "$projectDir/src/main/resources/jooqConfig.xml" + jooqConfigPath = "$buildDir/resources/main/jooqConfig.xml" jooqOutputPath = "$projectDir/src/generated/java" migrationEngine = "LIQUIBASE" migrationsPaths = listOf("$projectDir/src/main/resources/db") @@ -88,6 +89,18 @@ jooqModelator { dockerContainerPort = 3306 } +// expand properties in jooqConfig.xml so it gets a fully-qualified directory to generate into +tasks.withType { + filesMatching("jooqConfig.xml") { + expand(project.properties) + } +} + +// process resources before generating JOOQ stuff so we tokenize the config XML +tasks.withType { + dependsOn("processResources") +} + // Don't enforce spotless for generated code afterEvaluate { configure { diff --git a/keel-sql/src/main/resources/jooqConfig.xml b/keel-sql/src/main/resources/jooqConfig.xml index 4b4aa3b97e..c27bb2a2ce 100644 --- a/keel-sql/src/main/resources/jooqConfig.xml +++ b/keel-sql/src/main/resources/jooqConfig.xml @@ -24,7 +24,8 @@ com.netflix.spinnaker.keel.persistence.metamodel - keel-sql/src/generated/java + + $projectDir/src/generated/java true