summaryrefslogtreecommitdiff
path: root/xmake
diff options
context:
space:
mode:
authorruki <[email protected]>2025-09-20 18:47:11 +0800
committerruki <[email protected]>2025-09-20 18:47:11 +0800
commit95db3720b4aa3f4eaa2006306b7cd12df9eec4e5 (patch)
treea7dd6a5dcf884e0ed1400b13ee08f1c00cc6fb80 /xmake
parentf621c95f5994a3acaacbed96f204c285f9b7449b (diff)
improve extension again
Diffstat (limited to 'xmake')
-rw-r--r--xmake/modules/private/action/require/impl/actions/download.lua3
-rw-r--r--xmake/modules/utils/archive/extension.lua5
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",