-- selected results
e2lib.logf(4, "selected_results=%s", table.concat(selected_results, " "))
- rc, re = e2tool.select_results(selected_results, force_rebuild,
- keep_chroot, nil, playground)
- if not rc then
- error(re)
+ for _,resultname in ipairs(selected_results) do
+ local res = result.results[resultname]
+ res:build_settings():selected(true)
+ res:build_settings():force_rebuild(force_rebuild)
+ res:build_settings():keep_chroot(keep_chroot)
+ res:build_settings():prep_playground(playground)
end
-- specific build modi
e2lib.logf(4, "tag_mode_results=%s", table.concat(tag_mode_results, " "))
- rc, re = e2tool.select_results(tag_mode_results, force_rebuild, keep_chroot,
- policy.default_build_mode("tag"), playground)
- if not rc then
- error(re)
+ for _,resultname in ipairs(tag_mode_results) do
+ local res = result.results[resultname]
+ res:build_settings():selected(true)
+ res:build_settings():force_rebuild(force_rebuild)
+ res:build_settings():keep_chroot(keep_chroot)
+ res:build_settings():prep_playground(playground)
+ res:build_mode(policy.default_build_mode("tag"))
end
e2lib.logf(4, "branch_mode_results=%s", table.concat(branch_mode_results, " "))
- rc, re = e2tool.select_results(branch_mode_results, force_rebuild,
- keep_chroot, policy.default_build_mode("branch"), playground)
- if not rc then
- error(re)
+ for _,resultname in ipairs(branch_mode_results) do
+ local res = result.results[resultname]
+ res:build_settings():selected(true)
+ res:build_settings():force_rebuild(force_rebuild)
+ res:build_settings():keep_chroot(keep_chroot)
+ res:build_settings():prep_playground(playground)
+ res:build_mode(policy.default_build_mode("branch"))
end
e2lib.logf(4, "wc_mode_results=%s", table.concat(wc_mode_results, " "))
- rc, re = e2tool.select_results(wc_mode_results, force_rebuild, keep_chroot,
- policy.default_build_mode("working-copy"), playground)
- if not rc then
- error(re)
+ for _,resultname in ipairs(wc_mode_results) do
+ local res = result.results[resultname]
+ res:build_settings():selected(true)
+ res:build_settings():force_rebuild(force_rebuild)
+ res:build_settings():keep_chroot(keep_chroot)
+ res:build_settings():prep_playground(playground)
+ res:build_mode(policy.default_build_mode("working-copy"))
end
rc, re = e2tool.print_selection(ordered_results)
return e2tool.dlist_recursive(dr)
end
---- select (mark) results based upon a list of results usually given on the
--- command line. Parameters are assigned to all selected results.
--- @param results table: list of result names
--- @param force_rebuild bool
--- @param keep_chroot bool
--- @param build_mode table: build mode policy. Optional.
--- @param playground bool
--- @return bool
--- @return an error object on failure
-function e2tool.select_results(results, force_rebuild, keep_chroot, build_mode, playground)
- local rc, re, res, settings
-
- for _,resultname in ipairs(results) do
- rc, re = e2tool.verify_src_res_name_valid_chars(resultname)
- if not rc then
- return false, err.new("'%s' is not a valid result name", resultname)
- end
-
- res = result.results[resultname]
- if not res then
- return false, err.new("selecting invalid result: %s", resultname)
- end
-
- settings = res:build_settings()
-
- settings:selected(true)
-
- if force_rebuild then
- settings:force_rebuild(true)
- end
-
- if keep_chroot then
- settings:keep_chroot(true)
- end
-
- if playground then
- settings:prep_playground(true)
- end
-
- if build_mode then
- res:build_mode(build_mode)
- end
- end
-
- return true
-end
-
--- Build all results in resultv in-order.
-- @param resultv Result name vector.
-- @return True on success, false on error.