/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġandroidx . room . compiler . processing . util . runner Ċ Ċ import Ġandroidx . room . compiler . processing . Synt hetic J av ac Processor Ċ import Ġandroidx . room . compiler . processing . util . Compilation Result Ċ import Ġandroidx . room . compiler . processing . util . Kotlin Compile Testing Compilation Result Ċ import Ġcom . tsch uch ort . compile testing . Kotlin Compilation Ċ Ċ internal Ġobject ĠK apt Compilation TestRunner Ġ: ĠCompilation TestRunner Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġname : ĠString Ġ= Ġ" k apt " ĊĊĠĠĠ Ġoverride Ġfun Ġcan Run ( params : ĠTest Compilation Parameters ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcompile ( params : ĠTest Compilation Parameters ): ĠCompilation Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsynthetic J av ac Processor Ġ= ĠSynt hetic J av ac Processor ( params . handler ) ĊĠĠĠĠĠĠĠ Ġval Ġcompilation Ġ= ĠKotlin Compilation () ĊĠĠĠĠĠĠĠ Ġparams . sources . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcompilation . working Dir . resolve (" sources ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. resolve ( it . relative Path ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. parent File ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. mkdir s () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcompilation . sources Ġ= Ġparams . sources . map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . to Kotlin SourceFile () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġcompilation . jvm Default Ġ= Ġ" enable " ĊĠĠĠĠĠĠĠ Ġcompilation . jvm Target Ġ= Ġ" 1 . 8 " ĊĠĠĠĠĠĠĠ Ġcompilation . annotation Processors Ġ= ĠlistOf ( synt hetic J av ac Processor ) ĊĠĠĠĠĠĠĠ Ġcompilation . inherit Class Path Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġcompilation . verbose Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġcompilation . class paths Ġ+= Ġparams . classpath ĊĊĠĠĠĠĠĠĠ Ġval Ġresult Ġ= Ġcompilation . compile () ĊĠĠĠĠĠĠĠ Ġreturn ĠKotlin Compile Testing Compilation Result ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtest Runner Ġ= Ġthis , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate Ġ= Ġresult , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprocessor Ġ= Ġsynthetic J av ac Processor , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsuccessful Compilation Ġ= Ġresult . exit Code Ġ== ĠKotlin Compilation . ExitCode . OK ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }