@ file : Suppress (" Spell Checking Inspection ") Ċ Ċ import Ġch . ay ed o . jooq model ator . gradle . J oo q Model ator Task Ċ Ċ plugins Ġ{ ĊĠĠĠ ĠLib . jooq Model ator Plugin (). run Ġ{ Ġid ( id ) Ġversion Ġversion Ġ} Ċ } Ċ Ċ description Ġ= Ġ" S ci Pa Ma To - Core Ġ:: ĠPersistence Ġj OO Q ĠProject " Ċ Ċ val ĠmoduleName Ġ= Ġ" core / core - persistence - jooq " Ċ val Ġdb PackageName Ġ= Ġ" ch . d ifty . sc ip am ato . core . db " Ċ val Ġdb Package Path Ġget () Ġ= Ġdb PackageName . replace ('.', Ġ'/') Ċ val Ġgenerated Sources Path Ġ= Ġ" build / generated - src / jooq " Ċ val Ġj oo q ConfigFile Ġ= Ġ"$ build Dir / jooq Config . xml " Ċ val Ġdocker Db Port Ġ= Ġ 1 5 4 3 2 Ċ val Ġprops Ġ= Ġfile (" src / integration - test / resources / application . properties "). as Properties () Ċ Ċ jooq Model ator Ġ{ ĊĠĠĠ Ġj oo q Version Ġ= ĠLib . jooq Version ĊĠĠĠ Ġj oo q Edition Ġ= Ġ" OSS " ĊĊĠĠĠ Ġj oo q ConfigPath Ġ= Ġj oo q ConfigFile ĊĠĠĠ Ġj oo q Output Path Ġ= Ġ"$ generated Sources Path /$ db Package Path " ĊĊĠĠĠ Ġmigration Engine Ġ= Ġ" FL YW AY " ĊĠĠĠ Ġmigrations Paths Ġ= ĠlistOf ("$ rootDir /$ moduleName / src / main / resources / db / migration /") ĊĊĠĠĠ Ġdocker Tag Ġ= Ġ" postgres : 1 0 " ĊĠĠĠ Ġdocker Env Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ" POST GRES _ DB =${ props . getProperty (" db . name ") }", ĊĠĠĠĠĠĠĠ Ġ" POST GRES _ USER =${ props . getProperty (" spring . datasource . hikari . username ") }", ĊĠĠĠĠĠĠĠ Ġ" POST GRES _ PASSWORD =${ props . getProperty (" spring . datasource . hikari . password ") }" ĊĠĠĠ Ġ) ĊĠĠĠ Ġdocker Host Port Ġ= Ġdocker Db Port ĊĠĠĠ Ġdocker Container Port Ġ= Ġprops . getProperty (" db . port "). toInt () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġapi ( project ( Module . sc ip am ato Core (" persistence - api "))) ĊĠĠĠ Ġapi ( project ( Module . sc ip am ato Common (" persistence - jooq "))) ĊĠĠĠ Ġimplementation ( project ( Module . sc ip am ato Core (" entity "))) ĊĠĠĠ Ġimplementation ( project ( Module . sc ip am ato Common (" utils "))) ĊĊĠĠĠ Ġj oo q Model ator Runtime ( Lib . postgres ()) ĊĠĠĠ Ġruntime Only ( Lib . postgres ()) ĊĠĠĠ Ġapi ( Lib . j OO Q (" jooq ")) ĊĊĠĠĠ Ġimplementation ( Lib . spring Security (" core ")) ĊĊĠĠĠ Ġtest Implementation ( project ( Module . sc ip am ato Common (" persistence - jooq - test "))) ĊĠĠĠ Ġtest Implementation ( project ( Module . sc ip am ato Common (" test "))) ĊĠĠĠ Ġtest Implementation ( project ( Module . sc ip am ato Core (" entity "))) ĊĊĠĠĠ Ġtest Implementation ( Lib . lo mbok ()) ĊĠĠĠ Ġtest Annotation Processor ( Lib . lo mbok ()) ĊĊĠĠĠ Ġintegration Test Implementation ( Lib . test containers (" test containers ")) ĊĠĠĠ Ġintegration Test Implementation ( Lib . test containers (" junit - jupiter ")) ĊĠĠĠ Ġintegration Test Implementation ( Lib . test containers (" postgresql ")) ĊĠĠĠ Ġintegration Test Runtime Only ( Lib . postgres ()) ĊĠĠĠ Ġintegration Test Annotation Processor ( Lib . lo mbok ()) Ċ } Ċ Ċ source Sets Ġ{ ĊĠĠĠ Ġmain Ġ{ ĊĠĠĠĠĠĠĠ Ġjava Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsrc Dir ( set Of ( generated Sources Path , Ġ" src / main / java ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġval Ġprocess Resources Ġby Ġexisting Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresources Dir Ġ= Ġsource Sets . main . get (). output . resources Dir ĊĠĠĠĠĠĠĠ Ġresources Dir ?. mkdir s () ĊĠĠĠĠĠĠĠ Ġval Ġfile Content Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<? xml Ġversion =" 1 . 0 " Ġencoding =" UTF - 8 " Ġstandalone =" yes "?> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< configuration > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< jdbc > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< driver > org . postgresql . Driver </ driver > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< url > jdbc : postgresql :// localhost :$ docker Db Port /${ props . getProperty (" db . name ")} ? logger Level = OFF </ url > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< user >${ props . getProperty (" spring . datasource . hikari . username ") }</ user > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< password >${ props . getProperty (" spring . datasource . hikari . password ") }</ password > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ jdbc > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< generator > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< name > org . jooq . codegen . Default Generator </ name > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< database > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< name > org . jooq . meta . postgres . Postgres Database </ name > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< input Schema >${ props . getProperty (" db . schema ") }</ input Schema > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< record Version Fields > version </ record Version Fields > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ database > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< generate > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< deprecated > false </ deprecated > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< instance Fields > true </ instance Fields > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< po jos > false </ po jos > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< java Time Types > false </ java Time Types > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< spring Annotations > true </ spring Annotations > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ generate > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< target > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< packageName >$ db PackageName </ packageName > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< directory >$ moduleName /$ generated Sources Path </ directory > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ target > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ generator > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< basedir >$ rootDir </ basedir > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ configuration > ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent () ĊĠĠĠĠĠĠĠ Ġfile ( jooq ConfigFile ). write Text ( file Content ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġval Ġj oo q Met amodel Task Name Ġ= Ġ" generate J oo q Met amodel " ĊĠĠĠ Ġwith Type < J oo q Model ator Task > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġprevent Ġparallel Ġrun Ġof Ġthis Ġtask Ġbetween Ġcore Ġand Ġpublic ĊĠĠĠĠĠĠĠ Ġoutputs . dir ("${ root Project . build Dir }/ $ jooq Met amodel Task Name ") ĊĠĠĠĠĠĠĠ Ġdepends On ( process Resources ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġget ByName (" compile Kotlin "). depends On Ġ+= Ġj oo q Met amodel Task Name Ċ } Ċ Ċ idea Ġ{ ĊĠĠĠ Ġmodule Ġ{ ĊĠĠĠĠĠĠĠ Ġinherit Output Dirs Ġ= Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ