public
Description: A framework for creating configurable, distributable tasks and workflows.
Homepage: http://tap.rubyforge.org
Clone URL: git://github.com/bahuvrihi/tap.git
tap / Rapfile
100644 43 lines (35 sloc) 1.008 kb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 
# ::desc gem, install tap modules
Rap.task :install, :name do |task, args|
  dir = File.join(__FILE__.chomp("Rapfile"), args.name)
  Dir.chdir(dir) do
    Rap.sh 'rake gem'
    Rap.sh "sudo gem install --local pkg/#{args.name}"
  end
end
 
# ::desc gem, uninstall, install tap modules
Rap.task :reinstall, :name do |task, args|
  dir = File.join(__FILE__.chomp("Rapfile"), args.name)
  Dir.chdir(dir) do
    Rap.sh "sudo gem uninstall #{args.name}"
  end
  
  Install.instance.execute(args.name)
end
 
# ::desc generate rdoc
Rap.task :rdoc, :redoc => false do |task, args|
  FileUtils.rm_r("rdoc") if File.directory?("rdoc")
  
  %w{tap rap tap-gen tap-suite tap-tasks tap-test}.each do |dir|
    Dir.chdir(dir) do
      if task.redoc && File.directory?("rdoc")
        FileUtils.rm_r("rdoc")
      end
      
      Rap.sh('rake rdoc')
    end
  
    dest = if dir == "tap"
      "rdoc"
    else
      "rdoc/#{dir}"
    end
    
    FileUtils.mkdir_p(dest)
    FileUtils.cp_r("#{dir}/rdoc/.", dest)
  end
end