import Ġorg . jetbrains . kotlin . gradle . tasks . Kotlin Compile Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġid (" org . openj fx . java fx plugin ") ĊĠĠĠ Ġid (" org . ber yx . j link ") ĊĠĠĠ Ġapplication Ċ Ċ } Ċ java . source Compatibility Ġ= ĠJava Version . VERSION _ 1 1 ĊĊ Ċ val Ġcompile Kotlin : ĠKotlin Compile Ġby Ġtasks Ċ val Ġcompile Java : ĠJava Compile Ġby Ġtasks Ċ compile Java . destination Dir Ġ= Ġcompile Kotlin . destination Dir Ċ Ċ java Ġ{ ĊĠĠĠ Ġmod ularity . infer Module Path . set ( true ) Ċ } ĊĊ Ċ application Ġ{ ĊĠĠĠ Ġmain Module . set (" test . system ") ĊĠĠĠ Ġmain Class . set (" tech . open Ed gn . test . Main Kt ") Ċ } Ċ tasks . register (" archive ", ĠZip :: class ) Ġ{ ĊĠĠĠ Ġduplicates Strategy Ġ= ĠD uplicates Strategy . INCLUDE Ġ// Ġallow Ġduplicates Ċ } Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( kotlin (" reflect ")) ĊĠĠĠ Ġimplementation ( kotlin (" stdlib ")) ĊĠĠĠ Ġimplementation (" com . github . Open Ed gn : FX UI Manager : 1 a 8 e 0 6 7 a 2 d "){ ĊĠĠĠĠĠĠĠ Ġexclude (" com . github . Open Ed gn . Logger 4 K "," core ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġimplementation (" com . github . Open Ed gn . Logger 4 K : core : 1 . 1 . 0 ") ĊĠĠĠ Ġimplementation (" com . github . Open Ed gn . Logger 4 K : logger - console : 1 . 1 . 0 ") ĊĠĠĠ Ġimplementation (" com . j fo enix : j fo enix : 9 . 0 . 1 0 ") ĊĠĠĠ Ġimplementation (" com . google . code . gson : gson : 2 . 8 . 5 ") ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter : 5 . 6 . 2 ") ĊĠĠĠ Ġtest Implementation (" org . junit . platform : junit - platform - launcher : 1 . 6 . 2 ") Ċ } Ċ Ċ tasks . test Ġ{ ĊĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠ Ġevents (" passed ", Ġ" skipped ", Ġ" failed ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . with Type < Kotlin Compile >(). configure Each Ġ{ ĊĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 1 " Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" maven ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠgroupId Ġ= Ġroot Project . group . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġartifact Id Ġ= Ġproject . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Ġ= Ġroot Project . version . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven Local () ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ java fx Ġ{ ĊĠĠĠ Ġversion Ġ= Ġ" 1 5 . 0 . 1 " ĊĠĠĠ Ġmodules (" java fx . controls ", Ġ" java fx . f xml ") Ċ } ĊĊ Ċ j link Ġ{ ĊĠĠĠ Ġlauncher Ġ{ ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" System Operation " ĊĠĠĠ Ġ} ĊĠĠĠ Ġimage Zip . set ( project . file ("${ project . build Dir }/ release / System Operation - release -$ version . zip ")) Ċ Ċ } ĊĊ