package Ġcom . super c ile x . gradle . versions . tasks Ċ Ċ import Ġcom . super c ile x . gradle . versions . internal . exec With Output Ċ import Ġcom . super c ile x . gradle . versions . internal . safe Create New File Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . file . Regular File Property Ċ import Ġorg . gradle . api . tasks . OutputFile Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġorg . gradle . kotlin . dsl . submit Ċ import Ġorg . gradle . process . Exec Operations Ċ import Ġorg . gradle . workers . Work Action Ċ import Ġorg . gradle . workers . Work Parameters Ċ import Ġorg . gradle . workers . Worker Executor Ċ import Ġjavax . inject . Inject Ċ Ċ internal Ġabstract Ġclass ĠRetrieve Git Description Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġexecutor : ĠWorker Executor Ċ ) Ġ: ĠDefault Task () Ġ{ ĊĠĠĠ Ġ@ get : OutputFile ĊĠĠĠ Ġabstract Ġval Ġgit Describe File : ĠRegular File Property ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠWe Ġdon 't Ġknow Ġwhat 's Ġchanged Ġon Ġthe ĠGit Ġside Ġof Ġthings ĊĠĠĠĠĠĠĠ Ġoutputs . up ToDate When Ġ{ Ġfalse Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġretrieve Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġexecutor . no Isolation (). submit ( Retriever :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Describe . set ( git Describe File ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġabstract Ġclass ĠRetrie ver Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprivate Ġval Ġexec Ops : ĠExec Operations ĊĠĠĠ Ġ) Ġ: ĠWork Action < Retriever . Params > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgit Describe Ġ= Ġexec Ops . exec With Output Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcommand Line (" git ", Ġ" describe ", Ġ"-- tags ", Ġ"-- always ", Ġ"-- dirty ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . git Describe . get (). as File . safe Create New File (). write Text ( git Describe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġinterface ĠParams Ġ: ĠWork Parameters Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġgit Describe : ĠRegular File Property ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ