// ĠA Ġtask Ġthat Ġdisplays Ġa Ġg reeting Ċ open Ġclass ĠG reeting Ġ: ĠDefault Task () Ġ{ ĊĠĠĠ Ġ// ĠConfigur able Ġby Ġthe Ġuser ĊĠĠĠ Ġ@ Input ĊĠĠĠ Ġval Ġg reeting : ĠProperty < String > Ġ= Ġproject . objects . property () ĊĊĠĠĠ Ġ// ĠRead - only Ġproperty Ġcalculated Ġfrom Ġthe Ġg reeting ĊĠĠĠ Ġ@ Internal ĊĠĠĠ Ġval Ġmessage : ĠProvider < String > Ġ= Ġg reeting . map Ġ{ Ġit Ġ+ Ġ" Ġfrom ĠGradle " Ġ} ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġprint Message () Ġ{ ĊĠĠĠĠĠĠĠ Ġlogger . quiet ( message . get ()) ĊĠĠĠ Ġ} Ċ } Ċ Ċ tasks . register < G reeting >(" greeting ") Ġ{ ĊĠĠĠ Ġ// ĠConfigure Ġthe Ġg reeting ĊĠĠĠ Ġg reeting . set (" Hi ") Ċ } Ċ