plugins Ġ{ ĊĠĠĠ Ġkotlin (" jvm ") ĊĠĠĠ Ġidea ĊĠĠĠ Ġ` kotlin - dsl ` ĊĠĠĠ Ġ` java - gradle - plugin ` ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġid (" com . pal ant ir . idea - test - fix ") ĊĠĠĠ Ġid (" com . gradle . plugin - publish ") Ċ } Ċ Ċ dependencies Ġ{ ĊĠĠĠ Ġimplementation ( libs . kotlin . jdk 8 ) ĊĠĠĠ Ġimplementation ( libs . kotlin . io ) ĊĠĠĠ Ġimplementation ( libs . kotlin Po et ) ĊĊĠĠĠ Ġtest Implementation ( tests . junit 5 . jupiter ) ĊĠĠĠ Ġtest Implementation ( tests . junit 5 . jupiter Api ) ĊĠĠĠ Ġtest Implementation ( tests . junit 5 . jupiter Params ) ĊĠĠĠ Ġtest Implementation ( tests . k lu ent ) ĊĠĠĠ Ġtest Implementation ( gradle Test Kit ()) Ċ } Ċ Ċ tasks Ġ{ ĊĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġ} ĊĠĠĠ Ġcompile Kotlin Ġ{ ĊĠĠĠĠĠĠĠ Ġkotlin Options . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġcopy Test Resources Ġby Ġregistering ( Copy :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġfrom ("${ project Dir }/ src / test / resources ") ĊĠĠĠĠĠĠĠ Ġinto ("${ build Dir }/ classes / kotlin / test ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprocess Test Resources . configure Ġ{ ĊĠĠĠĠĠĠĠ Ġdepends On ( copy Test Resources ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ" publish Plugins " Ġ{ ĊĠĠĠĠĠĠĠ Ġonly If Ġ{ Ġversion Ġ! in ĠAuto Module Maven Metadata . versions Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ val Ġsources Jar Ġ= Ġtasks . register < Jar >(" sources Jar ") Ġ{ ĊĠĠĠ Ġarchive Classifier . set (" sources ") ĊĠĠĠ Ġfrom ( source Sets . main . map Ġ{ Ġit . all Source Ġ}) Ċ } Ċ Ċ plugin Bundle Ġ{ ĊĠĠĠ Ġwebsite Ġ= Ġ" https :// github . com / p abl isco / auto - module /" ĊĠĠĠ Ġv cs Url Ġ= Ġ" https :// github . com / p abl isco / auto - module /" ĊĠĠĠ Ġtags Ġ= ĠlistOf (" autom odule ") Ċ } Ċ Ċ gradle Plugin Ġ{ ĊĠĠĠ Ġplugins Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate (" auto - module - plugin ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġ" com . p abl isco . gradle . autom odule " ĊĠĠĠĠĠĠĠĠĠĠĠ ĠdisplayName Ġ= Ġ" Auto ĠModule " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" A ĠGradle Ġplugin Ġto Ġgenerate Ġthe Ġmodule Ġgraph Ġand Ġinclude Ġthe Ġmodules " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġimplementation Class Ġ= Ġ" com . p abl isco . gradle . autom odule . Auto Module Plugin " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġmaven ( url Ġ= Ġroot Dir . resolve (" repo ")) ĊĠĠĠ Ġ} Ċ } Ċ Ċ after Evaluate Ġ{ ĊĠĠĠ Ġpublishing . publications . with Type < Maven Publication >() ĊĠĠĠĠĠĠĠ Ġ. configure Each Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġversion Mapping Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġall Variants Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfrom Resolution Result () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ Ċ idea Ġ{ ĊĠĠĠ Ġmodule Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġhide s Ġtest Ġk ts Ġfiles Ġso Ġthey Ġare Ġnot Ġparsed Ġby Ġthe ĠIDE ĊĠĠĠĠĠĠĠ Ġexclude Dirs Ġ= Ġset Of ( file (" src / test / resources / test - cases ")) ĊĠĠĠ Ġ} Ċ } Ċ