package Ġcom . anc ient light stud ios . simple gen . maven Ċ Ċ import Ġcom . anc ient light stud ios . simple gen . Runner Ċ import Ġorg . apache . maven . plugin . Abstract Mojo Ċ import Ġorg . apache . maven . plugin . Mojo FailureException Ċ import Ġorg . apache . maven . plugins . annotations . Lifecycle Phase Ċ import Ġorg . apache . maven . plugins . annotations . Mojo Ċ import Ġorg . apache . maven . plugins . annotations . Parameter Ċ import Ġorg . apache . maven . project . Maven Project Ċ import Ġjava . io . File Ċ Ċ @ Suppress (" unused ") Ċ @ Mojo ( name Ġ= Ġ" generate ", Ġdefault Phase Ġ= ĠLifecycle Phase . GENER ATE _ SOURCES , Ġrequires Project Ġ= Ġtrue ) Ċ class ĠSimple gen Mojo Ġ: ĠAbstract Mojo () Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġcurrent ĠMaven Ġproject . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( property Ġ= Ġ" project ", Ġrequired Ġ= Ġtrue , Ġreadonly Ġ= Ġtrue ) ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġproject : ĠMaven Project ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġwhere Ġthe Ġsimple gen Ġresources Ġare Ġstored ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( defaultValue Ġ= Ġ"\ ${ project . basedir }/ src / main / simple gen ") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġsource Directory : ĠFile ĊĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġdirectory Ġwhere Ġthe Ġgenerated Ġsources Ġshould Ġbe Ġput ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( defaultValue Ġ= Ġ"\ ${ project . build . directory }/ generated - sources / simple gen ") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġoutput Directory : ĠFile ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġname Ġof Ġthe Ġconfig Ġfile . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( defaultValue Ġ= Ġ" config . yml ") ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġconfig FileName : ĠString ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠShould Ġan Ġupdate Ġof Ġthe Ġgenerated Ġsources Ġbe Ġforced . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ@ Parameter ( defaultValue Ġ= Ġ" false ") ĊĠĠĠ Ġprivate Ġvar Ġforce Update : Boolean Ġ= Ġfalse ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠ Ġlog . info (" Generating Ġsources Ġfrom Ġ${ File ( source Directory , Ġconfig FileName ). path } Ġto Ġ${ output Directory . path }") ĊĠĠĠĠĠĠĠ Ġif Ġ(! Runner ( source Directory . path , Ġconfig FileName , Ġoutput Directory . path , Ġforce Update ). run ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠMo jo FailureException (" There Ġwere Ġerrors Ġrunning ĠSimple Gen .") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġproject . add Compile Source Root ( output Directory . path ) ĊĠĠĠ Ġ} Ċ Ċ }