diff options
| author | ruki <[email protected]> | 2018-09-28 00:11:40 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2018-09-27 19:10:01 +0800 |
| commit | 7046c69101bf6d6d17ba9ba744526d1ef6aaa524 (patch) | |
| tree | 8e8ee7342830a5dbd3244bd49f9bd9350371bf6e | |
| parent | 8607468bbf60fd6deb6da8f984b7a3135979adeb (diff) | |
excludes files for package
| -rw-r--r-- | xmake/actions/require/action/download.lua | 9 | ||||
| -rw-r--r-- | xmake/core/package/package.lua | 11 |
2 files changed, 17 insertions, 3 deletions
diff --git a/xmake/actions/require/action/download.lua b/xmake/actions/require/action/download.lua index 61d64d124..bb5017e5f 100644 --- a/xmake/actions/require/action/download.lua +++ b/xmake/actions/require/action/download.lua @@ -85,7 +85,7 @@ function _checkout(package, url, sourcedir) end -- download codes from ftp/http/https -function _download(package, url, sourcedir, url_alias) +function _download(package, url, sourcedir, url_alias, url_excludes) -- get package file local packagefile = path.filename(url) @@ -111,7 +111,7 @@ function _download(package, url, sourcedir, url_alias) -- extract package file os.rm(sourcedir .. ".tmp") - if archive.extract(packagefile, sourcedir .. ".tmp") then + if archive.extract(packagefile, sourcedir .. ".tmp", {excludes = url_excludes}) then -- move to source directory os.rm(sourcedir) os.mv(sourcedir .. ".tmp", sourcedir) @@ -166,6 +166,9 @@ function main(package) -- get url alias local url_alias = package:url_alias(url) + -- get url excludes + local url_excludes = package:url_excludes(url) + -- filter url url = filter.handle(url, package) @@ -179,7 +182,7 @@ function main(package) if git.checkurl(url) then _checkout(package, url, sourcedir) else - _download(package, url, sourcedir, url_alias) + _download(package, url, sourcedir, url_alias, url_excludes) end -- ok diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua index 3d0996eb8..39d356127 100644 --- a/xmake/core/package/package.lua +++ b/xmake/core/package/package.lua @@ -127,6 +127,17 @@ function _instance:url_version(url) end end +-- get the excludes list of url for the archive extractor, @note need raw url +function _instance:url_excludes(url) + local urls_extra = self:get("__extra_urls") + if urls_extra then + local urlextra = urls_extra[url] + if urlextra then + return urlextra.excludes + end + end +end + -- get deps function _instance:deps() return self._DEPS |
