Skip to content

Commit

Permalink
Forward default nodes as lookup table in ide file generation (#348)
Browse files Browse the repository at this point in the history
* Forward default nodes as lookup table in ide file generation
  • Loading branch information
leidegre authored Aug 11, 2024
1 parent 2be46c4 commit 93b93db
Show file tree
Hide file tree
Showing 7 changed files with 18 additions and 8 deletions.
12 changes: 11 additions & 1 deletion scripts/tundra/boot.lua
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,17 @@ function generate_ide_files(build_script_fn, ide_script)
build_data.Configs,
env)

-- Lookup table for default nodes
local default_nodes = {}
for _, v in ipairs(node_bindings) do
if v.DefaultNodes then
for _, default_node in pairs(v.DefaultNodes) do
default_nodes[default_node] = true
end
end
end

-- Pass the build tuples directly to the generator and let it write
-- files.
nodegen.generate_ide_files(build_tuples, build_data.DefaultNodes, raw_nodes, env, raw_data.IdeGenerationHints, ide_script)
nodegen.generate_ide_files(build_tuples, default_nodes, raw_nodes, env, raw_data.IdeGenerationHints, ide_script)
end
2 changes: 1 addition & 1 deletion scripts/tundra/ide/codelite.lua
Original file line number Diff line number Diff line change
Expand Up @@ -599,7 +599,7 @@ function codelite_generator:generate_project(project, all_projects)
end


function codelite_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_names, hints, ide_script)
function codelite_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_nodes, hints, ide_script)
assert(config_tuples and #config_tuples > 0)

if not hints then
Expand Down
2 changes: 1 addition & 1 deletion scripts/tundra/ide/msvc-common.lua
Original file line number Diff line number Diff line change
Expand Up @@ -785,7 +785,7 @@ function msvc_generator:generate_project_user(project)
p:close()
end

function msvc_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_names, hints, ide_script)
function msvc_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_nodes, hints, ide_script)
assert(config_tuples and #config_tuples > 0)

if not hints then
Expand Down
2 changes: 1 addition & 1 deletion scripts/tundra/ide/xcode3.lua
Original file line number Diff line number Diff line change
Expand Up @@ -699,7 +699,7 @@ local function generate_shellscript(env)
os.execute("chmod +x " .. filename)
end

function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_names)
function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_nodes)
assert(config_tuples and #config_tuples > 0)

-- TODO: Set the first default config as default
Expand Down
2 changes: 1 addition & 1 deletion scripts/tundra/ide/xcode5.lua
Original file line number Diff line number Diff line change
Expand Up @@ -833,7 +833,7 @@ local function make_meta_projects(ide_script)
}
end

function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_names, hints, ide_script)
function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_nodes, hints, ide_script)
assert(config_tuples and #config_tuples > 0)

hints = hints or {}
Expand Down
2 changes: 1 addition & 1 deletion scripts/tundra/ide/xcode7.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1161,7 +1161,7 @@ local function write_schemes(schemes_dir, projects, config_tuples, xcodeproj_nam
m:write('</plist>\n')
end

function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_names, hints, ide_script)
function xcode_generator:generate_files(ngen, config_tuples, raw_nodes, env, default_nodes, hints, ide_script)
assert(config_tuples and #config_tuples > 0)

hints = hints or {}
Expand Down
4 changes: 2 additions & 2 deletions scripts/tundra/nodegen.lua
Original file line number Diff line number Diff line change
Expand Up @@ -813,12 +813,12 @@ function replace_filtered_env_vars(env, values_to_replace, build_id, exclusive)
end
end

function generate_ide_files(config_tuples, default_names, raw_nodes, env, hints, ide_script)
function generate_ide_files(config_tuples, default_nodes, raw_nodes, env, hints, ide_script)
local state = new_generator { default_env = env }
assert(state.default_env)
create_unit_map(state, raw_nodes)
local backend_fn = assert(ide_backend)
backend_fn(state, config_tuples, raw_nodes, env, default_names, hints, ide_script)
backend_fn(state, config_tuples, raw_nodes, env, default_nodes, hints, ide_script)
end

function set_ide_backend(backend_fn)
Expand Down

0 comments on commit 93b93db

Please sign in to comment.