// ĠProject Ġinformation Ċ description Ġ= Ġ" Root Ġproject Ġof Ġc ow lick - cars Ġbackend ." Ċ version Ġ= Ġ" 1 . 0 - SNAPSHOT " Ċ Ċ // ĠImport Ġglobal Ġplugins Ċ plugins Ġ{ Ċ ĉ // ĠKotlin Ġcompiler Ġwith Ġtarget ĠJVM Ċ ĉ kotlin (" jvm "). version (" 1 . 3 . 5 0 ") Ċ ĉ // ĠOpen s Ġspring - annotated Ġkotlin Ġclasses Ġfor Ġrequired Ġcode Ġgeneration Ċ ĉ kotlin (" plugin . spring "). version (" 1 . 3 . 5 0 ") Ċ } Ċ Ċ // ĠApply Ġfor Ġmultiple Ġprojects Ċ all projects Ġ{ Ċ ĉ group Ġ= Ġ" com . cow lick - cars " Ċ ĉ repositories Ġ{ Ċĉ ĉ maven Central () Ċ ĉ } Ċ } Ċ sub projects Ġ{ Ċ ĉ // ĠActivate Ġplugins Ġfor Ġscope Ċ ĉ apply ( plugin Ġ= Ġ" kotlin ") Ċ ĉ apply ( plugin Ġ= Ġ" kotlin - spring ") Ċ ĉ // ĠSet Ġtarget ĠJVM Ġversion Ġfor Ġcompilation Ċ ĉ tasks . compile Java Ġ{ Ċĉ ĉ source Compatibility Ġ= Ġ" 1 . 8 " Ċĉ ĉ target Compatibility Ġ= Ġsource Compatibility Ċ ĉ } Ċ ĉ tasks . compile Kotlin Ġ{ Ċĉ ĉ kotlin Options . jvm Target Ġ= Ġ" 1 . 8 " Ċ ĉ } Ċ ĉ // ĠAdd Ġdependencies Ċ ĉ dependencies Ġ{ Ċĉ ĉ // ĠKotlin Ċĉ ĉ compile Only (" org . jetbrains . kotlin : kotlin - stdlib - jdk 8 ") ĉ // ĠVersion Ġprovided Ġby Ġplugin Ċĉ ĉ compile Only (" org . jetbrains . kotlin : kotlin - reflect ") ĉ // ĠVersion Ġprovided Ġby Ġplugin Ċĉ ĉ // ĠREST Ġ+ ĠJSON Ċĉ ĉ compile Only (" org . springframework : spring - web mvc :${ properties [" spring . version "] }") Ċĉ ĉ compile Only (" com . fasterxml . jackson . core : jackson - databind :${ properties [" jackson . version "] }") Ċĉ ĉ // ĠJDBC Ċĉ ĉ compile Only (" org . springframework : spring - jdbc :${ properties [" spring . version "] }") Ċĉ ĉ compile Only (" org . postgresql : postgresql :${ properties [" postgresql . version "] }") Ċĉ ĉ // ĠSecurity Ċĉ ĉ compile Only (" org . springframework . security : spring - security - web :${ properties [" spring . version "] }") Ċĉ ĉ compile Only (" org . springframework . security : spring - security - config :${ properties [" spring . version "] }") Ċĉ ĉ // ĠLogging Ċĉ ĉ compile Only (" org . apache . logging . log 4 j : log 4 j - web :${ properties [" log 4 j . version "] }") Ċĉ ĉ // ĠCache Ċĉ ĉ compile Only (" org . springframework : spring - context - support :${ properties [" spring . version "] }") Ċĉ ĉ compile Only (" com . github . ben - man es . caffe ine : caffe ine :${ properties [" caffe ine . version "] }") Ċ ĉ } Ċ } Ċ Ċ // ĠTasks Ġto Ġexecute Ġby Ġmissing Ġinput Ġ( available Ġprojects Ġ& Ġtask ) Ċ default Tasks Ġ= Ġmutable ListOf (" projects ", Ġ" tasks ")