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