nutshell-crm 0.0.5 → 0.0.6.alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. data/.rbenv-version +1 -0
  2. data/.travis.yml +8 -0
  3. data/CHANGELOG.md +5 -0
  4. data/README.md +37 -0
  5. data/Rakefile +14 -3
  6. data/lib/nutshell-crm.rb +92 -5
  7. data/lib/nutshell-crm/version.rb +1 -1
  8. data/nutshell-crm.gemspec +1 -0
  9. data/spec/nutshell-crm_spec.rb +17 -8
  10. data/vendor/bundle/bin/rake +19 -0
  11. data/vendor/bundle/gems/json-1.6.4/.gitignore +8 -0
  12. data/vendor/bundle/gems/json-1.6.4/.travis.yml +15 -0
  13. data/vendor/bundle/gems/json-1.6.4/CHANGES +227 -0
  14. data/vendor/bundle/gems/json-1.6.4/COPYING +58 -0
  15. data/vendor/bundle/gems/json-1.6.4/COPYING-json-jruby +57 -0
  16. data/vendor/bundle/gems/json-1.6.4/GPL +340 -0
  17. data/vendor/bundle/gems/json-1.6.4/Gemfile +11 -0
  18. data/vendor/bundle/gems/json-1.6.4/README-json-jruby.markdown +33 -0
  19. data/vendor/bundle/gems/json-1.6.4/README.rdoc +358 -0
  20. data/vendor/bundle/gems/json-1.6.4/Rakefile +408 -0
  21. data/vendor/bundle/gems/json-1.6.4/TODO +1 -0
  22. data/vendor/bundle/gems/json-1.6.4/VERSION +1 -0
  23. data/{README → vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/.keep} +0 -0
  24. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +52 -0
  25. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +1000 -0
  26. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +1001 -0
  27. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +900 -0
  28. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +901 -0
  29. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +1000 -0
  30. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +1001 -0
  31. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +261 -0
  32. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +1000 -0
  33. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +1001 -0
  34. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +1000 -0
  35. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +1001 -0
  36. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +1000 -0
  37. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +1001 -0
  38. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +262 -0
  39. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +1000 -0
  40. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +1001 -0
  41. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +82 -0
  42. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +34 -0
  43. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +900 -0
  44. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +901 -0
  45. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +81 -0
  46. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +1000 -0
  47. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +1001 -0
  48. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +82 -0
  49. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +1000 -0
  50. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +1001 -0
  51. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +82 -0
  52. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +1000 -0
  53. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +1001 -0
  54. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +82 -0
  55. data/vendor/bundle/gems/json-1.6.4/benchmarks/data/.keep +0 -0
  56. data/vendor/bundle/gems/json-1.6.4/benchmarks/generator2_benchmark.rb +222 -0
  57. data/vendor/bundle/gems/json-1.6.4/benchmarks/generator_benchmark.rb +224 -0
  58. data/vendor/bundle/gems/json-1.6.4/benchmarks/ohai.json +1216 -0
  59. data/vendor/bundle/gems/json-1.6.4/benchmarks/ohai.ruby +1 -0
  60. data/vendor/bundle/gems/json-1.6.4/benchmarks/parser2_benchmark.rb +251 -0
  61. data/vendor/bundle/gems/json-1.6.4/benchmarks/parser_benchmark.rb +259 -0
  62. data/vendor/bundle/gems/json-1.6.4/data/example.json +1 -0
  63. data/vendor/bundle/gems/json-1.6.4/data/index.html +38 -0
  64. data/vendor/bundle/gems/json-1.6.4/data/prototype.js +4184 -0
  65. data/vendor/bundle/gems/json-1.6.4/diagrams/.keep +0 -0
  66. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/fbuffer/fbuffer.h +156 -0
  67. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/Makefile +187 -0
  68. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/extconf.rb +13 -0
  69. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.bundle +0 -0
  70. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.c +1384 -0
  71. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.h +161 -0
  72. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.o +0 -0
  73. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/json/ext/generator.bundle +0 -0
  74. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/json/ext/parser.bundle +0 -0
  75. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/Makefile +187 -0
  76. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/extconf.rb +13 -0
  77. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.bundle +0 -0
  78. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.c +2203 -0
  79. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.h +77 -0
  80. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.o +0 -0
  81. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.rl +926 -0
  82. data/vendor/bundle/gems/json-1.6.4/install.rb +19 -0
  83. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/ByteListTranscoder.java +167 -0
  84. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Generator.java +437 -0
  85. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorMethods.java +232 -0
  86. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorService.java +43 -0
  87. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorState.java +522 -0
  88. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/OptionsReader.java +113 -0
  89. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Parser.java +2640 -0
  90. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Parser.rl +964 -0
  91. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/ParserService.java +35 -0
  92. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/RuntimeInfo.java +121 -0
  93. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/StringDecoder.java +166 -0
  94. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/StringEncoder.java +106 -0
  95. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Utils.java +89 -0
  96. data/vendor/bundle/gems/json-1.6.4/json-java.gemspec +22 -0
  97. data/vendor/bundle/gems/json-1.6.4/json.gemspec +40 -0
  98. data/vendor/bundle/gems/json-1.6.4/json_pure.gemspec +42 -0
  99. data/vendor/bundle/gems/json-1.6.4/lib/json.rb +62 -0
  100. data/vendor/bundle/gems/json-1.6.4/lib/json/add/bigdecimal.rb +21 -0
  101. data/vendor/bundle/gems/json-1.6.4/lib/json/add/complex.rb +22 -0
  102. data/vendor/bundle/gems/json-1.6.4/lib/json/add/core.rb +11 -0
  103. data/vendor/bundle/gems/json-1.6.4/lib/json/add/date.rb +34 -0
  104. data/vendor/bundle/gems/json-1.6.4/lib/json/add/date_time.rb +50 -0
  105. data/vendor/bundle/gems/json-1.6.4/lib/json/add/exception.rb +31 -0
  106. data/vendor/bundle/gems/json-1.6.4/lib/json/add/ostruct.rb +31 -0
  107. data/vendor/bundle/gems/json-1.6.4/lib/json/add/range.rb +29 -0
  108. data/vendor/bundle/gems/json-1.6.4/lib/json/add/rational.rb +22 -0
  109. data/vendor/bundle/gems/json-1.6.4/lib/json/add/regexp.rb +30 -0
  110. data/vendor/bundle/gems/json-1.6.4/lib/json/add/struct.rb +30 -0
  111. data/vendor/bundle/gems/json-1.6.4/lib/json/add/symbol.rb +25 -0
  112. data/vendor/bundle/gems/json-1.6.4/lib/json/add/time.rb +35 -0
  113. data/vendor/bundle/gems/json-1.6.4/lib/json/common.rb +470 -0
  114. data/vendor/bundle/gems/json-1.6.4/lib/json/ext.rb +21 -0
  115. data/vendor/bundle/gems/json-1.6.4/lib/json/ext/.keep +0 -0
  116. data/vendor/bundle/gems/json-1.6.4/lib/json/pure.rb +21 -0
  117. data/vendor/bundle/gems/json-1.6.4/lib/json/pure/generator.rb +468 -0
  118. data/vendor/bundle/gems/json-1.6.4/lib/json/pure/parser.rb +359 -0
  119. data/vendor/bundle/gems/json-1.6.4/lib/json/version.rb +8 -0
  120. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail1.json +1 -0
  121. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail10.json +1 -0
  122. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail11.json +1 -0
  123. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail12.json +1 -0
  124. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail13.json +1 -0
  125. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail14.json +1 -0
  126. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail18.json +1 -0
  127. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail19.json +1 -0
  128. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail2.json +1 -0
  129. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail20.json +1 -0
  130. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail21.json +1 -0
  131. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail22.json +1 -0
  132. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail23.json +1 -0
  133. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail24.json +1 -0
  134. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail25.json +1 -0
  135. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail27.json +2 -0
  136. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail28.json +2 -0
  137. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail3.json +1 -0
  138. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail4.json +1 -0
  139. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail5.json +1 -0
  140. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail6.json +1 -0
  141. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail7.json +1 -0
  142. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail8.json +1 -0
  143. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail9.json +1 -0
  144. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass1.json +56 -0
  145. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass15.json +1 -0
  146. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass16.json +1 -0
  147. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass17.json +1 -0
  148. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass2.json +1 -0
  149. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass26.json +1 -0
  150. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass3.json +6 -0
  151. data/vendor/bundle/gems/json-1.6.4/tests/setup_variant.rb +11 -0
  152. data/vendor/bundle/gems/json-1.6.4/tests/test_json.rb +527 -0
  153. data/vendor/bundle/gems/json-1.6.4/tests/test_json_addition.rb +188 -0
  154. data/vendor/bundle/gems/json-1.6.4/tests/test_json_encoding.rb +65 -0
  155. data/vendor/bundle/gems/json-1.6.4/tests/test_json_fixtures.rb +35 -0
  156. data/vendor/bundle/gems/json-1.6.4/tests/test_json_generate.rb +249 -0
  157. data/vendor/bundle/gems/json-1.6.4/tests/test_json_string_matching.rb +40 -0
  158. data/vendor/bundle/gems/json-1.6.4/tests/test_json_unicode.rb +72 -0
  159. data/vendor/bundle/gems/json-1.6.4/tools/fuzz.rb +139 -0
  160. data/vendor/bundle/gems/json-1.6.4/tools/server.rb +62 -0
  161. data/vendor/bundle/gems/rake-0.9.2.2/.gemtest +0 -0
  162. data/vendor/bundle/gems/rake-0.9.2.2/CHANGES +522 -0
  163. data/vendor/bundle/gems/rake-0.9.2.2/MIT-LICENSE +21 -0
  164. data/vendor/bundle/gems/rake-0.9.2.2/README.rdoc +197 -0
  165. data/vendor/bundle/gems/rake-0.9.2.2/Rakefile +369 -0
  166. data/vendor/bundle/gems/rake-0.9.2.2/TODO +20 -0
  167. data/vendor/bundle/gems/rake-0.9.2.2/bin/rake +33 -0
  168. data/vendor/bundle/gems/rake-0.9.2.2/install.rb +90 -0
  169. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake.rb +69 -0
  170. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/alt_system.rb +109 -0
  171. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/application.rb +595 -0
  172. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb +11 -0
  173. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/clean.rb +32 -0
  174. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/cloneable.rb +25 -0
  175. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb +21 -0
  176. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb +150 -0
  177. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb +73 -0
  178. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  179. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb +50 -0
  180. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb +191 -0
  181. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/default_loader.rb +10 -0
  182. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb +176 -0
  183. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/early_time.rb +18 -0
  184. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/core.rb +27 -0
  185. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/module.rb +39 -0
  186. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/string.rb +167 -0
  187. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/time.rb +14 -0
  188. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb +24 -0
  189. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_list.rb +403 -0
  190. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_task.rb +47 -0
  191. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_utils.rb +114 -0
  192. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb +145 -0
  193. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb +15 -0
  194. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb +51 -0
  195. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb +16 -0
  196. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb +40 -0
  197. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/multi_task.rb +16 -0
  198. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/name_space.rb +25 -0
  199. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/packagetask.rb +185 -0
  200. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/pathmap.rb +1 -0
  201. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb +24 -0
  202. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rake_module.rb +29 -0
  203. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb +22 -0
  204. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rdoctask.rb +234 -0
  205. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb +25 -0
  206. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  207. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/runtest.rb +21 -0
  208. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task.rb +327 -0
  209. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb +7 -0
  210. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_arguments.rb +78 -0
  211. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_manager.rb +307 -0
  212. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/tasklib.rb +22 -0
  213. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/testtask.rb +191 -0
  214. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/version.rb +8 -0
  215. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/win32.rb +55 -0
  216. data/vendor/bundle/gems/rake-0.9.2.2/test/file_creation.rb +34 -0
  217. data/vendor/bundle/gems/rake-0.9.2.2/test/helper.rb +492 -0
  218. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake.rb +40 -0
  219. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_application.rb +489 -0
  220. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_application_options.rb +335 -0
  221. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_clean.rb +14 -0
  222. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_definitions.rb +80 -0
  223. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_directory_task.rb +46 -0
  224. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_dsl.rb +77 -0
  225. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_early_time.rb +31 -0
  226. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_extension.rb +59 -0
  227. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_creation_task.rb +56 -0
  228. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_list.rb +628 -0
  229. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_list_path_map.rb +8 -0
  230. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_task.rb +102 -0
  231. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_utils.rb +305 -0
  232. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_ftp_file.rb +59 -0
  233. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_functional.rb +450 -0
  234. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_invocation_chain.rb +52 -0
  235. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_makefile_loader.rb +44 -0
  236. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_multi_task.rb +51 -0
  237. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_name_space.rb +43 -0
  238. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_package_task.rb +79 -0
  239. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map.rb +157 -0
  240. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map_explode.rb +34 -0
  241. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map_partial.rb +18 -0
  242. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_pseudo_status.rb +21 -0
  243. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rake_test_loader.rb +21 -0
  244. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rdoc_task.rb +83 -0
  245. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_require.rb +40 -0
  246. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rules.rb +327 -0
  247. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task.rb +267 -0
  248. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_argument_parsing.rb +103 -0
  249. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_arguments.rb +88 -0
  250. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_lib.rb +9 -0
  251. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_manager.rb +157 -0
  252. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_manager_argument_resolution.rb +36 -0
  253. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_with_arguments.rb +173 -0
  254. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_test_task.rb +120 -0
  255. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_top_level_functions.rb +111 -0
  256. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_win32.rb +72 -0
  257. data/vendor/bundle/gems/rake-0.9.2.2/test/test_sys.rb +20 -0
  258. data/vendor/bundle/specifications/json-1.6.4.gemspec +39 -0
  259. data/vendor/bundle/specifications/rake-0.9.2.2.gemspec +34 -0
  260. metadata +285 -18
@@ -0,0 +1,21 @@
1
+ Copyright (c) 2003, 2004 Jim Weirich
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21
+
@@ -0,0 +1,197 @@
1
+ = RAKE -- Ruby Make
2
+
3
+ This package contains Rake, a simple ruby build program with capabilities
4
+ similar to make.
5
+
6
+ Rake has the following features:
7
+
8
+ * Rakefiles (rake's version of Makefiles) are completely defined in
9
+ standard Ruby syntax. No XML files to edit. No quirky Makefile
10
+ syntax to worry about (is that a tab or a space?)
11
+
12
+ * Users can specify tasks with prerequisites.
13
+
14
+ * Rake supports rule patterns to synthesize implicit tasks.
15
+
16
+ * Flexible FileLists that act like arrays but know about manipulating
17
+ file names and paths.
18
+
19
+ * A library of prepackaged tasks to make building rakefiles easier. For example,
20
+ tasks for building tarballs and publishing to FTP or SSH sites. (Formerly
21
+ tasks for building RDoc and Gems were included in rake but they're now
22
+ available in RDoc and RubyGems respectively.)
23
+
24
+ * Supports parallel execution of tasks.
25
+
26
+ == Installation
27
+
28
+ === Gem Installation
29
+
30
+ Download and install rake with the following.
31
+
32
+ gem install rake
33
+
34
+ === Normal Installation
35
+
36
+ You can download the source tarball of the latest version of Rake from
37
+
38
+ * http://rubyforge.org/project/showfiles.php?group_id=50
39
+
40
+ Extract the tarball and run
41
+
42
+ % ruby install.rb
43
+
44
+ from its distribution directory.
45
+
46
+ == Usage
47
+
48
+ === Simple Example
49
+
50
+ First, you must write a "Rakefile" file which contains the build rules. Here's
51
+ a simple example:
52
+
53
+ task :default => [:test]
54
+
55
+ task :test do
56
+ ruby "test/unittest.rb"
57
+ end
58
+
59
+ This Rakefile has two tasks:
60
+
61
+ * A task named "test", which - upon invocation - will run a unit test file in
62
+ Ruby.
63
+ * A task named "default". This task does nothing by itself, but it has exactly
64
+ one dependency, namely the "test" task. Invoking the "default" task will
65
+ cause Rake to invoke the "test" task as well.
66
+
67
+ Running the "rake" command without any options will cause it to run the
68
+ "default" task in the Rakefile:
69
+
70
+ % ls
71
+ Rakefile test/
72
+ % rake
73
+ (in /home/some_user/Projects/rake)
74
+ ruby test/unittest.rb
75
+ ....unit test output here...
76
+
77
+ Type "rake --help" for all available options.
78
+
79
+
80
+ === More Information
81
+
82
+ * For details on Rake's command-line invocation, read
83
+ doc/command_line_usage.rdoc[http://rake.rubyforge.org/files/doc/command_line_usage_rdoc.html]
84
+ * For details on writing Rakefiles, see
85
+ doc/rakefile.rdoc[http://rake.rubyforge.org/files/doc/rakefile_rdoc.html].
86
+ * For the original announcement of Rake, see
87
+ doc/rational.rdoc[http://rake.rubyforge.org/files/doc/rational_rdoc.html].
88
+ * For a glossary of terms, see
89
+ doc/glossary.rdoc[http://rake.rubyforge.org/files/doc/glossary_rdoc.html].
90
+
91
+ == Development
92
+
93
+ === Source Repository
94
+
95
+ Rake is currently hosted at github. The github web page is
96
+ http://github.com/jimweirich/rake. The public git clone URL is
97
+
98
+ * git://github.com/jimweirich/rake.git
99
+
100
+ === Running the Rake Test Suite
101
+
102
+ If you wish to run the unit and functional tests that come with Rake:
103
+
104
+ * Install the 'flexmock' gem
105
+ * Install the 'session' gem in order to run the functional tests.
106
+ * CD into the top project directory of rake.
107
+ * Type one of the following:
108
+
109
+ rake # If you have a version of rake installed
110
+ ruby -Ilib bin/rake # If you do not have a version of rake installed.
111
+
112
+ === Issues and Bug Reports
113
+
114
+ Feature requests and bug reports can be made here
115
+
116
+ * https://github.com/jimweirich/rake/issues
117
+
118
+ Issues and bug reports can also be tracked here:
119
+
120
+ * http://www.pivotaltracker.com/projects/28469
121
+
122
+ == Online Resources
123
+
124
+ === Rake References
125
+
126
+ * Rake Documentation Home: http://docs.rubyrake.org
127
+ * Rake Project Page: http://rubyforge.org/projects/rake
128
+ * Rake API Documents: http://rake.rubyforge.org
129
+ * Rake Source Code Repo: http://github.com/jimweirich/rake
130
+ * Rake Git Repo Clone URL: git://github.com/jimweirich/rake.git
131
+ * Rake Issue Tracking: http://www.pivotaltracker.com/projects/28469
132
+ * Rake Bug Reports: https://github.com/jimweirich/rake/issues
133
+
134
+ === Presentations and Articles about Rake
135
+
136
+ * Jim Weirich's 2003 RubyConf presentation:
137
+ http://onestepback.org/articles/buildingwithrake/
138
+ * Martin Fowler's article on Rake: http://martinfowler.com/articles/rake.html
139
+
140
+ == Other Make Reinvisionings ...
141
+
142
+ Rake is a late entry in the make replacement field. Here are links to
143
+ other projects with similar (and not so similar) goals.
144
+
145
+ * http://directory.fsf.org/bras.html -- Bras, one of earliest
146
+ implementations of "make in a scripting language".
147
+ * http://www.a-a-p.org -- Make in Python
148
+ * http://www.aromatic.com/tools/jam.txt -- JAM, Java Automated Make
149
+ * http://ant.apache.org -- The Ant project
150
+ * http://ppt.perl.org/commands/make/index.html -- Make from the Perl
151
+ Power Tools implementation.
152
+ * http://search.cpan.org/search?query=PerlBuildSystem -- The Perl Build System
153
+ * http://make.rubyforge.org -- Rant, another Ruby make tool.
154
+
155
+ == Credits
156
+
157
+ [<b>Ryan Dlugosz</b>] For the initial conversation that sparked Rake.
158
+
159
+ [<b>nobu.nokada@softhome.net</b>] For the initial patch for rule support.
160
+
161
+ [<b>Tilman Sauerbeck <tilman@code-monkey.de></b>] For the recursive rule patch.
162
+
163
+ == License
164
+
165
+ Rake is available under an MIT-style license.
166
+
167
+ :include: MIT-LICENSE
168
+
169
+ == Support
170
+
171
+ The Rake homepage is http://rake.rubyforge.org. You can find the Rake
172
+ RubyForge page at http://rubyforge.org/projects/rake.
173
+
174
+ Feel free to submit commits or feature requests. If you send a patch,
175
+ remember to update the corresponding unit tests. In fact, I prefer
176
+ new feature to be submitted in the form of new unit tests.
177
+
178
+ For other information, feel free to ask on the ruby-talk mailing list
179
+ (which is mirrored to comp.lang.ruby) or contact
180
+ jim dot weirich at gmail.com.
181
+
182
+ ---
183
+
184
+ = Other stuff
185
+
186
+ Author:: Jim Weirich <jim.weirich@gmail.com>
187
+ Requires:: Ruby 1.8.6 or later
188
+ License:: Copyright 2003-2008 by Jim Weirich.
189
+ Released under an MIT-style license. See the LICENSE file
190
+ included in the distribution.
191
+
192
+ == Warranty
193
+
194
+ This software is provided "as is" and without any express or
195
+ implied warranties, including, without limitation, the implied
196
+ warranties of merchantibility and fitness for a particular
197
+ purpose.
@@ -0,0 +1,369 @@
1
+ # Rakefile for rake -*- ruby -*-
2
+
3
+ # Copyright 2003, 2004, 2005 by Jim Weirich (jim@weirichhouse.org)
4
+ # All rights reserved.
5
+
6
+ # This file may be distributed under an MIT style license. See
7
+ # MIT-LICENSE for details.
8
+
9
+ require 'rbconfig'
10
+ require 'rubygems'
11
+
12
+ system_rake = File.join RbConfig::CONFIG['rubylibdir'], 'rake.rb'
13
+
14
+ # Use our rake, not the installed rake from system
15
+ if $".include? system_rake or $".grep(/rake\/name_space\.rb$/).empty? then
16
+ exec Gem.ruby, '-Ilib', 'bin/rake', *ARGV
17
+ end
18
+
19
+ require 'rubygems/package_task'
20
+
21
+ require 'rake/clean'
22
+ require 'rake/testtask'
23
+
24
+ begin
25
+ gem 'rdoc'
26
+ require 'rdoc/task'
27
+ rescue Gem::LoadError
28
+ end
29
+
30
+ CLEAN.include('**/*.o', '*.dot', '**/*.rbc')
31
+ CLOBBER.include('doc/example/main')
32
+ CLOBBER.include('TAGS')
33
+ CLOBBER.include('coverage', 'rcov_aggregate')
34
+
35
+ # Prevent OS X from including extended attribute junk in the tar output
36
+ ENV['COPY_EXTENDED_ATTRIBUTES_DISABLE'] = 'true'
37
+
38
+ def announce(msg='')
39
+ STDERR.puts msg
40
+ end
41
+
42
+ # Determine the current version of the software
43
+
44
+ if `ruby -Ilib ./bin/rake --version` =~ /rake, version ([0-9a-z.]+)$/
45
+ CURRENT_VERSION = $1
46
+ else
47
+ CURRENT_VERSION = "0.0.0"
48
+ end
49
+
50
+ $package_version = CURRENT_VERSION
51
+
52
+ SRC_RB = FileList['lib/**/*.rb']
53
+
54
+ # The default task is run if rake is given no explicit arguments.
55
+
56
+ desc "Default Task"
57
+ task :default => :test
58
+
59
+ # Test Tasks ---------------------------------------------------------
60
+
61
+ Rake::TestTask.new do |t|
62
+ files = FileList['test/helper.rb', 'test/test_*.rb']
63
+ t.test_files = files
64
+ t.libs << "."
65
+ t.warning = true
66
+ end
67
+
68
+ begin
69
+ require 'rcov/rcovtask'
70
+ IGNORE_COVERAGE_IN = FileList[
71
+ 'lib/rake/rdoctask.rb',
72
+ 'lib/rake/testtask.rb',
73
+ 'lib/rake/packagetask.rb',
74
+ 'lib/rake/clean.rb',
75
+ ]
76
+
77
+ unless File::ALT_SEPARATOR
78
+ IGNORE_COVERAGE_IN.include(
79
+ 'lib/rake/alt_system.rb',
80
+ 'lib/rake/win32.rb')
81
+ end
82
+
83
+ Rcov::RcovTask.new do |t|
84
+ t.libs << "test"
85
+ t.rcov_opts = [
86
+ '-xRakefile', '-xrakefile', '-xpublish.rf',
87
+ '-xlib/rake/contrib', '-x/Library', '-x.rvm',
88
+ '--text-report',
89
+ '--sort coverage'
90
+ ] + FileList['rakelib/*.rake'].pathmap("-x%p") +
91
+ IGNORE_COVERAGE_IN.map { |fn| "-x#{fn}" }
92
+ t.test_files = FileList[
93
+ 'test/lib/*_test.rb',
94
+ 'test/contrib/*_test.rb',
95
+ 'test/functional/*_test.rb'
96
+ ]
97
+ t.output_dir = 'coverage'
98
+ t.verbose = true
99
+ end
100
+ rescue LoadError
101
+ task :rcov do
102
+ puts "RCov is not available"
103
+ end
104
+ end
105
+
106
+ # CVS Tasks ----------------------------------------------------------
107
+
108
+ # Install rake using the standard install.rb script.
109
+
110
+ desc "Install the application"
111
+ task :install do
112
+ ruby "install.rb"
113
+ end
114
+
115
+ # Create a task to build the RDOC documentation tree.
116
+
117
+ BASE_RDOC_OPTIONS = [
118
+ '--line-numbers', '--show-hash',
119
+ '--main', 'README.rdoc',
120
+ '--title', 'Rake -- Ruby Make'
121
+ ]
122
+
123
+ if defined?(RDoc::Task) then
124
+ RDoc::Task.new do |rdoc|
125
+ rdoc.rdoc_dir = 'html'
126
+ rdoc.title = "Rake -- Ruby Make"
127
+ rdoc.options = BASE_RDOC_OPTIONS.dup
128
+
129
+ rdoc.rdoc_files.include('README.rdoc', 'MIT-LICENSE', 'TODO', 'CHANGES')
130
+ rdoc.rdoc_files.include('lib/**/*.rb', 'doc/**/*.rdoc')
131
+ rdoc.rdoc_files.exclude(/\bcontrib\b/)
132
+ end
133
+ else
134
+ warn "RDoc 2.4.2+ is required to build documentation"
135
+ end
136
+
137
+ # ====================================================================
138
+ # Create a task that will package the Rake software into distributable
139
+ # tar, zip and gem files.
140
+
141
+ PKG_FILES = FileList[
142
+ '.gemtest',
143
+ 'install.rb',
144
+ '[A-Z]*',
145
+ 'bin/rake',
146
+ 'lib/**/*.rb',
147
+ 'test/**/*.rb',
148
+ 'doc/**/*'
149
+ ]
150
+ PKG_FILES.exclude('doc/example/*.o')
151
+ PKG_FILES.exclude('TAGS')
152
+ PKG_FILES.exclude(%r{doc/example/main$})
153
+
154
+ if ! defined?(Gem)
155
+ puts "Package Target requires RubyGems"
156
+ else
157
+ SPEC = Gem::Specification.new do |s|
158
+ s.name = 'rake'
159
+ s.version = $package_version
160
+ s.summary = "Ruby based make-like utility."
161
+ s.description = <<-EOF.delete "\n"
162
+ Rake is a Make-like program implemented in Ruby. Tasks and dependencies are
163
+ specified in standard Ruby syntax.
164
+ EOF
165
+
166
+ s.required_ruby_version = '>= 1.8.6'
167
+ s.required_rubygems_version = '>= 1.3.2'
168
+ s.add_development_dependency 'minitest', '~> 2.1'
169
+
170
+ s.files = PKG_FILES.to_a
171
+
172
+ s.executables = ["rake"]
173
+
174
+ s.extra_rdoc_files = FileList[
175
+ 'README.rdoc',
176
+ 'MIT-LICENSE',
177
+ 'TODO',
178
+ 'CHANGES',
179
+ 'doc/**/*.rdoc'
180
+ ]
181
+
182
+ s.rdoc_options = BASE_RDOC_OPTIONS
183
+
184
+ s.author = "Jim Weirich"
185
+ s.email = "jim@weirichhouse.org"
186
+ s.homepage = "http://rake.rubyforge.org"
187
+ s.rubyforge_project = "rake"
188
+ end
189
+
190
+ Gem::PackageTask.new(SPEC) do |pkg|
191
+ pkg.need_zip = true
192
+ pkg.need_tar = true
193
+ end
194
+
195
+ file "rake.gemspec" => ["Rakefile", "lib/rake.rb"] do |t|
196
+ require 'yaml'
197
+ open(t.name, "w") { |f| f.puts SPEC.to_yaml }
198
+ end
199
+
200
+ desc "Create a stand-alone gemspec"
201
+ task :gemspec => "rake.gemspec"
202
+ end
203
+
204
+ # Misc tasks =========================================================
205
+
206
+ def count_lines(filename)
207
+ lines = 0
208
+ codelines = 0
209
+ open(filename) { |f|
210
+ f.each do |line|
211
+ lines += 1
212
+ next if line =~ /^\s*$/
213
+ next if line =~ /^\s*#/
214
+ codelines += 1
215
+ end
216
+ }
217
+ [lines, codelines]
218
+ end
219
+
220
+ def show_line(msg, lines, loc)
221
+ printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
222
+ end
223
+
224
+ desc "Count lines in the main rake file"
225
+ task :lines do
226
+ total_lines = 0
227
+ total_code = 0
228
+ show_line("File Name", "LINES", "LOC")
229
+ SRC_RB.each do |fn|
230
+ lines, codelines = count_lines(fn)
231
+ show_line(fn, lines, codelines)
232
+ total_lines += lines
233
+ total_code += codelines
234
+ end
235
+ show_line("TOTAL", total_lines, total_code)
236
+ end
237
+
238
+ # Define an optional publish target in an external file. If the
239
+ # publish.rf file is not found, the publish targets won't be defined.
240
+
241
+ load "publish.rf" if File.exist? "publish.rf"
242
+
243
+ # Support Tasks ------------------------------------------------------
244
+
245
+ RUBY_FILES = FileList['**/*.rb'].exclude('pkg')
246
+
247
+ desc "Look for TODO and FIXME tags in the code"
248
+ task :todo do
249
+ RUBY_FILES.egrep(/#.*(FIXME|TODO|TBD)/)
250
+ end
251
+
252
+ desc "List all ruby files"
253
+ task :rubyfiles do
254
+ puts RUBY_FILES
255
+ puts FileList['bin/*'].exclude('bin/*.rb')
256
+ end
257
+ task :rf => :rubyfiles
258
+
259
+ # --------------------------------------------------------------------
260
+ # Creating a release
261
+
262
+ def plugin(plugin_name)
263
+ require "rake/plugins/#{plugin_name}"
264
+ end
265
+
266
+ task :noop
267
+ #plugin "release_manager"
268
+
269
+ desc "Make a new release"
270
+ task :release, [:rel, :reuse, :reltest] => [
271
+ :prerelease,
272
+ :clobber,
273
+ :test,
274
+ :update_version,
275
+ :package,
276
+ :tag
277
+ ] do
278
+ announce
279
+ announce "**************************************************************"
280
+ announce "* Release #{$package_version} Complete."
281
+ announce "* Packages ready to upload."
282
+ announce "**************************************************************"
283
+ announce
284
+ end
285
+
286
+ # Validate that everything is ready to go for a release.
287
+ task :prerelease, :rel, :reuse, :reltest do |t, args|
288
+ $package_version = args.rel
289
+ announce
290
+ announce "**************************************************************"
291
+ announce "* Making RubyGem Release #{$package_version}"
292
+ announce "* (current version #{CURRENT_VERSION})"
293
+ announce "**************************************************************"
294
+ announce
295
+
296
+ # Is a release number supplied?
297
+ unless args.rel
298
+ fail "Usage: rake release[X.Y.Z] [REUSE=tag_suffix]"
299
+ end
300
+
301
+ # Is the release different than the current release.
302
+ # (or is REUSE set?)
303
+ if $package_version == CURRENT_VERSION && ! args.reuse
304
+ fail "Current version is #{$package_version}, must specify REUSE=tag_suffix to reuse version"
305
+ end
306
+
307
+ # Are all source files checked in?
308
+ if args.reltest
309
+ announce "Release Task Testing, skipping checked-in file test"
310
+ else
311
+ announce "Checking for unchecked-in files..."
312
+ data = `svn st`
313
+ unless data =~ /^$/
314
+ abort "svn status is not clean ... do you have unchecked-in files?"
315
+ end
316
+ announce "No outstanding checkins found ... OK"
317
+ end
318
+ end
319
+
320
+ task :update_version, [:rel, :reuse, :reltest] => [:prerelease] do |t, args|
321
+ if args.rel == CURRENT_VERSION
322
+ announce "No version change ... skipping version update"
323
+ else
324
+ announce "Updating Rake version to #{args.rel}"
325
+ open("lib/rake.rb") do |rakein|
326
+ open("lib/rake.rb.new", "w") do |rakeout|
327
+ rakein.each do |line|
328
+ if line =~ /^RAKEVERSION\s*=\s*/
329
+ rakeout.puts "RAKEVERSION = '#{args.rel}'"
330
+ else
331
+ rakeout.puts line
332
+ end
333
+ end
334
+ end
335
+ end
336
+ mv "lib/rake.rb.new", "lib/rake.rb"
337
+ if args.reltest
338
+ announce "Release Task Testing, skipping commiting of new version"
339
+ else
340
+ sh %{svn commit -m "Updated to version #{args.rel}" lib/rake.rb} # "
341
+ end
342
+ end
343
+ end
344
+
345
+ desc "Tag all the CVS files with the latest release number (REL=x.y.z)"
346
+ task :tag, [:rel, :reuse, :reltest] => [:prerelease] do |t, args|
347
+ reltag = "REL_#{args.rel.gsub(/\./, '_')}"
348
+ reltag << args.reuse.gsub(/\./, '_') if args.reuse
349
+ announce "Tagging Repository with [#{reltag}]"
350
+ if args.reltest
351
+ announce "Release Task Testing, skipping CVS tagging"
352
+ else
353
+ sh %{svn copy svn+ssh://rubyforge.org/var/svn/rake/trunk svn+ssh://rubyforge.org/var/svn/rake/tags/#{reltag} -m 'Commiting release #{reltag}'} ###'
354
+ end
355
+ end
356
+
357
+ # Require experimental XForge/Metaproject support.
358
+
359
+ load 'xforge.rf' if File.exist?('xforge.rf')
360
+
361
+ desc "Where is the current directory. This task displays\nthe current rake directory"
362
+ task :where_am_i do
363
+ puts Rake.original_dir
364
+ end
365
+
366
+ task :failure => :really_fail
367
+ task :really_fail do
368
+ fail "oops"
369
+ end