import Ġorg . gradle . api . tasks . testing . logging . Test Exception Format Ċ import Ġpl . al leg ro . tech . build . ax ion . release . domain . Checks Config Ċ import Ġpl . al leg ro . tech . build . ax ion . release . domain . hooks . Hooks Config Ċ import Ġjava . util .* ĊĊ Ċ group Ġ= Ġ" io . github . m ick le - ak . mock ob or " Ċ version Ġ= Ġsc m Version . version Ċ description Ġ= Ġ" Mock ed ĠObservable ĠOb servation Ġ- Ġlibrary Ġto Ġsimplify Ġsome Ġaspects Ġof Ġunit Ġtesting Ġwith Ġjava ." Ċ Ċ println (" version Ġ= Ġ$ version ") ĊĊ Ċ plugins Ġ{ ĊĠĠĠ Ġ// Ġbuild ĊĠĠĠ Ġ` java - library ` ĊĠĠĠ Ġj aco co ĊĊĠĠĠ Ġ// Ġpublishing ĊĠĠĠ Ġ` maven - publish ` ĊĠĠĠ Ġsigning ĊĠĠĠ Ġid (" io . github . gradle - nexus . publish - plugin ") Ġversion Ġ" 1 . 1 . 0 " ĊĊĠĠĠ Ġ// Ġversioning ĊĠĠĠ Ġid (" pl . al leg ro . tech . build . ax ion - release ") Ġversion Ġ" 1 . 1 3 . 3 " Ċ } ĊĊ Ċ repositories Ġ{ ĊĠĠĠ Ġmaven Central () Ċ } ĊĊ Ċ // Ġ================================================================= ================ = Ċ // Ġ================================= === Ġbuild Ġ================================= ====== Ċ // Ġ================================================================= ================ = Ċ Ċ java Ġ{ ĊĠĠĠ Ġsource Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġtarget Compatibility Ġ= ĠJava Version . VERSION _ 1 _ 8 ĊĠĠĠ Ġwith Javadoc Jar () ĊĠĠĠ Ġwith Sources Jar () Ċ } Ċ Ċ dependencies Ġ{ ĊĊĠĠĠ Ġval Ġjunit 5 _ version Ġ= Ġ" 5 . 8 . 0 " ĊĠĠĠ Ġval Ġassert j _ version Ġ= Ġ" 3 . 2 0 . 2 " ĊĠĠĠ Ġval Ġmock ito _ version Ġ= Ġ" 3 . 1 2 . 4 " ĊĠĠĠ Ġval Ġeasy mock _ version Ġ= Ġ" 4 . 3 " ĊĠĠĠ Ġval Ġlombok _ version Ġ= Ġ" 1 . 1 8 . 2 0 " ĊĊĠĠĠ Ġimplementation (" org . eclipse . jdt : org . eclipse . jdt . annotation : 2 . 2 . 6 0 0 ") ĊĊĠĠĠ Ġcompile Only (" org . mockito : mockito - core :$ mockito _ version ") ĊĠĠĠ Ġcompile Only (" org . easy mock : easy mock :$ easy mock _ version ") ĊĠĠĠ Ġcompile Only (" org . project lo mbok : lo mbok :$ lo mbok _ version ") ĊĠĠĠ Ġannotation Processor (" org . project lo mbok : lo mbok :$ lo mbok _ version ") ĊĊĠĠĠ Ġtest Implementation ( platform (" org . junit : junit - bom :$ junit 5 _ version ")) ĊĠĠĠ Ġtest Implementation (" org . junit . jupiter : junit - jupiter :$ junit 5 _ version ") ĊĠĠĠ Ġtest Implementation (" org . assertj : assertj - core :$ assertj _ version ") ĊĠĠĠ Ġtest Implementation (" org . mockito : mockito - core :$ mockito _ version ") ĊĠĠĠ Ġtest Implementation (" org . mockito : mockito - junit - jupiter :$ mockito _ version ") ĊĠĠĠ Ġtest Implementation (" org . easy mock : easy mock :$ easy mock _ version ") ĊĠĠĠ Ġtest Compile Only (" org . project lo mbok : lo mbok :$ lo mbok _ version ") ĊĠĠĠ Ġtest Annotation Processor (" org . project lo mbok : lo mbok :$ lo mbok _ version ") Ċ } Ċ Ċ // Ġconfigure Ġtest Ġstarter Ċ tasks . test Ġ{ ĊĠĠĠ Ġuse JUnit Platform () ĊĠĠĠ Ġsystem Property (" mockito - mock - maker ", ĠSystem . getProperty (" mockito - mock - maker ", Ġ" inline ")) ĊĊĠĠĠ Ġtest Logging Ġ{ ĊĠĠĠĠĠĠĠ Ġevents (" skipped ", Ġ" failed ") ĊĠĠĠĠĠĠĠ Ġshow Standard Streams Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġshow Exceptions Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġshow Cause s Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġshow Stack Tr aces Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġexception Format Ġ= ĠTest Exception Format . FULL ĊĠĠĠ Ġ} ĊĠĠĠ Ġenable Assertions Ġ= Ġtrue ĊĠĠĠ Ġfail Fast Ġ= Ġfalse ĊĊĠĠĠ Ġadd Test Listener ( object Ġ: ĠTest Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore Suite ( suite : ĠTest Descriptor ) Ġ{} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġbefore Test ( test Descriptor : ĠTest Descriptor ) Ġ{} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter Test ( test Descriptor : ĠTest Descriptor , Ġresult : ĠTest Result ) Ġ{} ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġafter Suite ( suite : ĠTest Descriptor , Ġresult : ĠTest Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( suite . parent Ġ== Ġnull ) Ġ{ Ġ// Ġwill Ġmatch Ġthe Ġout erm ost Ġsuite ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprintln (" Test Ġresult : Ġ${ result . result Type } Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" (${ result . test Count } Ġtests , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ result . successful Test Count } Ġsuc cesses , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ result . failed Test Count } Ġfailures , Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ result . skipped Test Count } Ġskipped )") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ}) Ċ } Ċ Ċ // Ġdisable Ġstrict Ġchecking Ġof Ġjavadoc Ġin Ġjava Ġ 8 + Ċ tasks . javadoc Ġ{ ĊĠĠĠ Ġ( options Ġas ĠStandard Javadoc Doc let Options ). add String Option (" X doc lint : none ", Ġ"- quiet ") ĊĠĠĠ Ġoptions . overview Ġ= Ġ" src / main / javadoc / overview . html " Ċ } Ċ Ċ // Ġconfigure Ġj aco co Ġreport Ġtask Ċ tasks . jac oco Test Report Ġ{ ĊĠĠĠ Ġdepends On ( tasks . test ) ĊĠĠĠ Ġreports . xml . isEnabled Ġ= Ġtrue ĊĠĠĠ Ġreports . html . isEnabled Ġ= Ġtrue ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" full Ġj aco co Ġreport : Ġ" Ġ+ Ġreports . html . entry Point . absolute Path ) ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ // Ġ================================================================= ================ = Ċ // Ġ================================= == Ġversioning Ġ================================= == Ċ // Ġ================================================================= ================ = Ċ Ċ scm Version Ġ{ ĊĠĠĠ Ġhooks ( closure Of < Hooks Config > Ġ{ ĊĠĠĠĠĠĠĠ Ġpre (" file Update ", Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" file " Ġto Ġ" README . md ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" pattern " Ġto ĠKotlin Closure 2 ({ Ġv : ĠAny , Ġ_: ĠAny Ġ-> Ġ""" (< version >| mock ob or : )$ v ( </ version >| "\ )) """ Ġ}), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" replacement " Ġto ĠKotlin Closure 2 ({ Ġv : ĠAny , Ġ_: ĠAny Ġ-> Ġ""" $ 1 $ v $ 2 """ Ġ} ))) ĊĠĠĠĠĠĠĠ Ġpre (" commit ") ĊĠĠĠ Ġ}) ĊĠĠĠ Ġchecks ( closure Of < Checks Config > Ġ{ ĊĠĠĠĠĠĠĠ Ġun committed Changes Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġahead Of Remote Ġ= Ġfalse ĊĠĠĠ Ġ}) Ċ } ĊĊ Ċ // Ġ================================================================= ================ = Ċ // Ġ================================= = Ġpublishing Ġ================================= === Ċ // Ġ================================================================= ================ = Ċ Ċ nexus Publishing Ġ{ ĊĠĠĠ Ġrepositories Ġ{ ĊĠĠĠĠĠĠĠ Ġson atype Ġ{ Ġ Ġ// only Ġfor Ġusers Ġregistered Ġin ĠSon atype Ġafter Ġ 2 4 ĠFeb Ġ 2 0 2 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġn exus Url . set ( uri (" https :// s 0 1 . oss . son atype . org / service / local / ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsnapshot Repository Url . set ( uri (" https :// s 0 1 . oss . son atype . org / content / repositories / snapshots / ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġusername . set ( find Property (" son atype Username ") ?. toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassword . set ( base 6 4 Decode (" son atype Password 6 4 ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ publishing Ġ{ ĊĠĠĠ Ġpublications Ġ{ ĊĠĠĠĠĠĠĠ Ġcreate < Maven Publication >(" mock ob or ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfrom ( components [" java "]) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpom Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" Mock ob or ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdescription . set ( project . description ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" https :// github . com / m ick le - ak / mock ob or ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicenses Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlicense Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" The ĠApache ĠLicense , ĠVersion Ġ 2 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// www . apache . org / licenses / LICENSE - 2 . 0 . txt ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdevelopers Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid . set (" m ick le - ak ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname . set (" M ik h ail ĠK ise lev ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail . set (" m ick le . ak @ gmail . com ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconnection . set (" scm : git : git :// github . com / m ick le - ak / mock ob or . git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdeveloper Connection . set (" scm : git : ssh :// github . com : m ick le - ak / mock ob or . git ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl . set (" http :// github . com / m ick le - ak / mock ob or ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ signing Ġ{ ĊĠĠĠ Ġis Required Ġ= Ġfind Property (" signing Key 6 4 ") Ġ!= Ġnull Ġ&& Ġfind Property (" signing Password 6 4 ") Ġ!= Ġnull ĊĠĠĠ Ġuse InMemory P gp Keys ( base 6 4 Decode (" signing Key 6 4 "), Ġbase 6 4 Decode (" signing Password 6 4 ")) ĊĠĠĠ Ġsign ( publishing . publications ) Ċ } Ċ Ċ fun Ġbase 6 4 Decode ( prop : ĠString ): ĠString ? Ġ{ ĊĠĠĠ Ġreturn Ġfind Property ( prop )?. let Ġ{ ĊĠĠĠĠĠĠĠ ĠString ( Base 6 4 . get Decoder (). decode ( it . toString ())). trim () ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġfind Property ( prop : ĠString ) Ġ= Ġproject . find Property ( prop ) Ġ?: ĠSystem . getenv ( prop ) ĊĊ Ċ /* Ċ tasks . create (" test Environment ") Ġ{ ĊĠĠĠ Ġdo Last Ġ{ ĊĠĠĠĠĠĠĠ Ġprintln (" RELEASE _ VERSION =" Ġ+ Ġfind Property (" RELEASE _ VERSION ")) ĊĠĠĠĠĠĠĠ Ġprintln (" signing Key 6 4 =" Ġ+ Ġfind Property (" signing Key 6 4 ")) ĊĠĠĠĠĠĠĠ Ġprintln (" signing Password 6 4 =" Ġ+ Ġfind Property (" signing Password 6 4 ")) ĊĠĠĠĠĠĠĠ Ġprintln (" son atype Username =" Ġ+ Ġfind Property (" son atype Username ")) ĊĠĠĠĠĠĠĠ Ġprintln (" son atype Password 6 4 =" Ġ+ Ġfind Property (" son atype Password 6 4 ")) ĊĠĠĠ Ġ} Ċ } Ċ */ Ċ