package Ġcom . av ito . instrumentation . internal Ċ Ċ import Ġcom . av ito . instrumentation . configuration . Instrumentation Plugin Configuration Ċ import Ġcom . av ito . kotlin . dsl . getBoolean Property Ċ import Ġcom . av ito . runner . config . Instrumentation Parameters Ċ import Ġorg . gradle . api . Project Ċ Ċ /** Ċ Ġ* ĠInstrument ation Ġargs Ġconsumed Ġin Ġ` parse Environment ()` Ċ Ġ* Ċ Ġ* ĠTODO : ĠMake Ġstrong er Ġcontract : ĠMB S - 7 8 9 0 Ċ Ġ*/ Ċ internal Ġclass ĠInstrument ation Args Resolver ( ĊĠĠĠ Ġprivate Ġval Ġanalytics Resolver : ĠAnalytics Resolver , ĊĠĠĠ Ġprivate Ġval Ġbuild Env Resolver : ĠBuild Env Resolver , ĊĠĠĠ Ġprivate Ġval Ġreport Resolver : ĠReport Resolver , ĊĠĠĠ Ġprivate Ġval Ġplan Slug Resolver : ĠPlan Slug Resolver , Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġresolve Plugin Level Params ( ĊĠĠĠĠĠĠĠ Ġargs From Script : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠ Ġproject : ĠProject , ĊĠĠĠĠĠĠĠ Ġextension : ĠInstrument ation Plugin Configuration . Gradle Instrumentation Plugin Configuration , ĊĠĠĠ Ġ): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġargs Ġ= Ġmutable Map Of < String , ĠString >() ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" plan Slug ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġplan Slug Resolver . generate Default Plan Slug ( project . path ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" job Slug ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" Local Tests " Ġ// Ġtodo Ġcould Ġbe Ġconfiguration Ġname ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" run Id ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Resolver . get Run Id ( extension ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" team city Build Id ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuild Env Resolver . get Build Id ( project ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" av ito . report . enabled ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproject . getBoolean Property (" av ito . report . enabled ", Ġdefault Ġ= Ġfalse ). toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" file Storage Url ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Resolver . getFile Storage Url ( extension ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" sentry D sn ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġanalytics Resolver . getS entry D sn ( extension ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" device Name ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" local " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" report Api Url ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Resolver . get Report Api Url ( extension ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġargs . resolve Arg (" report Viewer Url ", Ġargs From Script ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreport Resolver . get Report Viewer Url ( extension ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġargs ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Instrumentation Params ( ĊĠĠĠĠĠĠĠ Ġextension : ĠInstrument ation Plugin Configuration . Gradle Instrumentation Plugin Configuration , ĊĠĠĠĠĠĠĠ Ġplugin Level Instrumentation Args : ĠMap < String , ĠString >, ĊĠĠĠ Ġ): ĠInstrument ation Parameters Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠInstrument ation Parameters () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Parameters ( plugin Level Instrumentation Args ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Parameters ( extension . instrumentation Params ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun ĠMutable Map < String , ĠString >. resolve Arg ( ĊĠĠĠĠĠĠĠ Ġkey : ĠString , ĊĠĠĠĠĠĠĠ Ġargs From Script : ĠMap < String , ĠString >, ĊĠĠĠĠĠĠĠ Ġvalue From Extension : Ġ() Ġ-> ĠString ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġfinal Value Ġ= Ġif Ġ( args From Script . containsKey ( key )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġvalue From Script Ġ= Ġargs From Script [ key ] ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( value From Script . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue From Extension . invoke () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue From Script ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue From Extension . invoke () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġput ( key , Ġfinal Value ) ĊĠĠĠ Ġ} Ċ } Ċ