module

Topia

Constants

SPINNER = Spinner.new("Waiting...")
VERSION = "0.1.0"

Class methods

available_tasks

Task management helpers

Source
cache_stats
Source
cached_executor
Source
clear_cache
Source
clear_tasks

Clear all tasks (useful for testing)

Source
cli(args = ARGV)

CLI entry point

Source
concurrent_executor(max_concurrent = 4)
Source
concurrent_stats
Source
configure(file_path : String)

Configuration file support

Source
create_sample_config(file_path : String = "topia.yml")

Create sample configuration

Source
debug(message : String)
Source
debug=(debug)
Source
debug?
Source
default(subtask : String)

Adds a default task

Source
default(subtasks : Array(String))

Add multiple default tasks

Source
default_tasks
Source
error(message : String)
Source
execute_concurrent(tasks : Array(Task), max_concurrent = 4, use_cache = true, show_progress = true)
Source
find_task(name : String) : Task | Nil
Source
info(message : String)

Output helpers

Source
logger
Source
output_mode
Source
quiet?
Source
record_task_failure(task_name : String, start_time : Time::Span, error : Exception)
Source
record_task_success(task_name : String, start_time : Time::Span)

Task statistics

Source
run(name : String, params : Array(String) = [] of String)

Run a task

Source
run(tasks : Array)

Override to run multiple tasks To be used for default tasks.

Source
run_default

Runs the default task(s)

Source
run_parallel(task_names : Array(String), max_jobs : Int32 = System.cpu_count)

Parallel task execution with job control

Source
set_output_mode(mode : Symbol)

Output mode management

Source
show_detailed_statistics
Source
success(message : String)
Source
task(name : String, cb)

Overload for creating a task with a callback function that gets executed first

Source
task(name : String)

Creates a new task

Source
task_dependencies(task_name : String) : Array(String)
Source
task_statistics(task_name : String) : String | Nil
Source
validate_all_dependencies

Dependency validation

Source
verbose?
Source
warn(message : String)
Source
watch_and_run(task_names : Array(String), &block : Array(String) -> Nil)

Watch and run tasks when files change

Source

Nested types