/tools/Ruby/lib/ruby/gems/1.8/gems/rake-0.9.2/README.rdoc

http://github.com/agross/netopenspace · Unknown · 200 lines · 129 code · 71 blank · 0 comment · 0 complexity · 5cac23dc642e432abac8349bc22a0a01 MD5 · raw file

  1. = RAKE -- Ruby Make
  2. Supporting Rake version: 0.8.7.
  3. This package contains Rake, a simple ruby build program with
  4. capabilities similar to make.
  5. Rake has the following features:
  6. * Rakefiles (rake's version of Makefiles) are completely defined in
  7. standard Ruby syntax. No XML files to edit. No quirky Makefile
  8. syntax to worry about (is that a tab or a space?)
  9. * Users can specify tasks with prerequisites.
  10. * Rake supports rule patterns to synthesize implicit tasks.
  11. * Flexible FileLists that act like arrays but know about manipulating
  12. file names and paths.
  13. * A library of prepackaged tasks to make building rakefiles easier. For example,
  14. tasks for building tarballs, gems and RDoc output are provided.
  15. * Supports parallel execution of tasks.
  16. == Installation
  17. === Gem Installation
  18. Download and install rake with the following.
  19. gem install rake
  20. === Normal Installation
  21. You can download the source tarball of the latest version of Rake from
  22. * http://rubyforge.org/project/showfiles.php?group_id=50
  23. Extract the tarball and run
  24. % ruby install.rb
  25. from its distribution directory.
  26. == Usage
  27. === Simple Example
  28. First, you must write a "Rakefile" file which contains the build rules. Here's
  29. a simple example:
  30. task :default => [:test]
  31. task :test do
  32. ruby "test/unittest.rb"
  33. end
  34. This Rakefile has two tasks:
  35. * A task named "test", which - upon invocation - will run a unit test file in
  36. Ruby.
  37. * A task named "default". This task does nothing by itself, but it has exactly
  38. one dependency, namely the "test" task. Invoking the "default" task will
  39. cause Rake to invoke the "test" task as well.
  40. Running the "rake" command without any options will cause it to run the
  41. "default" task in the Rakefile:
  42. % ls
  43. Rakefile test/
  44. % rake
  45. (in /home/some_user/Projects/rake)
  46. ruby test/unittest.rb
  47. ....unit test output here...
  48. Type "rake --help" for all available options.
  49. === More Information
  50. * For details on Rake's command-line invocation, read
  51. doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html]
  52. * For details on writing Rakefiles, see
  53. doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
  54. * For the original announcement of Rake, see
  55. doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
  56. * For a glossary of terms, see
  57. doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
  58. == Development
  59. === Source Repository
  60. Rake is currently hosted at github. The github web page is
  61. http://github.com/jimweirich/rake. The public git clone URL is
  62. * git://github.com/jimweirich/rake.git
  63. === Running the Rake Test Suite
  64. If you wish to run the unit and functional tests that come with Rake:
  65. * Install the 'flexmock' gem
  66. * Install the 'session' gem in order to run the functional tests.
  67. * CD into the top project directory of rake.
  68. * Type one of the following:
  69. rake # If you have a version of rake installed
  70. ruby -Ilib bin/rake # If you do not have a version of rake installed.
  71. === Issues and Bug Reports
  72. Feature requests and bug reports can be made here
  73. * http://onestepback.org/cgi-bin/bugs.cgi?project=rake
  74. No account is needed for posting requests. Or you can send me an
  75. email (at jim dot weirich at gmail dot com)
  76. Issues and bug reports can be tracked here:
  77. * http://www.pivotaltracker.com/projects/28469
  78. == Online Resources
  79. === Rake References
  80. * Rake Documentation Home: http://docs.rubyrake.org
  81. * Rake Project Page: http://rubyforge.org/projects/rake
  82. * Rake API Documents: http://rake.rubyforge.org
  83. * Rake Source Code Repo: http://github.com/jimweirich/rake
  84. * Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
  85. * Rake Issue Tracking: http://www.pivotaltracker.com/projects/28469
  86. * Rake Bug Reports: http://onestepback.org/cgi-bin/bugs.cgi?project=rake
  87. === Presentations and Articles about Rake
  88. * Jim Weirich's 2003 RubyConf presentation: http://onestepback.org/articles/buildingwithrake/
  89. * Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
  90. == Other Make Reinvisionings ...
  91. Rake is a late entry in the make replacement field. Here are links to
  92. other projects with similar (and not so similar) goals.
  93. * http://directory.fsf.org/bras.html -- Bras, one of earliest
  94. implementations of "make in a scripting language".
  95. * http://www.a-a-p.org -- Make in Python
  96. * http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
  97. * http://ant.apache.org -- The Ant project
  98. * http://ppt.perl.org/commands/make/index.html -- Make from the Perl
  99. Power Tools implementation.
  100. * http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
  101. * http://make.rubyforge.org -- Rant, another Ruby make tool.
  102. == Credits
  103. [<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake.
  104. [<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
  105. [<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
  106. == License
  107. Rake is available under an MIT-style license.
  108. :include: MIT-LICENSE
  109. == Support
  110. The Rake homepage is http://rake.rubyforge.org. You can find the Rake
  111. RubyForge page at http://rubyforge.org/projects/rake.
  112. Feel free to submit commits or feature requests. If you send a patch,
  113. remember to update the corresponding unit tests. In fact, I prefer
  114. new feature to be submitted in the form of new unit tests.
  115. For other information, feel free to ask on the ruby-talk mailing list
  116. (which is mirrored to comp.lang.ruby) or contact
  117. jim dot weirich at gmail.com.
  118. ---
  119. = Other stuff
  120. Author:: Jim Weirich <jim.weirich@gmail.com>
  121. Requires:: Ruby 1.8.0 or later
  122. License:: Copyright 2003-2008 by Jim Weirich.
  123. Released under an MIT-style license. See the LICENSE file
  124. included in the distribution.
  125. == Warranty
  126. This software is provided "as is" and without any express or
  127. implied warranties, including, without limitation, the implied
  128. warranties of merchantibility and fitness for a particular
  129. purpose.