test.lua 899 B

1234567891011121314151617181920212223242526
  1. function main(...)
  2. local packages = {...}
  3. if #packages == 0 then
  4. local files = os.iorun("git diff --name-only HEAD^")
  5. for _, file in ipairs(files:split('\n'), string.trim) do
  6. if file:find("packages", 1, true) and path.filename(file) == "xmake.lua" then
  7. local package = path.filename(path.directory(file))
  8. table.insert(packages, package)
  9. end
  10. end
  11. end
  12. if #packages == 0 then
  13. table.insert(packages, "tbox")
  14. end
  15. local repodir = os.curdir()
  16. local workdir = path.join(os.tmpdir(), "xmake-repo")
  17. print(packages)
  18. os.tryrm(workdir)
  19. os.mkdir(workdir)
  20. os.cd(workdir)
  21. os.exec("xmake create test")
  22. os.cd("test")
  23. os.exec("xmake repo --add local-repo %s", repodir)
  24. os.exec("xmake repo -l")
  25. os.exec("xmake require -f -v -D -y %s", table.concat(packages, " "))
  26. end