diff options
author | kylo252 <59826753+kylo252@users.noreply.github.com> | 2022-07-14 09:12:27 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-14 00:12:27 -0700 |
commit | 912dbbdd77f382d90e4d8ef8ffa483037248b83a (patch) | |
tree | 80b529161cd80bd84c65ce4a1bf62a87c835fa32 /scripts/update_version_stamp.lua | |
parent | b93cb481a20972c6af330de3e8974f641bccb355 (diff) | |
download | rneovim-912dbbdd77f382d90e4d8ef8ffa483037248b83a.tar.gz rneovim-912dbbdd77f382d90e4d8ef8ffa483037248b83a.tar.bz2 rneovim-912dbbdd77f382d90e4d8ef8ffa483037248b83a.zip |
build: gracefully handle error in git-version #19289
- only update git-version if both of these conditions are met:
- `git` command succeeds
- `versiondef_git.h` would change (SHA1-diff)
- else print a status/warning message
also move version generation out of Lua into cmake.
Diffstat (limited to 'scripts/update_version_stamp.lua')
-rwxr-xr-x | scripts/update_version_stamp.lua | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/scripts/update_version_stamp.lua b/scripts/update_version_stamp.lua deleted file mode 100755 index 0342e08f31..0000000000 --- a/scripts/update_version_stamp.lua +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env lua --- --- Script to update the Git version stamp during build. --- This is called via the custom update_version_stamp target in --- src/nvim/CMakeLists.txt. --- --- arg[1]: file in which to update the version string --- arg[2]: prefix to use always ("vX.Y.Z") - -local function die(msg) - io.stderr:write(string.format('%s: %s\n', arg[0], msg)) - -- No error, fall back to using generated "-dev" version. - os.exit(0) -end - -local function iswin() - return package.config:sub(1,1) == '\\' -end - -if #arg ~= 2 then - die(string.format("Expected two args, got %d", #arg)) -end - -local versiondeffile = arg[1] -local prefix = arg[2] - -local dev_null = iswin() and 'NUL' or '/dev/null' -local described = io.popen('git describe --first-parent --dirty 2>'..dev_null):read('*l') -if not described then - described = io.popen('git describe --first-parent --tags --always --dirty'):read('*l') -end -if not described then - io.open(versiondeffile, 'w'):write('\n') - die('git-describe failed, using empty include file.') -end - --- `git describe` annotates the most recent tagged release; for pre-release --- builds we append that to the dev version -local with_prefix = prefix -if prefix:match('-dev$') ~= nil then - with_prefix = prefix .. '+' .. described:gsub('^v%d+%.%d+%.%d+-', '') -end - --- Read existing include file. -local current = io.open(versiondeffile, 'r') -if current then - current = current:read('*l') -end - --- Write new include file, if different. -local new = '#define NVIM_VERSION_MEDIUM "'..with_prefix..'"' -if current ~= new then - io.open(versiondeffile, 'w'):write(new .. '\n') -end |