package Ġcom . dip ien . release Ċ Ċ import Ġcom . class dojo . gradle . android . git . Autom erge PullRequest Task Ċ import Ġcom . dip ien . release . task . Send Merge PullRequest Task Ċ import Ġcom . dip ien . release . common . Abstract Task Ċ import Ġcom . dip ien . release . task . Abstract GitHub Task Ċ import Ġcom . dip ien . release . task . Close GitHub M ilestone Task Ċ import Ġcom . dip ien . release . task . Create GitHub Release Task Ċ import Ġcom . dip ien . release . task . Generate Change log Task Ċ import Ġorg . gradle . api . Plugin Ċ import Ġorg . gradle . api . Project Ċ Ċ class ĠRelease Gradle Plugin Ġ: ĠPlugin < Project > Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠEXT ENSION _ NAME Ġ= Ġ" release " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġapply ( project : ĠProject ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġextension Ġ= Ġproject . extensions . create ( EXTENSION _ NAME , ĠRelease Extension :: class . java , Ġproject ) ĊĊĠĠĠĠĠĠĠ Ġval Ġcreate GitHub Release Task : ĠCreate GitHub Release Task Ġ= Ġproject . tasks . create (" create GitHub Release ", ĠCreate GitHub Release Task :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġclose GitHub M ilestone Task : ĠClose GitHub M ilestone Task Ġ= Ġproject . tasks . create (" close GitHub M ilestone ", ĠClose GitHub M ilestone Task :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġgenerate Change log Task : ĠGenerate Change log Task Ġ= Ġproject . tasks . create (" generate Change log ", ĠGenerate Change log Task :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġautom erge PullRequest Task : ĠAutom erge PullRequest Task Ġ= Ġproject . tasks . create ( Autom erge PullRequest Task . TASK _ NAME , ĠAutom erge PullRequest Task :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġsend Merge PullRequest Task : ĠSend Merge PullRequest Task Ġ= Ġproject . tasks . create ( Send Merge PullRequest Task . TASK _ NAME , ĠSend Merge PullRequest Task :: class . java ) ĊĊĠĠĠĠĠĠĠ Ġproject . after Evaluate Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Abstract GitHub Task ( create GitHub Release Task , Ġextension ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate GitHub Release Task . git Branch Ġ= Ġextension . release Branch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate GitHub Release Task . git Hub UserName Ġ= Ġextension . git Hub UserName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreate GitHub Release Task . git Hub User Email Ġ= Ġextension . git Hub User Email ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Abstract GitHub Task ( close GitHub M ilestone Task , Ġextension ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Abstract GitHub Task ( autom erge PullRequest Task , Ġextension ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Abstract GitHub Task ( generate Change log Task , Ġextension ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Change log Task . git Branch Ġ= Ġextension . release Branch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Change log Task . git Hub UserName Ġ= Ġextension . git Hub UserName ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgenerate Change log Task . git Hub User Email Ġ= Ġextension . git Hub User Email ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġconfigure Abstract Task ( send Merge PullRequest Task , Ġextension ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Merge PullRequest Task . base Branch Ġ= Ġextension . default Branch ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsend Merge PullRequest Task . head Branch Ġ= Ġextension . release Branch ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Abstract Task ( task : ĠAbstract Task , Ġextension : ĠRelease Extension ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtask . default Branch Ġ= Ġextension . default Branch ĊĠĠĠĠĠĠĠ Ġtask . release Branch Ġ= Ġextension . release Branch ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġconfigure Abstract GitHub Task ( task : ĠAbstract GitHub Task , Ġextension : ĠRelease Extension ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfigure Abstract Task ( task , Ġextension ) ĊĠĠĠĠĠĠĠ Ġtask . git Hub Repository Owner Ġ= Ġextension . git Hub Repository Owner ĊĠĠĠĠĠĠĠ Ġtask . git Hub Repository Name Ġ= Ġextension . git Hub Repository Name ĊĠĠĠĠĠĠĠ Ġtask . git Hub Write Token Ġ= Ġextension . git Hub Write Token ĊĠĠĠ Ġ} Ċ } Ċ