xmake.lua 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package("depot_tools")
  2. set_kind("binary")
  3. set_homepage("https://chromium.googlesource.com/chromium/tools/depot_tools")
  4. set_description("Tools for working with Chromium development")
  5. add_urls("https://github.com/xmake-mirror/depot_tools.git",
  6. "https://chromium.googlesource.com/chromium/tools/depot_tools.git")
  7. add_versions("2022.2.1", "8a6d00f116d6de9d5c4e92acb519fd0859c6449a")
  8. on_load(function (package)
  9. package:addenv("PATH", ".")
  10. package:addenv("PATH", "python-bin")
  11. package:addenv("DEPOT_TOOLS_UPDATE", "0")
  12. package:addenv("DEPOT_TOOLS_METRICS", "0")
  13. package:addenv("DEPOT_TOOLS_WIN_TOOLCHAIN", "0")
  14. end)
  15. on_install("linux", "macosx", "windows", function (package)
  16. import("core.base.global")
  17. os.cp("*", package:installdir())
  18. os.cd(package:installdir())
  19. -- maybe we need set proxy, e.g. `xmake g --proxy=http://127.0.0.1:xxxx`
  20. -- @note we must use http proxy instead of socks5 proxy
  21. local envs = {}
  22. local proxy = global.get("proxy")
  23. if proxy then
  24. envs.HTTP_PROXY = proxy
  25. envs.HTTPS_PROXY = proxy
  26. envs.ALL_PROXY = proxy
  27. end
  28. -- we need fetch some files when running gclient for the first time
  29. if is_host("windows") then
  30. os.vrunv("gclient.bat", {"--verbose"}, {envs = envs})
  31. else
  32. os.vrunv("sh", {"./gclient", "--verbose"}, {envs = envs})
  33. end
  34. end)
  35. on_test(function (package)
  36. import("core.base.global")
  37. os.vrun("python3 --version")
  38. os.vrun("ninja --version")
  39. local envs = {}
  40. local proxy = global.get("proxy")
  41. if proxy then
  42. envs.HTTP_PROXY = proxy
  43. envs.HTTPS_PROXY = proxy
  44. envs.ALL_PROXY = proxy
  45. end
  46. os.vrunv(is_host("windows") and "gclient.bat" or "gclient", {"--version"}, {envs = envs})
  47. end)