import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ import Ġorg . gradle . language . jvm . tasks . Process Resources Ċ import Ġorg . jooq . meta . jax b . Logging Ċ import Ġorg . jooq . meta . jax b . Property Ċ import Ġorg . jooq . meta . jax b . Matchers Table Type Ċ import Ġorg . jooq . meta . jax b . Matcher Rule Ċ import Ġorg . jooq . meta . jax b . Matcher Transform Type Ċ import Ġorg . jooq . meta . jax b . Matchers Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" application ") ĊĠĠĠ Ġid (" org . springframework . boot ") Ġversion Ġ" 2 . 5 . 7 " ĊĠĠĠ Ġid (" io . spring . dependency - management ") Ġversion Ġ" 1 . 0 . 1 1 . RELEASE " ĊĠĠĠ Ġid (" nu . st uder . jooq ") Ġversion Ġ" 6 . 0 . 1 " ĊĠĠĠ Ġid (" org . fly way db . fly way ") Ġversion Ġ" 8 . 2 . 0 " ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 6 . 0 " ĊĠĠĠ Ġkotlin (" plugin . spring ") Ġversion Ġ" 1 . 6 . 0 " Ċ } Ċ Ċ group Ġ= Ġ" com . classic models " Ċ version Ġ= Ġ" 1 . 0 " Ċ java . source Compatibility Ġ= ĠJava Version . VERSION _ 1 7 Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain Class . value (" com . classic models . Main Application Kt ") Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Local () ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġj oo q Generator (" org . postgresql : postgresql ") ĊĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot - starter ") ĠĠĠĊĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot - starter - jdbc ") ĊĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot - starter - web ") ĊĠĠĠ Ġimplementation (" org . springframework . boot : spring - boot - starter - validation ") ĊĠĠĠ Ġimplementation (" org . jetbrains . kotlin : kotlin - reflect ") ĊĠĠĠ Ġimplementation (" org . jetbrains . kotlin : kotlin - stdlib - jdk 8 ") ĊĠĠĠ Ġimplementation (" org . postgresql : postgresql ") ĊĠĠĠ Ġimplementation (" org . fly way db : fly way - core ") Ċ } Ċ Ċ tasks Ġ{ ĊĠ Ġ" process Resources "( Process Resources :: class ) Ġ{ ĊĠĠĠ Ġfiles Matching (" application . properties ") Ġ{ ĊĠĠĠĠĠ Ġexpand ( project . properties ) ĊĠĠĠ Ġ} ĊĠ Ġ} Ċ } Ċ Ċ fly way Ġ{ ĊĠĠĠ Ġdriver Ġ= Ġproject . properties [" driver ClassName "]. toString () ĊĠĠĠ Ġurl Ġ= Ġproject . properties [" url "]. toString () ĊĠĠĠ Ġuser Ġ= Ġproject . properties [" username "]. toString () ĊĠĠĠ Ġpassword Ġ= Ġproject . properties [" password "]. toString () ĊĠĠĠ Ġlocations Ġ= ĠarrayOf (" filesystem : ./ ../../ ../../../ db / migration / dev / postgresql ") Ċ } Ċ Ċ jooq Ġ{ ĊĠ Ġversion . set ( project . properties [" jooq "]. toString ()) Ġ Ġ// Ġif Ġomitted , Ġthen Ġthe Ġdefault Ġis Ġused ĊĠ Ġedition . set ( nu . st uder . gradle . jooq . J oo q Edition . OSS ) Ġ Ġ// Ġj OO Q ĠOpen - Source Ġis Ġthe Ġdefault Ġ( can Ġbe Ġomitted ) ĊĠĠĊĠ Ġconfigurations Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate (" main ") Ġ{ Ġ Ġ// Ġname Ġof Ġthe Ġj OO Q Ġconfiguration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Schema Source On Compilation . set ( true ) Ġ Ġ// Ġdefault Ġ( can Ġbe Ġomitted ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġj oo q Configuration . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogging Ġ= ĠLogging . WARN ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjdbc . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠConfigure Ġthe Ġdatabase Ġconnection Ġhere ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdriver Ġ= Ġproject . properties [" driver ClassName "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Ġ= Ġproject . properties [" url "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġuser Ġ= Ġproject . properties [" username "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassword Ġ= Ġproject . properties [" password "]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerator . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġdefault Ġcode Ġgenerator . ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou Ġcan Ġoverride Ġthis Ġone , Ġto Ġgenerate Ġyour Ġown Ġcode Ġstyle . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSupported Ġgenerators : ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ- Ġorg . jooq . codegen . Java Generator ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ- Ġorg . jooq . codegen . Scala Generator ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ Ġ- Ġorg . jooq . codegen . Kotlin Generator ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDefaults Ġto Ġorg . jooq . codegen . Java Generator ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" org . jooq . codegen . Kotlin Generator " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdatabase . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġdatabase Ġtype . ĠThe Ġformat Ġhere Ġis : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġorg . jooq . meta .[ database ].[ database ] Database ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" org . jooq . meta . postgres . Postgres Database " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġdatabase Ġschema Ġ( or Ġin Ġthe Ġabsence Ġof Ġschema Ġsupport , Ġin Ġyour ĠR DB MS Ġthis ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcan Ġbe Ġthe Ġowner , Ġuser , Ġdatabase Ġname ) Ġto Ġbe Ġgenerated . ĠThis Ġcannot Ġbe Ġcombined Ġwith Ġthe Ġ< sche m ata /> Ġelement . ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠIf Ġ< input Schema /> Ġis Ġmissing Ġthen Ġall Ġschemas Ġwill Ġbe Ġconsidered . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput Schema Ġ= Ġ" public " Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAll Ġelements Ġthat Ġare Ġgenerated Ġfrom Ġyour Ġschema ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( A ĠJava Ġregular Ġexpression . ĠUse Ġthe Ġpipe Ġto Ġseparate Ġseveral Ġexpressions ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWatch Ġout Ġfor Ġcase - s ensitivity . ĠDep ending Ġon Ġyour Ġdatabase , Ġthis Ġmight Ġbe Ġimportant ! ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠYou Ġcan Ġcreate Ġcase - ins ensitive Ġregular Ġexpressions Ġusing Ġthis Ġsyntax : Ġ(? i : expr ). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWh itespace Ġis Ġignored Ġand Ġcomments Ġare Ġpossible . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġincludes Ġ= Ġ" .* " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠAll Ġelements Ġthat Ġare Ġexcluded Ġfrom Ġyour Ġschema ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( A ĠJava Ġregular Ġexpression . ĠUse Ġthe Ġpipe Ġto Ġseparate Ġseveral Ġexpressions ). ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠExclude s Ġmatch Ġbefore Ġincludes , Ġi . e . Ġexclude s Ġhave Ġa Ġhigher Ġpriority . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexclude s Ġ= Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfly way _ schema _ history Ġ| Ġa keys Ġ| Ġa vals Ġ| Ġdefined Ġ| Ġdelete .* ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġdepartment _ topic _ arr Ġ| Ġdup Ġ| Ġemployee _ office _ arr Ġ| Ġexist .* ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġfetch val Ġ| Ġget _. * Ġ| Ġgh store .* Ġ| Ġg in .* Ġ| Ġhs .* Ġ| Ġh store .* ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġis defined Ġ| Ġi sex ists Ġ| Ġmake _ array Ġ| Ġnew _ salary Ġ| Ġpopulate _ record ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġsale _ price Ġ| Ġslice .* Ġ| Ġswap Ġ| Ġt convert Ġ| Ġupdate _ ms rp Ġ| Ġpostal _ code ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġevaluation _ criteria Ġ| Ġrate _ type Ġ| Ġv at _ type Ġ| Ġ. *_ master Ġ| Ġeach ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ| Ġs keys Ġ| Ġs vals Ġ| Ġtop _ three _ sales _ per _ employee Ġ| Ġproduct _ of _ product _ line ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSchema Ġversion Ġprovider ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Version Provider Ġ= Ġ" SELECT ĠMAX (\" version \") ĠFROM Ġ\" fly way _ schema _ history \"" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠGive Ġenough Ġtime Ġto Ġj OO Q Ġto Ġtrigger Ġthe Ġqueries Ġneeded Ġfor Ġgenerating Ġsources ĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġ( default Ġis Ġ 5 Ġseconds ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlog Slow Queries After Seconds Ġ= Ġ 2 0 ĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate . apply Ġ{ ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Deprecated Ġ= Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Records Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Po jos Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Validation Annotations Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrategy . with Matchers ( Matchers () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Tables ( array Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMatch ers Table Type () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Po jo Class ( Matcher Rule () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Expression (" J oo q _$ 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. with Transform ( Matcher Transform Type . PAS CAL ))). toList ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtarget . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠpackageName Ġ= Ġ" jooq . generated " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdirectory Ġ= Ġ" build / generated - sources " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ // ĠConfigure Ġj OO Q Ġtask Ġsuch Ġthat Ġit Ġonly Ġexecutes Ġwhen Ġsomething Ġhas Ġchanged Ġ Ċ // Ġthat Ġpotentially Ġaffects Ġthe Ġgenerated ĠJ OO Q Ġsources : Ċ // Ġ- Ġthe Ġj OO Q Ġconfiguration Ġhas Ġchanged Ġ( Jdbc , ĠGenerator , ĠStrategy , Ġetc .) Ċ // Ġ- Ġthe Ġclasspath Ġused Ġto Ġexecute Ġthe Ġj OO Q Ġgeneration Ġtool Ġhas Ġchanged Ġ Ċ // ĠĠ Ġ( j OO Q Ġlibrary , Ġdatabase Ġdriver , Ġstrategy Ġclasses , Ġetc .) Ċ // Ġ- Ġthe Ġschema Ġfiles Ġfrom Ġwhich Ġthe Ġschema Ġis Ġgenerated Ġand Ġwhich Ġis Ġ Ċ // ĠĠ Ġused Ġby Ġj OO Q Ġto Ġgenerate Ġthe Ġsources Ġhave Ġchanged Ġ( scripts Ġadded , Ġmodified , Ġetc .) Ċ tasks . named < nu . st uder . gradle . jooq . J oo q Generate >(" generate J oo q ") Ġ{ ĊĠĠĠ Ġ// Ġensure Ġdatabase Ġschema Ġhas Ġbeen Ġprepared Ġby ĠFly way Ġbefore Ġgenerating Ġthe Ġj OO Q Ġsources ĊĠĠĠ Ġdepends On (" fly way Migrate ") ĊĊĠĠĠ Ġ// Ġdeclare ĠFly way Ġmigration Ġscripts Ġas Ġinputs Ġon Ġthe Ġj OO Q Ġtask ĊĠĠĠ Ġinputs . files ( file Tree ("${ rootDir }/ ../../ ../../../ db / migration / dev / postgresql ")) ĊĠĠĠĠĠĠĠ Ġ. with PropertyName (" migrations ") ĊĠĠĠĠĠĠĠ Ġ. with Path Sensitivity ( Path Sensitivity . REL ATIVE ) ĊĊĠĠĠ Ġ// Ġmake Ġj OO Q Ġtask Ġparticip ate Ġin Ġincremental Ġbuilds Ġand Ġbuild Ġcaching ĊĠĠĠ Ġall Inputs Declared . set ( true ) ĊĠĠĠ Ġoutputs . cache If Ġ{ Ġtrue Ġ} Ċ } Ċ Ċ tasks . with Type < Kotlin Compile > Ġ{ ĊĠĠĠ Ġkotlin Options Ġ{ ĊĠĠĠĠĠĠĠ Ġfree Compiler Args Ġ= ĠlistOf ("- X js r 3 0 5 = strict ") ĊĠĠĠĠĠĠĠ Ġj vm Target Ġ= Ġ" 1 7 " ĊĠĠĠ Ġ} Ċ } Ċ