rake 11.3.0 → 12.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rake might be problematic. Click here for more details.

Files changed (80) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +51 -12
  3. data/.travis.yml +2 -9
  4. data/Gemfile +1 -1
  5. data/History.rdoc +41 -29
  6. data/README.rdoc +4 -5
  7. data/Rakefile +18 -13
  8. data/appveyor.yml +6 -7
  9. data/doc/rake.1 +139 -124
  10. data/doc/rakefile.rdoc +1 -3
  11. data/exe/rake +1 -1
  12. data/lib/rake.rb +33 -33
  13. data/lib/rake/application.rb +68 -67
  14. data/lib/rake/backtrace.rb +2 -2
  15. data/lib/rake/clean.rb +4 -3
  16. data/lib/rake/cpu_counter.rb +1 -1
  17. data/lib/rake/dsl_definition.rb +1 -1
  18. data/lib/rake/ext/string.rb +21 -21
  19. data/lib/rake/file_creation_task.rb +2 -2
  20. data/lib/rake/file_list.rb +8 -10
  21. data/lib/rake/file_task.rb +2 -2
  22. data/lib/rake/file_utils.rb +7 -10
  23. data/lib/rake/file_utils_ext.rb +3 -3
  24. data/lib/rake/late_time.rb +1 -1
  25. data/lib/rake/loaders/makefile.rb +4 -4
  26. data/lib/rake/multi_task.rb +36 -0
  27. data/lib/rake/name_space.rb +0 -1
  28. data/lib/rake/packagetask.rb +10 -10
  29. data/lib/rake/phony.rb +1 -1
  30. data/lib/rake/promise.rb +10 -10
  31. data/lib/rake/rake_module.rb +1 -1
  32. data/lib/rake/rake_test_loader.rb +1 -1
  33. data/lib/rake/rule_recursion_overflow_error.rb +1 -1
  34. data/lib/rake/scope.rb +1 -1
  35. data/lib/rake/task.rb +13 -14
  36. data/lib/rake/task_arguments.rb +8 -4
  37. data/lib/rake/task_manager.rb +5 -18
  38. data/lib/rake/tasklib.rb +1 -1
  39. data/lib/rake/testtask.rb +26 -16
  40. data/lib/rake/thread_history_display.rb +3 -3
  41. data/lib/rake/thread_pool.rb +14 -14
  42. data/lib/rake/version.rb +2 -2
  43. data/lib/rake/win32.rb +8 -8
  44. data/rake.gemspec +15 -6
  45. metadata +20 -68
  46. data/doc/release_notes/README.md +0 -4
  47. data/doc/release_notes/rake-0.4.14.rdoc +0 -23
  48. data/doc/release_notes/rake-0.4.15.rdoc +0 -35
  49. data/doc/release_notes/rake-0.5.0.rdoc +0 -53
  50. data/doc/release_notes/rake-0.5.3.rdoc +0 -78
  51. data/doc/release_notes/rake-0.5.4.rdoc +0 -46
  52. data/doc/release_notes/rake-0.6.0.rdoc +0 -141
  53. data/doc/release_notes/rake-0.7.0.rdoc +0 -119
  54. data/doc/release_notes/rake-0.7.1.rdoc +0 -59
  55. data/doc/release_notes/rake-0.7.2.rdoc +0 -121
  56. data/doc/release_notes/rake-0.7.3.rdoc +0 -47
  57. data/doc/release_notes/rake-0.8.0.rdoc +0 -114
  58. data/doc/release_notes/rake-0.8.2.rdoc +0 -165
  59. data/doc/release_notes/rake-0.8.3.rdoc +0 -112
  60. data/doc/release_notes/rake-0.8.4.rdoc +0 -147
  61. data/doc/release_notes/rake-0.8.5.rdoc +0 -53
  62. data/doc/release_notes/rake-0.8.6.rdoc +0 -37
  63. data/doc/release_notes/rake-0.8.7.rdoc +0 -55
  64. data/doc/release_notes/rake-0.9.0.rdoc +0 -112
  65. data/doc/release_notes/rake-0.9.1.rdoc +0 -52
  66. data/doc/release_notes/rake-0.9.2.2.rdoc +0 -55
  67. data/doc/release_notes/rake-0.9.2.rdoc +0 -49
  68. data/doc/release_notes/rake-0.9.3.rdoc +0 -102
  69. data/doc/release_notes/rake-0.9.4.rdoc +0 -60
  70. data/doc/release_notes/rake-0.9.5.rdoc +0 -55
  71. data/doc/release_notes/rake-0.9.6.rdoc +0 -64
  72. data/doc/release_notes/rake-10.0.0.rdoc +0 -178
  73. data/doc/release_notes/rake-10.0.1.rdoc +0 -58
  74. data/doc/release_notes/rake-10.0.2.rdoc +0 -53
  75. data/doc/release_notes/rake-10.0.3.rdoc +0 -191
  76. data/doc/release_notes/rake-10.1.0.rdoc +0 -61
  77. data/lib/rake/contrib/compositepublisher.rb +0 -21
  78. data/lib/rake/contrib/ftptools.rb +0 -137
  79. data/lib/rake/contrib/sshpublisher.rb +0 -60
  80. data/lib/rake/ext/pathname.rb +0 -25
@@ -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