plugins Ġ{ ĊĠĠĠ Ġapplication ĊĠĠĠ Ġkotlin (" jvm "). version (" 1 . 5 . 3 0 ") ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow "). version (" 4 . 0 . 3 ") ĊĠĠĠ Ġid (" org . ber yx . j link "). version (" 2 . 2 4 . 1 ") Ċ } Ċ Ċ group Ġ= Ġ" com . he er ki rov . hed ge . server " Ċ version Ġ= Ġ" 0 . 1 . 0 " Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġval Ġkotlin Version Ġ= Ġ" 1 . 5 . 3 0 " ĊĠĠĠ Ġval Ġj aval in Version Ġ= Ġ" 4 . 0 . 0 " ĊĠĠĠ Ġval Ġkt orm Version Ġ= Ġ" 3 . 4 . 1 " ĊĠĠĠ Ġval Ġsqlite Version Ġ= Ġ" 3 . 3 6 . 0 " ĊĠĠĠ Ġval Ġj ack son Version Ġ= Ġ" 2 . 1 1 . 4 " Ġ// fk , Ġhow Ġto Ġupgrade Ġit ? ĊĠĠĠ Ġval Ġj ave Version Ġ= Ġ" 3 . 2 . 0 " ĊĠĠĠ Ġval Ġplist Version Ġ= Ġ" 1 . 2 3 " ĊĠĠĠ Ġval Ġs lf 4 j Version Ġ= Ġ" 1 . 7 . 3 2 " ĊĠĠĠ Ġval Ġjunit Version Ġ= Ġ" 4 . 1 3 . 2 " ĊĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . jetbrains . kotlin ", Ġname Ġ= Ġ" kotlin - stdlib - jdk 8 ", Ġversion Ġ= Ġkotlin Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . jetbrains . kotlin ", Ġname Ġ= Ġ" kotlin - reflect ", Ġversion Ġ= Ġkotlin Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" com . fasterxml . jackson . core ", Ġname Ġ= Ġ" jackson - core ", Ġversion Ġ= Ġj ack son Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" com . fasterxml . jackson . core ", Ġname Ġ= Ġ" jackson - databind ", Ġversion Ġ= Ġj ack son Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" com . fasterxml . jackson . module ", Ġname Ġ= Ġ" jackson - module - kotlin ", Ġversion Ġ= Ġj ack son Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . x erial ", Ġname Ġ= Ġ" sqlite - jdbc ", Ġversion Ġ= Ġsqlite Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . kt orm ", Ġname Ġ= Ġ" kt orm - core ", Ġversion Ġ= Ġkt orm Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . kt orm ", Ġname Ġ= Ġ" kt orm - support - sqlite ", Ġversion Ġ= Ġkt orm Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" io . jav al in ", Ġname Ġ= Ġ" jav al in ", Ġversion Ġ= Ġj aval in Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" ws . s child ", Ġname Ġ= Ġ" j ave - core ", Ġversion Ġ= Ġj ave Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" ws . s child ", Ġname Ġ= Ġ" j ave - native bin - osx 6 4 ", Ġversion Ġ= Ġj ave Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" com . google code . plist ", Ġname Ġ= Ġ" dd - plist ", Ġversion Ġ= Ġplist Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . slf 4 j ", Ġname Ġ= Ġ" slf 4 j - simple ", Ġversion Ġ= Ġs lf 4 j Version ) ĊĠĠĠ Ġimplementation ( group Ġ= Ġ" org . slf 4 j ", Ġname Ġ= Ġ" slf 4 j - api ", Ġversion Ġ= Ġs lf 4 j Version ) ĊĠĠĠ Ġtest Implementation ( group Ġ= Ġ" org . jetbrains . kotlin ", Ġname Ġ= Ġ" kotlin - test - junit ", Ġversion Ġ= Ġkotlin Version ) ĊĠĠĠ Ġtest Implementation ( group Ġ= Ġ" junit ", Ġname Ġ= Ġ" junit ", Ġversion Ġ= Ġjunit Version ) Ċ } Ċ Ċ val Ġjava Version Ġ= Ġ" 1 1 " Ċ val Ġproject Main Module Ġ= Ġ" com . he er ki rov . hed ge . server " Ċ val Ġproject Main Class Ġ= Ġ" com . he er ki rov . hed ge . server . Application Kt " Ċ val Ġproject Binary Name Ġ= Ġ" hed ge - v 2 - server " Ċ Ċ application Ġ{ ĊĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠ Ġmain ClassName Ġ= Ġ"${ project Main Module }/${ project Main Class }" ĊĠĠĠ Ġmain Class . set ( project Main Class ) ĊĠĠĠ Ġmain Module . set ( project Main Module ) Ċ } Ċ Ċ java Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 1 ĊĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 1 Ċ } ĊĊ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () ĊĠĠĠ Ġj center () Ċ } Ċ Ċ source Sets Ġ{ ĊĠĠĠ Ġ// ä½¿ å¼Ģåıĳ æ¨¡å¼ı ä¸ĭçļĦ gradle èĥ½ æŃ£ç¡® å¤ĦçĲĨ èµĦæºĲ æĸĩä»¶çļĦ ä½įç½® ï¼Į éĺ² æŃ¢ è¯»åıĸ ä¸įåĪ° ĊĠĠĠ Ġmain . configure Ġ{ ĊĠĠĠĠĠĠĠ Ġoutput . set Resources Dir ( java . output Dir ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġcompile Java Ġ{ ĊĠĠĠĠĠĠĠ Ġdo First Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . compiler Args Ġ= ĠlistOf ("-- module - path ", Ġclasspath . as Path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġjava Version ĊĠĠĠĠĠĠĠ Ġkotlin Options . free Compiler Args Ġ= ĠlistOf ("- X inline - classes ") Ġ// åĲ¯çĶ¨ inline Ġclass å®ŀ éªĮ çī¹æĢ§ ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Test Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġjava Version ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Kotlin . get (). destination Dir Ġ= Ġcompile Java . get (). destination Dir ĊĊĠĠĠ Ġshadow Jar Ġ{ ĊĠĠĠĠĠĠĠ Ġmanifest Content Charset Ġ= Ġ" utf - 8 " ĊĠĠĠĠĠĠĠ Ġset Metadata Charset (" utf - 8 ") ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes ( map Of (" Main - Class " Ġto Ġproject Main Class )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ j link Ġ{ ĊĠĠĠ Ġoptions . set ( listOf ("-- strip - debug ", Ġ"-- compress ", Ġ" 1 ", Ġ"-- no - header - files ", Ġ"-- no - man - pages ")) ĊĠĠĠ Ġlauncher Ġ{ ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġproject Binary Name ĊĠĠĠ Ġ} ĊĠĠĠ Ġmerged Module Ġ{ ĊĠĠĠĠĠĠĠ Ġadd itive Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ/* Ġ åŃĺåľ¨ ä¸Ģä¸ª j link æıĴä»¶ auto Ġmerge Ġnon - module ä»£çłģ æĹ¶ çļĦéĹ®é¢ĺ ãĢĤ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ æĸ°çļĦ java çīĪæľ¬ éĩĩçĶ¨ uses åľ¨ module ä¸Ń å£°æĺİ æľįåĬ¡ åıĳçİ° çļĦ implement ãĢĤ å¯¹äºİ non - module çļĦä»£çłģ ï¼Į j link æıĴä»¶ ä¼ļ èĩªåĬ¨ æĬĬ å®ĥä»¬ æīĵ åĮħ æĪĲ ä¸Ģä¸ª merged - module ãĢĤ ĊĠĠĠĠĠĠĠĠ Ġ* Ġ ä½Ĩæĺ¯ ï¼Į kotlin - reflect åĨħ æľī ä¸ĢäºĽ Service Loader çļĦ uses æ²¡æľī è¢« èĩªåĬ¨ åĪĨæŀĲ è¿Ľ merged Ġmodule éĩĮ ï¼Į åĽłæŃ¤ éĢł æĪĲ äºĨä¸Ģä¸ª module Ġ* Ġdoes Ġnot Ġdeclare Ġ` uses ` çļĦ å¼Ĥå¸¸ ãĢĤ ĊĠĠĠĠĠĠĠĠ Ġ* Ġtips : Ġåľ¨ add itive = true æĹ¶ ï¼Į ä¸į å¿ħ æĲ º å¸¦ åħ¨éĥ¨ DSL ï¼Į j link åĳ½ä»¤ çļĦ : create Merged Module éĺ¶æ®µ ä»į ä¼ļ æĬ¥ warn ï¼Į ä½Ĩ ä¸įä¼ļ å½±åĵį æŀĦå»º ãĢĤ ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġuses (" kotlin . reflect . jvm . internal . impl . resolve . External Over rid ability Condition ") ĊĠĠĠĠĠĠĠ Ġuses (" kotlin . reflect . jvm . internal . impl . util . Module Visibility Helper ") ĊĠĠĠĠĠĠĠ Ġuses (" kotlin . reflect . jvm . internal . impl . builtins . Built Ins Loader ") ĊĠĠĠ Ġ} Ċ }