bundle_depot 0.0.1

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 (297) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/Gemfile +4 -0
  4. data/Gemfile.lock +54 -0
  5. data/LICENSE.txt +22 -0
  6. data/README.md +29 -0
  7. data/Rakefile +1 -0
  8. data/bin/bundle-depot +6 -0
  9. data/bundle_depot.gemspec +27 -0
  10. data/config/cucumber.yml +7 -0
  11. data/features/cli.feature +59 -0
  12. data/features/fetch.feature +60 -0
  13. data/features/step_definitions/cli_steps.rb +19 -0
  14. data/features/step_definitions/store_steps.rb +58 -0
  15. data/features/store.feature +30 -0
  16. data/features/support/capture_output.rb +49 -0
  17. data/features/support/env.rb +42 -0
  18. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/build_info/json_pure-1.8.1.info +1 -0
  19. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/cache/json_pure-1.8.1.gem +0 -0
  20. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/.gitignore +13 -0
  21. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/.travis.yml +20 -0
  22. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/CHANGES +284 -0
  23. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/COPYING +58 -0
  24. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/COPYING-json-jruby +57 -0
  25. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/GPL +340 -0
  26. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/Gemfile +11 -0
  27. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/README-json-jruby.markdown +33 -0
  28. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/README.rdoc +358 -0
  29. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/Rakefile +412 -0
  30. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/TODO +1 -0
  31. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/VERSION +1 -0
  32. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/data/example.json +1 -0
  33. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/data/index.html +38 -0
  34. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/data/prototype.js +4184 -0
  35. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/diagrams/.keep +0 -0
  36. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/fbuffer/fbuffer.h +181 -0
  37. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/generator/depend +1 -0
  38. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/generator/extconf.rb +14 -0
  39. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/generator/generator.c +1435 -0
  40. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/generator/generator.h +148 -0
  41. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/parser/depend +1 -0
  42. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/parser/extconf.rb +13 -0
  43. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/parser/parser.c +2204 -0
  44. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/parser/parser.h +77 -0
  45. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/ext/json/ext/parser/parser.rl +927 -0
  46. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/install.rb +23 -0
  47. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/ByteListTranscoder.java +167 -0
  48. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/Generator.java +444 -0
  49. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/GeneratorMethods.java +232 -0
  50. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/GeneratorService.java +43 -0
  51. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/GeneratorState.java +543 -0
  52. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/OptionsReader.java +114 -0
  53. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/Parser.java +2644 -0
  54. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/Parser.rl +968 -0
  55. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/ParserService.java +35 -0
  56. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/RuntimeInfo.java +121 -0
  57. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/StringDecoder.java +167 -0
  58. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/StringEncoder.java +106 -0
  59. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/java/src/json/ext/Utils.java +89 -0
  60. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/json-java.gemspec +23 -0
  61. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/json.gemspec +38 -0
  62. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/json_pure.gemspec +40 -0
  63. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/bigdecimal.rb +28 -0
  64. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/complex.rb +22 -0
  65. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/core.rb +11 -0
  66. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/date.rb +34 -0
  67. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/date_time.rb +50 -0
  68. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/exception.rb +31 -0
  69. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/ostruct.rb +31 -0
  70. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/range.rb +29 -0
  71. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/rational.rb +22 -0
  72. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/regexp.rb +30 -0
  73. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/struct.rb +30 -0
  74. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/symbol.rb +25 -0
  75. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/add/time.rb +38 -0
  76. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/common.rb +484 -0
  77. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/ext/.keep +0 -0
  78. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/ext.rb +21 -0
  79. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/generic_object.rb +70 -0
  80. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/pure/generator.rb +522 -0
  81. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/pure/parser.rb +359 -0
  82. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/pure.rb +21 -0
  83. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json/version.rb +8 -0
  84. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/lib/json.rb +62 -0
  85. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail1.json +1 -0
  86. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail10.json +1 -0
  87. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail11.json +1 -0
  88. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail12.json +1 -0
  89. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail13.json +1 -0
  90. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail14.json +1 -0
  91. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail18.json +1 -0
  92. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail19.json +1 -0
  93. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail2.json +1 -0
  94. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail20.json +1 -0
  95. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail21.json +1 -0
  96. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail22.json +1 -0
  97. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail23.json +1 -0
  98. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail24.json +1 -0
  99. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail25.json +1 -0
  100. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail27.json +2 -0
  101. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail28.json +2 -0
  102. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail3.json +1 -0
  103. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail4.json +1 -0
  104. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail5.json +1 -0
  105. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail6.json +1 -0
  106. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail7.json +1 -0
  107. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail8.json +1 -0
  108. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/fail9.json +1 -0
  109. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass1.json +56 -0
  110. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass15.json +1 -0
  111. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass16.json +1 -0
  112. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass17.json +1 -0
  113. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass2.json +1 -0
  114. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass26.json +1 -0
  115. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/fixtures/pass3.json +6 -0
  116. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/setup_variant.rb +11 -0
  117. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json.rb +545 -0
  118. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_addition.rb +196 -0
  119. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_encoding.rb +65 -0
  120. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_fixtures.rb +35 -0
  121. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_generate.rb +322 -0
  122. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_generic_object.rb +75 -0
  123. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_string_matching.rb +39 -0
  124. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tests/test_json_unicode.rb +72 -0
  125. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tools/fuzz.rb +139 -0
  126. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/gems/json_pure-1.8.1/tools/server.rb +62 -0
  127. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c/ruby/2.0.0/specifications/json_pure-1.8.1.gemspec +38 -0
  128. data/fixtures/bundle/json/bde95daa2ce7dede336b4367b9e3a0690027bd6f071e0fdcb1b3047cf988963c.tar.gz +0 -0
  129. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/build_info/rake-10.1.0.info +1 -0
  130. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/cache/rake-10.1.0.gem +0 -0
  131. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/.gemtest +0 -0
  132. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/CHANGES +530 -0
  133. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/MIT-LICENSE +21 -0
  134. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/README.rdoc +187 -0
  135. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/Rakefile +375 -0
  136. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/TODO +21 -0
  137. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/command_line_usage.rdoc +152 -0
  138. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/example/Rakefile1 +38 -0
  139. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/example/Rakefile2 +35 -0
  140. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/example/a.c +6 -0
  141. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/example/b.c +6 -0
  142. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/example/main.c +11 -0
  143. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/glossary.rdoc +51 -0
  144. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/jamis.rb +591 -0
  145. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/proto_rake.rdoc +127 -0
  146. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/rake.1.gz +0 -0
  147. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/rakefile.rdoc +617 -0
  148. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/rational.rdoc +151 -0
  149. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.4.14.rdoc +23 -0
  150. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.4.15.rdoc +35 -0
  151. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.5.0.rdoc +53 -0
  152. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.5.3.rdoc +78 -0
  153. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.5.4.rdoc +46 -0
  154. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.6.0.rdoc +141 -0
  155. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.7.0.rdoc +119 -0
  156. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.7.1.rdoc +59 -0
  157. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.7.2.rdoc +121 -0
  158. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.7.3.rdoc +47 -0
  159. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.0.rdoc +114 -0
  160. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.2.rdoc +165 -0
  161. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.3.rdoc +112 -0
  162. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.4.rdoc +147 -0
  163. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.5.rdoc +53 -0
  164. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.6.rdoc +55 -0
  165. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.8.7.rdoc +55 -0
  166. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.0.rdoc +112 -0
  167. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.1.rdoc +52 -0
  168. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.2.2.rdoc +55 -0
  169. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.2.rdoc +49 -0
  170. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.3.rdoc +102 -0
  171. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.4.rdoc +110 -0
  172. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.5.rdoc +114 -0
  173. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-0.9.6.rdoc +127 -0
  174. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-10.0.0.rdoc +178 -0
  175. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-10.0.1.rdoc +187 -0
  176. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-10.0.2.rdoc +191 -0
  177. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-10.0.3.rdoc +191 -0
  178. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/doc/release_notes/rake-10.1.0.rdoc +61 -0
  179. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/install.rb +80 -0
  180. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/alt_system.rb +108 -0
  181. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/application.rb +728 -0
  182. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/backtrace.rb +20 -0
  183. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/clean.rb +55 -0
  184. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/cloneable.rb +16 -0
  185. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/compositepublisher.rb +21 -0
  186. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/ftptools.rb +139 -0
  187. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/publisher.rb +73 -0
  188. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  189. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/sshpublisher.rb +50 -0
  190. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/contrib/sys.rb +2 -0
  191. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/default_loader.rb +10 -0
  192. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/dsl_definition.rb +157 -0
  193. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/early_time.rb +18 -0
  194. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/ext/core.rb +28 -0
  195. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/ext/module.rb +0 -0
  196. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/ext/string.rb +166 -0
  197. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/ext/time.rb +15 -0
  198. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/file_creation_task.rb +24 -0
  199. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/file_list.rb +416 -0
  200. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/file_task.rb +46 -0
  201. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/file_utils.rb +116 -0
  202. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/file_utils_ext.rb +144 -0
  203. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/gempackagetask.rb +2 -0
  204. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/invocation_chain.rb +57 -0
  205. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/invocation_exception_mixin.rb +16 -0
  206. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/linked_list.rb +103 -0
  207. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/loaders/makefile.rb +40 -0
  208. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/multi_task.rb +13 -0
  209. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/name_space.rb +25 -0
  210. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/packagetask.rb +190 -0
  211. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/pathmap.rb +1 -0
  212. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/phony.rb +15 -0
  213. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/private_reader.rb +20 -0
  214. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/promise.rb +99 -0
  215. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/pseudo_status.rb +29 -0
  216. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rake_module.rb +37 -0
  217. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rake_test_loader.rb +22 -0
  218. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rdoctask.rb +2 -0
  219. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/ruby182_test_unit_fix.rb +27 -0
  220. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/rule_recursion_overflow_error.rb +20 -0
  221. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/runtest.rb +22 -0
  222. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/scope.rb +42 -0
  223. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task.rb +378 -0
  224. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task_argument_error.rb +7 -0
  225. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task_arguments.rb +89 -0
  226. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/task_manager.rb +297 -0
  227. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/tasklib.rb +22 -0
  228. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/testtask.rb +201 -0
  229. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/thread_history_display.rb +48 -0
  230. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/thread_pool.rb +161 -0
  231. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/trace_output.rb +22 -0
  232. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/version.rb +9 -0
  233. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake/win32.rb +56 -0
  234. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/lib/rake.rb +73 -0
  235. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/file_creation.rb +34 -0
  236. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/helper.rb +128 -0
  237. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/support/rakefile_definitions.rb +444 -0
  238. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/support/ruby_runner.rb +33 -0
  239. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_private_reader.rb +42 -0
  240. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake.rb +40 -0
  241. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_application.rb +517 -0
  242. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_application_options.rb +457 -0
  243. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_backtrace.rb +113 -0
  244. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_clean.rb +46 -0
  245. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_definitions.rb +79 -0
  246. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_directory_task.rb +57 -0
  247. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_dsl.rb +40 -0
  248. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_early_time.rb +31 -0
  249. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_extension.rb +59 -0
  250. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_file_creation_task.rb +56 -0
  251. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_file_list.rb +627 -0
  252. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_file_list_path_map.rb +8 -0
  253. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_file_task.rb +122 -0
  254. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_file_utils.rb +309 -0
  255. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_ftp_file.rb +74 -0
  256. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_functional.rb +466 -0
  257. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_invocation_chain.rb +64 -0
  258. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_linked_list.rb +84 -0
  259. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_makefile_loader.rb +46 -0
  260. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_multi_task.rb +58 -0
  261. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_name_space.rb +43 -0
  262. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_package_task.rb +79 -0
  263. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_path_map.rb +168 -0
  264. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_path_map_explode.rb +34 -0
  265. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_path_map_partial.rb +18 -0
  266. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_pseudo_status.rb +21 -0
  267. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_rake_test_loader.rb +20 -0
  268. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_reduce_compat.rb +26 -0
  269. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_require.rb +40 -0
  270. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_rules.rb +362 -0
  271. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_scope.rb +44 -0
  272. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task.rb +376 -0
  273. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_argument_parsing.rb +103 -0
  274. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_arguments.rb +121 -0
  275. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_lib.rb +9 -0
  276. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_manager.rb +158 -0
  277. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_manager_argument_resolution.rb +19 -0
  278. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_task_with_arguments.rb +171 -0
  279. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_test_task.rb +119 -0
  280. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_thread_pool.rb +142 -0
  281. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_top_level_functions.rb +71 -0
  282. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_rake_win32.rb +72 -0
  283. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_thread_history_display.rb +101 -0
  284. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/gems/rake-10.1.0/test/test_trace_output.rb +52 -0
  285. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d/ruby/2.0.0/specifications/rake-10.1.0.gemspec +35 -0
  286. data/fixtures/bundle/rake/4c3a94088cd7bd0ac6b190c7f40a19c809356cda7fbd7dd8860ed3155b8e5c3d.tar.gz +0 -0
  287. data/fixtures/project/json/Gemfile +3 -0
  288. data/fixtures/project/json/Gemfile.lock +10 -0
  289. data/fixtures/project/json/vendor/cache/json_pure-1.8.1.gem +0 -0
  290. data/fixtures/project/rake/Gemfile +3 -0
  291. data/fixtures/project/rake/Gemfile.lock +10 -0
  292. data/fixtures/project/rake/vendor/cache/rake-10.1.0.gem +0 -0
  293. data/lib/bundle_depot/cache.rb +136 -0
  294. data/lib/bundle_depot/cli.rb +51 -0
  295. data/lib/bundle_depot/version.rb +3 -0
  296. data/lib/bundle_depot.rb +6 -0
  297. metadata +417 -0
@@ -0,0 +1,297 @@
1
+ module Rake
2
+
3
+ # The TaskManager module is a mixin for managing tasks.
4
+ module TaskManager
5
+ # Track the last comment made in the Rakefile.
6
+ attr_accessor :last_description
7
+ alias :last_comment :last_description # Backwards compatibility
8
+
9
+ def initialize
10
+ super
11
+ @tasks = Hash.new
12
+ @rules = Array.new
13
+ @scope = Scope.make
14
+ @last_description = nil
15
+ end
16
+
17
+ def create_rule(*args, &block)
18
+ pattern, args, deps = resolve_args(args)
19
+ pattern = Regexp.new(Regexp.quote(pattern) + '$') if String === pattern
20
+ @rules << [pattern, args, deps, block]
21
+ end
22
+
23
+ def define_task(task_class, *args, &block)
24
+ task_name, arg_names, deps = resolve_args(args)
25
+ task_name = task_class.scope_name(@scope, task_name)
26
+ deps = [deps] unless deps.respond_to?(:to_ary)
27
+ deps = deps.map { |d| d.to_s }
28
+ task = intern(task_class, task_name)
29
+ task.set_arg_names(arg_names) unless arg_names.empty?
30
+ if Rake::TaskManager.record_task_metadata
31
+ add_location(task)
32
+ task.add_description(get_description(task))
33
+ end
34
+ task.enhance(deps, &block)
35
+ end
36
+
37
+ # Lookup a task. Return an existing task if found, otherwise
38
+ # create a task of the current type.
39
+ def intern(task_class, task_name)
40
+ @tasks[task_name.to_s] ||= task_class.new(task_name, self)
41
+ end
42
+
43
+ # Find a matching task for +task_name+.
44
+ def [](task_name, scopes=nil)
45
+ task_name = task_name.to_s
46
+ self.lookup(task_name, scopes) or
47
+ enhance_with_matching_rule(task_name) or
48
+ synthesize_file_task(task_name) or
49
+ fail "Don't know how to build task '#{task_name}'"
50
+ end
51
+
52
+ def synthesize_file_task(task_name)
53
+ return nil unless File.exist?(task_name)
54
+ define_task(Rake::FileTask, task_name)
55
+ end
56
+
57
+ # Resolve the arguments for a task/rule. Returns a triplet of
58
+ # [task_name, arg_name_list, prerequisites].
59
+ def resolve_args(args)
60
+ if args.last.is_a?(Hash)
61
+ deps = args.pop
62
+ resolve_args_with_dependencies(args, deps)
63
+ else
64
+ resolve_args_without_dependencies(args)
65
+ end
66
+ end
67
+
68
+ # Resolve task arguments for a task or rule when there are no
69
+ # dependencies declared.
70
+ #
71
+ # The patterns recognized by this argument resolving function are:
72
+ #
73
+ # task :t
74
+ # task :t, [:a]
75
+ #
76
+ def resolve_args_without_dependencies(args)
77
+ task_name = args.shift
78
+ if args.size == 1 && args.first.respond_to?(:to_ary)
79
+ arg_names = args.first.to_ary
80
+ else
81
+ arg_names = args
82
+ end
83
+ [task_name, arg_names, []]
84
+ end
85
+ private :resolve_args_without_dependencies
86
+
87
+ # Resolve task arguments for a task or rule when there are
88
+ # dependencies declared.
89
+ #
90
+ # The patterns recognized by this argument resolving function are:
91
+ #
92
+ # task :t => [:d]
93
+ # task :t, [a] => [:d]
94
+ #
95
+ def resolve_args_with_dependencies(args, hash) # :nodoc:
96
+ fail "Task Argument Error" if hash.size != 1
97
+ key, value = hash.map { |k, v| [k, v] }.first
98
+ if args.empty?
99
+ task_name = key
100
+ arg_names = []
101
+ deps = value
102
+ else
103
+ task_name = args.shift
104
+ arg_names = key
105
+ deps = value
106
+ end
107
+ deps = [deps] unless deps.respond_to?(:to_ary)
108
+ [task_name, arg_names, deps]
109
+ end
110
+ private :resolve_args_with_dependencies
111
+
112
+ # If a rule can be found that matches the task name, enhance the
113
+ # task with the prerequisites and actions from the rule. Set the
114
+ # source attribute of the task appropriately for the rule. Return
115
+ # the enhanced task or nil of no rule was found.
116
+ def enhance_with_matching_rule(task_name, level=0)
117
+ fail Rake::RuleRecursionOverflowError,
118
+ "Rule Recursion Too Deep" if level >= 16
119
+ @rules.each do |pattern, args, extensions, block|
120
+ if pattern.match(task_name)
121
+ task = attempt_rule(task_name, args, extensions, block, level)
122
+ return task if task
123
+ end
124
+ end
125
+ nil
126
+ rescue Rake::RuleRecursionOverflowError => ex
127
+ ex.add_target(task_name)
128
+ fail ex
129
+ end
130
+
131
+ # List of all defined tasks in this application.
132
+ def tasks
133
+ @tasks.values.sort_by { |t| t.name }
134
+ end
135
+
136
+ # List of all the tasks defined in the given scope (and its
137
+ # sub-scopes).
138
+ def tasks_in_scope(scope)
139
+ prefix = scope.path
140
+ tasks.select { |t|
141
+ /^#{prefix}:/ =~ t.name
142
+ }
143
+ end
144
+
145
+ # Clear all tasks in this application.
146
+ def clear
147
+ @tasks.clear
148
+ @rules.clear
149
+ end
150
+
151
+ # Lookup a task, using scope and the scope hints in the task name.
152
+ # This method performs straight lookups without trying to
153
+ # synthesize file tasks or rules. Special scope names (e.g. '^')
154
+ # are recognized. If no scope argument is supplied, use the
155
+ # current scope. Return nil if the task cannot be found.
156
+ def lookup(task_name, initial_scope=nil)
157
+ initial_scope ||= @scope
158
+ task_name = task_name.to_s
159
+ if task_name =~ /^rake:/
160
+ scopes = Scope.make
161
+ task_name = task_name.sub(/^rake:/, '')
162
+ elsif task_name =~ /^(\^+)/
163
+ scopes = initial_scope.trim($1.size)
164
+ task_name = task_name.sub(/^(\^+)/, '')
165
+ else
166
+ scopes = initial_scope
167
+ end
168
+ lookup_in_scope(task_name, scopes)
169
+ end
170
+
171
+ # Lookup the task name
172
+ def lookup_in_scope(name, scope)
173
+ loop do
174
+ tn = scope.path_with_task_name(name)
175
+ task = @tasks[tn]
176
+ return task if task
177
+ break if scope.empty?
178
+ scope = scope.tail
179
+ end
180
+ nil
181
+ end
182
+ private :lookup_in_scope
183
+
184
+ # Return the list of scope names currently active in the task
185
+ # manager.
186
+ def current_scope
187
+ @scope
188
+ end
189
+
190
+ # Evaluate the block in a nested namespace named +name+. Create
191
+ # an anonymous namespace if +name+ is nil.
192
+ def in_namespace(name)
193
+ name ||= generate_name
194
+ @scope = Scope.new(name, @scope)
195
+ ns = NameSpace.new(self, @scope)
196
+ yield(ns)
197
+ ns
198
+ ensure
199
+ @scope = @scope.tail
200
+ end
201
+
202
+ private
203
+
204
+ # Add a location to the locations field of the given task.
205
+ def add_location(task)
206
+ loc = find_location
207
+ task.locations << loc if loc
208
+ task
209
+ end
210
+
211
+ # Find the location that called into the dsl layer.
212
+ def find_location
213
+ locations = caller
214
+ i = 0
215
+ while locations[i]
216
+ return locations[i + 1] if locations[i] =~ /rake\/dsl_definition.rb/
217
+ i += 1
218
+ end
219
+ nil
220
+ end
221
+
222
+ # Generate an anonymous namespace name.
223
+ def generate_name
224
+ @seed ||= 0
225
+ @seed += 1
226
+ "_anon_#{@seed}"
227
+ end
228
+
229
+ def trace_rule(level, message)
230
+ options.trace_output.puts "#{" " * level}#{message}" if
231
+ Rake.application.options.trace_rules
232
+ end
233
+
234
+ # Attempt to create a rule given the list of prerequisites.
235
+ def attempt_rule(task_name, args, extensions, block, level)
236
+ sources = make_sources(task_name, extensions)
237
+ prereqs = sources.map { |source|
238
+ trace_rule level, "Attempting Rule #{task_name} => #{source}"
239
+ if File.exist?(source) || Rake::Task.task_defined?(source)
240
+ trace_rule level, "(#{task_name} => #{source} ... EXIST)"
241
+ source
242
+ elsif parent = enhance_with_matching_rule(source, level + 1)
243
+ trace_rule level, "(#{task_name} => #{source} ... ENHANCE)"
244
+ parent.name
245
+ else
246
+ trace_rule level, "(#{task_name} => #{source} ... FAIL)"
247
+ return nil
248
+ end
249
+ }
250
+ task = FileTask.define_task(task_name, {args => prereqs}, &block)
251
+ task.sources = prereqs
252
+ task
253
+ end
254
+
255
+ # Make a list of sources from the list of file name extensions /
256
+ # translation procs.
257
+ def make_sources(task_name, extensions)
258
+ result = extensions.map { |ext|
259
+ case ext
260
+ when /%/
261
+ task_name.pathmap(ext)
262
+ when %r{/}
263
+ ext
264
+ when /^\./
265
+ task_name.ext(ext)
266
+ when String
267
+ ext
268
+ when Proc
269
+ if ext.arity == 1
270
+ ext.call(task_name)
271
+ else
272
+ ext.call
273
+ end
274
+ else
275
+ fail "Don't know how to handle rule dependent: #{ext.inspect}"
276
+ end
277
+ }
278
+ result.flatten
279
+ end
280
+
281
+
282
+ private
283
+
284
+ # Return the current description, clearing it in the process.
285
+ def get_description(task)
286
+ desc = @last_description
287
+ @last_description = nil
288
+ desc
289
+ end
290
+
291
+ class << self
292
+ attr_accessor :record_task_metadata
293
+ TaskManager.record_task_metadata = false
294
+ end
295
+ end
296
+
297
+ end
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+
3
+ module Rake
4
+
5
+ # Base class for Task Libraries.
6
+ class TaskLib
7
+ include Cloneable
8
+ include Rake::DSL
9
+
10
+ # Make a symbol by pasting two strings together.
11
+ #
12
+ # NOTE: DEPRECATED! This method is kinda stupid. I don't know why
13
+ # I didn't just use string interpolation. But now other task
14
+ # libraries depend on this so I can't remove it without breaking
15
+ # other people's code. So for now it stays for backwards
16
+ # compatibility. BUT DON'T USE IT.
17
+ def paste(a, b) # :nodoc:
18
+ (a.to_s + b.to_s).intern
19
+ end
20
+ end
21
+
22
+ end
@@ -0,0 +1,201 @@
1
+ # Define a task library for running unit tests.
2
+
3
+ require 'rake'
4
+ require 'rake/tasklib'
5
+
6
+ module Rake
7
+
8
+ # Create a task that runs a set of tests.
9
+ #
10
+ # Example:
11
+ #
12
+ # Rake::TestTask.new do |t|
13
+ # t.libs << "test"
14
+ # t.test_files = FileList['test/test*.rb']
15
+ # t.verbose = true
16
+ # end
17
+ #
18
+ # If rake is invoked with a "TEST=filename" command line option,
19
+ # then the list of test files will be overridden to include only the
20
+ # filename specified on the command line. This provides an easy way
21
+ # to run just one test.
22
+ #
23
+ # If rake is invoked with a "TESTOPTS=options" command line option,
24
+ # then the given options are passed to the test process after a
25
+ # '--'. This allows Test::Unit options to be passed to the test
26
+ # suite.
27
+ #
28
+ # Examples:
29
+ #
30
+ # rake test # run tests normally
31
+ # rake test TEST=just_one_file.rb # run just one test file.
32
+ # rake test TESTOPTS="-v" # run in verbose mode
33
+ # rake test TESTOPTS="--runner=fox" # use the fox test runner
34
+ #
35
+ class TestTask < TaskLib
36
+
37
+ # Name of test task. (default is :test)
38
+ attr_accessor :name
39
+
40
+ # List of directories to added to $LOAD_PATH before running the
41
+ # tests. (default is 'lib')
42
+ attr_accessor :libs
43
+
44
+ # True if verbose test output desired. (default is false)
45
+ attr_accessor :verbose
46
+
47
+ # Test options passed to the test suite. An explicit
48
+ # TESTOPTS=opts on the command line will override this. (default
49
+ # is NONE)
50
+ attr_accessor :options
51
+
52
+ # Request that the tests be run with the warning flag set.
53
+ # E.g. warning=true implies "ruby -w" used to run the tests.
54
+ attr_accessor :warning
55
+
56
+ # Glob pattern to match test files. (default is 'test/test*.rb')
57
+ attr_accessor :pattern
58
+
59
+ # Style of test loader to use. Options are:
60
+ #
61
+ # * :rake -- Rake provided test loading script (default).
62
+ # * :testrb -- Ruby provided test loading script.
63
+ # * :direct -- Load tests using command line loader.
64
+ #
65
+ attr_accessor :loader
66
+
67
+ # Array of commandline options to pass to ruby when running test loader.
68
+ attr_accessor :ruby_opts
69
+
70
+ # Explicitly define the list of test files to be included in a
71
+ # test. +list+ is expected to be an array of file names (a
72
+ # FileList is acceptable). If both +pattern+ and +test_files+ are
73
+ # used, then the list of test files is the union of the two.
74
+ def test_files=(list)
75
+ @test_files = list
76
+ end
77
+
78
+ # Create a testing task.
79
+ def initialize(name=:test)
80
+ @name = name
81
+ @libs = ["lib"]
82
+ @pattern = nil
83
+ @options = nil
84
+ @test_files = nil
85
+ @verbose = false
86
+ @warning = false
87
+ @loader = :rake
88
+ @ruby_opts = []
89
+ yield self if block_given?
90
+ @pattern = 'test/test*.rb' if @pattern.nil? && @test_files.nil?
91
+ define
92
+ end
93
+
94
+ # Create the tasks defined by this task lib.
95
+ def define
96
+ desc "Run tests" + (@name == :test ? "" : " for #{@name}")
97
+ task @name do
98
+ FileUtilsExt.verbose(@verbose) do
99
+ args =
100
+ "#{ruby_opts_string} #{run_code} " +
101
+ "#{file_list_string} #{option_list}"
102
+ ruby args do |ok, status|
103
+ if !ok && status.respond_to?(:signaled?) && status.signaled?
104
+ raise SignalException.new(status.termsig)
105
+ elsif !ok
106
+ fail "Command failed with status (#{status.exitstatus}): " +
107
+ "[ruby #{args}]"
108
+ end
109
+ end
110
+ end
111
+ end
112
+ self
113
+ end
114
+
115
+ def option_list # :nodoc:
116
+ (ENV['TESTOPTS'] ||
117
+ ENV['TESTOPT'] ||
118
+ ENV['TEST_OPTS'] ||
119
+ ENV['TEST_OPT'] ||
120
+ @options ||
121
+ "")
122
+ end
123
+
124
+ def ruby_opts_string
125
+ opts = @ruby_opts.dup
126
+ opts.unshift("-I\"#{lib_path}\"") unless @libs.empty?
127
+ opts.unshift("-w") if @warning
128
+ opts.join(" ")
129
+ end
130
+
131
+ def lib_path
132
+ @libs.join(File::PATH_SEPARATOR)
133
+ end
134
+
135
+ def file_list_string
136
+ file_list.map { |fn| "\"#{fn}\"" }.join(' ')
137
+ end
138
+
139
+ def file_list # :nodoc:
140
+ if ENV['TEST']
141
+ FileList[ENV['TEST']]
142
+ else
143
+ result = []
144
+ result += @test_files.to_a if @test_files
145
+ result << @pattern if @pattern
146
+ result
147
+ end
148
+ end
149
+
150
+ def fix # :nodoc:
151
+ case ruby_version
152
+ when '1.8.2'
153
+ "\"#{find_file 'rake/ruby182_test_unit_fix'}\""
154
+ else
155
+ nil
156
+ end || ''
157
+ end
158
+
159
+ def ruby_version
160
+ RUBY_VERSION
161
+ end
162
+
163
+ def run_code
164
+ case @loader
165
+ when :direct
166
+ "-e \"ARGV.each{|f| require f}\""
167
+ when :testrb
168
+ "-S testrb #{fix}"
169
+ when :rake
170
+ "-I\"#{rake_lib_dir}\" \"#{rake_loader}\""
171
+ end
172
+ end
173
+
174
+ def rake_loader # :nodoc:
175
+ find_file('rake/rake_test_loader') or
176
+ fail "unable to find rake test loader"
177
+ end
178
+
179
+ def find_file(fn) # :nodoc:
180
+ $LOAD_PATH.each do |path|
181
+ file_path = File.join(path, "#{fn}.rb")
182
+ return file_path if File.exist? file_path
183
+ end
184
+ nil
185
+ end
186
+
187
+ def rake_lib_dir # :nodoc:
188
+ find_dir('rake') or
189
+ fail "unable to find rake lib"
190
+ end
191
+
192
+ def find_dir(fn) # :nodoc:
193
+ $LOAD_PATH.each do |path|
194
+ file_path = File.join(path, "#{fn}.rb")
195
+ return path if File.exist? file_path
196
+ end
197
+ nil
198
+ end
199
+
200
+ end
201
+ end
@@ -0,0 +1,48 @@
1
+ require 'rake/private_reader'
2
+
3
+ module Rake
4
+
5
+ class ThreadHistoryDisplay # :nodoc: all
6
+ include Rake::PrivateReader
7
+
8
+ private_reader :stats, :items, :threads
9
+
10
+ def initialize(stats)
11
+ @stats = stats
12
+ @items = { :_seq_ => 1 }
13
+ @threads = { :_seq_ => "A" }
14
+ end
15
+
16
+ def show
17
+ puts "Job History:"
18
+ stats.each do |stat|
19
+ stat[:data] ||= {}
20
+ rename(stat, :thread, threads)
21
+ rename(stat[:data], :item_id, items)
22
+ rename(stat[:data], :new_thread, threads)
23
+ rename(stat[:data], :deleted_thread, threads)
24
+ printf("%8d %2s %-20s %s\n",
25
+ (stat[:time] * 1_000_000).round,
26
+ stat[:thread],
27
+ stat[:event],
28
+ stat[:data].map do |k, v| "#{k}:#{v}" end.join(" "))
29
+ end
30
+ end
31
+
32
+ private
33
+
34
+ def rename(hash, key, renames)
35
+ if hash && hash[key]
36
+ original = hash[key]
37
+ value = renames[original]
38
+ unless value
39
+ value = renames[:_seq_]
40
+ renames[:_seq_] = renames[:_seq_].succ
41
+ renames[original] = value
42
+ end
43
+ hash[key] = value
44
+ end
45
+ end
46
+ end
47
+
48
+ end