build: create a text file for specifying dependency information

The cmake.deps build will read this file and set the left part of the
text as the variable name and the right part as the variable value. The
benefit of doing this is that it becomes much easier to parse which
dependencies are required, as well as to bump dependencies with
scripts/bump_deps.lua.

Adjust bump_deps.lua script to work with this new format.
This commit is contained in:
dundargoc
2023-05-03 00:31:07 +02:00
committed by GitHub
parent 540941ef83
commit 9909668111
3 changed files with 85 additions and 84 deletions

View File

@ -63,6 +63,7 @@ local function rm_file_if_present(path_to_file)
end
local nvim_src_dir = vim.fn.getcwd()
local deps_file = nvim_src_dir .. '/' .. 'cmake.deps/deps.txt'
local temp_dir = nvim_src_dir .. '/tmp'
run({ 'mkdir', '-p', temp_dir })
@ -127,26 +128,24 @@ end
local function write_cmakelists_line(symbol, kind, value)
require_executable('sed')
local cmakelists_path = nvim_src_dir .. '/' .. 'cmake.deps/CMakeLists.txt'
run_die({
'sed',
'-i',
'-e',
's/set('
's/'
.. symbol
.. '_'
.. kind
.. '.*$'
.. '/set('
.. '/'
.. symbol
.. '_'
.. kind
.. ' '
.. value
.. ')'
.. '/',
cmakelists_path,
}, 'Failed to write ' .. cmakelists_path)
deps_file,
}, 'Failed to write ' .. deps_file)
end
local function explicit_create_branch(dep)
@ -181,8 +180,6 @@ local function update_cmakelists(dependency, archive, comment)
verify_branch(dependency.name)
local changed_file = nvim_src_dir .. '/' .. 'cmake.deps/CMakeLists.txt'
p('Updating ' .. dependency.name .. ' to ' .. archive.url .. '\n')
write_cmakelists_line(dependency.symbol, 'URL', archive.url:gsub('/', '\\/'))
write_cmakelists_line(dependency.symbol, 'SHA256', archive.sha)
@ -190,7 +187,7 @@ local function update_cmakelists(dependency, archive, comment)
{
'git',
'commit',
changed_file,
deps_file,
'-m',
commit_prefix .. 'bump ' .. dependency.name .. ' to ' .. comment,
},
@ -201,10 +198,9 @@ end
local function verify_cmakelists_committed()
require_executable('git')
local cmakelists_path = nvim_src_dir .. '/' .. 'cmake.deps/CMakeLists.txt'
run_die(
{ 'git', 'diff', '--quiet', 'HEAD', '--', cmakelists_path },
cmakelists_path .. ' has uncommitted changes'
{ 'git', 'diff', '--quiet', 'HEAD', '--', deps_file },
deps_file .. ' has uncommitted changes'
)
end