rake 0.9.2 → 13.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.rdoc +43 -0
  3. data/Gemfile +10 -0
  4. data/History.rdoc +2386 -0
  5. data/MIT-LICENSE +1 -1
  6. data/README.rdoc +64 -109
  7. data/Rakefile +22 -386
  8. data/bin/bundle +105 -0
  9. data/bin/console +7 -0
  10. data/bin/rake +20 -23
  11. data/bin/rdoc +29 -0
  12. data/bin/rubocop +29 -0
  13. data/bin/setup +6 -0
  14. data/doc/command_line_usage.rdoc +65 -21
  15. data/doc/glossary.rdoc +40 -49
  16. data/doc/jamis.rb +1 -0
  17. data/doc/rake.1 +156 -0
  18. data/doc/rakefile.rdoc +127 -62
  19. data/exe/rake +27 -0
  20. data/lib/rake.rb +37 -31
  21. data/lib/rake/application.rb +507 -272
  22. data/lib/rake/backtrace.rb +24 -0
  23. data/lib/rake/clean.rb +55 -8
  24. data/lib/rake/cloneable.rb +11 -19
  25. data/lib/rake/cpu_counter.rb +107 -0
  26. data/lib/rake/default_loader.rb +5 -0
  27. data/lib/rake/dsl_definition.rb +74 -46
  28. data/lib/rake/early_time.rb +5 -1
  29. data/lib/rake/ext/core.rb +5 -6
  30. data/lib/rake/ext/string.rb +61 -52
  31. data/lib/rake/file_creation_task.rb +4 -3
  32. data/lib/rake/file_list.rb +81 -49
  33. data/lib/rake/file_task.rb +15 -8
  34. data/lib/rake/file_utils.rb +69 -47
  35. data/lib/rake/file_utils_ext.rb +18 -26
  36. data/lib/rake/invocation_chain.rb +25 -19
  37. data/lib/rake/invocation_exception_mixin.rb +1 -0
  38. data/lib/rake/late_time.rb +18 -0
  39. data/lib/rake/linked_list.rb +112 -0
  40. data/lib/rake/loaders/makefile.rb +23 -9
  41. data/lib/rake/multi_task.rb +4 -6
  42. data/lib/rake/name_space.rb +36 -23
  43. data/lib/rake/packagetask.rb +71 -34
  44. data/lib/rake/phony.rb +16 -0
  45. data/lib/rake/private_reader.rb +21 -0
  46. data/lib/rake/promise.rb +100 -0
  47. data/lib/rake/pseudo_status.rb +8 -2
  48. data/lib/rake/rake_module.rb +41 -3
  49. data/lib/rake/rake_test_loader.rb +21 -7
  50. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  51. data/lib/rake/scope.rb +43 -0
  52. data/lib/rake/task.rb +186 -79
  53. data/lib/rake/task_argument_error.rb +1 -0
  54. data/lib/rake/task_arguments.rb +50 -15
  55. data/lib/rake/task_manager.rb +89 -65
  56. data/lib/rake/tasklib.rb +2 -12
  57. data/lib/rake/testtask.rb +61 -63
  58. data/lib/rake/thread_history_display.rb +49 -0
  59. data/lib/rake/thread_pool.rb +163 -0
  60. data/lib/rake/trace_output.rb +23 -0
  61. data/lib/rake/version.rb +7 -7
  62. data/lib/rake/win32.rb +14 -18
  63. data/rake.gemspec +43 -0
  64. metadata +82 -221
  65. data/.gemtest +0 -0
  66. data/CHANGES +0 -509
  67. data/RRR +0 -9
  68. data/TODO +0 -20
  69. data/doc/rake.1.gz +0 -0
  70. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  71. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  72. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  73. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  74. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  75. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  76. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  77. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  78. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  79. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  80. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  81. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  82. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  83. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  84. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  85. data/doc/release_notes/rake-0.8.6.rdoc +0 -55
  86. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  87. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  88. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  89. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  90. data/install.rb +0 -90
  91. data/lib/rake/alt_system.rb +0 -109
  92. data/lib/rake/classic_namespace.rb +0 -9
  93. data/lib/rake/contrib/compositepublisher.rb +0 -21
  94. data/lib/rake/contrib/ftptools.rb +0 -150
  95. data/lib/rake/contrib/publisher.rb +0 -69
  96. data/lib/rake/contrib/rubyforgepublisher.rb +0 -16
  97. data/lib/rake/contrib/sshpublisher.rb +0 -45
  98. data/lib/rake/contrib/sys.rb +0 -191
  99. data/lib/rake/ext/module.rb +0 -39
  100. data/lib/rake/ext/time.rb +0 -14
  101. data/lib/rake/gempackagetask.rb +0 -13
  102. data/lib/rake/pathmap.rb +0 -1
  103. data/lib/rake/rdoctask.rb +0 -230
  104. data/lib/rake/ruby182_test_unit_fix.rb +0 -25
  105. data/lib/rake/runtest.rb +0 -21
  106. data/test/check_expansion.rb +0 -5
  107. data/test/check_no_expansion.rb +0 -5
  108. data/test/data/access/Rakefile +0 -35
  109. data/test/data/chains/Rakefile +0 -15
  110. data/test/data/comments/Rakefile +0 -18
  111. data/test/data/default/Rakefile +0 -17
  112. data/test/data/deprecated_import/Rakefile +0 -1
  113. data/test/data/dryrun/Rakefile +0 -22
  114. data/test/data/extra/Rakefile +0 -1
  115. data/test/data/file_creation_task/Rakefile +0 -31
  116. data/test/data/imports/Rakefile +0 -19
  117. data/test/data/imports/deps.mf +0 -1
  118. data/test/data/multidesc/Rakefile +0 -15
  119. data/test/data/namespace/Rakefile +0 -64
  120. data/test/data/rakelib/test1.rb +0 -4
  121. data/test/data/rbext/rakefile.rb +0 -3
  122. data/test/data/sample.mf +0 -14
  123. data/test/data/statusreturn/Rakefile +0 -6
  124. data/test/data/unittest/Rakefile +0 -1
  125. data/test/data/verbose/Rakefile +0 -34
  126. data/test/file_creation.rb +0 -34
  127. data/test/helper.rb +0 -44
  128. data/test/in_environment.rb +0 -35
  129. data/test/reqfile.rb +0 -3
  130. data/test/reqfile2.rb +0 -3
  131. data/test/shellcommand.rb +0 -3
  132. data/test/test_rake.rb +0 -38
  133. data/test/test_rake_application.rb +0 -364
  134. data/test/test_rake_application_options.rb +0 -382
  135. data/test/test_rake_clean.rb +0 -12
  136. data/test/test_rake_definitions.rb +0 -80
  137. data/test/test_rake_directory_task.rb +0 -55
  138. data/test/test_rake_dsl.rb +0 -73
  139. data/test/test_rake_early_time.rb +0 -31
  140. data/test/test_rake_extension.rb +0 -59
  141. data/test/test_rake_file_creation_task.rb +0 -62
  142. data/test/test_rake_file_list.rb +0 -633
  143. data/test/test_rake_file_list_path_map.rb +0 -8
  144. data/test/test_rake_file_task.rb +0 -104
  145. data/test/test_rake_file_utils.rb +0 -252
  146. data/test/test_rake_ftp_file.rb +0 -59
  147. data/test/test_rake_functional.rb +0 -468
  148. data/test/test_rake_invocation_chain.rb +0 -52
  149. data/test/test_rake_makefile_loader.rb +0 -23
  150. data/test/test_rake_multi_task.rb +0 -51
  151. data/test/test_rake_name_space.rb +0 -43
  152. data/test/test_rake_package_task.rb +0 -78
  153. data/test/test_rake_path_map.rb +0 -157
  154. data/test/test_rake_path_map_explode.rb +0 -31
  155. data/test/test_rake_path_map_partial.rb +0 -18
  156. data/test/test_rake_pseudo_status.rb +0 -20
  157. data/test/test_rake_rdoc_task.rb +0 -81
  158. data/test/test_rake_require.rb +0 -35
  159. data/test/test_rake_rules.rb +0 -346
  160. data/test/test_rake_task.rb +0 -271
  161. data/test/test_rake_task_argument_parsing.rb +0 -116
  162. data/test/test_rake_task_arguments.rb +0 -86
  163. data/test/test_rake_task_lib.rb +0 -9
  164. data/test/test_rake_task_manager.rb +0 -145
  165. data/test/test_rake_task_manager_argument_resolution.rb +0 -36
  166. data/test/test_rake_task_with_arguments.rb +0 -162
  167. data/test/test_rake_test_task.rb +0 -122
  168. data/test/test_rake_top_level_functions.rb +0 -76
  169. data/test/test_rake_win32.rb +0 -83
  170. data/test/test_sys.rb +0 -20
data/RRR DELETED
@@ -1,9 +0,0 @@
1
- class Zippy
2
- def initialize
3
- task :a
4
- task :b
5
- file "x"
6
- end
7
- end
8
-
9
- Zippy.new
data/TODO DELETED
@@ -1,20 +0,0 @@
1
- = Rake Project -- To Do List
2
-
3
- Send suggestions for this list to mailto:jim@weirichhouse.org or on
4
- the rake-devel@rubyforge.org mailing list.
5
-
6
- === To Do
7
- * Need a nice API for accessing tasks in namespaces, namespaces in an app, etc.
8
- * Provide a way to disable -w warning mode.
9
- * Define a set of default rules that work in the absence of any Rakefile
10
- * What about cyclic dependencies?
11
- * Java support utilities
12
- * Installation support utilities
13
- * Check out installpkg.rb
14
- * Autogenerate Dependencies
15
- * Rules should apply to existing tasks if no actions are defined.
16
- * How to create multiple package tasks without task name collision?
17
- * Trap "ln -s" commands that fail and use "cp" instead (SMB mounted
18
- drives have problems with "ln -s".
19
-
20
- (moved DONE list to CHANGES file)
data/doc/rake.1.gz DELETED
Binary file
@@ -1,23 +0,0 @@
1
- = Rake 0.4.14 Released
2
-
3
- == Changes
4
-
5
- Version 0.4.14 is a compatibility fix to allow Rake's test task to
6
- work under Ruby 1.8.2. A change in the Test::Unit autorun feature
7
- prevented Rake from running any tests. This release fixes the
8
- problem.
9
-
10
- Rake 0.4.14 is the recommended release for anyone using Ruby 1.8.2.
11
-
12
- == What is Rake
13
-
14
- Rake is a build tool similar to the make program in many ways. But
15
- instead of cryptic make recipes, Rake uses standard Ruby code to
16
- declare tasks and dependencies. You have the full power of a modern
17
- scripting language built right into your build tool.
18
-
19
- == Availability
20
-
21
- Home Page:: http://rake.rubyforge.org/
22
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
23
-
@@ -1,35 +0,0 @@
1
- = Rake 0.4.15 Released
2
-
3
- == Changes
4
-
5
- Version 0.4.15 is a bug fix update for the Ruby 1.8.2 compatibility
6
- changes. This release includes:
7
-
8
- * Fixed a bug that prevented the TESTOPTS flag from working with the
9
- revised for 1.8.2 test task.
10
-
11
- * Updated the docs on --trace to indicate that it also enables a full
12
- backtrace on errors.
13
-
14
- * Several fixes for new warnings generated.
15
-
16
- == Mini-Roadmap
17
-
18
- I will continue to issue Rake updates in the 0.4.xx series as new
19
- Ruby-1.8.2 issues become manifest. Once the codebase stabilizes, I
20
- will release a 0.5.0 version incorporating all the changes. If you
21
- are not using Ruby-1.8.2 and wish to avoid version churn, I recommend
22
- staying with a release prior to Rake-0.4.14.
23
-
24
- == What is Rake
25
-
26
- Rake is a build tool similar to the make program in many ways. But
27
- instead of cryptic make recipes, Rake uses standard Ruby code to
28
- declare tasks and dependencies. You have the full power of a modern
29
- scripting language built right into your build tool.
30
-
31
- == Availability
32
-
33
- Home Page:: http://rake.rubyforge.org/
34
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
35
-
@@ -1,53 +0,0 @@
1
- = Rake 0.5.0 Released
2
-
3
- It has been a long time in coming, but we finally have a new version
4
- of Rake available.
5
-
6
- == Changes
7
-
8
- * Fixed bug where missing intermediate file dependencies could cause
9
- an abort with --trace or --dry-run. (Brian Candler)
10
-
11
- * Recursive rules are now supported (Tilman Sauerbeck).
12
-
13
- * Added tar.gz and tar.bz2 support to package task (Tilman Sauerbeck).
14
-
15
- * Added warning option for the Test Task (requested by Eric Hodel).
16
-
17
- * The jamis rdoc template is only used if it exists.
18
-
19
- * Added fix for Ruby 1.8.2 test/unit and rails problem.
20
-
21
- * Added contributed rake man file. (Jani Monoses)
22
-
23
- * Fixed documentation that was lacking the Rake module name (Tilman
24
- Sauerbeck).
25
-
26
- == What is Rake
27
-
28
- Rake is a build tool similar to the make program in many ways. But
29
- instead of cryptic make recipes, Rake uses standard Ruby code to
30
- declare tasks and dependencies. You have the full power of a modern
31
- scripting language built right into your build tool.
32
-
33
- == Availability
34
-
35
- The easiest way to get and install rake is via RubyGems ...
36
-
37
- gem install rake (you may need root/admin privileges)
38
-
39
- Otherwise, you can get it from the more traditional places:
40
-
41
- Home Page:: http://rake.rubyforge.org/
42
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
43
-
44
- == Thanks
45
-
46
- Lots of people provided input to this release. Thanks to Tilman
47
- Sauerbeck for numerous patches, documentation fixes and suggestions.
48
- And for also pushing me to get this release out. Also, thanks to
49
- Brian Candler for the finding and fixing --trace/dry-run fix. That
50
- was an obscure bug. Also to Eric Hodel for some good suggestions.
51
-
52
- -- Jim Weirich
53
-
@@ -1,78 +0,0 @@
1
- = Rake 0.5.0 Released
2
-
3
- Although it has only been two weeks since the last release, we have
4
- enough updates to the Rake program to make it time for another
5
- release.
6
-
7
- == Changes
8
-
9
- Here are the changes for version 0.5.3 ...
10
-
11
- * FileLists have been extensively changed so that they mimic the
12
- behavior of real arrays even more closely. In particular,
13
- operations on FileLists that return a new collection (e.g. collect,
14
- reject) will now return a FileList rather than an array. In
15
- addition, several places where FileLists were not properly expanded
16
- before use have been fixed.
17
-
18
- * A method (+ext+) to simplify the handling of file extensions was
19
- added to String and to Array.
20
-
21
- * The 'testrb' script in test/unit tends to silently swallow syntax
22
- errors in test suites. Because of that, the default test loader is
23
- now a rake-provided script. You can still use 'testrb' by setting
24
- the loader flag in the test task to :testrb. (See the API documents
25
- for TestTask for all the loader flag values).
26
-
27
- * FileUtil methods (e.g. cp, mv, install) are now declared to be
28
- private. This will cut down on the interference with user defined
29
- methods of the same name.
30
-
31
- * Fixed the verbose flag in the TestTask so that the test code is
32
- controlled by the flag. Also shortened up some failure messages.
33
- (Thanks to Tobias Luetke for the suggestion).
34
-
35
- * Rules will now properly detect a task that can generate a source
36
- file. Previously rules would only consider source files that were
37
- already present.
38
-
39
- * Added an +import+ command that allows Rake to dynamically import
40
- dependendencies into a running Rake session. The +import+ command
41
- can run tasks to update the dependency file before loading them.
42
- Dependency files can be in rake or make format, allowing rake to
43
- work with tools designed to generate dependencies for make.
44
-
45
- == What is Rake
46
-
47
- Rake is a build tool similar to the make program in many ways. But
48
- instead of cryptic make recipes, Rake uses standard Ruby code to
49
- declare tasks and dependencies. You have the full power of a modern
50
- scripting language built right into your build tool.
51
-
52
- == Availability
53
-
54
- The easiest way to get and install rake is via RubyGems ...
55
-
56
- gem install rake (you may need root/admin privileges)
57
-
58
- Otherwise, you can get it from the more traditional places:
59
-
60
- Home Page:: http://rake.rubyforge.org/
61
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
62
-
63
- == Thanks
64
-
65
- As usual, it was input from users that drove a alot of these changes.
66
- Thanks to ...
67
-
68
- * Brian Gernhardt for the rules fix (especially for the patience to
69
- explain the problem to me until I got what he was talking about).
70
- * Stefan Lang for pointing out problems in the dark corners of the
71
- FileList implementation.
72
- * Alexey Verkhovsky pointing out the silently swallows syntax errors
73
- in tests.
74
- * Tobias Luetke for beautifying the test task output.
75
- * Sam Roberts for some of the ideas behind dependency loading.
76
-
77
- -- Jim Weirich
78
-
@@ -1,46 +0,0 @@
1
- = Rake 0.5.4 Released
2
-
3
- Time for some minor bug fixes and small enhancements
4
-
5
- == Changes
6
-
7
- Here are the changes for version 0.5.3 ...
8
-
9
- * Added double quotes to the test runner. This allows the location of
10
- the tests (and runner) to be in a directory path that contains
11
- spaces (e.g. "C:/Program Files/ruby/bin").
12
-
13
- * Added .svn to default ignore list. Now subversion project metadata
14
- is automatically ignored by Rake's FileList.
15
-
16
- * Updated FileList#include to support nested arrays and filelists.
17
- FileLists are flat lists of file names. Using a FileList in an
18
- include will flatten out the nested file names.
19
-
20
- == What is Rake
21
-
22
- Rake is a build tool similar to the make program in many ways. But
23
- instead of cryptic make recipes, Rake uses standard Ruby code to
24
- declare tasks and dependencies. You have the full power of a modern
25
- scripting language built right into your build tool.
26
-
27
- == Availability
28
-
29
- The easiest way to get and install rake is via RubyGems ...
30
-
31
- gem install rake (you may need root/admin privileges)
32
-
33
- Otherwise, you can get it from the more traditional places:
34
-
35
- Home Page:: http://rake.rubyforge.org/
36
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
37
-
38
- == Thanks
39
-
40
- As usual, it was input from users that drove a alot of these changes.
41
- Thanks to ...
42
-
43
- * Tilman Sauerbeck for the nested FileList suggestion.
44
- * Josh Knowles for pointing out the spaces in directory name problem.
45
-
46
- -- Jim Weirich
@@ -1,141 +0,0 @@
1
- = Rake 0.6.0 Released
2
-
3
- Its time for some long requested enhancements and lots of bug fixes
4
- ... And a whole new web page.
5
-
6
- == New Web Page
7
-
8
- The primary documentation for rake has moved from the RubyForge based
9
- wiki to its own Hieraki based web site. Constant spam on the wiki
10
- made it a difficult to keep clean. The new site will be easier to
11
- update and organize.
12
-
13
- Check out the new documentation at: http://docs.rubyrake.org
14
-
15
- We will be adding new documentation to the site as time goes on.
16
-
17
- In addition to the new docs page, make sure you check out Martin
18
- Fowlers article on rake at http://martinfowler.com/articles/rake.html
19
-
20
- == Changes
21
-
22
- === New Features
23
-
24
- * Multiple prerequisites on Rake rules now allowed. However, keep the
25
- following in mind:
26
-
27
- 1. All the prerequisites of a rule must be available before a rule
28
- is triggered, where "enabled" means (a) an existing file, (b) a
29
- defined rule, or (c) another rule which also must be
30
- trigger-able.
31
- 2. Rules are checked in order of definition, so it is important to
32
- order your rules properly. If a file can be created by two
33
- different rules, put the more specific rule first (otherwise the
34
- more general rule will trigger first and the specific one will
35
- never be triggered).
36
- 3. The <tt>source</tt> method now returns the name of the first
37
- prerequisite listed in the rule. <tt>sources</tt> returns the
38
- names of all the rule prerequisites, ordered as they are defined
39
- in the rule. If the task has other prerequisites not defined in
40
- the rule (but defined in an explicit task definition), then they
41
- will _not_ be included in the sources list.
42
-
43
- * FileLists may now use the egrep command. This popular enhancement
44
- is now a core part of the FileList object. If you want to get a
45
- list of all your to-dos, fixmes and TBD comments, add the following
46
- to your Rakefile.
47
-
48
- desc "Look for TODO and FIXME tags in the code"
49
- task :todo do
50
- FileList['**/*.rb'].egrep /#.*(FIXME|TODO|TBD)/
51
- end
52
-
53
- * The <tt>investigation</tt> method was added to task object to dump
54
- out some important values. This makes it a bit easier to debug Rake
55
- tasks.
56
-
57
- For example, if you are having problems with a particular task, just
58
- print it out:
59
-
60
- task :huh do
61
- puts Rake::Task['huh'].investigation
62
- end
63
-
64
- * The Rake::TestTask class now supports a "ruby_opts" option to pass
65
- arbitrary ruby options to a test subprocess.
66
-
67
- === Some Incompatibilities
68
-
69
- * When using the <tt>ruby</tt> command to start a Ruby subprocess, the
70
- Ruby interpreter that is currently running rake is used by default.
71
- This makes it easier to use rake in an environment with multiple
72
- ruby installation. (Previously, the first ruby command found in the
73
- PATH was used).
74
-
75
- If you wish to chose a different Ruby interpreter, you can
76
- explicitly choose the interpreter via the <tt>sh</tt> command.
77
-
78
- * The major rake classes (Task, FileTask, FileCreationTask, RakeApp)
79
- have been moved out of the toplevel scope and are now accessible as
80
- Rake::Task, Rake::FileTask, Rake::FileCreationTask and
81
- Rake::Application. If your Rakefile
82
- directly references any one of these tasks, you may:
83
-
84
- 1. Update your Rakefile to use the new classnames
85
- 2. Use the --classic-namespace option on the rake command to get the
86
- old behavior,
87
- 3. Add <code>require 'rake/classic_namespace'</code> to the
88
- Rakefile to get the old behavior.
89
-
90
- <tt>rake</tt> will print a rather annoying warning whenever a
91
- deprecated class name is referenced without enabling classic
92
- namespace.
93
-
94
- === Bug Fixes
95
-
96
- * Several unit tests and functional tests were fixed to run better
97
- under windows.
98
-
99
- * Directory tasks are now a specialized version of a File task. A
100
- directory task will only be triggered if it doesn't exist. It will
101
- not be triggered if it is out of date w.r.t. any of its
102
- prerequisites.
103
-
104
- * Fixed a bug in the Rake::GemPackageTask class so that the gem now
105
- properly contains the platform name.
106
-
107
- * Fixed a bug where a prerequisite on a <tt>file</tt> task would cause
108
- an exception if the prerequisite did not exist.
109
-
110
- == What is Rake
111
-
112
- Rake is a build tool similar to the make program in many ways. But
113
- instead of cryptic make recipes, Rake uses standard Ruby code to
114
- declare tasks and dependencies. You have the full power of a modern
115
- scripting language built right into your build tool.
116
-
117
- == Availability
118
-
119
- The easiest way to get and install rake is via RubyGems ...
120
-
121
- gem install rake (you may need root/admin privileges)
122
-
123
- Otherwise, you can get it from the more traditional places:
124
-
125
- Home Page:: http://rake.rubyforge.org/
126
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
127
-
128
- == Thanks
129
-
130
- As usual, it was input from users that drove a alot of these changes.
131
- The following people either contributed patches, made suggestions or
132
- made otherwise helpful comments. Thanks to ...
133
-
134
- * Greg Fast (better ruby_opt test options)
135
- * Kelly Felkins (requested by better namespace support)
136
- * Martin Fowler (suggested Task.investigation)
137
- * Stuart Jansen (send initial patch for multiple prerequisites).
138
- * Masao Mutch (better support for non-ruby Gem platforms)
139
- * Philipp Neubeck (patch for file task exception fix)
140
-
141
- -- Jim Weirich
@@ -1,119 +0,0 @@
1
- = Rake 0.7.0 Released
2
-
3
- These changes for Rake have been brewing for a long time. Here they
4
- are, I hope you enjoy them.
5
-
6
- == Changes
7
-
8
- === New Features
9
-
10
- * Name space support for task names (see below).
11
-
12
- * Prerequisites can be executed in parallel (see below).
13
-
14
- * Added safe_ln support for openAFS (via Ludvig Omholt).
15
-
16
- * RDoc defaults to internal (in-process) invocation. The old behavior
17
- is still available by setting the +external+ flag to true.
18
-
19
- * Rakefiles are now loaded with the expanded path to prevent
20
- accidental polution from the Ruby load path.
21
-
22
- * Task objects my now be used in prerequisite lists directly.
23
-
24
- * Task objects (in addition to task names) may now be included in the
25
- prerequisite list of a task.
26
-
27
- * Internals cleanup and refactoring.
28
-
29
- === Bug Fixes
30
-
31
- * Compatibility fixes for Ruby 1.8.4 FileUtils changes.
32
-
33
- === Namespaces
34
-
35
- Tasks can now be nested inside their own namespaces. Tasks within one
36
- namespace will not accidently interfer with tasks named in a different
37
- namespace.
38
-
39
- For example:
40
-
41
- namespace "main" do
42
- task :build do
43
- # Build the main program
44
- end
45
- end
46
-
47
- namespace "samples" do
48
- task :build do
49
- # Build the sample programs
50
- end
51
- end
52
-
53
- task :build_all => ["main:build", "samples:build"]
54
-
55
- Even though both tasks are named :build, they are separate tasks in
56
- their own namespaces. The :build_all task (defined in the toplevel
57
- namespace) references both build tasks in its prerequisites.
58
-
59
- You may invoke each of the individual build tasks with the following
60
- commands:
61
-
62
- rake main:build
63
- rake samples:build
64
-
65
- Or invoke both via the :build_all command:
66
-
67
- rake build_all
68
-
69
- Namespaces may be nested arbitrarily. Since the name of file tasks
70
- correspond to the name of a file in the external file system,
71
- FileTasks are not affected by the namespaces.
72
-
73
- See the Rakefile format documentation (in the Rake API documents) for
74
- more information.
75
-
76
- === Parallel Tasks
77
-
78
- Sometimes you have several tasks that can be executed in parallel. By
79
- specifying these tasks as prerequisites to a +multitask+ task.
80
-
81
- In the following example the tasks copy_src, copy_doc and copy_bin
82
- will all execute in parallel in their own thread.
83
-
84
- multitask :copy_files => [:copy_src, :copy_doc, :copy_bin] do
85
- puts "All Copies Complete"
86
- end
87
-
88
- == What is Rake
89
-
90
- Rake is a build tool similar to the make program in many ways. But
91
- instead of cryptic make recipes, Rake uses standard Ruby code to
92
- declare tasks and dependencies. You have the full power of a modern
93
- scripting language built right into your build tool.
94
-
95
- == Availability
96
-
97
- The easiest way to get and install rake is via RubyGems ...
98
-
99
- gem install rake (you may need root/admin privileges)
100
-
101
- Otherwise, you can get it from the more traditional places:
102
-
103
- Home Page:: http://rake.rubyforge.org/
104
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
105
-
106
- == Thanks
107
-
108
- As usual, it was input from users that drove a alot of these changes.
109
- The following people either contributed patches, made suggestions or
110
- made otherwise helpful comments. Thanks to ...
111
-
112
- * Doug Young (inspriation for the parallel task)
113
-
114
- * David Heinemeier Hansson (for --trace message enhancement and for
115
- pushing for namespace support).
116
-
117
- * Ludvig Omholt (for the openAFS fix)
118
-
119
- -- Jim Weirich