Module: Nake::DSL

Includes:
Nake
Included in:
Object
Defined in:
lib/nake/dsl.rb

Instance Method Summary collapse

Methods included from Nake

args, coloring, coloring=, debug, debug=, parse, run_args, run_task, verbose, verbose=

Instance Method Details

#argument(*names, &block) ⇒ Object



10
11
12
# File 'lib/nake/dsl.rb', line 10

def argument(*names, &block)
  Nake.args[*names] = block
end

#desc(task, description) ⇒ Object

desc :release, “Create a new release” task(:release) do

# ...

end



18
19
20
# File 'lib/nake/dsl.rb', line 18

def desc(task, description)
  Task.new(task).description = description
end

#directory(path) ⇒ Object



58
59
60
61
62
63
64
# File 'lib/nake/dsl.rb', line 58

def directory(path)
  FileTask.new(path) do |task|
    task.hidden = true # do not show in list
    task.description = "Create directory #{path}"
    task.define { mkdir_p path }
  end
end

#file(path, *dependencies, &block) ⇒ Object



36
37
38
39
40
41
42
43
44
# File 'lib/nake/dsl.rb', line 36

def file(path, *dependencies, &block)
  if block.nil?
    FileTask.new(path, *dependencies)
  else
    FileTask.new(path, *dependencies) do |task|
      task.define(&block)
    end
  end
end

#rule(pattern, *dependencies, &block) ⇒ Object

rule “*.o”, “*.c” rule “*/.o”, “**/.c”



48
49
50
51
52
53
54
55
56
# File 'lib/nake/dsl.rb', line 48

def rule(pattern, *dependencies, &block)
  if block.nil?
    Rule.new(pattern, *dependencies)
  else
    Rule.new(pattern, *dependencies) do |rule|
      rule.define(&block)
    end
  end
end

#task(name, *dependencies, &block) ⇒ Object

Rake-style task definition task(:release, :build) do |task|

# task definition

end



26
27
28
29
30
31
32
33
34
# File 'lib/nake/dsl.rb', line 26

def task(name, *dependencies, &block)
  if block.nil?
    Task.new(name, *dependencies)
  else
    Task.new(name, *dependencies) do |task|
      task.define(&block)
    end
  end
end