import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . tasks . bund ling . Jar Ċ import Ġorg . gradle . kotlin . dsl . named Ċ import Ġorg . gradle . plugin . devel . tasks . Plugin UnderTest Metadata Ċ Ċ fun ĠProject . add Jar To Classpath Of Plugin () Ġ{ Ċ ĉ tasks . named < Plugin UnderTest Metadata >(" plugin UnderTest Metadata ") Ġ{ Ġ// Ġextract Ċĉ ĉ // ĠIn ĠGradle Ġ 6 . 5 . 1 Ġto Ġ 6 . 6 Ġupgrade Ġsomething Ġchanged . Ċĉ ĉ // ĠThe Ġfolders Ġon Ġthe Ġclasspath Ċĉ ĉ // Ġclasspath Ġfiles (' net . tw ister rob . gradle \\ plugin \\ plugin \\ build \\ classes \\ java \\ main ') Ċĉ ĉ // Ġclasspath Ġfiles (' net . tw ister rob . gradle \\ plugin \\ plugin \\ build \\ classes \\ kotlin \\ main ') Ċĉ ĉ // Ġclasspath Ġfiles (' net . tw ister rob . gradle \\ plugin \\ plugin \\ build \\ resources \\ main ') Ċĉ ĉ // Ġare Ġnow Ġused Ġas Ġa Ġquickly ĠZIP ped ĠJ AR Ġfile Ċĉ ĉ // Ġfile :/ Temp /. gradle - test - kit - TW i St Er - 6 / cache s / j ars - 8 / 6 1 2 d 2 c ded 1 e 3 0 1 5 b 8 2 4 ce 7 2 a 6 3 bd 2 fb 6 / main . jar Ċĉ ĉ // Ġbut Ġthis Ġis Ġmissing Ġthe ĠMAN IFEST . MF Ġfile , Ġas Ġonly Ġthe Ġclass Ġand Ġresource Ġfiles Ġare Ġthere . Ċĉ ĉ // ĠAdding Ġthe Ġtemporary Ġdirectory Ġfor Ġthe Ġmanifest Ġis Ġnot Ġenough Ġlike Ġthis : Ċĉ ĉ // Ġit . plugin Classpath . from ( files ( file (" build / tmp / jar / "))) Ċĉ ĉ // Ġbecause Ġit Ġneeds Ġto Ġbe Ġin Ġthe Ġsame ĠJ AR Ġfile Ġas Ġthe Ġclass Ġfiles . Ċĉ ĉ // ĠTo Ġwork Ġaround Ġthis : Ġprepend Ġthe Ġfinal ĠJ AR Ġfile Ġon Ġthe Ġclasspath : Ċĉ ĉ val Ġjar Ġ= Ġtasks . named < Jar >(" jar "). get () Ċĉ ĉ plugin Classpath . set From ( files ( jar . archive File ) Ġ+ Ġplugin Classpath ) Ċ ĉ } Ċ } Ċ