diff options
| author | ruki <[email protected]> | 2025-09-20 18:47:11 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-09-20 18:47:11 +0800 |
| commit | 95db3720b4aa3f4eaa2006306b7cd12df9eec4e5 (patch) | |
| tree | a7dd6a5dcf884e0ed1400b13ee08f1c00cc6fb80 | |
| parent | f621c95f5994a3acaacbed96f204c285f9b7449b (diff) | |
improve extension again
| -rw-r--r-- | xmake/modules/private/action/require/impl/actions/download.lua | 3 | ||||
| -rw-r--r-- | xmake/modules/utils/archive/extension.lua | 5 |
2 files changed, 5 insertions, 3 deletions
diff --git a/xmake/modules/private/action/require/impl/actions/download.lua b/xmake/modules/private/action/require/impl/actions/download.lua index 56d529fa5..47690273e 100644 --- a/xmake/modules/private/action/require/impl/actions/download.lua +++ b/xmake/modules/private/action/require/impl/actions/download.lua @@ -39,7 +39,8 @@ function _url_extension(url) local extension = archive.extension(url) if extension == "" then -- maybe non-archive file, e.g. .exe, .sh, .. - extension = path.extension(url) + local urlpath = url:split('?', {plain = true})[1] + extension = path.extension(urlpath) end return extension end diff --git a/xmake/modules/utils/archive/extension.lua b/xmake/modules/utils/archive/extension.lua index aff579bd3..2dd7d4c97 100644 --- a/xmake/modules/utils/archive/extension.lua +++ b/xmake/modules/utils/archive/extension.lua @@ -22,9 +22,10 @@ import("core.base.hashset") -- get the archive extension -function main(archivefile) +function main(url) + local urlpath = url:split('?', {plain = true})[1] local extension = "" - local filename = path.filename(archivefile) + local filename = path.filename(urlpath) local extensionset = hashset.from({ ".xmz", -- xmake compression format ".zip", ".7z", ".gz", ".xz", ".zst", ".tgz", |
