import Ġorg . gradle . jvm . tasks . Jar Ċ Ċ val Ġk tor Version : ĠString Ġby Ġproject Ċ val Ġkotlin Version : ĠString Ġby Ġproject Ċ val Ġlog back Version : ĠString Ġby Ġproject ĊĊ Ċ plugins Ġ{ ĊĠĠĠ Ġapplication ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 5 . 3 1 " Ċ } Ċ Ċ group Ġ= Ġ" com . not k am ui " Ċ version Ġ= Ġ" 0 . 0 . 1 " Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain ClassName Ġ= Ġ" io . ktor . server . netty . Engine Main " ĊĠĠĠ Ġapplication Default Jvm Args Ġ= ĠlistOf ("- D io . ktor . development = true ") Ċ } Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Local () ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation (" org . jetbrains . kotlin : kotlin - stdlib - jdk 8 :$ kotlin Version ") ĊĠĠĠ Ġimplementation (" io . ktor : ktor - server - netty :$ ktor Version ") ĊĠĠĠ Ġimplementation (" ch . qos . log back : log back - classic :$ log back Version ") ĊĠĠĠ Ġimplementation (" io . ktor : ktor - server - core :$ ktor Version ") ĊĠĠĠ Ġimplementation (" io . ktor : ktor - server - host - common :$ ktor Version ") ĊĠĠĠ Ġimplementation (" io . ktor : ktor - gson :$ ktor Version ") ĊĠĠĠ Ġtest Implementation (" io . ktor : ktor - server - tests :$ ktor Version ") Ċ } Ċ Ċ kotlin . source Sets [" main "]. kotlin . src Dirs (" src ") Ċ kotlin . source Sets [" test "]. kotlin . src Dirs (" test ") Ċ Ċ source Sets [" main "]. resources . src Dirs (" resources ") Ċ source Sets [" test "]. resources . src Dirs (" test resources ") Ċ Ċ val Ġfat Jar Ġ= Ġtask (" fat Jar ", Ġtype Ġ= ĠJar :: class ) Ġ{ ĊĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠ Ġattributes [" Implementation - Title "] Ġ= Ġ" K tor Ġ- ĠVue ĠF at ĠJar " ĊĠĠĠĠĠĠĠ Ġattributes [" Implementation - Version "] Ġ= Ġproject . version ĊĠĠĠĠĠĠĠ Ġattributes [" Main - Class "] Ġ= Ġ" io . ktor . server . netty . Engine Main " ĊĠĠĠ Ġ} ĊĠĠĠ Ġfrom ( configurations . runtime Classpath . get (). map Ġ{ Ġif Ġ( it . isDirectory ) Ġit Ġelse Ġzip Tree ( it ) Ġ}) ĊĠĠĠ Ġwith ( tasks . jar . get () Ġas ĠCopy Spec ) Ċ } Ċ Ċ val Ġyarn Build Ġ= Ġtask < Exec >(" yarn Build ") Ġ{ ĊĠĠĠ Ġworking Dir Ġ= Ġfile (" src - vue ") ĊĠĠĠ Ġcommand Line (" yarn ", Ġ" build ") Ċ } Ċ Ċ val Ġcopy Dist Folder Ġ= Ġtasks . register < Copy >(" copy Dist Folder ") Ġ{ ĊĠĠĠ Ġfrom ( file (" src - vue / dist ")) ĊĠĠĠ Ġinto ( file (" resources / dist ")) Ċ } Ċ Ċ var Ġenv Ġ= Ġ" production " Ċ Ċ tasks . process Resources Ġ{ ĊĠĠĠ Ġoutputs . up ToDate When Ġ{ Ġfalse Ġ} ĊĠĠĠ Ġfiles Matching (" *. conf ") Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( env ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" development " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ ENV " Ġto Ġ" dev ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ PORT " Ġto Ġ" 8 0 8 1 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ MODULE " Ġto Ġ" build ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ AUTO RE LOAD " Ġto Ġ" true " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" production " Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ ENV " Ġto Ġ" production ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ PORT " Ġto Ġ" 8 0 ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ MODULE " Ġto Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" KT OR _ AUTO RE LOAD " Ġto Ġ" false " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġset Dev Ġ= Ġtasks . register (" set Dev ") Ġ{ ĊĠĠĠ Ġenv Ġ= Ġ" development " Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġ" run " Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( set Dev ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" build " Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( fat Jar ) ĊĠĠĠĠĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcopy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelete (" bundle ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( fat Jar ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinto ( file (" bundle ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" fat Jar " Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( copy Dist Folder ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ" copy Dist Folder " Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( yarn Build ) ĊĠĠĠ Ġ} Ċ } Ċ