package Ġio . kot est . core . extensions Ċ Ċ import Ġio . kot est . core . project . Project Context Ċ Ċ /** Ċ Ġ* ĠExtension Ġpoint Ġthat Ġallows Ġintercept ing Ġexecution Ġof Ġprojects . Ċ Ġ*/ Ċ interface ĠProject Extension Ġ: ĠExtension Ġ{ ĊĊĠĠ Ġ/** ĊĠĠĠ Ġ* ĠImplement ations Ġmust Ġinvoke Ġthe Ġ[ callback ] Ġcallback Ġif Ġthey Ġwish ĊĠĠĠ Ġ* Ġthe Ġproject Ġto Ġbe Ġexecuted , Ġotherwise Ġnot Ġcalling Ġ[ callback ] Ġwill Ġskip ĊĠĠĠ Ġ* Ġthe Ġentire Ġproject . ĊĠĠĠ Ġ* ĊĠĠĠ Ġ* ĠImplement ations Ġcan Ġmodify Ġthe Ġ[ Project Context ] Ġand Ġchanges Ġwill Ġbe Ġreflected Ġdownstream . ĊĠĠĠ Ġ*/ ĊĠĠ Ġsuspend Ġfun Ġintercept Project ( context : ĠProject Context , Ġcallback : Ġsuspend Ġ( Project Context ) Ġ-> ĠUnit ) Ċ } Ċ