summaryrefslogtreecommitdiff
path: root/xmake/core/base/semver.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2018-10-09 22:56:09 +0800
committerruki <[email protected]>2018-10-09 11:37:00 +0800
commit73ce4108bed43f4844be5b7a9fb0d25c612cb4ff (patch)
treedd86387184c66f41a92aba3e6ad58d038f2d8119 /xmake/core/base/semver.lua
parentaecf4e3f816fcd2432522f1a6d337df5a1257739 (diff)
improve winos.version comparator
Diffstat (limited to 'xmake/core/base/semver.lua')
-rw-r--r--xmake/core/base/semver.lua40
1 files changed, 20 insertions, 20 deletions
diff --git a/xmake/core/base/semver.lua b/xmake/core/base/semver.lua
index d2c094da5..b52ac5769 100644
--- a/xmake/core/base/semver.lua
+++ b/xmake/core/base/semver.lua
@@ -67,54 +67,54 @@ end
-- v1 == v2 (str/ver)?
function _instance:eq(version)
- return _instance.__eq(self, version)
+ if type(version) == "string" then
+ return semver.compare(self:rawstr(), version) == 0
+ elseif type(version) == "table" then
+ return semver.compare(self:rawstr(), version:rawstr()) == 0
+ end
end
-- v1 < v2 (str/ver)?
function _instance:lt(version)
- return _instance.__lt(self, version)
+ if type(version) == "string" then
+ return semver.compare(self:rawstr(), version) < 0
+ elseif type(version) == "table" then
+ return semver.compare(self:rawstr(), version:rawstr()) < 0
+ end
end
-- v1 <= v2 (str/ver)?
function _instance:le(version)
- return _instance.__le(self, version)
+ if type(version) == "string" then
+ return semver.compare(self:rawstr(), version) <= 0
+ elseif type(version) == "table" then
+ return semver.compare(self:rawstr(), version:rawstr()) <= 0
+ end
end
-- v1 > v2 (str/ver)?
function _instance:gt(version)
- return not _instance.__le(self, version)
+ return not self:le(version)
end
-- v1 >= v2 (str/ver)?
function _instance:ge(version)
- return not _instance.__lt(self, version)
+ return not self:lt(version)
end
-- v1 == v2?
function _instance:__eq(version)
- if type(version) == "string" then
- return semver.compare(self:rawstr(), version) == 0
- elseif type(version) == "table" then
- return semver.compare(self:rawstr(), version:rawstr()) == 0
- end
+ return self:eq(version)
end
-- v1 < v2?
function _instance:__lt(version)
- if type(version) == "string" then
- return semver.compare(self:rawstr(), version) < 0
- elseif type(version) == "table" then
- return semver.compare(self:rawstr(), version:rawstr()) < 0
- end
+ return self:lt(version)
end
-- v1 <= v2?
function _instance:__le(version)
- if type(version) == "string" then
- return semver.compare(self:rawstr(), version) <= 0
- elseif type(version) == "table" then
- return semver.compare(self:rawstr(), version:rawstr()) <= 0
- end
+ return self:le(version)
end
-- new an instance