Added a documentation coverage checker task
[task_master.git] / README.markdown
blobac93fd33b76b2b3a3bd4302f3a2f8f6125eea899
1 task_master
2 ===========
4 *task_master* is a suite to help you clean up your [Rakefile][]. It allows you to
5 quickly and easily create task groups that preform specific tasks and require
6 specific common [RubyGems][] and project metadata, and allows you to keep your
7 Rakefile quite DRY. It supports many meta-project tools, and allows you to
8 easily write your own task groups for any tools that it doesn't support.
10 [Rakefile]: <http://rake.rubyforge.org/files/doc/rakefile_rdoc.html> "Rakefile Format RDoc"
11 [RubyGems]: <http://rubygems.org/read/chapter/1#page22> "What is a RubyGem?"
13 Usage
14 -----
15     require 'task_master'
16     
17     TaskMaster.new MyProject do |project|
18       project.name = 'My Project'
19       project.unix = 'my_project'
20       project[:echoe].project = 'my-project' # Rubyforge project name
21       project.libs = ['lib', 'othershit']
22       project.file[:rakefile] = 'Rakefile.rb'
23       project.file[:manifest] = '.manifest'
24       project.file[:readme] = 'README.markdown'
25       project[:yard].markup = 'markdown' # YARD readme markup
26       project[:rcov].threshold = 95.0
27     end
28     
29     tasking :package, 'Echoe'
30     tasking :documentation, 'YARD'
31     tasking :specs, 'RSpec'
33 Installation
34 ------------
35 You can install task_master as a pre-built gem, or as a gem generated directly
36 from the source.
38 The easiest way to install task_master is to use [RubyGems][] to acquire the
39 latest 'release' version from [RubyForge][], using the `gem` command line tool:
41     sudo gem install task_master # You'll be asked for your account password.
43 Alternatively, you can acquire it (possibly slightly more up-to-date,
44 depending on how often I update the gemspec) from GitHub as follows:
46     # If you've ever done this before, you don't need to do it now - see http://gems.github.com
47     gem sources -a http://gems.github.com
48     sudo gem install elliottcable-task_master # You'll be asked for your account password.
49     
50 Finally, you can build a gem from the latest source yourself. You need [git][],
51 as well as [rake][] and elliottcable's clone of [echoe][]:
53     git clone git://github.com/elliottcable/task_master.git
54     cd task_master
55     # If you've ever done this before, you don't need to do it now - see http://gems.github.com
56     gem sources -a http://gems.github.com
57     sudo gem install elliottcable-echoe # You'll be asked for your account password.
58     rake install # You'll be asked for your account password.
60 [RubyGems]: <http://rubyforge.org/projects/rubygems/> "RubyGems - Ruby package manager"
61 [RubyForge]: <http://rubyforge.org/projects/task-master/> "task_master on RubyForge"
62 [git]: <http://git-scm.com/> "git - Fast Version Control System"
63 [Rake]: <http://rake.rubyforge.org/> "RAKE - Ruby Make"
64 [echoe]: <http://github.com/fauna/echoe> "If you don't want to hoe, echoe"
66 Contributing
67 ------------
68 You can contribute bug fixes or new features to task_master by forking the project
69 on GitHub (you'll need to register for an account first), and sending me a
70 pull request once you've committed your changes.
72 Links
73 -----
74 - [GitHub](http://github.com/elliottcable/task_master "task_master on GitHub") is the
75     project's primary repository host, and currently also the project's home
76     page
77 - [RubyForge](http://rubyforge.org/projects/task-master "task_master on RubyForge") is
78     out primary RubyGem host, as well as an alternative repository host
79 - [integrity](http://integrit.yreality.net/task_master "task_master on yreality's integrity server")
80     is our continuous integration server - if the top build on that page is
81     green, you can assume the latest git HEAD is safe to run/install/utilize.
82 - [Gitorious](http://gitorious.org/projects/task_master "task_master on Gitorious") is
83     an alternative repository host
84 - [repo.or.cz](http://repo.or.cz/w/task_master.git "task_master on repo.or.cz") is
85     an alternative repository host
87 License
88 -------
89 task_master is copyright 2008 by elliott cable.
91 task_master is released under the [GNU General Public License v3.0][gpl], which
92 allows you to freely utilize, modify, and distribute all task_master's source code
93 (subject to the terms of the aforementioned license).
95 [gpl]: <http://www.gnu.org/licenses/gpl.txt> "The GNU General Public License v3.0"