import Ġjava . io . ByteArray OutputStream Ċ Ċ plugins Ġ{ ĊĠĠĠ Ġid (" org . jetbrains . kotlin . jvm ") ĊĠĠĠ Ġapplication ĊĠĠĠ Ġmaven ĊĠĠĠ Ġid (" com . source m use . mongo ") ĊĠĠĠ Ġid (" com . pal ant ir . gra al ") Ċ } Ċ Ċ base Project () Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( project (": modules : core ")) ĊĠĠĠ Ġimplementation ( project (": modules : driver - mongo ")) ĊĠĠĠ Ġimplementation (" com . github . aj alt : cli kt :${ Versions . cli kt }") ĊĠĠĠ Ġimplementation (" ch . qos . log back : log back - classic :${ Versions . log back Classic }") Ċ } Ċ Ċ application Ġ{ ĊĠĠĠ Ġmain ClassName Ġ= Ġ" data maint ain . cli . App Kt " Ċ } Ċ Ċ gra al Ġ{ ĊĠĠĠ Ġmain Class (" data maint ain . cli . App Kt ") ĊĠĠĠ Ġoutput Name (" data maint ain ") Ċ } Ċ Ċ tasks . register < Exec >(" gra al Check Native ") Ġ{ ĊĠĠĠ Ġdepends On (" native Image ") ĊĊĠĠĠ Ġval Ġexpected Ġ= Ġ" Usage : Ġapp Ġ[ OPTIONS ]" ĊĊĠĠĠ Ġcommand Line Ġ= ĠlistOf ("./ build / gra al / data maint ain ", Ġ"-- help ") ĊĠĠĠ Ġstandard Output Ġ= ĠByteArrayOutputStream () ĊĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġout Ġ= Ġ( standard Output Ġas ĠByteArrayOutputStream ). toString (" UTF - 8 ") ĊĠĠĠĠĠĠĠ Ġif Ġ( out . startsWith ( expected )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Native Ġimage Ġcheck : ĠOK ") ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Native Ġimage Ġcheck : ĠN OK ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" output :\ n `$ out ` ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠRuntimeException (" Execution Ġof Ġnative Ġimage Ġfailed . ĠOutput Ġwas :\ n $ out ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ