diff --git a/subprojects/update.ini b/subprojects/update.ini new file mode 100644 index 0000000000..c5b62c864b --- /dev/null +++ b/subprojects/update.ini @@ -0,0 +1,14 @@ +[NitroDWC] +revision = main + +[NitroSDK] +revision = main + +[NitroSystem] +revision = main + +[NitroWiFi] +revision = main + +[libvct] +revision = main diff --git a/subprojects/update.py b/subprojects/update.py new file mode 100755 index 0000000000..592a07e8d4 --- /dev/null +++ b/subprojects/update.py @@ -0,0 +1,27 @@ +#!/usr/bin/env python3 + +from configparser import ConfigParser +from subprocess import run +from os.path import dirname, realpath, join + +def update_wrap(wrap, revision): + cfg = ConfigParser() + cfg.read(wrap) + git = cfg["wrap-git"] + url = git["url"] + cmd = run(["git", "ls-remote", url, revision], + check=True, capture_output=True) + rev = cmd.stdout.decode().split()[0] + print(" - Revision:", rev) + git["revision"] = rev + with open(wrap, "w") as f: + cfg.write(f) + +if __name__ == "__main__": + subprojects = dirname(realpath(__file__)) + cfg = ConfigParser() + cfg.read(join(subprojects, "update.ini")) + for wrap in cfg.sections(): + print("Updating:", wrap) + revision = cfg[wrap]["revision"] + update_wrap(join(subprojects, wrap + ".wrap"), revision)