Class: Xcode::Buildspec::GroupBuilder

Inherits:
Rake::TaskLib
  • Object
show all
Includes:
Rake::DSL
Defined in:
lib/xcode/buildspec.rb

Instance Method Summary collapse

Constructor Details

#initializeGroupBuilder

Returns a new instance of GroupBuilder.



34
35
36
# File 'lib/xcode/buildspec.rb', line 34

def initialize 
  @groups = []
end

Instance Method Details

#generate_rake_tasksObject



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# File 'lib/xcode/buildspec.rb', line 47

def generate_rake_tasks

  # namespace :all do 
    # define top level tasks
    desc "Build all"
    task :build => @groups.map {|g| "#{g}:build"}

    desc "Clean all"
    task :clean => @groups.map {|g| "#{g}:clean"}

    desc "Package all"
    task :package => @groups.map {|g| "#{g}:package"}

    desc "Deploy all"
    task :deploy => @groups.map {|g| "#{g}:deploy:all"}
  # end
end

#group(group, &block) ⇒ Object



38
39
40
41
42
43
44
45
# File 'lib/xcode/buildspec.rb', line 38

def group group, &block
  @groups << group.downcase
  namespace group.downcase do 
    t = TaskBuilder.new
    t.instance_eval(&block)
    t.generate_rake_tasks
  end
end