mirror of
https://github.com/neovim/neovim
synced 2025-07-16 01:01:49 +00:00
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:
@ -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
|
||||
|
||||
|
Reference in New Issue
Block a user