package Ġcom . k arm anno . plugins . task Ċ Ċ import Ġorg . eclipse . j git . lib . Constants Ċ import Ġorg . eclipse . j git . rev walk . Rev Walk Ċ import Ġorg . gradle . api . Default Task Ċ import Ġorg . gradle . api . tasks . Input Ċ import Ġorg . gradle . api . tasks . Optional Ċ import Ġorg . gradle . api . tasks . Task Action Ċ import Ġorg . gradle . api . tasks . options . Option Ċ Ċ open Ġclass ĠAssign Tag Task : ĠDefault Task () Ġ{ ĊĊĠĠĠ Ġ@ Input ĊĠĠĠ Ġ@ Optional ĊĠĠĠ Ġ@ Option ( description Ġ= Ġ" Release Ġbranch , Ġif Ġit Ġis Ġdifferent Ġto Ġmaster ", Ġoption Ġ= Ġ" release Branch ") ĊĠĠĠ Ġvar Ġrelease Branch : ĠString ? Ġ= Ġnull ĊĊĊĠĠĠ Ġ@ Task Action ĊĠĠĠ Ġfun Ġdo Task () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( git , Ġnext Version ) Ġ= ĠGeneric Increase Version Task (). calculate Version String ( project , Ġrelease Branch ) ĊĊĠĠĠĠĠĠĠ Ġval Ġhead Ġ= ĠRev Walk ( git . repository ). parse Commit ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit . repository . resolve ( Constants . HEAD ) ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġgit . tag () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. set ObjectId ( head ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setName ( next Version ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. setTag ger ( head . author Ident ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. call () ĊĠĠĠ Ġ} Ċ }