Get go version from go.mod

No need to update multiple places when bumping the go version.
This commit is contained in:
pagedown
2023-02-11 20:33:08 +08:00
parent 64fe9f82ed
commit 3c7df680cf
4 changed files with 15 additions and 7 deletions

View File

@@ -46,7 +46,7 @@ Run-time dependencies:
Build-time dependencies:
* ``gcc`` or ``clang``
* ``go >= 1.20`` (see :file:`go.mod` for go packages used during building)
* ``go`` >= _build_go_version (see :file:`go.mod` for go packages used during building)
* ``pkg-config``
* For building on Linux in addition to the above dependencies you might also
need to install the following packages, if they are not already installed by

View File

@@ -106,8 +106,17 @@ rst_prolog = '''
'''.replace('VERSION', str_version)
smartquotes_action = 'qe' # educate quotes and ellipses but not dashes
def go_version(go_mod_path: str) -> str: # {{{
with open(go_mod_path) as f:
for line in f:
if line.startswith('go '):
return line.strip().split()[1]
raise SystemExit(f'No Go version in {go_mod_path}')
# }}}
string_replacements = {
'_kitty_install_cmd': 'curl -L https://sw.kovidgoyal.net/kitty/installer.sh | sh /dev/stdin',
'_build_go_version': go_version('../go.mod'),
}