/* Ċ Ġ* ĠCopyright Ġ 2 0 0 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "). Ċ Ġ* ĠSee ĠLICENSE Ġin Ġthe Ġproject Ġroot Ġfor Ġlicense Ġinformation . Ċ Ġ*/ Ċ Ċ package Ġjet brains . build Server . unity Ċ Ċ import Ġjet brains . build Server . agent . Build Finished Status Ċ import Ġjet brains . build Server . agent . Build Runner Context Ċ import Ġjet brains . build Server . agent . runner . Command Execution Ċ import Ġjet brains . build Server . agent . runner . CommandLine Build Service Ċ import Ġjet brains . build Server . agent . runner . Multi Command Build Session Ċ Ċ /** Ċ Ġ* ĠUnity Ġrunner Ġservice . Ċ Ġ*/ Ċ class ĠUnity Command Build Session ( private Ġval Ġrunner Context : ĠBuild Runner Context , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġun ity Tool Provider : ĠUnity Tool Provider ) Ġ: ĠMulti Command Build Session Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġbuild Steps : ĠIterator < Command Execution >? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġlast Commands Ġ= Ġarray ListOf < Command Execution Adapter >() ĊĊĠĠĠ Ġoverride Ġfun Ġsession Started () Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Steps Ġ= Ġget Steps () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetNext Command (): ĠCommand Execution ? Ġ{ ĊĠĠĠĠĠĠĠ Ġbuild Steps ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . hasNext ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit . next () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsession Finished (): ĠBuild Finished Status ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġlast Commands . last (). result ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Steps () Ġ= Ġiterator < Command Execution > Ġ{ ĊĠĠĠĠĠĠĠ Ġyield ( add Command ( Unity Runner Build Service ( unity Tool Provider ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Command ( build Service : ĠCommandLine Build Service ) Ġ= ĠCommand Execution Adapter ( build Service . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . initialize ( runner Context . build , Ġrunner Context ) ĊĠĠĠĠĠĠĠ Ġ}). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlast Commands . add ( this ) ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ