package Ġgit . semver . plugin . scm Ċ Ċ import Ġgit . semver . plugin . semver . Sem Version Ċ import Ġgit . semver . plugin . semver . Sem ver Settings Ċ import Ġorg . eclipse . j git . api . Git Ċ import Ġjava . io . File Ċ import Ġkotlin . test . Test Ċ import Ġkotlin . test . assertEquals Ċ import Ġkotlin . test . assertNotNull Ċ import Ġkotlin . test . assertTrue Ċ import Ġkotlin . test . assertFalse Ċ Ċ class ĠGit Provider Test Ġ{ ĊĠĠĠ Ġprivate Ġval Ġtable String Format Ġ= Ġ"| Ġ%- 4 5 s Ġ| Ġ%- 2 5 s Ġ| Ġ%- 2 0 s |" ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun ĠtestGet Sem Version () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġgit Provider (). get Sem Version ( File (". ")) ĊĊĠĠĠĠĠĠĠ ĠassertNotNull ( actual ) ĊĠĠĠĠĠĠĠ Ġprintln ( actual ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Commits () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 2 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġprint Head () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġgroup Version In crements Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġa Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġanother Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġa Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġanother Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat !: Ġbreaking Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġa Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ" alpha . 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġa Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġanother Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġa Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġanother Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat !: Ġbreaking Ġfeature ", Ġgit Provider ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġrelease ( git Provider , Ġit , Ġ"- ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 2 . 0 . 0 ", Ġactual . to Version String ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Auto Bump And No Grouping Commits _ modified () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 7 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġprint Head () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġgroup Version In crements Ġ= Ġfalse ; Ġno Auto B umb Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" release : Ġ 0 . 0 . 1 0 ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġtest 1 2 ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġcommit ( it , Ġ" test 1 3 ", Ġgit Provider ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 0 . 0 . 1 1 - SNAPSHOT ", Ġactual . to Version String ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Auto Bump And No Grouping Commits _ not _ modified () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 8 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġprint Head () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġgroup Version In crements Ġ= Ġfalse ; Ġno Auto B umb Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" release : Ġ 0 . 0 . 1 0 ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġcommit ( it , Ġ" test 1 3 ", Ġgit Provider ) ĊĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 0 . 0 . 1 0 ", Ġactual . to Version String ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ semver _ snapshot _ comparison _ no _ group () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 9 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġprint Head () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġgroup Version In crements Ġ= Ġfalse ; Ġno Auto B umb Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġupdate Ġsemver Ġplugin ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ" SNAPSHOT ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġupdate Ġsemver Ġplugin ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġrelease ( git Provider , Ġit , Ġ"- ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 0 . 0 . 2 ", Ġactual . to Version String ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest _ semver _ snapshot _ comparison _ group () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 1 0 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġprint Head () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġgroup Version In crements Ġ= Ġtrue ; Ġno Auto B umb Ġ= Ġtrue Ġ}) ĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġupdate Ġsemver Ġplugin ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ" SNAPSHOT ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġupdate Ġsemver Ġplugin ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġactual Ġ= Ġrelease ( git Provider , Ġit , Ġ"- ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 0 . 0 . 2 ", Ġactual . to Version String ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġprint Head () Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln ("| Ġ-------------------------------- ------------- Ġ| Ġ---------------- --------- Ġ| Ġ------------------- Ġ| ") ĊĊĠĠĠĠĠĠĠ Ġprintln ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtable String Format . format ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Command ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Commit ĠText ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Calculated Ġversion " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġprintln ("| Ġ-------------------------------- ------------- Ġ| Ġ---------------- --------- Ġ| Ġ------------------- Ġ| ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinit Or Reset ( it : ĠGit , Ġgit Provider : ĠGit Provider ) Ġ{ ĊĠĠĠĠĠĠĠ Ġit . commit (). setMessage (" Initial Ġcommit "). call () ĊĠĠĠĠĠĠĠ Ġval Ġlast Ġ= Ġit . log (). all (). call (). last () ĊĠĠĠĠĠĠĠ Ġit . reset (). set Ref ( last . name ). call () ĊĠĠĠĠĠĠĠ Ġit . gc (). call () ĊĠĠĠĠĠĠĠ Ġget Sem Version And Print (" Initial Ġcommit ", Ġgit Provider , Ġit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcommit ( it : ĠGit , Ġmsg : ĠString , Ġgit Provider : ĠGit Provider ): ĠSem Version Ġ{ ĊĠĠĠĠĠĠĠ Ġit . commit (). setMessage ( msg ). call () ĊĠĠĠĠĠĠĠ Ġreturn Ġget Sem Version And Print ( msg , Ġgit Provider , Ġit ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġrelease ( git Provider : ĠGit Provider , Ġit : ĠGit , Ġpre Release : ĠString ? Ġ= Ġnull ): ĠSem Version Ġ{ ĊĠĠĠĠĠĠĠ Ġgit Provider . create Release ( it , Ġfalse , Ġcommit Ġ= Ġtrue , Ġpre Release Ġ= Ġpre Release , Ġno Dirty Check Ġ= Ġfalse ) ĊĠĠĠĠĠĠĠ Ġreturn Ġget Sem Version And Print ( git Provider , Ġit , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" gradle Ġrelease Version Ġ" Ġ+ Ġif Ġ( pre Release Ġ== Ġnull ) Ġ"" Ġelse Ġ"-- pre Release =\" $ pre Release \"", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . log (). setMax Count ( 1 ). call (). first (). full Message ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sem Version And Print ( msg : ĠString , Ġgit Provider : ĠGit Provider , Ġit : ĠGit ): ĠSem Version Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Sem Version And Print ( git Provider , Ġit , Ġ" git Ġcommit Ġ- m Ġ\"$ msg \"", Ġmsg ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Sem Version And Print ( ĊĠĠĠĠĠĠĠ Ġgit Provider : ĠGit Provider , ĊĠĠĠĠĠĠĠ Ġit : ĠGit , ĊĠĠĠĠĠĠĠ Ġcmd : ĠString , ĊĠĠĠĠĠĠĠ Ġmsg : ĠString ĊĠĠĠ Ġ) Ġ: ĠSem Version Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsem Version Ġ= Ġgit Provider . sem Version ( it ) ĊĠĠĠĠĠĠĠ Ġprintln ( table String Format . format ( cmd , Ġmsg , Ġsem Version . to Info Version String ())) ĊĠĠĠĠĠĠĠ Ġreturn Ġsem Version ; ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Release Commit () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint Head () ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= Ġgit Provider () ĊĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgit Provider . create Release ( git Dir , Ġtrue , Ġcommit Ġ= Ġfalse , Ġpre Release Ġ= Ġ" alpha . 1 ", Ġno Dirty Check Ġ= Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" feat : Ġsome Ġfeature ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgit Provider . create Release ( git Dir , Ġfalse , Ġtrue , Ġ" beta . 1 ", Ġ" some Ġmessage ", Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġsome Ġfixes ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgit Provider . create Release ( git Dir , Ġtrue , Ġcommit Ġ= Ġtrue , Ġpre Release Ġ= Ġnull , Ġno Dirty Check Ġ= Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" some Ġchanges ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġgit Provider . create Release ( git Dir , Ġfalse , Ġcommit Ġ= Ġtrue , Ġpre Release Ġ= Ġ"", Ġno Dirty Check Ġ= Ġfalse ) ĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( git Provider . get Head Commit ( it . repository ). text . startsWith (" release : Ġv 0 .")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Release Commit 3 () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint Head () ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 3 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= Ġgit Provider () ĊĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ" SNAPSHOT ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġa Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ"- ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertTrue ( git Provider . get Head Commit ( it . repository ). text . startsWith (" release : Ġv 0 .")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Empty Repo () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 4 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= Ġgit Provider () ĊĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertEquals (" 0 . 0 . 0 ", Ġgit Provider . get Sem Version ( git Dir ). toString ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest No Dirty Check () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 5 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ Ġno Dirty Check Ġ= Ġtrue Ġ}) ĊĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠFile ( git Dir , Ġ" tmp "). createNew File () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( git Provider . is Dirty ( it )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġtest Create Release Commit 3 _ no _ tag _ or _ commit () Ġ{ ĊĠĠĠĠĠĠĠ Ġprint Head () ĊĠĠĠĠĠĠĠ Ġval Ġgit Dir Ġ= ĠFile (" build / integration Test 6 ") ĊĠĠĠĠĠĠĠ Ġgit Dir . mkdir s () ĊĊĠĠĠĠĠĠĠ Ġval Ġgit Provider Ġ= ĠGit Provider ( Sem ver Settings (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease Commit Text Format Ġ= Ġ"" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease TagName Format Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ ĠGit . init (). set Directory ( git Dir ). call (). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinit Or Reset ( it , Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ" SNAPSHOT ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" fix : Ġa Ġfix ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcommit ( it , Ġ" docs : Ġsome Ġdocumentation ", Ġgit Provider ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrelease ( git Provider , Ġit , Ġ"- ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠGit . open ( git Dir ). use Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertFalse ( git Provider . get Head Commit ( it . repository ). text . startsWith (" release : Ġv 0 .")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgit Provider () Ġ= ĠGit Provider ( Sem ver Settings ()) Ċ Ċ }