package Ġio . github . sim ons ch iller . pref iller . internal . util Ċ Ċ import Ġjava . util .* Ċ import Ġkotlin . IllegalArgumentException Ċ Ċ /** Ċ Ġ* ĠLight weight Ġport Ġof Ġ[ org . gradle . util . internal . VersionNumber ], Ġsince Ġthis Ġclass Ġwas Ġremoved Ġfrom Ċ Ġ* ĠGradle 's Ġpublic ĠAPI Ġin Ġ 7 . 1 Ġ( see Ġhttps :// github . com / gradle / gradle / issues / 1 7 4 5 0 ). Ċ Ġ*/ Ċ class ĠVersion ( ĊĠĠĠ Ġprivate Ġval Ġmajor : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġminor : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġpatch : ĠInt ? Ġ= Ġnull , ĊĠĠĠ Ġprivate Ġval Ġqualifier : ĠString ? Ġ= Ġnull Ċ ) Ġ: ĠComparable < Version > Ġ{ ĊĊĠĠĠ Ġfun Ġbase Version (): ĠVersion Ġ= ĠVersion ( major , Ġminor , Ġpatch , Ġnull ) ĊĊĠĠĠ Ġoverride Ġfun Ġcompare To ( other : ĠVersion ): ĠInt Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġmajor Ġ!= Ġother . major Ġ-> Ġmajor Ġ- Ġother . major ĊĠĠĠĠĠĠĠ Ġminor Ġ!= Ġother . minor Ġ-> Ġminor Ġ- Ġother . minor ĊĠĠĠĠĠĠĠ Ġpatch Ġ!= Ġother . patch Ġ-> Ġ( patch Ġ?: Ġ 0 ) Ġ- Ġ( other . patch Ġ?: Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ-( qual ifier Ġ?: Ġ""). compareTo ( other . qual ifier Ġ?: Ġ"") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?): ĠBoolean Ġ= Ġother Ġis ĠVersion Ġ&& Ġcompare To ( other ) Ġ== Ġ 0 ĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ= ĠObjects . hash ( major , Ġminor , Ġpatch , Ġqualifier ) ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠ Ġqualifier Ġ!= Ġnull Ġ-> Ġ"$ major .$ minor .$ patch -$ qual ifier " ĊĠĠĠĠĠĠĠ Ġpatch Ġ!= Ġnull Ġ-> Ġ"$ major .$ minor .$ patch " ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ"$ major .$ minor " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĊĠĠĠĠĠĠĠ Ġfun Ġparse ( version : ĠString ): ĠVersion Ġ= Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion Spl its Ġ= Ġversion . split ('.') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( version Spl its . size Ġ== Ġ 2 Ġ|| Ġversion Spl its . size Ġ== Ġ 3 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Part Spl its Ġ= Ġversion Spl its . get OrNull ( 2 )?. split ('- ') Ġ?: Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcheck ( last Part Spl its . size Ġin Ġ 0 .. 2 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠVersion ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmajor Ġ= Ġversion Spl its [ 0 ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġminor Ġ= Ġversion Spl its [ 1 ]. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpatch Ġ= Ġlast Part Spl its . get OrNull ( 0 )?. toInt (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġqualifier Ġ= Ġlast Part Spl its . get OrNull ( 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalArgumentException (" Could Ġnot Ġparse Ġversion Ġ$ version ", Ġexception ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ