package Ġcom . code 4 2 . jenkins . pipeline kt . core Ċ Ċ import Ġcom . code 4 2 . jenkins . pipeline kt . core . step . Step Ċ import Ġcom . code 4 2 . jenkins . pipeline kt . core . step . Void Ċ import Ġcom . code 4 2 . jenkins . pipeline kt . core . writer . Gro ovy Script Ċ import Ġcom . code 4 2 . jenkins . pipeline kt . core . writer . Gro ovy Writer Ċ Ċ data Ġclass ĠPost ( ĊĠĠĠ Ġval Ġalways : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġsuccess : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġcleanup : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġchanged : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġfixed : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġregression : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġaborted : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġun successful : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġun stable : ĠStep Ġ= ĠVoid , ĊĠĠĠ Ġval Ġfailure : ĠStep Ġ= ĠVoid Ċ ) Ġ: ĠGro ovy Script Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġto Gro ovy ( writer : ĠGro ovy Writer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( listOf ( always , Ġsuccess , Ġcleanup , Ġchanged , Ġfixed , Ġregression , Ġaborted , Ġun stable , Ġun stable , Ġfailure ). any Ġ{ Ġ! it . isEmpty () Ġ}) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . closure (" post ") Ġ{ Ġwriter Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" success ", Ġsuccess , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" always ", Ġalways , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" cleanup ", Ġcleanup , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" changed ", Ġchanged , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" fixed ", Ġfixed , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" regression ", Ġregression , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" abort ed ", Ġaborted , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" un successful ", Ġun successful , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" unstable ", Ġun stable , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġto Gro ovy (" failure ", Ġfailure , Ġwriter ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġprivate Ġfun Ġto Gro ovy ( label : ĠString , Ġstep : ĠStep , Ġwriter : ĠGro ovy Writer ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! step . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwriter . closure ( label , Ġstep :: to Gro ovy ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġmerge ( other : ĠPost ): ĠPost Ġ= ĊĠĠĠĠĠĠĠ Ġthis . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġalways Ġ= Ġalways . and Then ( other . always ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuccess Ġ= Ġsuccess . and Then ( other . success ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcleanup Ġ= Ġcleanup . and Then ( other . cleanup ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchanged Ġ= Ġchanged . and Then ( other . changed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfixed Ġ= Ġfixed . and Then ( other . fixed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġregression Ġ= Ġregression . and Then ( other . regression ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġaborted Ġ= Ġaborted . and Then ( other . abort ed ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun successful Ġ= Ġun successful . and Then ( other . un successful ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġun stable Ġ= Ġun stable . and Then ( other . unstable ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfailure Ġ= Ġfailure . and Then ( other . failure )) Ċ } Ċ