summaryrefslogtreecommitdiff
path: root/xmake/modules
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/modules')
-rw-r--r--xmake/modules/devel/git/clone.lua10
-rw-r--r--xmake/modules/devel/git/ls_remote.lua10
-rw-r--r--xmake/modules/devel/git/pull.lua10
-rw-r--r--xmake/modules/net/http/download.lua25
4 files changed, 52 insertions, 3 deletions
diff --git a/xmake/modules/devel/git/clone.lua b/xmake/modules/devel/git/clone.lua
index 4285b392d..a2fb554fb 100644
--- a/xmake/modules/devel/git/clone.lua
+++ b/xmake/modules/devel/git/clone.lua
@@ -20,6 +20,7 @@
-- imports
import("core.base.option")
+import("core.base.global")
import("lib.detect.find_tool")
-- clone url
@@ -75,6 +76,13 @@ function main(url, opt)
table.insert(argv, path.translate(opt.outputdir))
end
+ -- use proxy?
+ local envs
+ local proxy = global.get("proxy")
+ if proxy then
+ envs = {ALL_PROXY = proxy}
+ end
+
-- clone it
- os.vrunv(git.program, argv)
+ os.vrunv(git.program, argv, {envs = envs})
end
diff --git a/xmake/modules/devel/git/ls_remote.lua b/xmake/modules/devel/git/ls_remote.lua
index a52e0d68d..ebbb99d98 100644
--- a/xmake/modules/devel/git/ls_remote.lua
+++ b/xmake/modules/devel/git/ls_remote.lua
@@ -20,6 +20,7 @@
-- imports
import("core.base.option")
+import("core.base.global")
import("lib.detect.find_tool")
-- ls_remote to given branch, tag or commit
@@ -55,8 +56,15 @@ function main(reftype, url)
print("%s %s", git.program, os.args(argv))
end
+ -- use proxy?
+ local envs
+ local proxy = global.get("proxy")
+ if proxy then
+ envs = {ALL_PROXY = proxy}
+ end
+
-- get refs
- local data = os.iorunv(git.program, argv)
+ local data = os.iorunv(git.program, argv, {envs = envs})
-- get commmits and tags
local refs = {}
diff --git a/xmake/modules/devel/git/pull.lua b/xmake/modules/devel/git/pull.lua
index 7eba74114..6e0f0a735 100644
--- a/xmake/modules/devel/git/pull.lua
+++ b/xmake/modules/devel/git/pull.lua
@@ -20,6 +20,7 @@
-- imports
import("core.base.option")
+import("core.base.global")
import("lib.detect.find_tool")
-- pull remote commits
@@ -63,8 +64,15 @@ function main(opt)
oldir = os.cd(opt.repodir)
end
+ -- use proxy?
+ local envs
+ local proxy = global.get("proxy")
+ if proxy then
+ envs = {ALL_PROXY = proxy}
+ end
+
-- pull it
- os.vrunv(git.program, argv)
+ os.vrunv(git.program, argv, {envs = envs})
-- leave repository directory
if oldir then
diff --git a/xmake/modules/net/http/download.lua b/xmake/modules/net/http/download.lua
index 6a292c20e..f85561d49 100644
--- a/xmake/modules/net/http/download.lua
+++ b/xmake/modules/net/http/download.lua
@@ -20,6 +20,7 @@
-- imports
import("core.base.option")
+import("core.base.global")
import("lib.detect.find_tool")
-- get user agent
@@ -62,6 +63,13 @@ function _curl_download(tool, url, outputfile)
table.insert(argv, "-fsSL")
end
+ -- use proxy?
+ local proxy = global.get("proxy")
+ if proxy then
+ table.insert(argv, "-x")
+ table.insert(argv, proxy)
+ end
+
-- set user-agent
local user_agent = _get_user_agent()
if user_agent then
@@ -99,6 +107,23 @@ function _wget_download(tool, url, outputfile)
os.mkdir(outputdir)
end
+ -- use proxy?
+ local proxy = global.get("proxy")
+ if proxy then
+ table.insert(argv, "-e")
+ table.insert(argv, "use_proxy=yes")
+ table.insert(argv, "-e")
+ if url:startswith("http://") then
+ table.insert(argv, "http_proxy=" .. proxy)
+ elseif url:startswith("https://") then
+ table.insert(argv, "https_proxy=" .. proxy)
+ elseif url:startswith("ftp://") then
+ table.insert(argv, "ftp_proxy=" .. proxy)
+ else
+ table.insert(argv, "http_proxy=" .. proxy)
+ end
+ end
+
-- set user-agent
local user_agent = _get_user_agent()
if user_agent then