| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #!/usr/bin/env python3
- import subprocess
- from os import chdir
- from subprocess import PIPE
- import tomlkit
- def update_package_version(filename, version):
- with open(filename) as f:
- content = f.read()
- p = tomlkit.parse(content)
- p["package"]["version"] = version
- with open(filename, "w") as f:
- f.write(tomlkit.dumps(p))
- def main():
- toplevel = subprocess.run(["git", "rev-parse", "--show-toplevel"],
- capture_output=True)
- toplevel = toplevel.stdout.decode().strip()
- chdir(toplevel)
- with open("Cargo.toml") as f:
- content = f.read()
- p = tomlkit.parse(content)
- version = p["package"]["version"]
- find_output = subprocess.run(
- ["find", ".", "-type", "f", "-name", "Cargo.toml"], stdout=PIPE)
- files = [i.strip() for i in find_output.stdout.decode().split("\n")][:-1]
- for filename in files:
- update_package_version(filename, version)
- if __name__ == "__main__":
- main()
|