5a90e793dd
Basic configuration of qlite, xmpp-vala, the Dino library and the Dino application are supported. There's no support for the plugins. This e.g. enables using the Vala language server.
37 lines
1.2 KiB
Python
37 lines
1.2 KiB
Python
import argparse
|
|
import subprocess
|
|
VERSION_VALA = """\
|
|
namespace Dino {{
|
|
|
|
public const string VERSION = "{}";
|
|
|
|
}}
|
|
"""
|
|
|
|
def compute_version(file, git_repo, git):
|
|
try:
|
|
with open(file) as f:
|
|
return f.read().strip()
|
|
except FileNotFoundError:
|
|
pass
|
|
return subprocess.check_output([git, "describe", "--tags"], cwd=git_repo, text=True).strip()
|
|
|
|
def generate_version_vala(version):
|
|
if "\\" in version or "\"" in version:
|
|
raise ValueError(f"invalid version {version!r}")
|
|
return VERSION_VALA.format(version)
|
|
|
|
def main():
|
|
p = argparse.ArgumentParser(description="Compute the Dino version")
|
|
p.add_argument("--git-repo", help="Path to checked out git repository")
|
|
p.add_argument("--git", help="Path to git executable", default="git")
|
|
p.add_argument("version_file", metavar="VERSION_FILE", help="Use this file's contents as version if the file exists")
|
|
p.add_argument("output", metavar="OUTPUT", help="Vala file to output to")
|
|
args = p.parse_args()
|
|
out = generate_version_vala(compute_version(args.version_file, args.git_repo, args.git))
|
|
with open(args.output, "w") as f:
|
|
f.write(out)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|