elliottcable-echoe 3.1.2 → 3.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (102) hide show
  1. data/CHANGELOG +3 -1
  2. data/Manifest +1 -93
  3. data/Rakefile +1 -2
  4. data/echoe.gemspec +7 -7
  5. data/lib/echoe.rb +50 -22
  6. data/lib/echoe/net.rb +7 -0
  7. data/lib/echoe/platform.rb +27 -25
  8. data/vendor/rake/lib/rake/contrib/sshpublisher.rb +0 -4
  9. metadata +7 -96
  10. data/vendor/rake/CHANGES +0 -400
  11. data/vendor/rake/README +0 -285
  12. data/vendor/rake/Rakefile +0 -418
  13. data/vendor/rake/TODO +0 -20
  14. data/vendor/rake/bin/rake +0 -31
  15. data/vendor/rake/doc/example/Rakefile1 +0 -38
  16. data/vendor/rake/doc/example/Rakefile2 +0 -35
  17. data/vendor/rake/doc/example/a.c +0 -6
  18. data/vendor/rake/doc/example/b.c +0 -6
  19. data/vendor/rake/doc/example/main.c +0 -11
  20. data/vendor/rake/doc/glossary.rdoc +0 -51
  21. data/vendor/rake/doc/jamis.rb +0 -591
  22. data/vendor/rake/doc/proto_rake.rdoc +0 -127
  23. data/vendor/rake/doc/rake.1.gz +0 -0
  24. data/vendor/rake/doc/rakefile.rdoc +0 -534
  25. data/vendor/rake/doc/rational.rdoc +0 -151
  26. data/vendor/rake/doc/release_notes/rake-0.4.14.rdoc +0 -23
  27. data/vendor/rake/doc/release_notes/rake-0.4.15.rdoc +0 -35
  28. data/vendor/rake/doc/release_notes/rake-0.5.0.rdoc +0 -53
  29. data/vendor/rake/doc/release_notes/rake-0.5.3.rdoc +0 -78
  30. data/vendor/rake/doc/release_notes/rake-0.5.4.rdoc +0 -46
  31. data/vendor/rake/doc/release_notes/rake-0.6.0.rdoc +0 -141
  32. data/vendor/rake/doc/release_notes/rake-0.7.0.rdoc +0 -119
  33. data/vendor/rake/doc/release_notes/rake-0.7.1.rdoc +0 -59
  34. data/vendor/rake/doc/release_notes/rake-0.7.2.rdoc +0 -121
  35. data/vendor/rake/doc/release_notes/rake-0.7.3.rdoc +0 -47
  36. data/vendor/rake/doc/release_notes/rake-0.8.0.rdoc +0 -114
  37. data/vendor/rake/doc/release_notes/rake-0.8.2.rdoc +0 -165
  38. data/vendor/rake/doc/release_notes/rake-0.8.3.rdoc +0 -112
  39. data/vendor/rake/install.rb +0 -88
  40. data/vendor/rake/lib/rake.rb +0 -2468
  41. data/vendor/rake/lib/rake/classic_namespace.rb +0 -8
  42. data/vendor/rake/lib/rake/clean.rb +0 -33
  43. data/vendor/rake/lib/rake/gempackagetask.rb +0 -103
  44. data/vendor/rake/lib/rake/loaders/makefile.rb +0 -35
  45. data/vendor/rake/lib/rake/packagetask.rb +0 -185
  46. data/vendor/rake/lib/rake/rake_test_loader.rb +0 -5
  47. data/vendor/rake/lib/rake/rdoctask.rb +0 -147
  48. data/vendor/rake/lib/rake/ruby182_test_unit_fix.rb +0 -23
  49. data/vendor/rake/lib/rake/runtest.rb +0 -23
  50. data/vendor/rake/lib/rake/tasklib.rb +0 -23
  51. data/vendor/rake/lib/rake/testtask.rb +0 -161
  52. data/vendor/rake/lib/rake/win32.rb +0 -54
  53. data/vendor/rake/test/capture_stdout.rb +0 -26
  54. data/vendor/rake/test/check_expansion.rb +0 -5
  55. data/vendor/rake/test/contrib/test_sys.rb +0 -47
  56. data/vendor/rake/test/data/chains/Rakefile +0 -15
  57. data/vendor/rake/test/data/default/Rakefile +0 -19
  58. data/vendor/rake/test/data/dryrun/Rakefile +0 -22
  59. data/vendor/rake/test/data/file_creation_task/Rakefile +0 -33
  60. data/vendor/rake/test/data/imports/Rakefile +0 -19
  61. data/vendor/rake/test/data/imports/deps.mf +0 -1
  62. data/vendor/rake/test/data/multidesc/Rakefile +0 -17
  63. data/vendor/rake/test/data/namespace/Rakefile +0 -57
  64. data/vendor/rake/test/data/rakelib/test1.rb +0 -3
  65. data/vendor/rake/test/data/rbext/rakefile.rb +0 -3
  66. data/vendor/rake/test/data/sample.mf +0 -12
  67. data/vendor/rake/test/data/statusreturn/Rakefile +0 -8
  68. data/vendor/rake/test/data/unittest/Rakefile +0 -1
  69. data/vendor/rake/test/filecreation.rb +0 -32
  70. data/vendor/rake/test/functional.rb +0 -15
  71. data/vendor/rake/test/in_environment.rb +0 -30
  72. data/vendor/rake/test/rake_test_setup.rb +0 -10
  73. data/vendor/rake/test/reqfile.rb +0 -3
  74. data/vendor/rake/test/reqfile2.rb +0 -3
  75. data/vendor/rake/test/session_functional.rb +0 -337
  76. data/vendor/rake/test/shellcommand.rb +0 -3
  77. data/vendor/rake/test/test_application.rb +0 -694
  78. data/vendor/rake/test/test_clean.rb +0 -14
  79. data/vendor/rake/test/test_definitions.rb +0 -82
  80. data/vendor/rake/test/test_earlytime.rb +0 -35
  81. data/vendor/rake/test/test_extension.rb +0 -63
  82. data/vendor/rake/test/test_file_creation_task.rb +0 -62
  83. data/vendor/rake/test/test_file_task.rb +0 -139
  84. data/vendor/rake/test/test_filelist.rb +0 -618
  85. data/vendor/rake/test/test_fileutils.rb +0 -250
  86. data/vendor/rake/test/test_ftp.rb +0 -59
  87. data/vendor/rake/test/test_invocation_chain.rb +0 -75
  88. data/vendor/rake/test/test_makefile_loader.rb +0 -25
  89. data/vendor/rake/test/test_multitask.rb +0 -45
  90. data/vendor/rake/test/test_namespace.rb +0 -36
  91. data/vendor/rake/test/test_package_task.rb +0 -116
  92. data/vendor/rake/test/test_pathmap.rb +0 -209
  93. data/vendor/rake/test/test_rake.rb +0 -41
  94. data/vendor/rake/test/test_require.rb +0 -33
  95. data/vendor/rake/test/test_rules.rb +0 -347
  96. data/vendor/rake/test/test_task_arguments.rb +0 -89
  97. data/vendor/rake/test/test_task_manager.rb +0 -170
  98. data/vendor/rake/test/test_tasklib.rb +0 -12
  99. data/vendor/rake/test/test_tasks.rb +0 -371
  100. data/vendor/rake/test/test_test_task.rb +0 -75
  101. data/vendor/rake/test/test_top_level_functions.rb +0 -84
  102. data/vendor/rake/test/test_win32.rb +0 -57
@@ -1,151 +0,0 @@
1
- = Why rake?
2
-
3
- Ok, let me state from the beginning that I never intended to write this
4
- code. I'm not convinced it is useful, and I'm not convinced anyone
5
- would even be interested in it. All I can say is that Why's onion truck
6
- must by been passing through the Ohio valley.
7
-
8
- What am I talking about? ... A Ruby version of Make.
9
-
10
- See, I can sense you cringing already, and I agree. The world certainly
11
- doesn't need yet another reworking of the "make" program. I mean, we
12
- already have "ant". Isn't that enough?
13
-
14
- It started yesterday. I was helping a coworker fix a problem in one of
15
- the Makefiles we use in our project. Not a particularly tough problem,
16
- but during the course of the conversation I began lamenting some of the
17
- shortcomings of make. In particular, in one of my makefiles I wanted to
18
- determine the name of a file dynamically and had to resort to some
19
- simple scripting (in Ruby) to make it work. "Wouldn't it be nice if you
20
- could just use Ruby inside a Makefile" I said.
21
-
22
- My coworker (a recent convert to Ruby) agreed, but wondered what it
23
- would look like. So I sketched the following on the whiteboard...
24
-
25
- "What if you could specify the make tasks in Ruby, like this ..."
26
-
27
- task "build" do
28
- java_compile(...args, etc ...)
29
- end
30
-
31
- "The task function would register "build" as a target to be made,
32
- and the block would be the action executed whenever the build
33
- system determined that it was time to do the build target."
34
-
35
- We agreed that would be cool, but writing make from scratch would be WAY
36
- too much work. And that was the end of that!
37
-
38
- ... Except I couldn't get the thought out of my head. What exactly
39
- would be needed to make the about syntax work as a make file? Hmmm, you
40
- would need to register the tasks, you need some way of specifying
41
- dependencies between tasks, and some way of kicking off the process.
42
- Hey! What if we did ... and fifteen minutes later I had a working
43
- prototype of Ruby make, complete with dependencies and actions.
44
-
45
- I showed the code to my coworker and we had a good laugh. It was just
46
- about a page worth of code that reproduced an amazing amount of the
47
- functionality of make. We were both truely stunned with the power of
48
- Ruby.
49
-
50
- But it didn't do everything make did. In particular, it didn't have
51
- timestamp based file dependencies (where a file is rebuilt if any of its
52
- prerequisite files have a later timestamp). Obviously THAT would be a
53
- pain to add and so Ruby Make would remain an interesting experiment.
54
-
55
- ... Except as I walked back to my desk, I started thinking about what
56
- file based dependecies would really need. Rats! I was hooked again,
57
- and by adding a new class and two new methods, file/timestamp
58
- dependencies were implemented.
59
-
60
- Ok, now I was really hooked. Last night (during CSI!) I massaged the
61
- code and cleaned it up a bit. The result is a bare-bones replacement
62
- for make in exactly 100 lines of code.
63
-
64
- For the curious, you can see it at ...
65
- * doc/proto_rake.rdoc
66
-
67
- Oh, about the name. When I wrote the example Ruby Make task on my
68
- whiteboard, my coworker exclaimed "Oh! I have the perfect name: Rake ...
69
- Get it? Ruby-Make. Rake!" He said he envisioned the tasks as leaves
70
- and Rake would clean them up ... or something like that. Anyways, the
71
- name stuck.
72
-
73
- Some quick examples ...
74
-
75
- A simple task to delete backup files ...
76
-
77
- task :clean do
78
- Dir['*~'].each {|fn| rm fn rescue nil}
79
- end
80
-
81
- Note that task names are symbols (they are slightly easier to type
82
- than quoted strings ... but you may use quoted string if you would
83
- rather). Rake makes the methods of the FileUtils module directly
84
- available, so we take advantage of the <tt>rm</tt> command. Also note
85
- the use of "rescue nil" to trap and ignore errors in the <tt>rm</tt>
86
- command.
87
-
88
- To run it, just type "rake clean". Rake will automatically find a
89
- Rakefile in the current directory (or above!) and will invoke the
90
- targets named on the command line. If there are no targets explicitly
91
- named, rake will invoke the task "default".
92
-
93
- Here's another task with dependencies ...
94
-
95
- task :clobber => [:clean] do
96
- rm_r "tempdir"
97
- end
98
-
99
- Task :clobber depends upon task :clean, so :clean will be run before
100
- :clobber is executed.
101
-
102
- Files are specified by using the "file" command. It is similar to the
103
- task command, except that the task name represents a file, and the task
104
- will be run only if the file doesn't exist, or if its modification time
105
- is earlier than any of its prerequisites.
106
-
107
- Here is a file based dependency that will compile "hello.cc" to
108
- "hello.o".
109
-
110
- file "hello.cc"
111
- file "hello.o" => ["hello.cc"] do |t|
112
- srcfile = t.name.sub(/\.o$/, ".cc")
113
- sh %{g++ #{srcfile} -c -o #{t.name}}
114
- end
115
-
116
- I normally specify file tasks with string (rather than symbols). Some
117
- file names can't be represented by symbols. Plus it makes the
118
- distinction between them more clear to the casual reader.
119
-
120
- Currently writing a task for each and every file in the project would be
121
- tedious at best. I envision a set of libraries to make this job
122
- easier. For instance, perhaps something like this ...
123
-
124
- require 'rake/ctools'
125
- Dir['*.c'].each do |fn|
126
- c_source_file(fn)
127
- end
128
-
129
- where "c_source_file" will create all the tasks need to compile all the
130
- C source files in a directory. Any number of useful libraries could be
131
- created for rake.
132
-
133
- That's it. There's no documentation (other than whats in this
134
- message). Does this sound interesting to anyone? If so, I'll continue
135
- to clean it up and write it up and publish it on RAA. Otherwise, I'll
136
- leave it as an interesting excerise and a tribute to the power of Ruby.
137
-
138
- Why /might/ rake be interesting to Ruby programmers. I don't know,
139
- perhaps ...
140
-
141
- * No weird make syntax (only weird Ruby syntax :-)
142
- * No need to edit or read XML (a la ant)
143
- * Platform independent build scripts.
144
- * Will run anywhere Ruby exists, so no need to have "make" installed.
145
- If you stay away from the "sys" command and use things like
146
- 'ftools', you can have a perfectly platform independent
147
- build script. Also rake is only 100 lines of code, so it can
148
- easily be packaged along with the rest of your code.
149
-
150
- So ... Sorry for the long rambling message. Like I said, I never
151
- intended to write this code at all.
@@ -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