diff options
| author | ruki <[email protected]> | 2021-07-14 00:36:00 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2021-07-14 00:36:00 +0800 |
| commit | 73c0557310e8b60b312b37b714142583d5a8b5df (patch) | |
| tree | e6b419da6d2731e42c7b87d0f7506e496679e292 | |
| parent | 6b8c1bc25f963d6f969b741cd424ab99e2ae7dbc (diff) | |
improve to select package version
| -rw-r--r-- | xmake/modules/private/action/require/impl/package.lua | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua index 36b20d20a..844847558 100644 --- a/xmake/modules/private/action/require/impl/package.lua +++ b/xmake/modules/private/action/require/impl/package.lua @@ -270,12 +270,14 @@ function _select_package_version(package, requireinfo) -- https://github.com/xmake-io/xmake/issues/1009 version = require_version source = "versions" - elseif #package:versions() > 0 and (require_version == "latest" or require_version:find('.', 1, true)) then -- select version? - version, source = semver.select(require_version, package:versions()) - elseif has_giturl then -- select branch? + elseif #package:versions() > 0 then -- select version? + version, source = try { function () return semver.select(require_version, package:versions()) end } + end + if not version and has_giturl and not require_version:find('.', 1, true) then -- select branch? version, source = require_version ~= "latest" and require_version or "master", "branches" - else - raise("package(%s %s): not found!", package:name(), require_version) + end + if not version then + raise("package(%s): version(%s) not found!", package:name(), require_version) end return version, source end |
