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){ if($diff){
return $tNumber - $number; return $tNumber - $number;
} }
if($number > $tNumber){
return -1; //Target is older if(($result = $tNumber <=> $number) !== 0){
}elseif($number < $tNumber){ return $result;
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($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();
} }
} }