In Files

  • minirake

MiniRake::DSL

Public Instance Methods

desc(text) click to toggle source
 
               # File minirake, line 327
def desc(text)
end
            
directory(args, &block) click to toggle source

Declare a set of files tasks to create the given directories on demand.

 
               # File minirake, line 286
def directory(args, &block)
  MiniRake::FileTask.define_task(args) do |t|
    block.call(t) unless block.nil?
    dir = args.is_a?(Hash) ? args.keys.first : args
    (dir.split(File::SEPARATOR) + ['']).inject do |acc, part|
      (acc + File::SEPARATOR).tap do |d|
        Dir.mkdir(d) unless File.exists? d
      end + part
    end
  end
end
            
file(args, &block) click to toggle source

Declare a file task.

 
               # File minirake, line 280
def file(args, &block)
  MiniRake::FileTask.define_task(args, &block)
end
            
log(msg) click to toggle source

Write a message to standard out if $verbose is enabled.

 
               # File minirake, line 304
def log(msg)
  print "  " if $trace && $verbose
  puts msg if $verbose
end
            
rule(args, &block) click to toggle source

Declare a rule for auto-tasks.

 
               # File minirake, line 299
def rule(args, &block)
  MiniRake::Task.create_rule(args, &block)
end
            
sh(cmd) click to toggle source

Run the system command cmd.

 
               # File minirake, line 310
def sh(cmd)
  puts cmd if $verbose

  if !$rake_root_fiber || Fiber.current == $rake_root_fiber
    system(cmd) or fail "Command Failed: [#{cmd}]"
    return
  end

  pid = Process.spawn(cmd)
  $rake_fiber_table[pid] = {
    fiber: Fiber.current,
    command: cmd,
    process_waiter: Process.detach(pid)
  }
  $rake_root_fiber.transfer
end
            
task(args, &block) click to toggle source

Declare a basic task.

 
               # File minirake, line 275
def task(args, &block)
  MiniRake::Task.define_task(args, &block)
end