diff options
| author | ruki <[email protected]> | 2019-03-29 23:34:50 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2019-03-29 15:29:04 +0800 |
| commit | 2fc168ab1c37d86111412c2c9969a87ee611d40a (patch) | |
| tree | ce0a0988c53e4093bfea115f185b7ba2f300c92f | |
| parent | 9bad2db4e533e04c7086cc9f314237955a42b3ff (diff) | |
speedup to download xmake generator
| -rw-r--r-- | xmake/actions/update/main.lua | 4 | ||||
| -rw-r--r-- | xmake/modules/package/manager/conan/install_package.lua | 22 |
2 files changed, 23 insertions, 3 deletions
diff --git a/xmake/actions/update/main.lua b/xmake/actions/update/main.lua index 8efe139f9..47064ffad 100644 --- a/xmake/actions/update/main.lua +++ b/xmake/actions/update/main.lua @@ -228,7 +228,9 @@ function main() environment.enter() -- sort main urls - local mainurls = {"https://github.com/xmake-io/xmake.git", "https://gitlab.com/tboox/xmake.git", "https://gitee.com/tboox/xmake.git"} + local mainurls = {"https://github.com/xmake-io/xmake.git", + "https://gitlab.com/tboox/xmake.git", + "https://gitee.com/tboox/xmake.git"} fasturl.add(mainurls) mainurls = fasturl.sort(mainurls) diff --git a/xmake/modules/package/manager/conan/install_package.lua b/xmake/modules/package/manager/conan/install_package.lua index 98464505b..1a2907c7b 100644 --- a/xmake/modules/package/manager/conan/install_package.lua +++ b/xmake/modules/package/manager/conan/install_package.lua @@ -27,6 +27,7 @@ import("core.base.option") import("core.project.config") import("lib.detect.find_tool") import("devel.git") +import("net.fasturl") -- get build directory function _conan_get_build_directory(name) @@ -63,8 +64,25 @@ end function _conan_install_xmake_generator(conan) local xmake_generator_localdir = path.join(config.directory(), "conan", "xmake_generator") if not os.isdir(xmake_generator_localdir) then - git.clone("https://github.com/xmake-io/conan-xmake_generator.git", {depth = 1, branch = "0.1.0/testing", outputdir = xmake_generator_localdir}) - os.vrunv(conan.program, {"export", xmake_generator_localdir, "bincrafters/testing"}) + + -- sort main urls + local mainurls = {"https://github.com/xmake-io/conan-xmake_generator.git", + "https://gitlab.com/tboox/conan-xmake_generator.git", + "https://gitee.com/tboox/conan-xmake_generator.git"} + fasturl.add(mainurls) + mainurls = fasturl.sort(mainurls) + + -- clone xmake generator repository + local ok = false + for _, url in ipairs(mainurls) do + ok = try { function () git.clone(url, {depth = 1, branch = "0.1.0/testing", outputdir = xmake_generator_localdir}); return true end } + if ok then + break + end + end + if ok then + os.vrunv(conan.program, {"export", xmake_generator_localdir, "bincrafters/testing"}) + end end end |
