versions.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python3
  2. import sys
  3. import json
  4. def find_module(submodules, name):
  5. for item in submodules:
  6. if item["name"] == name:
  7. return item
  8. print("Not found")
  9. sys.exit(1)
  10. if len(sys.argv) < 3:
  11. print("Usage: versions.py <path to SUBMODULES.json> <command>")
  12. sys.exit(1)
  13. CONFIG_FILE = sys.argv[1]
  14. command = sys.argv[2]
  15. submodules = json.load(open(CONFIG_FILE))
  16. if command == "get-rev":
  17. mod = find_module(submodules, sys.argv[3])
  18. print(mod["rev"])
  19. elif command == "get-url":
  20. mod = find_module(submodules, sys.argv[3])
  21. print(mod["url"])
  22. elif command == "get-dir":
  23. mod = find_module(submodules, sys.argv[3])
  24. print(mod["directory"])
  25. elif command == "get-remote-branch":
  26. mod = find_module(submodules, sys.argv[3])
  27. print(mod["remote-branch"])
  28. elif command == "set-rev":
  29. mod = find_module(submodules, sys.argv[3])
  30. mod["rev"] = sys.argv[4]
  31. json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
  32. elif command == "set-branch":
  33. mod = find_module(submodules, sys.argv[3])
  34. mod["branch"] = sys.argv[4]
  35. json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
  36. elif command == "set-remote-branch":
  37. mod = find_module(submodules, sys.argv[3])
  38. mod["remote-branch"] = sys.argv[4]
  39. json.dump(submodules, open(CONFIG_FILE, "w"), indent = 2)
  40. elif command == "cat":
  41. print(json.dumps(submodules, indent = 2))
  42. else:
  43. print("Unknown command "" + command + "".")
  44. sys.exit(1)