plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġkotlin (" jvm ") Ġversion Ġ" 1 . 3 . 7 2 " Ċ } Ċ Ċ group Ġ= Ġ" ru . alf om ine " Ċ version Ġ= Ġ" 0 . 1 " Ċ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" stdlib - jdk 8 ")) ĊĠĠĠ Ġimplementation ( kotlin (" reflect ")) Ċ } Ċ Ċ configure < Java Plugin Convention > Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ val Ġfat Jar Ġ= Ġtask (" fat Jar ", Ġtype Ġ= ĠJar :: class ) Ġ{ ĊĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠ Ġattributes [" Main - Class "] Ġ= Ġ" ru . alf om ine . af mse . Main Kt " ĊĠĠĠ Ġ} ĊĠĠĠ Ġfrom ( configurations . runtime Classpath . get (). map Ġ{ Ġif Ġ( it . isDirectory ) Ġit Ġelse Ġzip Tree ( it ) Ġ}) ĊĠĠĠ Ġwith ( tasks . jar . get () Ġas ĠCopy Spec ) Ċ } Ċ Ċ val Ġrun App Ġ= Ġtask (" run App ", Ġtype Ġ= ĠExec :: class ) Ġ{ ĊĠĠĠ Ġif Ġ( tasks . jar . isPresent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġcommand Line (" java ", Ġ"- jar ", Ġtasks . jar . get (). archive File . get (). toString ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġcompile Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġbuild Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( fat Jar ) ĊĠĠĠĠĠĠĠ Ġfinal ized By ( run App ) ĊĠĠĠ Ġ} Ċ }