From 174debf2da382e764360d929dd47373d6c195aab Mon Sep 17 00:00:00 2001 From: Bruno Carlin Date: Thu, 26 Dec 2024 00:51:45 +0100 Subject: [PATCH] fix: ucromium repo creation --- src/cache.v | 4 ++++ src/install.v | 2 +- src/uchromium.v | 24 +++++++++++++++++------- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/src/cache.v b/src/cache.v index 60523de..e8a5ad8 100644 --- a/src/cache.v +++ b/src/cache.v @@ -23,6 +23,10 @@ fn Cache.default() !Cache { return Cache.new(cache_dir) } +fn (c Cache) dir_no_create(name ...string) !string { + return os.join_path(c.base_path, ...name) +} + fn (c Cache) path(name ...string) !string { dir := os.join_path(c.base_path, ...name) os.mkdir_all(dir) or { return error('failed to create directory ${dir}') } diff --git a/src/install.v b/src/install.v index a37ae60..56d48d1 100644 --- a/src/install.v +++ b/src/install.v @@ -32,7 +32,7 @@ const install_command = cli.Command{ } fn execute_install(cmd cli.Command) ! { - if cmd.flags.get_bool('debug') or { false } { + if cmd.flags.get_bool('verbose') or { false } { log.set_level(.debug) } diff --git a/src/uchromium.v b/src/uchromium.v index 869d89c..efac169 100644 --- a/src/uchromium.v +++ b/src/uchromium.v @@ -59,7 +59,7 @@ fn UChromium.new(cache Cache) !UChromium { } fn (u UChromium) repo_path() !string { - return u.cache.path('uchromium-repo') + return u.cache.dir_no_create('uchromium-repo') } fn (u UChromium) set_repo() ! { @@ -75,10 +75,12 @@ fn (u UChromium) set_repo() ! { } } - os.execute_opt(cmd) or { + res := os.execute_opt(cmd) or { return error('failed to sync ${uchromium_repo} to ${repo_path}: ${err}') } + log.debug('res: ${res}') + return } @@ -96,13 +98,11 @@ fn (u UChromium) find_version(version string) !UChromiumVersion { b_parts := b.split_any('.-/') for i in 0 .. math.min(a_parts.len, b_parts.len) { - return if a_parts[i].int() < b_parts[i].int() { - -1 - } else if a_parts[i].int() > b_parts[i].int() { - 1 - } else { + if a_parts[i] == b_parts[i] { continue } + + return compare_ints(a_parts[i].int(), b_parts[i].int()) } return 0 @@ -154,3 +154,13 @@ fn (u UChromium) install(version string, install_to string) ! { return } + +fn compare_ints(a int, b int) int { + return if a < b { + -1 + } else if a > b { + 1 + } else { + 0 + } +}