plugins Ġ{ ĊĠĠĠ Ġjava ĊĠĠĠ Ġ` java - library ` ĊĠĠĠ Ġapplication ĊĠĠĠ Ġdistribution ĊĠĠĠ Ġid (" com . github . john ren gel man . shadow ") Ġversion Ġ" 5 . 2 . 0 " Ċ } Ċ Ċ group Ġ= Ġ" com . wire . bots . simulation " Ċ version Ġ= Ġ" 0 . 0 . 1 " Ċ Ċ 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 ") ĊĠĠĠ Ġ} Ċ } Ċ val Ġm Class Ġ= Ġ" com . wire . bots . simulation . server . Simulation Service " Ċ Ċ shadow Ġ{ ĊĠĠĠ Ġapplication Distribution . from (" src / dist ") Ċ } Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain ClassName Ġ= Ġm Class Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġapi (" com . wire . bots ", Ġ" l ith ium ", Ġ" 2 . 3 4 . 5 ") ĊĠĠĠ Ġtest Implementation (" junit ", Ġ" junit ", Ġ" 4 . 1 2 ") Ċ } Ċ Ċ configure < Java Plugin Convention > Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġshadow Jar Ġ{ ĊĠĠĠĠĠĠĠ Ġmerge Service Files () ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Main - Class " Ġto Ġm Class ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġregister < Jar >(" fat Jar ") Ġ{ ĊĠĠĠĠĠĠĠ Ġmanifest Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattributes [" Main - Class "] Ġ= Ġ" com . wire . bots . simulation . server . Simulation Service " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġduplicates Strategy Ġ= ĠD uplicates Strategy . EXCL UDE ĊĠĠĠĠĠĠĠ Ġarchive FileName . set (" simulation . jar ") ĊĠĠĠĠĠĠĠ Ġfrom ( configurations . runtime Classpath . get (). map Ġ{ Ġif Ġ( it . isDirectory ) Ġit Ġelse Ġzip Tree ( it ) Ġ}) ĊĠĠĠĠĠĠĠ Ġfrom ( source Sets . main . get (). output ) ĊĠĠĠ Ġ} Ċ } Ċ