diff options
Diffstat (limited to 'xmake/modules/utils/archive/extract.lua')
| -rw-r--r-- | xmake/modules/utils/archive/extract.lua | 26 |
1 files changed, 2 insertions, 24 deletions
diff --git a/xmake/modules/utils/archive/extract.lua b/xmake/modules/utils/archive/extract.lua index 16e174b31..e1986d303 100644 --- a/xmake/modules/utils/archive/extract.lua +++ b/xmake/modules/utils/archive/extract.lua @@ -26,6 +26,7 @@ import("detect.tools.find_7z") import("detect.tools.find_tar") import("detect.tools.find_gzip") import("detect.tools.find_unzip") +import("extension", {alias = "get_archive_extension"}) -- extract archivefile using tar function _extract_using_tar(archivefile, outputdir, extension, opt) @@ -326,29 +327,6 @@ function _extract(archivefile, outputdir, extension, extractors, opt) return false end --- get the extension of the archive file -function _extension(archivefile, extractors) - - -- get archive file name - local filename = path.filename(archivefile) - - -- get extension - local extension = "" - local i = filename:lastof(".", true) - if i then - - -- get next extension if exists - local p = filename:sub(1, i - 1):lastof(".", true) - if p and extractors[filename:sub(p)] then i = p end - - -- ok - extension = filename:sub(i) - end - - -- ok? - return extension -end - -- extract archive file -- -- @param archivefile the archive file. e.g. *.tar.gz, *.zip, *.7z, *.tar.bz2, .. @@ -379,7 +357,7 @@ function main(archivefile, outputdir, opt) } -- get extension - local extension = _extension(archivefile, extractors) + local extension = get_archive_extension(archivefile) -- extract it return _extract(archivefile, outputdir, extension, extractors[extension], opt) |
