Solidify version comparison

This commit is contained in:
Dylan K. Taylor 2021-09-07 12:24:16 +01:00
parent 9a745ffc09
commit da0482d330
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D

View File

@ -117,18 +117,16 @@ class VersionString{
if($diff){
return $tNumber - $number;
}
if($number > $tNumber){
return -1; //Target is older
}elseif($number < $tNumber){
return 1; //Target is newer
}elseif($target->isDev() and !$this->isDev()){
return -1; //Dev builds of the same version are always considered older than a release
}elseif($target->getBuild() > $this->getBuild()){
return 1;
}elseif($target->getBuild() < $this->getBuild()){
return -1;
}else{
return 0; //Same version
if(($result = $tNumber <=> $number) !== 0){
return $result;
}
if($target->isDev() !== $this->isDev()){
return $this->isDev() ? 1 : -1; //Dev builds of the same version are always considered older than a release
}
if(($target->getSuffix() === "") !== ($this->suffix === "")){
return $this->suffix !== "" ? 1 : -1; //alpha/beta/whatever releases are always considered older than a non-suffixed version
}
return $target->getBuild() <=> $this->getBuild();
}
}