Better error handling for list dir and cli

This commit is contained in:
Riyyi
2026-08-09 17:31:53 +02:00
parent 5fcdba2c22
commit af5db96962
4 changed files with 89 additions and 30 deletions
+18 -7
View File
@@ -8,39 +8,50 @@ import "src:file"
VERSION :: #config(VERSION, "dev")
CLI_ERR :: 1
WORKING_DIR_ERR :: 2
LIST_DIR_ERR :: 3
WRITE_ASSETS_ERR :: 4
WRITE_METADATA_ERR :: 5
// -----------------------------------------
main :: proc() {
working_dir := file.get_working_dir()
working_dir, wd_err := file.get_working_dir()
if wd_err != nil do os.exit(WORKING_DIR_ERR)
defer delete(working_dir)
opts := cli.parse(working_dir)
opts, c_err := cli.parse(working_dir)
if c_err != nil do os.exit(CLI_ERR)
// fmt.println("verbose:", opts.verbose)
// fmt.println("compression:", opts.compression)
// fmt.println("size:", opts.size)
entries := file.list_dir_recursive(opts.input, working_dir)
entries, e_err := file.list_dir_recursive(opts.input, working_dir)
if e_err != nil do os.exit(LIST_DIR_ERR)
defer file.delete_entries(&entries)
w := chunks.writer_init(cast(u64)len(entries))
defer chunks.writer_destroy(&w)
err := chunks.write_assets(
wa_err := chunks.write_assets(
&w,
opts.output,
entries[:],
opts.size,
opts.compression,
)
if err != nil do os.exit(1)
if wa_err != nil do os.exit(WRITE_ASSETS_ERR)
chunks.write_metadata(
wm_err := chunks.write_metadata(
&w,
opts.output,
entries[:],
opts.size,
opts.compression,
)
if err != nil do os.exit(2)
if wm_err != nil do os.exit(WRITE_METADATA_ERR)
}
// TODO: .chunkignore