module Topia
Defined in:
topia.crtopia/async_spinner.cr
topia/async_watcher.cr
topia/cli.cr
topia/command.cr
topia/concurrent_executor.cr
topia/config.cr
topia/dependency_manager.cr
topia/error.cr
topia/input_file.cr
topia/pipe.cr
topia/plugin.cr
topia/spinner.cr
topia/task.cr
topia/task_cache.cr
topia/watcher.cr
Constant Summary
-
SPINNER =
Spinner.new("Waiting...")
-
VERSION =
"0.1.0"
Class Method Summary
-
.available_tasks : Array(Task)
Task management helpers
- .cache_stats
- .cached_executor
- .clear_cache
-
.clear_tasks
Clear all tasks (useful for testing)
-
.cli(args = ARGV)
CLI entry point
- .concurrent_executor(max_concurrent = 4)
- .concurrent_stats
-
.configure(file_path : String)
Configuration file support
-
.create_sample_config(file_path : String = "topia.yml")
Create sample configuration
- .debug(message : String)
- .debug=(debug)
- .debug?
-
.default(subtask : String)
Adds a default task
-
.default(subtasks : Array(String))
Add multiple default tasks
- .default_tasks : Array(String)
- .error(message : String)
- .execute_concurrent(tasks : Array(Task), max_concurrent = 4, use_cache = true, show_progress = true)
- .find_task(name : String) : Task | Nil
-
.info(message : String)
Output helpers
- .logger
- .output_mode
- .quiet?
- .record_task_failure(task_name : String, start_time : Time::Span, error : Exception)
-
.record_task_success(task_name : String, start_time : Time::Span)
Task statistics
-
.run(name : String, params : Array(String) = [] of String)
Run a task
-
.run(tasks : Array)
Override to run multiple tasks To be used for default tasks.
-
.run_default
Runs the default task(s)
-
.run_parallel(task_names : Array(String), max_jobs : Int32 = System.cpu_count)
Parallel task execution with job control
-
.set_output_mode(mode : Symbol)
Output mode management
- .show_detailed_statistics
- .success(message : String)
-
.task(name : String, cb)
Overload for creating a task with a callback function that gets executed first
-
.task(name : String)
Creates a new task
- .task_dependencies(task_name : String) : Array(String)
- .task_statistics(task_name : String) : String | Nil
-
.validate_all_dependencies
Dependency validation
- .verbose?
- .warn(message : String)
-
.watch_and_run(task_names : Array(String), &block : Array(String) -> Nil)
Watch and run tasks when files change
Class Method Detail
def self.execute_concurrent(tasks : Array(Task), max_concurrent = 4, use_cache = true, show_progress = true)
#
def self.record_task_failure(task_name : String, start_time : Time::Span, error : Exception)
#
def self.run_parallel(task_names : Array(String), max_jobs : Int32 = System.cpu_count)
#
Parallel task execution with job control
def self.task(name : String, cb)
#
Overload for creating a task with a callback function that gets executed first
def self.watch_and_run(task_names : Array(String), &block : Array(String) -> Nil)
#
Watch and run tasks when files change