package Ġcom . av ito . instrumentation . internal Ċ Ċ import Ġcom . av ito . instrumentation . configuration . Instrumentation Configuration Ċ import Ġcom . av ito . instrumentation . configuration . Instrumentation Tests Plugin Extension Ċ import Ġcom . av ito . instrumentation . dump Dir Name Ċ import Ġcom . av ito . logger . LoggerFactory Ċ import Ġcom . av ito . logger . create Ċ import Ġorg . gradle . api . file . Directory Ċ import Ġorg . gradle . api . file . Project Layout Ċ import Ġorg . gradle . api . provider . Provider Ċ import Ġorg . gradle . api . provider . Provider Factory Ċ Ċ internal Ġclass ĠOutput Dir Resolver ( ĊĠĠĠ Ġprivate Ġval Ġextension : ĠInstrument ation Tests Plugin Extension , ĊĠĠĠ Ġprivate Ġval Ġreport Resolver : ĠReport Resolver , ĊĠĠĠ Ġprivate Ġval Ġroot Project Layout : ĠProject Layout , ĊĠĠĠ Ġprivate Ġval Ġproviders : ĠProvider Factory , ĊĠĠĠ Ġlogger Factory : ĠLoggerFactory , Ċ ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= Ġlogger Factory . create < Output Dir Resolver >() ĊĊĠĠĠ Ġfun Ġresolve ( configuration : ĠInstrument ation Configuration ): ĠProvider < Directory > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresolve With Deprecated Property (). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . dir ("${ report Resolver . get Run Id ( extension ) }/${ configuration . name }") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġresolve Args Dump Dir (): ĠProvider < Directory > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġresolve With Deprecated Property (). map Ġ{ Ġit . dir ( dump Dir Name ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġresolve With Deprecated Property (): ĠProvider < Directory > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġextension . output Dir . convention ( get Deprecated Output Value If Set ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Deprecated Output Value If Set (): ĠProvider < Directory > Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" DE PREC ATION ") ĊĠĠĠĠĠĠĠ Ġreturn Ġproviders . provider Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( extension . output Ġ!= Ġextension . default Output . get (). as File . path ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Deprecated Ġ' output ' Ġproperty Ġused Ġin ĠInstrument ation Tests Plugin Extension , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" please Ġmigrate Ġto Ġ' output Dir '" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġroot DirPath Ġ= Ġroot Project Layout . project Directory . as File . path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( extension . output . startsWith ( root DirPath )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġrelative Path Ġ= Ġextension . output . replace ( root DirPath , Ġ""). remove Prefix ("/") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroot Project Layout . project Directory . dir ( relative Path ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . warn ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Deprecated Ġ' output ' Ġproperty Ġused Ġin ĠInstrument ation Tests Plugin Extension Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" has Ġincorrect Ġinput : Ġshould Ġbe Ġinside Ġproject Ġroot Ġdirectory , Ġbut Ġwas : Ġ${ extension . output }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ