Create script to "lock" subprojects by commit

This commit is contained in:
mid-kid 2024-11-13 22:06:53 +01:00
parent 44bc33a3d9
commit dbae8bb28d
2 changed files with 41 additions and 0 deletions

14
subprojects/update.ini Normal file
View File

@ -0,0 +1,14 @@
[NitroDWC]
revision = main
[NitroSDK]
revision = main
[NitroSystem]
revision = main
[NitroWiFi]
revision = main
[libvct]
revision = main

27
subprojects/update.py Executable file
View File

@ -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)