rake 10.5.0 → 13.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (159) hide show
  1. checksums.yaml +5 -5
  2. data/History.rdoc +2032 -288
  3. data/README.rdoc +40 -24
  4. data/doc/jamis.rb +1 -0
  5. data/doc/rake.1 +139 -124
  6. data/doc/rakefile.rdoc +2 -4
  7. data/{bin → exe}/rake +1 -7
  8. data/lib/rake/application.rb +164 -93
  9. data/lib/rake/backtrace.rb +4 -2
  10. data/lib/rake/clean.rb +7 -5
  11. data/lib/rake/cloneable.rb +1 -0
  12. data/lib/rake/cpu_counter.rb +10 -28
  13. data/lib/rake/default_loader.rb +1 -0
  14. data/lib/rake/dsl_definition.rb +8 -13
  15. data/lib/rake/early_time.rb +1 -0
  16. data/lib/rake/ext/core.rb +1 -0
  17. data/lib/rake/ext/string.rb +22 -21
  18. data/lib/rake/file_creation_task.rb +4 -3
  19. data/lib/rake/file_list.rb +34 -27
  20. data/lib/rake/file_task.rb +19 -7
  21. data/lib/rake/file_utils.rb +37 -33
  22. data/lib/rake/file_utils_ext.rb +8 -18
  23. data/lib/rake/invocation_chain.rb +1 -0
  24. data/lib/rake/invocation_exception_mixin.rb +1 -0
  25. data/lib/rake/late_time.rb +2 -1
  26. data/lib/rake/linked_list.rb +24 -15
  27. data/lib/rake/loaders/makefile.rb +5 -4
  28. data/lib/rake/multi_task.rb +2 -1
  29. data/lib/rake/name_space.rb +1 -1
  30. data/lib/rake/packagetask.rb +40 -17
  31. data/lib/rake/phony.rb +2 -1
  32. data/lib/rake/private_reader.rb +1 -0
  33. data/lib/rake/promise.rb +13 -12
  34. data/lib/rake/pseudo_status.rb +1 -0
  35. data/lib/rake/rake_module.rb +30 -1
  36. data/lib/rake/rake_test_loader.rb +9 -4
  37. data/lib/rake/rule_recursion_overflow_error.rb +2 -2
  38. data/lib/rake/scope.rb +3 -2
  39. data/lib/rake/task.rb +82 -31
  40. data/lib/rake/task_argument_error.rb +1 -0
  41. data/lib/rake/task_arguments.rb +15 -4
  42. data/lib/rake/task_manager.rb +56 -32
  43. data/lib/rake/tasklib.rb +2 -14
  44. data/lib/rake/testtask.rb +37 -61
  45. data/lib/rake/thread_history_display.rb +4 -3
  46. data/lib/rake/thread_pool.rb +16 -17
  47. data/lib/rake/trace_output.rb +2 -1
  48. data/lib/rake/version.rb +4 -1
  49. data/lib/rake/win32.rb +10 -15
  50. data/lib/rake.rb +34 -43
  51. data/rake.gemspec +101 -0
  52. metadata +24 -223
  53. data/.autotest +0 -7
  54. data/.rubocop.yml +0 -27
  55. data/.togglerc +0 -7
  56. data/CONTRIBUTING.rdoc +0 -38
  57. data/Manifest.txt +0 -166
  58. data/Rakefile +0 -81
  59. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  60. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  61. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  62. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  63. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  64. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  65. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  66. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  67. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  68. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  69. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  70. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  71. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  72. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  73. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  74. data/doc/release_notes/rake-0.8.6.rdoc +0 -37
  75. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  76. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  77. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  78. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  79. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  80. data/doc/release_notes/rake-0.9.3.rdoc +0 -102
  81. data/doc/release_notes/rake-0.9.4.rdoc +0 -60
  82. data/doc/release_notes/rake-0.9.5.rdoc +0 -55
  83. data/doc/release_notes/rake-0.9.6.rdoc +0 -64
  84. data/doc/release_notes/rake-10.0.0.rdoc +0 -178
  85. data/doc/release_notes/rake-10.0.1.rdoc +0 -58
  86. data/doc/release_notes/rake-10.0.2.rdoc +0 -53
  87. data/doc/release_notes/rake-10.0.3.rdoc +0 -191
  88. data/doc/release_notes/rake-10.1.0.rdoc +0 -61
  89. data/lib/rake/alt_system.rb +0 -110
  90. data/lib/rake/contrib/.document +0 -1
  91. data/lib/rake/contrib/compositepublisher.rb +0 -21
  92. data/lib/rake/contrib/ftptools.rb +0 -137
  93. data/lib/rake/contrib/publisher.rb +0 -81
  94. data/lib/rake/contrib/rubyforgepublisher.rb +0 -18
  95. data/lib/rake/contrib/sshpublisher.rb +0 -61
  96. data/lib/rake/contrib/sys.rb +0 -4
  97. data/lib/rake/ext/module.rb +0 -2
  98. data/lib/rake/ext/pathname.rb +0 -25
  99. data/lib/rake/ext/time.rb +0 -18
  100. data/lib/rake/gempackagetask.rb +0 -4
  101. data/lib/rake/pathmap.rb +0 -3
  102. data/lib/rake/rdoctask.rb +0 -4
  103. data/lib/rake/ruby182_test_unit_fix.rb +0 -29
  104. data/lib/rake/runtest.rb +0 -27
  105. data/rakelib/publish.rake +0 -20
  106. data/rakelib/test_times.rake +0 -25
  107. data/test/file_creation.rb +0 -34
  108. data/test/helper.rb +0 -129
  109. data/test/support/rakefile_definitions.rb +0 -478
  110. data/test/support/ruby_runner.rb +0 -34
  111. data/test/test_private_reader.rb +0 -42
  112. data/test/test_rake.rb +0 -40
  113. data/test/test_rake_application.rb +0 -643
  114. data/test/test_rake_application_options.rb +0 -468
  115. data/test/test_rake_backtrace.rb +0 -119
  116. data/test/test_rake_clean.rb +0 -61
  117. data/test/test_rake_cpu_counter.rb +0 -68
  118. data/test/test_rake_definitions.rb +0 -84
  119. data/test/test_rake_directory_task.rb +0 -76
  120. data/test/test_rake_dsl.rb +0 -40
  121. data/test/test_rake_early_time.rb +0 -31
  122. data/test/test_rake_extension.rb +0 -59
  123. data/test/test_rake_file_creation_task.rb +0 -56
  124. data/test/test_rake_file_list.rb +0 -670
  125. data/test/test_rake_file_list_path_map.rb +0 -8
  126. data/test/test_rake_file_task.rb +0 -197
  127. data/test/test_rake_file_utils.rb +0 -314
  128. data/test/test_rake_ftp_file.rb +0 -74
  129. data/test/test_rake_functional.rb +0 -482
  130. data/test/test_rake_invocation_chain.rb +0 -64
  131. data/test/test_rake_late_time.rb +0 -18
  132. data/test/test_rake_linked_list.rb +0 -84
  133. data/test/test_rake_makefile_loader.rb +0 -46
  134. data/test/test_rake_multi_task.rb +0 -64
  135. data/test/test_rake_name_space.rb +0 -57
  136. data/test/test_rake_package_task.rb +0 -79
  137. data/test/test_rake_path_map.rb +0 -168
  138. data/test/test_rake_path_map_explode.rb +0 -34
  139. data/test/test_rake_path_map_partial.rb +0 -18
  140. data/test/test_rake_pathname_extensions.rb +0 -15
  141. data/test/test_rake_pseudo_status.rb +0 -21
  142. data/test/test_rake_rake_test_loader.rb +0 -20
  143. data/test/test_rake_reduce_compat.rb +0 -26
  144. data/test/test_rake_require.rb +0 -40
  145. data/test/test_rake_rules.rb +0 -388
  146. data/test/test_rake_scope.rb +0 -44
  147. data/test/test_rake_task.rb +0 -393
  148. data/test/test_rake_task_argument_parsing.rb +0 -119
  149. data/test/test_rake_task_arguments.rb +0 -127
  150. data/test/test_rake_task_lib.rb +0 -9
  151. data/test/test_rake_task_manager.rb +0 -178
  152. data/test/test_rake_task_manager_argument_resolution.rb +0 -19
  153. data/test/test_rake_task_with_arguments.rb +0 -172
  154. data/test/test_rake_test_task.rb +0 -146
  155. data/test/test_rake_thread_pool.rb +0 -145
  156. data/test/test_rake_top_level_functions.rb +0 -71
  157. data/test/test_rake_win32.rb +0 -72
  158. data/test/test_thread_history_display.rb +0 -101
  159. data/test/test_trace_output.rb +0 -52
@@ -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.3 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.4 ...
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
@@ -1,59 +0,0 @@
1
- = Rake 0.7.1 Released
2
-
3
- Version 0.7.1 supplies a bug fix and a few minor enhancements.
4
-
5
- == Changes
6
-
7
- === Bug Fixes in 0.7.1
8
-
9
- * Changes in the exception reported for the FileUtils.ln caused
10
- safe_ln to fail with a NotImplementedError. Rake 0.7.1 will now
11
- catch that error or any StandardError and properly fall back to
12
- using +cp+.
13
-
14
- === New Features in 0.7.1
15
-
16
- * You can filter the results of the --task option by supplying an
17
- optional regular expression. This allows the user to easily find a
18
- particular task name in a long list of possible names.
19
-
20
- * Transforming procs in a rule may now return a list of prerequisites.
21
- This allows more flexible rule formation.
22
-
23
- * FileList and String now support a +pathmap+ melthod that makes the
24
- transforming paths a bit easier. See the API docs for +pathmap+ for
25
- details.
26
-
27
- * The -f option without a value will disable the search for a
28
- Rakefile. This allows the Rakefile to be defined entirely in a
29
- library (and loaded with the -r option). The current working
30
- directory is not changed when this is done.
31
-
32
- == What is Rake
33
-
34
- Rake is a build tool similar to the make program in many ways. But
35
- instead of cryptic make recipes, Rake uses standard Ruby code to
36
- declare tasks and dependencies. You have the full power of a modern
37
- scripting language built right into your build tool.
38
-
39
- == Availability
40
-
41
- The easiest way to get and install rake is via RubyGems ...
42
-
43
- gem install rake (you may need root/admin privileges)
44
-
45
- Otherwise, you can get it from the more traditional places:
46
-
47
- Home Page:: http://rake.rubyforge.org/
48
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
49
-
50
- == Thanks
51
-
52
- As usual, it was input from users that drove a alot of these changes.
53
- The following people either contributed patches, made suggestions or
54
- made otherwise helpful comments. Thanks to ...
55
-
56
- * James Britt and Assaph Mehr for reporting and helping to debug the
57
- safe_ln issue.
58
-
59
- -- Jim Weirich
@@ -1,121 +0,0 @@
1
- = Rake 0.7.2 Released
2
-
3
- Version 0.7.2 supplies a bug fix and a few minor enhancements. In
4
- particular, the new version fixes an incompatibility with the soon to
5
- be released Ruby 1.8.6. We strongly recommend upgrading to Rake 0.7.2
6
- in order to be compatible with the new version of Ruby.
7
-
8
- == Changes
9
-
10
- === Bug Fixes in 0.7.2
11
-
12
- There are quite a number of bug fixes in the new 0.7.2 version of
13
- Rake:
14
-
15
- * Removed dependency on internal fu_xxx functions from FileUtils.
16
-
17
- * Error messages are now send to stderr rather than stdout (from
18
- Payton Quackenbush).
19
-
20
- * Better error handling on invalid command line arguments (from Payton
21
- Quackenbush).
22
-
23
- * Fixed some bugs where the application object was going to the global
24
- appliation instead of using its own data.
25
-
26
- * Fixed the method name leak from FileUtils (bug found by Glenn
27
- Vanderburg).
28
-
29
- * Added test for noop, bad_option and verbose flags to sh command.
30
-
31
- * Added a description to the gem task in GemPackageTask.
32
-
33
- * Fixed a bug when rules have multiple prerequisites (patch by Joel
34
- VanderWerf)
35
-
36
- * Added the handful of RakeFileUtils to the private method as well.
37
-
38
- === New Features in 0.7.2
39
-
40
- The following new features are available in Rake version 0.7.2:
41
-
42
- * Added square and curly bracket patterns to FileList#include (Tilman
43
- Sauerbeck).
44
-
45
- * FileLists can now pass a block to FileList#exclude to exclude files
46
- based on calculated values.
47
-
48
- * Added plain filename support to rule dependents (suggested by Nobu
49
- Nakada).
50
-
51
- * Added pathmap support to rule dependents. In other words, if a
52
- pathmap format (beginning with a '%') is given as a Rake rule
53
- dependent, then the name of the depend will be the name of the
54
- target with the pathmap format applied.
55
-
56
- * Added a 'tasks' method to a namespace to get a list of tasks
57
- associated with the namespace.
58
-
59
- * Added tar_command and zip_command options to the Package task.
60
-
61
- * The clean task will no longer delete 'core' if it is a directory.
62
-
63
- === Internal Rake Improvements
64
-
65
- The following changes will are mainly internal improvements and
66
- refactorings and have little effect on the end user. But they may be
67
- of interest to the general public.
68
-
69
- * Added rcov task and updated unit testing for better code coverage.
70
-
71
- * Added a 'shame' task to the Rakefile.
72
-
73
- * Added rake_extension to handle detection of extension collisions.
74
-
75
- * Added a protected 'require "rubygems"' to test/test_application to
76
- unbreak cruisecontrol.rb.
77
-
78
- * Removed rake_dup. Now we just simply rescue a bad dup.
79
-
80
- * Refactored the FileList reject logic to remove duplication.
81
-
82
- * Removed if __FILE__ at the end of the rake.rb file.
83
-
84
- == What is Rake
85
-
86
- Rake is a build tool similar to the make program in many ways. But
87
- instead of cryptic make recipes, Rake uses standard Ruby code to
88
- declare tasks and dependencies. You have the full power of a modern
89
- scripting language built right into your build tool.
90
-
91
- == Availability
92
-
93
- The easiest way to get and install rake is via RubyGems ...
94
-
95
- gem install rake (you may need root/admin privileges)
96
-
97
- Otherwise, you can get it from the more traditional places:
98
-
99
- Home Page:: http://rake.rubyforge.org/
100
- Download:: http://rubyforge.org/project/showfiles.php?group_id=50
101
-
102
- == Thanks
103
-
104
- As usual, it was input from users that drove a alot of these changes.
105
- The following people either contributed patches, made suggestions or
106
- made otherwise helpful comments. Thanks to ...
107
-
108
- * Payton Quackenbush -- For several error handling improvements.
109
-
110
- * Glenn Vanderburg -- For finding and fixing the method name leak from
111
- FileUtils.
112
-
113
- * Joel VanderWerf -- for finding and fixing a bug in the handling of
114
- multiple prerequisites.
115
-
116
- * Tilman Sauerbeck -- For some enhancing FileList to support more
117
- advanced file globbing.
118
-
119
- * Nobu Nakada -- For suggesting plain file name support to rule dependents.
120
-
121
- -- Jim Weirich