/* Ċ Ġ* ĠCopyright Ġ( c ) Ġ 2 0 0 8 - 2 0 2 0 ĠHa ul mont . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . ha ul mont . cub a . cli . plugin . sdk . utils Ċ Ċ import Ġcom . ha ul mont . cub a . cli . plugin . sdk . dto . Version Ċ import Ġjava . util . regex . Matcher Ċ import Ġjava . util . regex . Pattern Ċ Ċ fun ĠString . split Version (): ĠVersion ? Ġ{ ĊĠĠĠ Ġval Ġversion Pattern : ĠPattern Ġ= ĠPattern . compile ("( \\ d +) \\ .( \\ d + )( ?: \\ .( \\ d + )) ?( ?: [ .- ]( [ a - zA - Z 0 - 9 ]+ )) ?") ĊĠĠĠ Ġval Ġmatcher : ĠMatcher Ġ= Ġversion Pattern . matcher ( this ) ĊĊĠĠĠ Ġif Ġ( matcher . matches ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmajor Version Ġ= Ġmatcher . group ( 1 ) Ġ+ Ġ"." Ġ+ Ġmatcher . group ( 2 ) ĊĠĠĠĠĠĠĠ Ġval Ġqualifier Ġ= Ġmatcher . group ( 4 ) ĊĠĠĠĠĠĠĠ Ġval Ġminor Version Ġ= Ġmatcher . group ( 3 )?. let Ġ{ ĠInteger . parseInt ( matcher . group ( 3 )) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠVersion ( this , Ġmajor Version , Ġminor Version , Ġqualifier ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ }