necktie 0.2.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (214) hide show
  1. data/README.rdoc +174 -0
  2. data/bin/necktie +2 -1
  3. data/lib/necktie/files.rb +29 -0
  4. data/lib/necktie/rake.rb +127 -0
  5. data/lib/necktie/services.rb +11 -7
  6. data/lib/necktie.rb +4 -54
  7. data/necktie.gemspec +3 -3
  8. data/vendor/rake/CHANGES +477 -0
  9. data/vendor/rake/MIT-LICENSE +21 -0
  10. data/vendor/rake/README.rdoc +194 -0
  11. data/vendor/rake/Rakefile +421 -0
  12. data/vendor/rake/TODO +20 -0
  13. data/vendor/rake/bin/rake +31 -0
  14. data/vendor/rake/doc/command_line_usage.rdoc +102 -0
  15. data/vendor/rake/doc/example/Rakefile1 +38 -0
  16. data/vendor/rake/doc/example/Rakefile2 +35 -0
  17. data/vendor/rake/doc/example/a.c +6 -0
  18. data/vendor/rake/doc/example/b.c +6 -0
  19. data/vendor/rake/doc/example/main.c +11 -0
  20. data/vendor/rake/doc/glossary.rdoc +51 -0
  21. data/vendor/rake/doc/jamis.rb +591 -0
  22. data/vendor/rake/doc/proto_rake.rdoc +127 -0
  23. data/vendor/rake/doc/rake.1.gz +0 -0
  24. data/vendor/rake/doc/rakefile.rdoc +566 -0
  25. data/vendor/rake/doc/rational.rdoc +151 -0
  26. data/vendor/rake/doc/release_notes/rake-0.4.14.rdoc +23 -0
  27. data/vendor/rake/doc/release_notes/rake-0.4.15.rdoc +35 -0
  28. data/vendor/rake/doc/release_notes/rake-0.5.0.rdoc +53 -0
  29. data/vendor/rake/doc/release_notes/rake-0.5.3.rdoc +78 -0
  30. data/vendor/rake/doc/release_notes/rake-0.5.4.rdoc +46 -0
  31. data/vendor/rake/doc/release_notes/rake-0.6.0.rdoc +141 -0
  32. data/vendor/rake/doc/release_notes/rake-0.7.0.rdoc +119 -0
  33. data/vendor/rake/doc/release_notes/rake-0.7.1.rdoc +59 -0
  34. data/vendor/rake/doc/release_notes/rake-0.7.2.rdoc +121 -0
  35. data/vendor/rake/doc/release_notes/rake-0.7.3.rdoc +47 -0
  36. data/vendor/rake/doc/release_notes/rake-0.8.0.rdoc +114 -0
  37. data/vendor/rake/doc/release_notes/rake-0.8.2.rdoc +165 -0
  38. data/vendor/rake/doc/release_notes/rake-0.8.3.rdoc +112 -0
  39. data/vendor/rake/doc/release_notes/rake-0.8.4.rdoc +147 -0
  40. data/vendor/rake/doc/release_notes/rake-0.8.5.rdoc +53 -0
  41. data/vendor/rake/doc/release_notes/rake-0.8.6.rdoc +55 -0
  42. data/vendor/rake/doc/release_notes/rake-0.8.7.rdoc +55 -0
  43. data/vendor/rake/install.rb +88 -0
  44. data/vendor/rake/lib/rake/alt_system.rb +108 -0
  45. data/vendor/rake/lib/rake/application.rb +579 -0
  46. data/vendor/rake/lib/rake/classic_namespace.rb +9 -0
  47. data/vendor/rake/lib/rake/clean.rb +35 -0
  48. data/vendor/rake/lib/rake/cloneable.rb +25 -0
  49. data/vendor/rake/lib/rake/contrib/compositepublisher.rb +24 -0
  50. data/vendor/rake/lib/rake/contrib/ftptools.rb +153 -0
  51. data/vendor/rake/lib/rake/contrib/publisher.rb +75 -0
  52. data/vendor/rake/lib/rake/contrib/rubyforgepublisher.rb +18 -0
  53. data/vendor/rake/lib/rake/contrib/sshpublisher.rb +47 -0
  54. data/vendor/rake/lib/rake/contrib/sys.rb +209 -0
  55. data/vendor/rake/lib/rake/default_loader.rb +10 -0
  56. data/vendor/rake/lib/rake/dsl.rb +136 -0
  57. data/vendor/rake/lib/rake/early_time.rb +18 -0
  58. data/vendor/rake/lib/rake/environment.rb +40 -0
  59. data/vendor/rake/lib/rake/ext/module.rb +60 -0
  60. data/vendor/rake/lib/rake/ext/string.rb +165 -0
  61. data/vendor/rake/lib/rake/ext/time.rb +14 -0
  62. data/vendor/rake/lib/rake/file_creation_task.rb +24 -0
  63. data/vendor/rake/lib/rake/file_list.rb +395 -0
  64. data/vendor/rake/lib/rake/file_task.rb +47 -0
  65. data/vendor/rake/lib/rake/file_utils.rb +108 -0
  66. data/vendor/rake/lib/rake/gempackagetask.rb +97 -0
  67. data/vendor/rake/lib/rake/invocation_chain.rb +51 -0
  68. data/vendor/rake/lib/rake/invocation_exception_mixin.rb +16 -0
  69. data/vendor/rake/lib/rake/lib/project.rake +24 -0
  70. data/vendor/rake/lib/rake/loaders/makefile.rb +44 -0
  71. data/vendor/rake/lib/rake/multi_task.rb +16 -0
  72. data/vendor/rake/lib/rake/name_space.rb +25 -0
  73. data/vendor/rake/lib/rake/packagetask.rb +184 -0
  74. data/vendor/rake/lib/rake/psuedo_status.rb +24 -0
  75. data/vendor/rake/lib/rake/rake_file_utils.rb +133 -0
  76. data/vendor/rake/lib/rake/rake_module.rb +25 -0
  77. data/vendor/rake/lib/rake/rake_test_loader.rb +15 -0
  78. data/vendor/rake/lib/rake/rdoctask.rb +209 -0
  79. data/vendor/rake/lib/rake/ruby182_test_unit_fix.rb +25 -0
  80. data/vendor/rake/lib/rake/rule_recursion_overflow_error.rb +20 -0
  81. data/vendor/rake/lib/rake/runtest.rb +23 -0
  82. data/vendor/rake/lib/rake/task.rb +318 -0
  83. data/vendor/rake/lib/rake/task_argument_error.rb +7 -0
  84. data/vendor/rake/lib/rake/task_arguments.rb +78 -0
  85. data/vendor/rake/lib/rake/task_manager.rb +328 -0
  86. data/vendor/rake/lib/rake/tasklib.rb +24 -0
  87. data/vendor/rake/lib/rake/testtask.rb +175 -0
  88. data/vendor/rake/lib/rake/win32.rb +55 -0
  89. data/vendor/rake/lib/rake.rb +72 -0
  90. data/vendor/rake/rake.blurb +19 -0
  91. data/vendor/rake/rake.gemspec +214 -0
  92. data/vendor/rake/rakelib/extra.rake +8 -0
  93. data/vendor/rake/rakelib/publish.rake +22 -0
  94. data/vendor/rake/rakelib/rbx.rake +82 -0
  95. data/vendor/rake/rakelib/ruby19.rake +88 -0
  96. data/vendor/rake/rakelib/tags.rake +18 -0
  97. data/vendor/rake/test/capture_stdout.rb +26 -0
  98. data/vendor/rake/test/check_expansion.rb +5 -0
  99. data/vendor/rake/test/check_no_expansion.rb +5 -0
  100. data/vendor/rake/test/contrib/test_sys.rb +47 -0
  101. data/vendor/rake/test/data/chains/Rakefile +15 -0
  102. data/vendor/rake/test/data/comments/Rakefile +18 -0
  103. data/vendor/rake/test/data/default/Rakefile +19 -0
  104. data/vendor/rake/test/data/dryrun/Rakefile +22 -0
  105. data/vendor/rake/test/data/file_creation_task/Rakefile +33 -0
  106. data/vendor/rake/test/data/imports/Rakefile +19 -0
  107. data/vendor/rake/test/data/imports/deps.mf +1 -0
  108. data/vendor/rake/test/data/multidesc/Rakefile +17 -0
  109. data/vendor/rake/test/data/namespace/Rakefile +66 -0
  110. data/vendor/rake/test/data/nosearch/dummy +1 -0
  111. data/vendor/rake/test/data/rakelib/test1.rb +5 -0
  112. data/vendor/rake/test/data/rakelib/test2.rake +3 -0
  113. data/vendor/rake/test/data/rbext/rakefile.rb +3 -0
  114. data/vendor/rake/test/data/sample.mf +14 -0
  115. data/vendor/rake/test/data/statusreturn/Rakefile +8 -0
  116. data/vendor/rake/test/data/sys/sys1.rake +3 -0
  117. data/vendor/rake/test/data/unittest/Rakefile +1 -0
  118. data/vendor/rake/test/data/unittest/subdir/README +0 -0
  119. data/vendor/rake/test/data/verbose/Rakefile +34 -0
  120. data/vendor/rake/test/filecreation.rb +32 -0
  121. data/vendor/rake/test/functional/functional_test.rb +15 -0
  122. data/vendor/rake/test/functional/session_based_tests.rb +442 -0
  123. data/vendor/rake/test/in_environment.rb +32 -0
  124. data/vendor/rake/test/lib/application_test.rb +769 -0
  125. data/vendor/rake/test/lib/clean_test.rb +15 -0
  126. data/vendor/rake/test/lib/definitions_test.rb +85 -0
  127. data/vendor/rake/test/lib/dsl_test.rb +41 -0
  128. data/vendor/rake/test/lib/earlytime_test.rb +35 -0
  129. data/vendor/rake/test/lib/environment_test.rb +18 -0
  130. data/vendor/rake/test/lib/extension_test.rb +63 -0
  131. data/vendor/rake/test/lib/file_creation_task_test.rb +62 -0
  132. data/vendor/rake/test/lib/file_task_test.rb +143 -0
  133. data/vendor/rake/test/lib/filelist_test.rb +623 -0
  134. data/vendor/rake/test/lib/fileutils_test.rb +251 -0
  135. data/vendor/rake/test/lib/ftp_test.rb +59 -0
  136. data/vendor/rake/test/lib/invocation_chain_test.rb +81 -0
  137. data/vendor/rake/test/lib/makefile_loader_test.rb +26 -0
  138. data/vendor/rake/test/lib/multitask_test.rb +53 -0
  139. data/vendor/rake/test/lib/namespace_test.rb +55 -0
  140. data/vendor/rake/test/lib/package_task_test.rb +118 -0
  141. data/vendor/rake/test/lib/pathmap_test.rb +210 -0
  142. data/vendor/rake/test/lib/pseudo_status_test.rb +26 -0
  143. data/vendor/rake/test/lib/rake_test.rb +41 -0
  144. data/vendor/rake/test/lib/rdoc_task_test.rb +88 -0
  145. data/vendor/rake/test/lib/require_test.rb +35 -0
  146. data/vendor/rake/test/lib/rules_test.rb +349 -0
  147. data/vendor/rake/test/lib/task_arguments_test.rb +89 -0
  148. data/vendor/rake/test/lib/task_manager_test.rb +173 -0
  149. data/vendor/rake/test/lib/task_test.rb +376 -0
  150. data/vendor/rake/test/lib/tasklib_test.rb +12 -0
  151. data/vendor/rake/test/lib/test_task_test.rb +77 -0
  152. data/vendor/rake/test/lib/testtask_test.rb +49 -0
  153. data/vendor/rake/test/lib/top_level_functions_test.rb +86 -0
  154. data/vendor/rake/test/lib/win32_test.rb +72 -0
  155. data/vendor/rake/test/rake_test_setup.rb +24 -0
  156. data/vendor/rake/test/reqfile.rb +3 -0
  157. data/vendor/rake/test/reqfile2.rb +3 -0
  158. data/vendor/rake/test/reqfile3.rake +3 -0
  159. data/vendor/rake/test/shellcommand.rb +3 -0
  160. data/vendor/rake/test/test_helper.rb +13 -0
  161. metadata +212 -56
  162. /data/{rush → vendor/rush}/README.rdoc +0 -0
  163. /data/{rush → vendor/rush}/Rakefile +0 -0
  164. /data/{rush → vendor/rush}/VERSION +0 -0
  165. /data/{rush → vendor/rush}/bin/rush +0 -0
  166. /data/{rush → vendor/rush}/bin/rushd +0 -0
  167. /data/{rush → vendor/rush}/lib/rush/access.rb +0 -0
  168. /data/{rush → vendor/rush}/lib/rush/array_ext.rb +0 -0
  169. /data/{rush → vendor/rush}/lib/rush/box.rb +0 -0
  170. /data/{rush → vendor/rush}/lib/rush/commands.rb +0 -0
  171. /data/{rush → vendor/rush}/lib/rush/config.rb +0 -0
  172. /data/{rush → vendor/rush}/lib/rush/dir.rb +0 -0
  173. /data/{rush → vendor/rush}/lib/rush/embeddable_shell.rb +0 -0
  174. /data/{rush → vendor/rush}/lib/rush/entry.rb +0 -0
  175. /data/{rush → vendor/rush}/lib/rush/exceptions.rb +0 -0
  176. /data/{rush → vendor/rush}/lib/rush/file.rb +0 -0
  177. /data/{rush → vendor/rush}/lib/rush/find_by.rb +0 -0
  178. /data/{rush → vendor/rush}/lib/rush/fixnum_ext.rb +0 -0
  179. /data/{rush → vendor/rush}/lib/rush/head_tail.rb +0 -0
  180. /data/{rush → vendor/rush}/lib/rush/local.rb +0 -0
  181. /data/{rush → vendor/rush}/lib/rush/process.rb +0 -0
  182. /data/{rush → vendor/rush}/lib/rush/process_set.rb +0 -0
  183. /data/{rush → vendor/rush}/lib/rush/remote.rb +0 -0
  184. /data/{rush → vendor/rush}/lib/rush/search_results.rb +0 -0
  185. /data/{rush → vendor/rush}/lib/rush/server.rb +0 -0
  186. /data/{rush → vendor/rush}/lib/rush/shell.rb +0 -0
  187. /data/{rush → vendor/rush}/lib/rush/ssh_tunnel.rb +0 -0
  188. /data/{rush → vendor/rush}/lib/rush/string_ext.rb +0 -0
  189. /data/{rush → vendor/rush}/lib/rush.rb +0 -0
  190. /data/{rush → vendor/rush}/rush.gemspec +0 -0
  191. /data/{rush → vendor/rush}/spec/access_spec.rb +0 -0
  192. /data/{rush → vendor/rush}/spec/array_ext_spec.rb +0 -0
  193. /data/{rush → vendor/rush}/spec/base.rb +0 -0
  194. /data/{rush → vendor/rush}/spec/box_spec.rb +0 -0
  195. /data/{rush → vendor/rush}/spec/commands_spec.rb +0 -0
  196. /data/{rush → vendor/rush}/spec/config_spec.rb +0 -0
  197. /data/{rush → vendor/rush}/spec/dir_spec.rb +0 -0
  198. /data/{rush → vendor/rush}/spec/embeddable_shell_spec.rb +0 -0
  199. /data/{rush → vendor/rush}/spec/entry_spec.rb +0 -0
  200. /data/{rush → vendor/rush}/spec/file_spec.rb +0 -0
  201. /data/{rush → vendor/rush}/spec/find_by_spec.rb +0 -0
  202. /data/{rush → vendor/rush}/spec/fixnum_ext_spec.rb +0 -0
  203. /data/{rush → vendor/rush}/spec/local_spec.rb +0 -0
  204. /data/{rush → vendor/rush}/spec/process_set_spec.rb +0 -0
  205. /data/{rush → vendor/rush}/spec/process_spec.rb +0 -0
  206. /data/{rush → vendor/rush}/spec/remote_spec.rb +0 -0
  207. /data/{rush → vendor/rush}/spec/rush_spec.rb +0 -0
  208. /data/{rush → vendor/rush}/spec/search_results_spec.rb +0 -0
  209. /data/{rush → vendor/rush}/spec/shell_spec.rb +0 -0
  210. /data/{rush → vendor/rush}/spec/ssh_tunnel_spec.rb +0 -0
  211. /data/{rush → vendor/rush}/spec/string_ext_spec.rb +0 -0
  212. /data/{session → vendor/session}/lib/session-2.4.0.rb +0 -0
  213. /data/{session → vendor/session}/lib/session.rb +0 -0
  214. /data/{session → vendor/session}/test/session.rb +0 -0
@@ -0,0 +1,147 @@
1
+ = Rake 0.8.4 Released
2
+
3
+ Rake version 0.8.4 is a bug-fix release of rake.
4
+
5
+ NOTE: The version of Rake that comes with Ruby 1.9 has diverged
6
+ slightly from the core Rake code base. Rake 0.8.4 will work
7
+ with Ruby 1.9, but is not a strict upgrade for the Rake that
8
+ comes with Ruby 1.9. A (near) future release of Rake will unify
9
+ those two codebases.
10
+
11
+ == Letter Writing Campaign
12
+
13
+ Thanks to Aaron Patterson (@tenderlove) and Eric Hodel (@drbrain) for
14
+ their encouraging support in organizing a letter writing campaign to
15
+ lobby for the "Warning Free" release of rake 0.8.4. A special callout
16
+ goes to Jonathan D. Lord, Sr (Dr. Wingnut) whose postcard was the
17
+ first to actually reach me. (see
18
+ http://tenderlovemaking.com/2009/02/26/we-need-a-new-version-of-rake/
19
+ for details)
20
+
21
+ == Changes
22
+
23
+ === New Features / Enhancements in Version 0.8.4
24
+
25
+ * Case is preserved on rakefile names. (patch from James
26
+ M. Lawrence/quix)
27
+
28
+ * Improved Rakefile case insensitivity testing (patch from Luis
29
+ Lavena).
30
+
31
+ * Windows system dir search order is now: HOME, HOMEDRIVE + HOMEPATH,
32
+ APPDATA, USERPROFILE (patch from Luis Lavena)
33
+
34
+ * MingGW is now recognized as a windows platform. (patch from Luis
35
+ Lavena)
36
+
37
+ === Bug Fixes in Version 0.8.4
38
+
39
+ * Removed reference to manage_gem to fix the warning produced by the
40
+ gem package task.
41
+
42
+ * Fixed stray ARGV option problem that was interfering with
43
+ Test::Unit::Runner. (patch from Pivotal Labs)
44
+
45
+ === Infrastructure Improvements in Version 0.8.4
46
+
47
+ * Numerous fixes to the windows test suite (patch from Luis Lavena).
48
+
49
+ * Improved Rakefile case insensitivity testing (patch from Luis
50
+ Lavena).
51
+
52
+ * Better support for windows paths in the test task (patch from Simon
53
+ Chiang/bahuvrihi)
54
+
55
+ == What is Rake
56
+
57
+ Rake is a build tool similar to the make program in many ways. But
58
+ instead of cryptic make recipes, Rake uses standard Ruby code to
59
+ declare tasks and dependencies. You have the full power of a modern
60
+ scripting language built right into your build tool.
61
+
62
+ == Availability
63
+
64
+ The easiest way to get and install rake is via RubyGems ...
65
+
66
+ gem install rake (you may need root/admin privileges)
67
+
68
+ Otherwise, you can get it from the more traditional places:
69
+
70
+ Home Page:: http://rake.rubyforge.org/
71
+ Download:: http://rubyforge.org/project/showfiles.php?group_id=50
72
+ GitHub:: git://github.com/jimweirich/rake.git
73
+
74
+ == Task Argument Examples
75
+
76
+ Prior to version 0.8.0, rake was only able to handle command line
77
+ arguments of the form NAME=VALUE that were passed into Rake via the
78
+ ENV hash. Many folks had asked for some kind of simple command line
79
+ arguments, perhaps using "--" to separate regular task names from
80
+ argument values on the command line. The problem is that there was no
81
+ easy way to associate positional arguments on the command line with
82
+ different tasks. Suppose both tasks :a and :b expect a command line
83
+ argument: does the first value go with :a? What if :b is run first?
84
+ Should it then get the first command line argument.
85
+
86
+ Rake 0.8.0 solves this problem by explicitly passing values directly
87
+ to the tasks that need them. For example, if I had a release task
88
+ that required a version number, I could say:
89
+
90
+ rake release[0.8.4]
91
+
92
+ And the string "0.8.4" will be passed to the :release task. Multiple
93
+ arguments can be passed by separating them with a comma, for example:
94
+
95
+ rake name[john,doe]
96
+
97
+ Just a few words of caution. The rake task name and its arguments
98
+ need to be a single command line argument to rake. This generally
99
+ means no spaces. If spaces are needed, then the entire rake +
100
+ argument string should be quoted. Something like this:
101
+
102
+ rake "name[billy bob, smith]"
103
+
104
+ (Quoting rules vary between operating systems and shells, so make sure
105
+ you consult the proper docs for your OS/shell).
106
+
107
+ === Tasks that Expect Parameters
108
+
109
+ Parameters are only given to tasks that are setup to expect them. In
110
+ order to handle named parameters, the task declaration syntax for
111
+ tasks has been extended slightly.
112
+
113
+ For example, a task that needs a first name and last name might be
114
+ declared as:
115
+
116
+ task :name, :first_name, :last_name
117
+
118
+ The first argument is still the name of the task (:name in this case).
119
+ The next to argumements are the names of the parameters expected by
120
+ :name (:first_name and :last_name in the example).
121
+
122
+ To access the values of the paramters, the block defining the task
123
+ behaviour can now accept a second parameter:
124
+
125
+ task :name, :first_name, :last_name do |t, args|
126
+ puts "First name is #{args.first_name}"
127
+ puts "Last name is #{args.last_name}"
128
+ end
129
+
130
+ The first argument of the block "t" is always bound to the current
131
+ task object. The second argument "args" is an open-struct like object
132
+ that allows access to the task arguments. Extra command line
133
+ arguments to a task are ignored. Missing command line arguments are
134
+ given the nil value.
135
+
136
+ == Thanks
137
+
138
+ As usual, it was input from users that drove a alot of these changes. The
139
+ following people either contributed patches, made suggestions or made
140
+ otherwise helpful comments. Thanks to ...
141
+
142
+ * James M. Lawrence/quix
143
+ * Luis Lavena
144
+ * Pivotal Labs
145
+ * Simon Chiang/bahuvrihi
146
+
147
+ -- Jim Weirich
@@ -0,0 +1,53 @@
1
+ = Rake 0.8.5 Released
2
+
3
+ Rake version 0.8.5 is a new release of Rake with greatly improved
4
+ support for executing commands on Windows. The "sh" command now has
5
+ the same semantics on Windows that it has on Unix based platforms.
6
+
7
+ == Changes
8
+
9
+ === New Features / Enhancements in Version 0.8.5
10
+
11
+ * Improved implementation of the Rake system command for Windows.
12
+ (patch from James M. Lawrence/quix)
13
+
14
+ * Support for Ruby 1.9's improved system command. (patch from James
15
+ M. Lawrence/quix)
16
+
17
+ * Rake now includes the configured extension when invoking an
18
+ executable (Config::CONFIG['EXEEXT])
19
+
20
+ === Bug Fixes in Version 0.8.5
21
+
22
+ * Environment variable keys are now correctly cased (it matters in
23
+ some implementations).
24
+
25
+ == What is Rake
26
+
27
+ Rake is a build tool similar to the make program in many ways. But
28
+ instead of cryptic make recipes, Rake uses standard Ruby code to
29
+ declare tasks and dependencies. You have the full power of a modern
30
+ scripting language built right into your build tool.
31
+
32
+ == Availability
33
+
34
+ The easiest way to get and install rake is via RubyGems ...
35
+
36
+ gem install rake (you may need root/admin privileges)
37
+
38
+ Otherwise, you can get it from the more traditional places:
39
+
40
+ Home Page:: http://rake.rubyforge.org/
41
+ Download:: http://rubyforge.org/project/showfiles.php?group_id=50
42
+ GitHub:: git://github.com/jimweirich/rake.git
43
+
44
+ == Thanks
45
+
46
+ As usual, it was input from users that drove a alot of these changes. The
47
+ following people either contributed patches, made suggestions or made
48
+ otherwise helpful comments. Thanks to ...
49
+
50
+ * James M. Lawrence/quix
51
+ * Luis Lavena
52
+
53
+ -- Jim Weirich
@@ -0,0 +1,55 @@
1
+ = Rake 0.8.6 Released
2
+
3
+ Rake version 0.8.5 introduced greatly improved support for executing
4
+ commands on Windows. The "sh" command now has the same semantics on
5
+ Windows that it has on Unix based platforms.
6
+
7
+ Rake version 0.8.6 includes minor fixes the the RDoc generation.
8
+
9
+ == Changes
10
+
11
+ === New Features / Enhancements in Version 0.8.5
12
+
13
+ * Improved implementation of the Rake system command for Windows.
14
+ (patch from James M. Lawrence/quix)
15
+
16
+ * Support for Ruby 1.9's improved system command. (patch from James
17
+ M. Lawrence/quix)
18
+
19
+ * Rake now includes the configured extension when invoking an
20
+ executable (Config::CONFIG['EXEEXT])
21
+
22
+ === Bug Fixes in Version 0.8.5
23
+
24
+ * Environment variable keys are now correctly cased (it matters in
25
+ some implementations).
26
+
27
+ == What is Rake
28
+
29
+ Rake is a build tool similar to the make program in many ways. But
30
+ instead of cryptic make recipes, Rake uses standard Ruby code to
31
+ declare tasks and dependencies. You have the full power of a modern
32
+ scripting language built right into your build tool.
33
+
34
+ == Availability
35
+
36
+ The easiest way to get and install rake is via RubyGems ...
37
+
38
+ gem install rake (you may need root/admin privileges)
39
+
40
+ Otherwise, you can get it from the more traditional places:
41
+
42
+ Home Page:: http://rake.rubyforge.org/
43
+ Download:: http://rubyforge.org/project/showfiles.php?group_id=50
44
+ GitHub:: git://github.com/jimweirich/rake.git
45
+
46
+ == Thanks
47
+
48
+ As usual, it was input from users that drove a alot of these changes. The
49
+ following people either contributed patches, made suggestions or made
50
+ otherwise helpful comments. Thanks to ...
51
+
52
+ * James M. Lawrence/quix
53
+ * Luis Lavena
54
+
55
+ -- Jim Weirich
@@ -0,0 +1,55 @@
1
+ = Rake 0.8.7 Released
2
+
3
+ Rake version 0.8.5 introduced greatly improved support for executing
4
+ commands on Windows. The "sh" command now has the same semantics on
5
+ Windows that it has on Unix based platforms.
6
+
7
+ Rake version 0.8.6 includes minor fixes the the RDoc generation.
8
+ Rake version 0.8.7 includes a minor fix for JRuby running on windows.
9
+
10
+ == Changes
11
+
12
+ === New Features / Enhancements in Version 0.8.5
13
+
14
+ * Improved implementation of the Rake system command for Windows.
15
+ (patch from James M. Lawrence/quix)
16
+
17
+ * Support for Ruby 1.9's improved system command. (patch from James
18
+ M. Lawrence/quix)
19
+
20
+ * Rake now includes the configured extension when invoking an
21
+ executable (Config::CONFIG['EXEEXT])
22
+
23
+ === Bug Fixes in Version 0.8.5
24
+
25
+ * Environment variable keys are now correctly cased (it matters in
26
+ some implementations).
27
+
28
+ == What is Rake
29
+
30
+ Rake is a build tool similar to the make program in many ways. But
31
+ instead of cryptic make recipes, Rake uses standard Ruby code to
32
+ declare tasks and dependencies. You have the full power of a modern
33
+ scripting language built right into your build tool.
34
+
35
+ == Availability
36
+
37
+ The easiest way to get and install rake is via RubyGems ...
38
+
39
+ gem install rake (you may need root/admin privileges)
40
+
41
+ Otherwise, you can get it from the more traditional places:
42
+
43
+ Home Page:: http://rake.rubyforge.org/
44
+ Download:: http://rubyforge.org/project/showfiles.php?group_id=50
45
+ GitHub:: git://github.com/jimweirich/rake.git
46
+
47
+ == Thanks
48
+
49
+ As usual, it was input from users that drove a alot of these changes. The
50
+ following people either contributed patches, made suggestions or made
51
+ otherwise helpful comments. Thanks to ...
52
+
53
+ * Charles Nutter
54
+
55
+ -- Jim Weirich
@@ -0,0 +1,88 @@
1
+ require 'rbconfig'
2
+ require 'find'
3
+ require 'ftools'
4
+
5
+ include Config
6
+
7
+ $ruby = CONFIG['ruby_install_name']
8
+
9
+ ##
10
+ # Install a binary file. We patch in on the way through to
11
+ # insert a #! line. If this is a Unix install, we name
12
+ # the command (for example) 'rake' and let the shebang line
13
+ # handle running it. Under windows, we add a '.rb' extension
14
+ # and let file associations to their stuff
15
+ #
16
+
17
+ def installBIN(from, opfile)
18
+
19
+ tmp_dir = nil
20
+ for t in [".", "/tmp", "c:/temp", $bindir]
21
+ stat = File.stat(t) rescue next
22
+ if stat.directory? and stat.writable?
23
+ tmp_dir = t
24
+ break
25
+ end
26
+ end
27
+
28
+ fail "Cannot find a temporary directory" unless tmp_dir
29
+ tmp_file = File.join(tmp_dir, "_tmp")
30
+
31
+ File.open(from) do |ip|
32
+ File.open(tmp_file, "w") do |op|
33
+ ruby = File.join($realbindir, $ruby)
34
+ op.puts "#!#{ruby} -w"
35
+ op.write ip.read
36
+ end
37
+ end
38
+
39
+ opfile += ".rb" if CONFIG["target_os"] =~ /mswin/i
40
+ File::install(tmp_file, File.join($bindir, opfile), 0755, true)
41
+ File::unlink(tmp_file)
42
+ end
43
+
44
+ $sitedir = CONFIG["sitelibdir"]
45
+ unless $sitedir
46
+ version = CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
47
+ $libdir = File.join(CONFIG["libdir"], "ruby", version)
48
+ $sitedir = $:.find {|x| x =~ /site_ruby/}
49
+ if !$sitedir
50
+ $sitedir = File.join($libdir, "site_ruby")
51
+ elsif $sitedir !~ Regexp.quote(version)
52
+ $sitedir = File.join($sitedir, version)
53
+ end
54
+ end
55
+
56
+ $bindir = CONFIG["bindir"]
57
+
58
+ $realbindir = $bindir
59
+
60
+ bindir = CONFIG["bindir"]
61
+ if (destdir = ENV['DESTDIR'])
62
+ $bindir = destdir + $bindir
63
+ $sitedir = destdir + $sitedir
64
+
65
+ File::makedirs($bindir)
66
+ File::makedirs($sitedir)
67
+ end
68
+
69
+ rake_dest = File.join($sitedir, "rake")
70
+ File::makedirs(rake_dest, true)
71
+ File::chmod(0755, rake_dest)
72
+
73
+ # The library files
74
+
75
+ files = Dir.chdir('lib') { Dir['**/*.rb'] }
76
+
77
+ for fn in files
78
+ fn_dir = File.dirname(fn)
79
+ target_dir = File.join($sitedir, fn_dir)
80
+ if ! File.exist?(target_dir)
81
+ File.makedirs(target_dir)
82
+ end
83
+ File::install(File.join('lib', fn), File.join($sitedir, fn), 0644, true)
84
+ end
85
+
86
+ # and the executable
87
+
88
+ installBIN("bin/rake", "rake")
@@ -0,0 +1,108 @@
1
+ #
2
+ # Copyright (c) 2008 James M. Lawrence
3
+ #
4
+ # Permission is hereby granted, free of charge, to any person
5
+ # obtaining a copy of this software and associated documentation files
6
+ # (the "Software"), to deal in the Software without restriction,
7
+ # including without limitation the rights to use, copy, modify, merge,
8
+ # publish, distribute, sublicense, and/or sell copies of the Software,
9
+ # and to permit persons to whom the Software is furnished to do so,
10
+ # subject to the following conditions:
11
+ #
12
+ # The above copyright notice and this permission notice shall be
13
+ # included in all copies or substantial portions of the Software.
14
+ #
15
+ # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
+ # EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
+ # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18
+ # NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
19
+ # BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
20
+ # ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
21
+ # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ # SOFTWARE.
23
+ #
24
+
25
+ require 'rbconfig'
26
+
27
+ #
28
+ # Alternate implementations of system() and backticks `` on Windows
29
+ # for ruby-1.8 and earlier.
30
+ #
31
+ module Rake::AltSystem
32
+ WINDOWS = Config::CONFIG["host_os"] =~ %r!(msdos|mswin|djgpp|mingw)!
33
+
34
+ class << self
35
+ def define_module_function(name, &block)
36
+ define_method(name, &block)
37
+ module_function(name)
38
+ end
39
+ end
40
+
41
+ if WINDOWS and RUBY_VERSION < "1.9.0"
42
+ RUNNABLE_EXTS = %w[com exe bat cmd]
43
+ RUNNABLE_PATTERN = %r!\.(#{RUNNABLE_EXTS.join('|')})\Z!i
44
+
45
+ define_module_function :kernel_system, &Kernel.method(:system)
46
+ define_module_function :kernel_backticks, &Kernel.method(:'`')
47
+
48
+ module_function
49
+
50
+ def repair_command(cmd)
51
+ "call " + (
52
+ if cmd =~ %r!\A\s*\".*?\"!
53
+ # already quoted
54
+ cmd
55
+ elsif match = cmd.match(%r!\A\s*(\S+)!)
56
+ if match[1] =~ %r!/!
57
+ # avoid x/y.bat interpretation as x with option /y
58
+ %Q!"#{match[1]}"! + match.post_match
59
+ else
60
+ # a shell command will fail if quoted
61
+ cmd
62
+ end
63
+ else
64
+ # empty or whitespace
65
+ cmd
66
+ end
67
+ )
68
+ end
69
+
70
+ def find_runnable(file)
71
+ if file =~ RUNNABLE_PATTERN
72
+ file
73
+ else
74
+ RUNNABLE_EXTS.each { |ext|
75
+ if File.exist?(test = "#{file}.#{ext}")
76
+ return test
77
+ end
78
+ }
79
+ nil
80
+ end
81
+ end
82
+
83
+ def system(cmd, *args)
84
+ repaired = (
85
+ if args.empty?
86
+ [repair_command(cmd)]
87
+ elsif runnable = find_runnable(cmd)
88
+ [File.expand_path(runnable), *args]
89
+ else
90
+ # non-existent file
91
+ [cmd, *args]
92
+ end
93
+ )
94
+ kernel_system(*repaired)
95
+ end
96
+
97
+ def backticks(cmd)
98
+ kernel_backticks(repair_command(cmd))
99
+ end
100
+
101
+ define_module_function :'`', &method(:backticks)
102
+ else
103
+ # Non-Windows or ruby-1.9+: same as Kernel versions
104
+ define_module_function :system, &Kernel.method(:system)
105
+ define_module_function :backticks, &Kernel.method(:'`')
106
+ define_module_function :'`', &Kernel.method(:'`')
107
+ end
108
+ end