Add time elapsed tracking

main
Joca 2025-11-10 12:29:44 -03:00
parent 3f767e8e40
commit b2cdeaebd6
Signed by: jocadbz
GPG Key ID: B1836DCE2F50BDF7
1 changed files with 8 additions and 1 deletions

View File

@ -4,6 +4,7 @@ import os
import config import config
import deps import deps
import runtime import runtime
import time
// BuildTarget represents a build target (shared lib or tool) // BuildTarget represents a build target (shared lib or tool)
pub enum BuildTarget { pub enum BuildTarget {
@ -125,6 +126,7 @@ fn run_compile_tasks(tasks []CompileTask, build_config config.BuildConfig) ![]st
pub fn build(mut build_config config.BuildConfig) ! { pub fn build(mut build_config config.BuildConfig) ! {
// Run build flow and ensure that if any error occurs we print its message // Run build flow and ensure that if any error occurs we print its message
start_time := time.now()
println('Building ${build_config.project_name}...') println('Building ${build_config.project_name}...')
run_build := fn (mut build_config config.BuildConfig) ! { run_build := fn (mut build_config config.BuildConfig) ! {
@ -182,16 +184,21 @@ pub fn build(mut build_config config.BuildConfig) ! {
} }
} }
println(colorize('Build completed successfully!', ansi_green))
return return
} }
// Execute build and show full error output if something fails // Execute build and show full error output if something fails
run_build(mut build_config) or { run_build(mut build_config) or {
// Print error message to help debugging // Print error message to help debugging
elapsed := time.since(start_time)
println(colorize('Build failed: ${err}', ansi_red)) println(colorize('Build failed: ${err}', ansi_red))
println('Build time: ${elapsed.seconds():.2f}s')
return err return err
} }
elapsed := time.since(start_time)
println(colorize('Build completed successfully!', ansi_green))
println('Build time: ${elapsed.seconds():.2f}s')
} }
// Build targets based on build directives from source files // Build targets based on build directives from source files