import Ġorg . jetbrains . kotlin . kon an . file . File Ċ import Ġorg . jetbrains . kotlin . kon an . properties . save ToFile Ċ import Ġjava . util . Properties Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 4 . 0 " ĊĠĠĠ Ġapplication ĊĠĠĠ Ġid (" net . nem eros a . version ing ") Ġversion Ġ" 2 . 1 4 . 0 " ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 6 . 0 . 0 " Ċ } Ċ Ċ group Ġ= Ġ" com . wire . backups " Ċ version Ġ= Ġ( version ing . info . tag Ġ?: Ġversioning . info . last Tag ) Ġ+ ĊĠĠĠĠĠĠĠ Ġif Ġ( version ing . info . dirty ) Ġ"- dirty " Ġelse Ġ"" Ċ Ċ val Ġm Class Ġ= Ġ" com . wire . backups . exports . Service " Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġj center () ĊĊĠĠĠ Ġ// Ġl ith ium ĊĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// package cloud . io / dk ov ace vic / l ith ium / maven 2 ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// Ġtrans itive Ġdependency Ġfor Ġthe Ġl ith ium ĊĠĠĠ Ġmaven Ġ{ ĊĠĠĠĠĠĠĠ Ġurl Ġ= Ġuri (" https :// package cloud . io / dk ov ace vic / crypto box 4 j / maven 2 ") ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ dependencies Ġ{ ĊĠĠĠ Ġ// Ġ------- ĠJava Ġdependencies Ġ------- ĊĠĠĠ Ġimplementation (" com . wire . bots ", Ġ" l ith ium ", Ġ" 2 . 3 6 . 2 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġwe 're Ġreplacing Ġit Ġwith Ġnewer Ġversion Ġas Ġthe Ġone Ġincluded Ġin ĠL ith ium Ġhas Ġproblems Ġwith ĠJ RE Ġ 1 1 ĊĠĠĠĠĠĠĠ Ġexclude (" com . google . protobuf ", Ġ" protobuf - java ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġimplementation (" com . google . protobuf ", Ġ" protobuf - java ", Ġ" 3 . 1 2 . 4 ") ĊĊĠĠĠ Ġval Ġat lassian Version Ġ= Ġ" 0 . 1 2 . 1 " ĊĠĠĠ Ġimplementation (" com . atlassian . common mark ", Ġ" common mark ", Ġat lassian Version ) ĊĠĠĠ Ġimplementation (" com . atlassian . common mark ", Ġ" common mark - ext - aut ol ink ", Ġat lassian Version ) ĊĊĠĠĠ Ġval Ġhtml To Pdf Version Ġ= Ġ" 1 . 0 . 2 " ĊĠĠĠ Ġimplementation (" com . open html top df ", Ġ" open html top df - core ", Ġhtml To Pdf Version ) ĊĠĠĠ Ġimplementation (" com . open html top df ", Ġ" open html top df - pdf box ", Ġhtml To Pdf Version ) ĊĠĠĠ Ġimplementation (" com . open html top df ", Ġ" open html top df - svg - support ", Ġhtml To Pdf Version ) ĊĊĠĠĠ Ġimplementation (" com . github . sp ull ara . must ache . java ", Ġ" compiler ", Ġ" 0 . 9 . 5 ") ĊĊĠĠĠ Ġ// Ġ------- ĠCommon Ġdependencies Ġ------- ĊĠĠĠ Ġimplementation (" net . ling ala . zip 4 j ", Ġ" zip 4 j ", Ġ" 2 . 6 . 1 ") ĊĊĠĠĠ Ġ// Ġ------- ĠKotlin Ġdependencies Ġ------- ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġimplementation (" pw . for st . tools ", Ġ" kat lib ", Ġ" 1 . 1 . 2 ") ĊĊĠĠĠ Ġ// Ġlibs odium Ġfor Ġde cryption ĊĠĠĠ Ġimplementation (" com . got erl . lazy code ", Ġ" l az ys odium - java ", Ġ" 4 . 3 . 0 ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġotherwise Ġthe Ġapplication Ġwon 't Ġstart , Ġthe Ġproblem Ġis Ġcombination Ġof ĠDrop wizard Ġand Ġsl 4 j Ġ 2 . 0 ĊĠĠĠĠĠĠĠ Ġexclude (" org . slf 4 j ", Ġ" slf 4 j - api ") ĊĠĠĠ Ġ} ĊĠĠĠ Ġimplementation (" net . java . dev . j na ", Ġ" j na ", Ġ" 5 . 6 . 0 ") ĊĠĠĠ Ġ// Ġlogging ĊĠĠĠ Ġimplementation (" io . github . micro utils ", Ġ" kotlin - logging ", Ġ" 1 . 7 . 9 ") ĊĠĠĠ Ġ// Ġdatabase ĊĠĠĠ Ġval Ġexposed Version Ġ= Ġ" 0 . 2 6 . 1 " ĊĠĠĠ Ġimplementation (" org . jetbrains . ex posed ", Ġ" ex posed - core ", Ġexposed Version ) ĊĠĠĠ Ġimplementation (" org . jetbrains . ex posed ", Ġ" ex posed - dao ", Ġexposed Version ) ĊĠĠĠ Ġimplementation (" org . jetbrains . ex posed ", Ġ" ex posed - jdbc ", Ġexposed Version ) ĊĠĠĠ Ġimplementation (" org . jetbrains . ex posed ", Ġ" ex posed - java - time ", Ġexposed Version ) ĊĠĠĠ Ġimplementation (" org . x erial ", Ġ" sqlite - jdbc ", Ġ" 3 . 3 2 . 3 ") ĊĠĠĠ Ġ// Ġj ack son Ġfor Ġkotlin ĊĠĠĠ Ġimplementation (" com . fasterxml . jackson . module ", Ġ" jackson - module - kotlin ", Ġ" 2 . 1 1 . 1 ") ĊĠĠĠ Ġ// Ġcorrect Ġreflect Ġlib Ġuntil Ġj ack son Ġfixes Ġtheir s ĊĠĠĠ Ġimplementation (" org . jetbrains . kotlin ", Ġ" kotlin - reflect ", Ġ" 1 . 4 . 0 ") ĊĊĠĠĠ Ġ// Ġtesting ĊĠĠĠ Ġval Ġjunit Version Ġ= Ġ" 5 . 6 . 2 " ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter ", Ġ" junit - jupiter - api ", Ġjunit Version ) ĊĠĠĠ Ġtest Implementation ( kotlin (" test ")) ĊĠĠĠ Ġtest Implementation ( kotlin (" test - junit 5 ")) ĊĊĠĠĠ Ġtest Runtime Only (" org . junit . jupiter ", Ġ" junit - jupiter - engine ", Ġjunit Version ) Ċ } Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain ClassName Ġ= Ġm Class Ċ } Ċ Ċ configure < Java Plugin Convention > Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġcompile Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Test Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Test > Ġ{ ĊĠĠĠĠĠĠĠ Ġsystem Properties [" j na . library . path "] Ġ= Ġ"${ project Dir }/ libs " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġwith Type < Java Compile > Ġ{ ĊĠĠĠĠĠĠĠ Ġoptions . encoding Ġ= Ġ" UTF - 8 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġshadow Jar Ġ{ ĊĠĠĠĠĠĠĠ Ġmerge Service Files () ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Main - Class " Ġto Ġm Class ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Ġbecause Ġthere 's Ġsome Ġconflict Ġ( LICENSE Ġalready Ġexists ) Ġduring Ġthe Ġun z ipping Ġprocess ĊĠĠĠĠĠĠĠ Ġ// Ġby Ġexcluding Ġit Ġfrom Ġthe Ġshadow Ġjar Ġwe Ġtry Ġto Ġfix Ġproblem Ġon ĠOracle ĠJVM Ġ 8 ĊĠĠĠĠĠĠĠ Ġexclude (" LICENSE ") ĊĠĠĠĠĠĠĠ Ġ// Ġstandard ĠDrop wizard Ġexclude s ĊĠĠĠĠĠĠĠ Ġexclude (" META - INF /*. D SA ", Ġ" META - INF /*. RSA ", Ġ" META - INF /*. SF ") ĊĊĠĠĠĠĠĠĠ Ġduplicates Strategy Ġ= ĠD uplicates Strategy . EXCL UDE ĊĠĠĠĠĠĠĠ Ġarchive FileName . set (" backup - export . jar ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġclasses Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On (" create Version File ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġregister (" create Version File ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( process Resources ) ĊĠĠĠĠĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProperties (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset Property (" version ", Ġproject . version . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsave ToFile ( File ("$ build Dir / resources / main / version . properties ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġregister (" resolve Dependencies ") Ġ{ ĊĠĠĠĠĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . all projects . forEach Ġ{ Ġsub Project Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwith ( sub Project ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuild script . configurations . forEach Ġ{ Ġif Ġ( it . is Can Be Resolved ) Ġit . resolve () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigurations . compile Classpath . get (). resolve () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfigurations . test Compile Classpath . get (). resolve () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ