package Ġcom . av ito . ci . steps Ċ Ċ import Ġcom . av ito . android . plugin . art ifactory . art ifactory App Backup Task Ċ import Ġcom . av ito . android . plugin . art ifactory . art ifactory Password Ċ import Ġcom . av ito . android . plugin . art ifactory . art ifactory User Ċ import Ġcom . av ito . cd . Upload Cd Build Result Task Ċ import Ġcom . av ito . cd . cd Build Config Ċ import Ġcom . av ito . cd . is Cd Build Config Present Ċ import Ġcom . av ito . cd . upload Cd Build Result Task Name Ċ import Ġcom . av ito . kotlin . dsl . named OrNull Ċ import Ġcom . av ito . upload _ to _ google play . deploy Task Name Ċ import Ġorg . gradle . api . Project Ċ import Ġorg . gradle . api . Task Ċ import Ġorg . gradle . api . tasks . Task Provider Ċ import Ġorg . gradle . kotlin . dsl . register Ċ Ċ class ĠUpload Build Result ( context : ĠString ) Ġ: ĠSup press ible Build Step ( context ) Ġ{ ĊĊĠĠĠ Ġvar Ġui Test Configuration : ĠString ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġregister Task ( project : ĠProject , Ġroot Task : ĠTask Provider < out ĠTask >) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( project . is Cd Build Config Present ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġui Test Configuration Ġ= Ġui Test Configuration ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO : Ġcan Ġwe Ġvalidate Ġa Ġcontract Ġwithout Ġcd Ġbuild Ġconfig ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrequire (! ui Test Configuration . isNull Or Blank ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" upload Build Result . ui Test Configuration Ġparameter Ġmust Ġbe Ġset " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġupload Cd Build Result Ġ= Ġproject . tasks . register < Upload Cd Build Result Task >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġupload Cd Build Result Task Name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconstructor Args Ġ= Ġ* array Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġui Test Configuration , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . art ifactory User , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . art ifactory Password , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . cd Build Config . get (). output Descriptor , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuppress Failures ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgroup Ġ= Ġ" cd " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" Task Ġfor Ġsend ĠCD Ġbuild Ġresult " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject . tasks . named OrNull ( deploy Task Name )?. also Ġ{ Ġdeploy Task Ġ-> Ġdepends On ( deploy Task ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmust Run After ( project . tasks . art ifactory App Backup Task ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroot Task . configure Ġ{ Ġit . final ized By ( upload Cd Build Result ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ