From 336e8ac3040a5e7c9f2469e2b47b6934cad481b0 Mon Sep 17 00:00:00 2001 From: Rob Fletcher Date: Wed, 12 Aug 2020 14:38:16 -0700 Subject: [PATCH] =?UTF-8?q?fix(build):=20JOOQ=20needs=20absolute=20path=20?= =?UTF-8?q?with=20Java=2011=20when=20Gradle=20d=C3=A6mon=20is=20used=20(#1?= =?UTF-8?q?426)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- keel-sql/keel-sql.gradle.kts | 15 ++++++++++++++- keel-sql/src/main/resources/jooqConfig.xml | 3 ++- 2 files changed, 16 insertions(+), 2 deletions(-) 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