rubygems-update 2.7.10 → 3.0.0

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

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

Files changed (345) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +66 -0
  3. data/.travis.yml +22 -18
  4. data/CONTRIBUTING.md +141 -0
  5. data/History.txt +291 -14
  6. data/MAINTAINERS.txt +1 -0
  7. data/Manifest.txt +13 -9
  8. data/POLICIES.md +92 -0
  9. data/README.md +47 -26
  10. data/Rakefile +47 -207
  11. data/{UPGRADING.rdoc → UPGRADING.md} +31 -32
  12. data/appveyor.yml +20 -45
  13. data/bin/gem +1 -2
  14. data/bin/update_rubygems +2 -3
  15. data/bundler/CHANGELOG.md +54 -0
  16. data/bundler/bundler.gemspec +7 -1
  17. data/bundler/lib/bundler.rb +26 -8
  18. data/bundler/lib/bundler/build_metadata.rb +2 -2
  19. data/bundler/lib/bundler/cli.rb +63 -21
  20. data/bundler/lib/bundler/cli/add.rb +15 -5
  21. data/bundler/lib/bundler/cli/binstubs.rb +8 -2
  22. data/bundler/lib/bundler/cli/doctor.rb +47 -1
  23. data/bundler/lib/bundler/cli/install.rb +8 -5
  24. data/bundler/lib/bundler/cli/list.rb +41 -5
  25. data/bundler/lib/bundler/cli/outdated.rb +7 -1
  26. data/bundler/lib/bundler/cli/pristine.rb +4 -0
  27. data/bundler/lib/bundler/cli/remove.rb +18 -0
  28. data/bundler/lib/bundler/definition.rb +15 -16
  29. data/bundler/lib/bundler/dependency.rb +2 -2
  30. data/bundler/lib/bundler/dsl.rb +19 -3
  31. data/bundler/lib/bundler/feature_flag.rb +7 -0
  32. data/bundler/lib/bundler/gem_version_promoter.rb +4 -2
  33. data/bundler/lib/bundler/injector.rb +168 -9
  34. data/bundler/lib/bundler/installer.rb +29 -6
  35. data/bundler/lib/bundler/installer/parallel_installer.rb +5 -0
  36. data/bundler/lib/bundler/plugin.rb +10 -3
  37. data/bundler/lib/bundler/plugin/events.rb +61 -0
  38. data/bundler/lib/bundler/resolver.rb +2 -2
  39. data/bundler/lib/bundler/runtime.rb +8 -2
  40. data/bundler/lib/bundler/settings.rb +24 -3
  41. data/bundler/lib/bundler/settings/validator.rb +23 -0
  42. data/bundler/lib/bundler/shared_helpers.rb +19 -3
  43. data/bundler/lib/bundler/source.rb +9 -9
  44. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +1 -0
  45. data/bundler/lib/bundler/version.rb +1 -1
  46. data/bundler/man/bundle-add.ronn +13 -2
  47. data/bundler/man/bundle-config.ronn +21 -0
  48. data/bundler/man/bundle-install.ronn +1 -1
  49. data/bundler/man/bundle-list.ronn +19 -1
  50. data/bundler/man/bundle-outdated.ronn +4 -0
  51. data/bundler/man/bundle-remove.ronn +23 -0
  52. data/bundler/man/bundle-update.ronn +1 -1
  53. data/lib/rubygems.rb +70 -96
  54. data/lib/rubygems/available_set.rb +1 -1
  55. data/lib/rubygems/basic_specification.rb +12 -12
  56. data/lib/rubygems/bundler_version_finder.rb +3 -3
  57. data/lib/rubygems/command.rb +22 -15
  58. data/lib/rubygems/command_manager.rb +20 -11
  59. data/lib/rubygems/commands/build_command.rb +27 -8
  60. data/lib/rubygems/commands/cert_command.rb +45 -24
  61. data/lib/rubygems/commands/check_command.rb +1 -1
  62. data/lib/rubygems/commands/cleanup_command.rb +14 -7
  63. data/lib/rubygems/commands/contents_command.rb +14 -15
  64. data/lib/rubygems/commands/dependency_command.rb +17 -17
  65. data/lib/rubygems/commands/environment_command.rb +20 -1
  66. data/lib/rubygems/commands/fetch_command.rb +2 -3
  67. data/lib/rubygems/commands/generate_index_command.rb +2 -3
  68. data/lib/rubygems/commands/help_command.rb +12 -13
  69. data/lib/rubygems/commands/info_command.rb +33 -0
  70. data/lib/rubygems/commands/install_command.rb +21 -17
  71. data/lib/rubygems/commands/list_command.rb +0 -1
  72. data/lib/rubygems/commands/lock_command.rb +3 -4
  73. data/lib/rubygems/commands/open_command.rb +16 -10
  74. data/lib/rubygems/commands/owner_command.rb +20 -11
  75. data/lib/rubygems/commands/pristine_command.rb +23 -16
  76. data/lib/rubygems/commands/push_command.rb +17 -8
  77. data/lib/rubygems/commands/query_command.rb +24 -24
  78. data/lib/rubygems/commands/rdoc_command.rb +3 -4
  79. data/lib/rubygems/commands/search_command.rb +0 -1
  80. data/lib/rubygems/commands/server_command.rb +1 -2
  81. data/lib/rubygems/commands/setup_command.rb +78 -38
  82. data/lib/rubygems/commands/signin_command.rb +2 -1
  83. data/lib/rubygems/commands/signout_command.rb +2 -2
  84. data/lib/rubygems/commands/sources_command.rb +11 -12
  85. data/lib/rubygems/commands/specification_command.rb +7 -7
  86. data/lib/rubygems/commands/uninstall_command.rb +41 -19
  87. data/lib/rubygems/commands/unpack_command.rb +16 -7
  88. data/lib/rubygems/commands/update_command.rb +28 -23
  89. data/lib/rubygems/commands/which_command.rb +4 -5
  90. data/lib/rubygems/commands/yank_command.rb +1 -2
  91. data/lib/rubygems/compatibility.rb +1 -21
  92. data/lib/rubygems/config_file.rb +36 -36
  93. data/lib/rubygems/core_ext/kernel_require.rb +6 -6
  94. data/lib/rubygems/core_ext/kernel_warn.rb +45 -0
  95. data/lib/rubygems/defaults.rb +31 -12
  96. data/lib/rubygems/dependency.rb +14 -14
  97. data/lib/rubygems/dependency_installer.rb +29 -31
  98. data/lib/rubygems/dependency_list.rb +8 -9
  99. data/lib/rubygems/deprecate.rb +2 -3
  100. data/lib/rubygems/doctor.rb +5 -6
  101. data/lib/rubygems/errors.rb +3 -3
  102. data/lib/rubygems/exceptions.rb +11 -4
  103. data/lib/rubygems/ext.rb +0 -1
  104. data/lib/rubygems/ext/build_error.rb +0 -1
  105. data/lib/rubygems/ext/builder.rb +50 -23
  106. data/lib/rubygems/ext/cmake_builder.rb +2 -2
  107. data/lib/rubygems/ext/configure_builder.rb +2 -3
  108. data/lib/rubygems/ext/ext_conf_builder.rb +8 -7
  109. data/lib/rubygems/ext/rake_builder.rb +16 -18
  110. data/lib/rubygems/gem_runner.rb +2 -2
  111. data/lib/rubygems/gemcutter_utilities.rb +40 -13
  112. data/lib/rubygems/indexer.rb +19 -12
  113. data/lib/rubygems/install_default_message.rb +0 -1
  114. data/lib/rubygems/install_message.rb +0 -1
  115. data/lib/rubygems/install_update_options.rb +2 -28
  116. data/lib/rubygems/installer.rb +95 -75
  117. data/lib/rubygems/installer_test_case.rb +0 -14
  118. data/lib/rubygems/local_remote_options.rb +5 -4
  119. data/lib/rubygems/mock_gem_ui.rb +3 -4
  120. data/lib/rubygems/name_tuple.rb +4 -4
  121. data/lib/rubygems/package.rb +90 -73
  122. data/lib/rubygems/package/digest_io.rb +3 -4
  123. data/lib/rubygems/package/file_source.rb +3 -4
  124. data/lib/rubygems/package/io_source.rb +1 -2
  125. data/lib/rubygems/package/old.rb +8 -16
  126. data/lib/rubygems/package/source.rb +0 -1
  127. data/lib/rubygems/package/tar_header.rb +2 -2
  128. data/lib/rubygems/package/tar_reader.rb +2 -4
  129. data/lib/rubygems/package/tar_reader/entry.rb +20 -4
  130. data/lib/rubygems/package/tar_test_case.rb +2 -8
  131. data/lib/rubygems/package/tar_writer.rb +13 -15
  132. data/lib/rubygems/package_task.rb +0 -1
  133. data/lib/rubygems/path_support.rb +16 -6
  134. data/lib/rubygems/platform.rb +4 -5
  135. data/lib/rubygems/psych_tree.rb +1 -1
  136. data/lib/rubygems/rdoc.rb +0 -311
  137. data/lib/rubygems/remote_fetcher.rb +34 -48
  138. data/lib/rubygems/request.rb +16 -15
  139. data/lib/rubygems/request/connection_pools.rb +24 -13
  140. data/lib/rubygems/request/http_pool.rb +3 -4
  141. data/lib/rubygems/request/https_pool.rb +1 -3
  142. data/lib/rubygems/request_set.rb +52 -25
  143. data/lib/rubygems/request_set/gem_dependency_api.rb +36 -40
  144. data/lib/rubygems/request_set/lockfile.rb +12 -12
  145. data/lib/rubygems/request_set/lockfile/parser.rb +18 -29
  146. data/lib/rubygems/request_set/lockfile/tokenizer.rb +9 -9
  147. data/lib/rubygems/requirement.rb +16 -16
  148. data/lib/rubygems/resolver.rb +10 -15
  149. data/lib/rubygems/resolver/activation_request.rb +6 -6
  150. data/lib/rubygems/resolver/api_set.rb +5 -6
  151. data/lib/rubygems/resolver/api_specification.rb +2 -3
  152. data/lib/rubygems/resolver/best_set.rb +5 -6
  153. data/lib/rubygems/resolver/composed_set.rb +5 -6
  154. data/lib/rubygems/resolver/conflict.rb +5 -5
  155. data/lib/rubygems/resolver/current_set.rb +1 -2
  156. data/lib/rubygems/resolver/dependency_request.rb +4 -4
  157. data/lib/rubygems/resolver/git_set.rb +5 -6
  158. data/lib/rubygems/resolver/git_specification.rb +4 -5
  159. data/lib/rubygems/resolver/index_set.rb +5 -6
  160. data/lib/rubygems/resolver/index_specification.rb +3 -4
  161. data/lib/rubygems/resolver/installed_specification.rb +3 -4
  162. data/lib/rubygems/resolver/installer_set.rb +12 -12
  163. data/lib/rubygems/resolver/local_specification.rb +1 -2
  164. data/lib/rubygems/resolver/lock_set.rb +5 -6
  165. data/lib/rubygems/resolver/lock_specification.rb +7 -8
  166. data/lib/rubygems/resolver/requirement_list.rb +1 -1
  167. data/lib/rubygems/resolver/set.rb +2 -2
  168. data/lib/rubygems/resolver/source_set.rb +4 -5
  169. data/lib/rubygems/resolver/spec_specification.rb +1 -2
  170. data/lib/rubygems/resolver/specification.rb +10 -7
  171. data/lib/rubygems/resolver/stats.rb +1 -1
  172. data/lib/rubygems/resolver/vendor_set.rb +4 -5
  173. data/lib/rubygems/resolver/vendor_specification.rb +2 -3
  174. data/lib/rubygems/safe_yaml.rb +18 -10
  175. data/lib/rubygems/security.rb +21 -22
  176. data/lib/rubygems/security/policies.rb +1 -2
  177. data/lib/rubygems/security/policy.rb +25 -25
  178. data/lib/rubygems/security/signer.rb +72 -24
  179. data/lib/rubygems/security/trust_dir.rb +10 -10
  180. data/lib/rubygems/server.rb +21 -21
  181. data/lib/rubygems/source.rb +16 -25
  182. data/lib/rubygems/source/git.rb +9 -10
  183. data/lib/rubygems/source/installed.rb +3 -4
  184. data/lib/rubygems/source/local.rb +7 -7
  185. data/lib/rubygems/source/lock.rb +4 -4
  186. data/lib/rubygems/source/specific_file.rb +5 -5
  187. data/lib/rubygems/source/vendor.rb +2 -3
  188. data/lib/rubygems/source_list.rb +2 -2
  189. data/lib/rubygems/source_local.rb +0 -1
  190. data/lib/rubygems/spec_fetcher.rb +5 -6
  191. data/lib/rubygems/specification.rb +199 -536
  192. data/lib/rubygems/specification_policy.rb +407 -0
  193. data/lib/rubygems/stub_specification.rb +11 -15
  194. data/lib/rubygems/test_case.rb +141 -66
  195. data/lib/rubygems/test_utilities.rb +20 -35
  196. data/lib/rubygems/text.rb +6 -6
  197. data/lib/rubygems/uninstaller.rb +37 -26
  198. data/lib/rubygems/uri_formatter.rb +1 -2
  199. data/lib/rubygems/user_interaction.rb +38 -93
  200. data/lib/rubygems/util.rb +20 -14
  201. data/lib/rubygems/util/licenses.rb +27 -1
  202. data/lib/rubygems/util/list.rb +1 -1
  203. data/lib/rubygems/validator.rb +4 -5
  204. data/lib/rubygems/version.rb +15 -15
  205. data/lib/rubygems/version_option.rb +2 -3
  206. data/rubygems-update.gemspec +43 -0
  207. data/setup.rb +2 -8
  208. data/test/rubygems/rubygems_plugin.rb +0 -1
  209. data/test/rubygems/simple_gem.rb +1 -1
  210. data/test/rubygems/test_config.rb +7 -2
  211. data/test/rubygems/test_gem.rb +161 -130
  212. data/test/rubygems/test_gem_command.rb +0 -1
  213. data/test/rubygems/test_gem_command_manager.rb +8 -3
  214. data/test/rubygems/test_gem_commands_build_command.rb +219 -15
  215. data/test/rubygems/test_gem_commands_cert_command.rb +69 -8
  216. data/test/rubygems/test_gem_commands_check_command.rb +1 -1
  217. data/test/rubygems/test_gem_commands_cleanup_command.rb +27 -1
  218. data/test/rubygems/test_gem_commands_contents_command.rb +1 -2
  219. data/test/rubygems/test_gem_commands_dependency_command.rb +33 -34
  220. data/test/rubygems/test_gem_commands_environment_command.rb +1 -0
  221. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -1
  222. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -1
  223. data/test/rubygems/test_gem_commands_help_command.rb +7 -4
  224. data/test/rubygems/test_gem_commands_info_command.rb +44 -0
  225. data/test/rubygems/test_gem_commands_install_command.rb +79 -12
  226. data/test/rubygems/test_gem_commands_lock_command.rb +0 -1
  227. data/test/rubygems/test_gem_commands_open_command.rb +29 -0
  228. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -1
  229. data/test/rubygems/test_gem_commands_owner_command.rb +93 -57
  230. data/test/rubygems/test_gem_commands_pristine_command.rb +65 -30
  231. data/test/rubygems/test_gem_commands_push_command.rb +39 -0
  232. data/test/rubygems/test_gem_commands_query_command.rb +102 -100
  233. data/test/rubygems/test_gem_commands_search_command.rb +0 -1
  234. data/test/rubygems/test_gem_commands_server_command.rb +0 -1
  235. data/test/rubygems/test_gem_commands_setup_command.rb +39 -8
  236. data/test/rubygems/test_gem_commands_signin_command.rb +1 -1
  237. data/test/rubygems/test_gem_commands_sources_command.rb +0 -1
  238. data/test/rubygems/test_gem_commands_specification_command.rb +2 -3
  239. data/test/rubygems/test_gem_commands_stale_command.rb +3 -2
  240. data/test/rubygems/test_gem_commands_uninstall_command.rb +81 -7
  241. data/test/rubygems/test_gem_commands_unpack_command.rb +17 -1
  242. data/test/rubygems/test_gem_commands_update_command.rb +19 -2
  243. data/test/rubygems/test_gem_commands_which_command.rb +0 -1
  244. data/test/rubygems/test_gem_commands_yank_command.rb +0 -1
  245. data/test/rubygems/test_gem_config_file.rb +4 -2
  246. data/test/rubygems/test_gem_dependency.rb +0 -1
  247. data/test/rubygems/test_gem_dependency_installer.rb +8 -5
  248. data/test/rubygems/test_gem_dependency_list.rb +6 -7
  249. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -1
  250. data/test/rubygems/test_gem_doctor.rb +1 -2
  251. data/test/rubygems/test_gem_ext_builder.rb +10 -23
  252. data/test/rubygems/test_gem_ext_cmake_builder.rb +5 -4
  253. data/test/rubygems/test_gem_ext_configure_builder.rb +3 -3
  254. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +8 -9
  255. data/test/rubygems/test_gem_ext_rake_builder.rb +20 -5
  256. data/test/rubygems/test_gem_gem_runner.rb +0 -1
  257. data/test/rubygems/test_gem_gemcutter_utilities.rb +32 -6
  258. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -1
  259. data/test/rubygems/test_gem_indexer.rb +1 -2
  260. data/test/rubygems/test_gem_install_update_options.rb +1 -20
  261. data/test/rubygems/test_gem_installer.rb +69 -203
  262. data/test/rubygems/test_gem_local_remote_options.rb +3 -3
  263. data/test/rubygems/test_gem_name_tuple.rb +0 -1
  264. data/test/rubygems/test_gem_package.rb +59 -50
  265. data/test/rubygems/test_gem_package_old.rb +0 -1
  266. data/test/rubygems/test_gem_package_tar_header.rb +1 -2
  267. data/test/rubygems/test_gem_package_tar_reader.rb +0 -1
  268. data/test/rubygems/test_gem_package_tar_reader_entry.rb +11 -0
  269. data/test/rubygems/test_gem_package_tar_writer.rb +40 -7
  270. data/test/rubygems/test_gem_package_task.rb +2 -2
  271. data/test/rubygems/test_gem_path_support.rb +28 -11
  272. data/test/rubygems/test_gem_platform.rb +4 -5
  273. data/test/rubygems/test_gem_rdoc.rb +1 -2
  274. data/test/rubygems/test_gem_remote_fetcher.rb +111 -130
  275. data/test/rubygems/test_gem_request.rb +5 -5
  276. data/test/rubygems/test_gem_request_connection_pools.rb +24 -3
  277. data/test/rubygems/test_gem_request_set.rb +5 -5
  278. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +2 -7
  279. data/test/rubygems/test_gem_request_set_lockfile.rb +1 -2
  280. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +4 -9
  281. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +1 -1
  282. data/test/rubygems/test_gem_requirement.rb +18 -4
  283. data/test/rubygems/test_gem_resolver.rb +13 -17
  284. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -1
  285. data/test/rubygems/test_gem_resolver_api_set.rb +0 -1
  286. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -1
  287. data/test/rubygems/test_gem_resolver_best_set.rb +0 -1
  288. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -1
  289. data/test/rubygems/test_gem_resolver_conflict.rb +0 -1
  290. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -1
  291. data/test/rubygems/test_gem_resolver_git_set.rb +0 -1
  292. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -1
  293. data/test/rubygems/test_gem_resolver_index_set.rb +0 -1
  294. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -1
  295. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -1
  296. data/test/rubygems/test_gem_resolver_installer_set.rb +2 -3
  297. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -1
  298. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -1
  299. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -1
  300. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -1
  301. data/test/rubygems/test_gem_resolver_specification.rb +1 -2
  302. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -1
  303. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -1
  304. data/test/rubygems/test_gem_security.rb +1 -3
  305. data/test/rubygems/test_gem_security_policy.rb +4 -5
  306. data/test/rubygems/test_gem_security_signer.rb +4 -3
  307. data/test/rubygems/test_gem_security_trust_dir.rb +1 -2
  308. data/test/rubygems/test_gem_server.rb +4 -4
  309. data/test/rubygems/test_gem_source.rb +0 -13
  310. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -1
  311. data/test/rubygems/test_gem_source_git.rb +0 -1
  312. data/test/rubygems/test_gem_source_installed.rb +0 -1
  313. data/test/rubygems/test_gem_source_lock.rb +0 -1
  314. data/test/rubygems/test_gem_source_vendor.rb +0 -1
  315. data/test/rubygems/test_gem_spec_fetcher.rb +0 -1
  316. data/test/rubygems/test_gem_specification.rb +334 -198
  317. data/test/rubygems/test_gem_stream_ui.rb +13 -30
  318. data/test/rubygems/test_gem_stub_specification.rb +0 -2
  319. data/test/rubygems/test_gem_text.rb +4 -5
  320. data/test/rubygems/test_gem_uninstaller.rb +21 -1
  321. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -1
  322. data/test/rubygems/test_gem_uri_formatter.rb +0 -1
  323. data/test/rubygems/test_gem_util.rb +6 -11
  324. data/test/rubygems/test_gem_validator.rb +0 -1
  325. data/test/rubygems/test_gem_version.rb +11 -11
  326. data/test/rubygems/test_gem_version_option.rb +0 -1
  327. data/test/rubygems/test_remote_fetch_error.rb +0 -1
  328. data/test/rubygems/test_require.rb +67 -52
  329. data/util/CL2notes +1 -2
  330. data/util/ci +15 -12
  331. data/util/create_certs.rb +6 -7
  332. data/util/create_encrypted_key.rb +0 -1
  333. data/util/patch_with_prs.rb +1 -1
  334. data/util/rubocop +8 -0
  335. data/util/update_bundled_ca_certificates.rb +12 -13
  336. data/util/update_changelog.rb +1 -1
  337. metadata +61 -53
  338. data/.autotest +0 -71
  339. data/.document +0 -5
  340. data/CONTRIBUTING.rdoc +0 -130
  341. data/CVE-2013-4287.txt +0 -35
  342. data/CVE-2013-4363.txt +0 -45
  343. data/CVE-2015-3900.txt +0 -40
  344. data/POLICIES.rdoc +0 -74
  345. data/test/rubygems/fix_openssl_warnings.rb +0 -13
@@ -10,3 +10,4 @@ Luis Lavena <luislavena@gmail.com> (@luislavena)
10
10
  Samuel Giddins <segiddins@segiddins.me> (@segiddins)
11
11
  Aaron Patterson <aaron.patterson@gmail.com> (@tenderlove)
12
12
  Zachary Scott <mail@zzak.io> (@zzak)
13
+ Akira Matsuda <ronnie@dio.jp> (@amatsuda)
@@ -1,20 +1,16 @@
1
- .autotest
2
- .document
1
+ .rubocop.yml
3
2
  .travis.yml
4
3
  CODE_OF_CONDUCT.md
5
- CONTRIBUTING.rdoc
6
- CVE-2013-4287.txt
7
- CVE-2013-4363.txt
8
- CVE-2015-3900.txt
4
+ CONTRIBUTING.md
9
5
  History.txt
10
6
  LICENSE.txt
11
7
  MAINTAINERS.txt
12
8
  MIT.txt
13
9
  Manifest.txt
14
- POLICIES.rdoc
10
+ POLICIES.md
15
11
  README.md
16
12
  Rakefile
17
- UPGRADING.rdoc
13
+ UPGRADING.md
18
14
  appveyor.yml
19
15
  bin/gem
20
16
  bin/update_rubygems
@@ -55,6 +51,7 @@ bundler/lib/bundler/cli/package.rb
55
51
  bundler/lib/bundler/cli/platform.rb
56
52
  bundler/lib/bundler/cli/plugin.rb
57
53
  bundler/lib/bundler/cli/pristine.rb
54
+ bundler/lib/bundler/cli/remove.rb
58
55
  bundler/lib/bundler/cli/show.rb
59
56
  bundler/lib/bundler/cli/update.rb
60
57
  bundler/lib/bundler/cli/viz.rb
@@ -105,6 +102,7 @@ bundler/lib/bundler/plugin.rb
105
102
  bundler/lib/bundler/plugin/api.rb
106
103
  bundler/lib/bundler/plugin/api/source.rb
107
104
  bundler/lib/bundler/plugin/dsl.rb
105
+ bundler/lib/bundler/plugin/events.rb
108
106
  bundler/lib/bundler/plugin/index.rb
109
107
  bundler/lib/bundler/plugin/installer.rb
110
108
  bundler/lib/bundler/plugin/installer/git.rb
@@ -261,6 +259,7 @@ bundler/man/bundle-outdated.ronn
261
259
  bundler/man/bundle-package.ronn
262
260
  bundler/man/bundle-platform.ronn
263
261
  bundler/man/bundle-pristine.ronn
262
+ bundler/man/bundle-remove.ronn
264
263
  bundler/man/bundle-show.ronn
265
264
  bundler/man/bundle-update.ronn
266
265
  bundler/man/bundle-viz.ronn
@@ -283,6 +282,7 @@ lib/rubygems/commands/environment_command.rb
283
282
  lib/rubygems/commands/fetch_command.rb
284
283
  lib/rubygems/commands/generate_index_command.rb
285
284
  lib/rubygems/commands/help_command.rb
285
+ lib/rubygems/commands/info_command.rb
286
286
  lib/rubygems/commands/install_command.rb
287
287
  lib/rubygems/commands/list_command.rb
288
288
  lib/rubygems/commands/lock_command.rb
@@ -311,6 +311,7 @@ lib/rubygems/compatibility.rb
311
311
  lib/rubygems/config_file.rb
312
312
  lib/rubygems/core_ext/kernel_gem.rb
313
313
  lib/rubygems/core_ext/kernel_require.rb
314
+ lib/rubygems/core_ext/kernel_warn.rb
314
315
  lib/rubygems/defaults.rb
315
316
  lib/rubygems/dependency.rb
316
317
  lib/rubygems/dependency_installer.rb
@@ -432,6 +433,7 @@ lib/rubygems/source_local.rb
432
433
  lib/rubygems/source_specific_file.rb
433
434
  lib/rubygems/spec_fetcher.rb
434
435
  lib/rubygems/specification.rb
436
+ lib/rubygems/specification_policy.rb
435
437
  lib/rubygems/ssl_certs/.document
436
438
  lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem
437
439
  lib/rubygems/ssl_certs/rubygems.global.ssl.fastly.net/DigiCertHighAssuranceEVRootCA.pem
@@ -451,6 +453,7 @@ lib/rubygems/validator.rb
451
453
  lib/rubygems/version.rb
452
454
  lib/rubygems/version_option.rb
453
455
  lib/ubygems.rb
456
+ rubygems-update.gemspec
454
457
  setup.rb
455
458
  test/rubygems/alternate_cert.pem
456
459
  test/rubygems/alternate_cert_32.pem
@@ -468,7 +471,6 @@ test/rubygems/data/null-type.gemspec.rz
468
471
  test/rubygems/encrypted_private_key.pem
469
472
  test/rubygems/expired_cert.pem
470
473
  test/rubygems/fake_certlib/openssl.rb
471
- test/rubygems/fix_openssl_warnings.rb
472
474
  test/rubygems/foo/discover.rb
473
475
  test/rubygems/future_cert.pem
474
476
  test/rubygems/future_cert_32.pem
@@ -520,6 +522,7 @@ test/rubygems/test_gem_commands_environment_command.rb
520
522
  test/rubygems/test_gem_commands_fetch_command.rb
521
523
  test/rubygems/test_gem_commands_generate_index_command.rb
522
524
  test/rubygems/test_gem_commands_help_command.rb
525
+ test/rubygems/test_gem_commands_info_command.rb
523
526
  test/rubygems/test_gem_commands_install_command.rb
524
527
  test/rubygems/test_gem_commands_list_command.rb
525
528
  test/rubygems/test_gem_commands_lock_command.rb
@@ -640,5 +643,6 @@ util/create_certs.rb
640
643
  util/create_encrypted_key.rb
641
644
  util/generate_spdx_license_list.rb
642
645
  util/patch_with_prs.rb
646
+ util/rubocop
643
647
  util/update_bundled_ca_certificates.rb
644
648
  util/update_changelog.rb
@@ -0,0 +1,92 @@
1
+ ## Pull Requests
2
+
3
+ Contributions to RubyGems are made via GitHub pull requests, which must be
4
+ approved by a project committer other than the author. To approve a PR, a
5
+ maintainer can leave a comment including the text "@bundlerbot r+", indicating
6
+ that they have reviewed the PR and approve it. Bundlerbot will then
7
+ automatically create a merge commit, test the merge, and land the PR if the
8
+ merge commit passes the tests.
9
+
10
+ This process guarantees that our release branches always have passing tests,
11
+ and reduces siloing of information to a single contributor. For a full list of
12
+ possible commands, see [the Bundlerbot
13
+ documentation](https://bors.tech/documentation/).
14
+
15
+ ## Long-Term Support
16
+
17
+ RubyGems will support Ruby versions for as long as the Ruby team supports that
18
+ Ruby version. That means that the latest RubyGems release will always support
19
+ the currently-supported Ruby versions, and RubyGems security fixes will be
20
+ released for any RubyGems version that shipped inside a currently-supported
21
+ Ruby version.
22
+
23
+ ### Bugfix Releases
24
+
25
+ RubyGems generally releases bugfixes from the master branch. We may mix bug
26
+ fixes and new features in the same release. RubyGems does not guarantee it
27
+ will ship bugfix releases for previous minor or major versions.
28
+
29
+ For example, after RubyGems 2.5 is released, the RubyGems team will not
30
+ provide non-security fixes for RubyGems 2.4, or any earlier versions.
31
+
32
+ ### Security Releases
33
+
34
+ Security releases will be made for RubyGems minor versions that were included
35
+ in a currently-supported Ruby release.
36
+
37
+ For example, since RubyGems 2.0 was shipped in Ruby 2.0, RubyGems 2.0 will
38
+ receive security fixes until Ruby 2.0 reaches end-of-life.
39
+
40
+ ### Ruby Version Support
41
+
42
+ When a Ruby version reaches end-of-life the following minor release of
43
+ RubyGems will drop backwards compatibility with that Ruby version.
44
+
45
+ For example, since Ruby 2.2 has reached end-of-life, future RubyGems minor
46
+ releases will only support Ruby 2.3 and above. As of this writing RubyGems is
47
+ at version 2.7, so when RubyGems 2.8 is released, it will only support Ruby
48
+ 2.3 and later.
49
+
50
+ ## Release Process
51
+
52
+ Releases of new versions should follow these steps, to ensure the process is
53
+ smooth and no needed steps are missed.
54
+
55
+ ### Steps for security releases
56
+
57
+ * Obtain CVE numbers as needed from HackerOne or Red Hat.
58
+ * Agree on a release date with ruby-core, so patches can be backported to
59
+ older Ruby versions as needed.
60
+ * Avoid releasing security updates on Fridays, so platform services don't
61
+ have to work on weekends.
62
+ * Continue with the regular release process below.
63
+
64
+
65
+ ### Steps for all releases
66
+
67
+ * Confirm milestone on GitHub is complete
68
+ * Update History.txt
69
+ * Update Manifest.txt
70
+ * Create and push git tag
71
+ * Create and push `rubygems-update` gem and tgz
72
+ * Publish blog post
73
+
74
+
75
+ ## Committer Access
76
+
77
+ RubyGems committers may lose their commit privileges if they are inactive for
78
+ longer than 12 months. Committer permission may be restored upon request by
79
+ having a pull request merged.
80
+
81
+ This is designed to improve the maintainability of RubyGems by requiring
82
+ committers to maintain familiarity with RubyGems activity and to improve the
83
+ security of RubyGems by preventing idle committers from having their commit
84
+ permissions compromised or exposed.
85
+
86
+ ## Changing These Policies
87
+
88
+ These policies were set in order to reduce the burden of maintenance and to
89
+ keep committers current with existing development and policies. RubyGems work
90
+ is primarily volunteer-driven which limits the ability to provide long-term
91
+ support. By joining [Ruby Together](https://rubytogether.org) you can help
92
+ extend support for older RubyGems versions.
data/README.md CHANGED
@@ -1,49 +1,70 @@
1
- # RubyGems [![Travis Build Status](https://secure.travis-ci.org/rubygems/rubygems.svg?branch=master)](http://travis-ci.org/rubygems/rubygems) [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/rubygems/rubygems?branch=master&svg=true)](https://ci.appveyor.com/project/rubygems/rubygems?branch=master)
1
+ # RubyGems [![Travis Build Status](https://secure.travis-ci.org/rubygems/rubygems.svg?branch=master)](http://travis-ci.org/rubygems/rubygems) [![Appveyor Build Status](https://ci.appveyor.com/api/projects/status/github/rubygems/rubygems?branch=master&svg=true)](https://ci.appveyor.com/project/rubygems/rubygems?branch=master) [![Maintainability](https://api.codeclimate.com/v1/badges/30f913e9c2dd932132c1/maintainability)](https://codeclimate.com/github/rubygems/rubygems/maintainability)
2
2
 
3
3
  RubyGems is a package management framework for Ruby.
4
4
 
5
- This gem is an update for the RubyGems software. You must have an
6
- installation of RubyGems before this update can be applied.
5
+ A package (also known as a library) contains a set of functionality that can be invoked by a Ruby program, such as reading and parsing an XML file.
6
+ We call these packages "gems" and RubyGems is a tool to install, create, manage and load these packages in your Ruby environment.
7
7
 
8
- See Gem for information on RubyGems (or `ri Gem`)
8
+ RubyGems is also a client for [RubyGems.org](https://rubygems.org), a public repository of Gems that allows you to publish a Gem
9
+ that can be shared and used by other developers. See our guide on publishing a Gem at [guides.rubygems.org](http://guides.rubygems.org/publishing/)
9
10
 
10
- To upgrade to the latest RubyGems, run:
11
+ ## Getting Started
12
+
13
+ Installing and managing a Gem is done through the `gem` command. To install a Gem such as [Nokogiri](https://github.com/sparklemotion/nokogiri) which lets
14
+ you read and parse XML in Ruby:
15
+
16
+ $ gem install nokogiri
17
+
18
+ RubyGems will download the Nokogiri Gem from RubyGems.org and install it into your Ruby environment.
19
+
20
+ Finally, inside your Ruby program, load the Nokogiri gem and start parsing your XML:
21
+
22
+ require 'nokogiri'
23
+
24
+ Nokogiri.XML('<h1>Hello World</h1>')
25
+
26
+ For more information about how to use RubyGems, see our RubyGems basics guide at [guides.rubygems.org](http://guides.rubygems.org/rubygems-basics/)
27
+
28
+ ## Installation
11
29
 
12
- ```
13
- $ gem update --system # you might need to be an administrator or root
14
- ```
30
+ RubyGems is likely already installed in your Ruby environment, you can check by running `gem --version` in your terminal emulator.
31
+ In some cases your OS's package manager may install RubyGems as a separate package from Ruby. It's recommended to check
32
+ with your OS's package manager before installing RubyGems manually.
15
33
 
16
- See [UPGRADING](UPGRADING.rdoc) for more details and alternative instructions.
34
+ If you would like to manually install RubyGems:
17
35
 
18
- -----
36
+ * Download from https://rubygems.org/pages/download, unpack, and `cd` into RubyGems' src
37
+ * OR clone this repository and `cd` into the repository (make sure to run `git submodule update --init`)
19
38
 
20
- If you don't have RubyGems installed, you can still do it manually:
39
+ Install RubyGems by running:
21
40
 
22
- * Download from https://rubygems.org/pages/download, unpack, and `cd` there
23
- * OR clone this repository and `cd` there (make sure to run `git submodule update --init`)
24
- * Install with `ruby setup.rb` (you may need admin/root privilege)
41
+ $ ruby setup.rb
42
+
43
+ Note: You may need to run the install script with admin/root privileges.
25
44
 
26
45
  For more details and other options, see:
27
46
 
28
- ```
29
- ruby setup.rb --help
30
- ```
47
+ $ ruby setup.rb --help
48
+
49
+ ## Upgrading RubyGems
50
+
51
+ To upgrade to the latest RubyGems, run:
52
+
53
+ $ gem update --system
54
+
55
+ Note: You might need to run the command as an administrator or root user.
56
+
57
+ See [UPGRADING](UPGRADING.md) for more details and alternative instructions.
31
58
 
32
59
  ## Documentation
33
60
 
34
61
  RubyGems uses [rdoc](https://github.com/rdoc/rdoc) for documentation. A compiled set of the docs
35
- can be viewed online at http://www.rubydoc.info/github/rubygems/rubygems
62
+ can be viewed online at [rubydoc](http://www.rubydoc.info/github/rubygems/rubygems).
36
63
 
37
64
  RubyGems also provides a comprehensive set of guides which covers numerous topics such as
38
65
  creating a new gem, security practices and other resources at http://guides.rubygems.org
39
66
 
40
- ## GETTING HELP
41
-
42
- ### Support Requests
43
-
44
- Are you unsure of how to use RubyGems? Do you think you've found a bug and
45
- you're not sure? If that is the case, the best place for you is to file a
46
- support request at [help.rubygems.org](http://help.rubygems.org).
67
+ ## Getting Help
47
68
 
48
69
  ### Filing Tickets
49
70
 
@@ -63,7 +84,7 @@ See http://bundler.io/compatibility for known issues.
63
84
 
64
85
  ### Contributing
65
86
 
66
- If you'd like to contribute to RubyGems, that's awesome, and we <3 you. Check out our [guide to contributing](https://github.com/rubygems/rubygems/blob/master/CONTRIBUTING.rdoc#how-to-contribute) for more information.
87
+ If you'd like to contribute to RubyGems, that's awesome, and we <3 you. Check out our [guide to contributing](CONTRIBUTING.md) for more information.
67
88
 
68
89
  While some RubyGems contributors are compensated by Ruby Together, the project maintainers make decisions independent of Ruby Together. As a project, we welcome contributions regardless of the author’s affiliation with Ruby Together.
69
90
 
data/Rakefile CHANGED
@@ -2,10 +2,7 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'rubygems/package_task'
5
-
6
- if ENV['YAML'] == "syck"
7
- ENV['TEST_SYCK'] = "1"
8
- end
5
+ require "rake/testtask"
9
6
 
10
7
  begin
11
8
  require 'psych'
@@ -13,146 +10,50 @@ rescue ::LoadError
13
10
  require 'yaml'
14
11
  end
15
12
 
16
- begin
17
- require 'hoe'
18
- rescue Gem::ConflictError => e
19
- abort <<-ERR
20
- Error while loading the hoe gem.
21
- #{e}
22
- ERR
23
- rescue ::LoadError
24
- abort <<-ERR
25
- Error while loading the hoe gem.
26
- Please install it by running the following:
13
+ desc "Setup Rubygems dev environment"
14
+ task :setup => ["bundler:checkout"] do
15
+ gemspec = Gem::Specification.load(File.expand_path("../rubygems-update.gemspec", __FILE__))
27
16
 
28
- $ [sudo] gem install hoe
29
- ERR
30
- end
31
-
32
- Hoe::RUBY_FLAGS << " --disable-gems" if RUBY_VERSION > "1.9"
33
-
34
- Hoe.plugin :git
35
- Hoe.plugin :travis
36
- Hoe.plugin :newb
37
-
38
- hoe = Hoe.spec 'rubygems-update' do
39
- self.author = ['Jim Weirich', 'Chad Fowler', 'Eric Hodel']
40
- self.email = %w[rubygems-developers@rubyforge.org]
41
- self.readme_file = 'README.md'
42
-
43
- license 'Ruby'
44
- license 'MIT'
45
-
46
- spec_extras[:required_rubygems_version] = Gem::Requirement.default
47
- spec_extras[:required_ruby_version] = Gem::Requirement.new '>= 1.8.7'
48
- spec_extras[:executables] = ['update_rubygems']
49
- spec_extras[:homepage] = 'https://rubygems.org'
50
-
51
- rdoc_locations <<
52
- 'docs-push.seattlerb.org:/data/www/docs.seattlerb.org/rubygems/'
53
-
54
- clean_globs.push('**/debug.log',
55
- '*.out',
56
- '.config',
57
- 'data__',
58
- 'html',
59
- 'logs',
60
- 'graph.dot',
61
- 'pkgs/sources/sources*.gem',
62
- 'scripts/*.hieraki')
63
-
64
- extra_dev_deps.clear
65
-
66
- dependency 'builder', '~> 2.1', :dev
67
- dependency 'hoe-seattlerb', '~> 1.2', :dev
68
- dependency 'rdoc', '~> 4.0', :dev
69
- dependency 'ZenTest', '~> 4.5', :dev
70
- dependency 'rake', '~> 10.5', :dev
71
- dependency 'minitest', '~> 4.0', :dev
72
-
73
- self.extra_rdoc_files = Dir["*.rdoc"] + %w[
74
- CVE-2013-4287.txt
75
- CVE-2013-4363.txt
76
- ]
77
-
78
- spec_extras['rdoc_options'] = proc do |rdoc_options|
79
- rdoc_options << "--title=RubyGems Update Documentation"
80
- end
81
-
82
- self.rsync_args += " --no-p -O"
83
-
84
- self.version = File.open('lib/rubygems.rb', 'r:utf-8') do |f|
85
- f.read[/VERSION\s+=\s+(['"])(#{Gem::Version::VERSION_PATTERN})\1/, 2]
17
+ gemspec.dependencies.each do |dep|
18
+ sh "gem install '#{dep.name}:#{dep.requirement.to_s}'"
86
19
  end
87
-
88
- spec_extras['require_paths'] = %w[hide_lib_for_update]
89
20
  end
90
21
 
91
- # Monkey-patch to ensure newly-installed gems are visible
92
- Hoe::Package.instance_method(:install_gem).tap do |existing_install_gem|
93
- Hoe::Package.send(:define_method, :install_gem) do |*args|
94
- existing_install_gem.bind(self).call(*args).tap { Gem::Specification.reset }
95
- end
96
- end
97
-
98
- Hoe::DEFAULT_CONFIG["exclude"] = %r[#{Hoe::DEFAULT_CONFIG["exclude"]}|\./bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)|doc/]ox
22
+ Rake::TestTask.new do |t|
23
+ t.ruby_opts = %w[--disable-gems]
24
+ t.ruby_opts << '-rdevkit' if Gem.win_platform?
99
25
 
100
- v = hoe.version
26
+ t.libs << "test"
27
+ t.libs << "bundler/lib"
101
28
 
102
- hoe.testlib = :minitest
103
- hoe.test_prelude = <<-RUBY.gsub("\n", ";")
104
- gem "minitest", "~> 4.0"
105
- $:.unshift #{File.expand_path("../bundler/lib", __FILE__).dump}
106
- if "1.8" < RUBY_VERSION && RUBY_VERSION < "2.2"
107
- module Gem
108
- @path_to_default_spec_map.delete_if do |_path, spec|
109
- spec.name == "bundler"
110
- end
111
- end
112
- end
113
- RUBY
29
+ t.test_files = FileList['test/**/test_*.rb']
30
+ end
114
31
 
115
- Rake::Task['docs'].clear
116
- Rake::Task['clobber_docs'].clear
32
+ task :default => :test
117
33
 
118
- begin
119
- gem 'rdoc', '~> 4.0'
120
- require 'rdoc/task'
34
+ spec = Gem::Specification.load('rubygems-update.gemspec')
35
+ v = spec.version
121
36
 
122
- RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
123
- doc.main = hoe.readme_file
124
- doc.title = "RubyGems #{v} API Documentation"
37
+ require 'rdoc/task'
125
38
 
126
- rdoc_files = Rake::FileList.new %w[lib History.txt LICENSE.txt MIT.txt]
127
- rdoc_files.add hoe.extra_rdoc_files
39
+ RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
40
+ doc.main = 'README.md'
41
+ doc.title = "RubyGems #{v} API Documentation"
128
42
 
129
- doc.rdoc_files = rdoc_files
43
+ rdoc_files = Rake::FileList.new %w[lib bundler/lib]
44
+ rdoc_files.add %w[History.txt LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.rdoc
45
+ MAINTAINERS.txt Manifest.txt POLICIES.rdoc README.md UPGRADING.rdoc bundler/CHANGELOG.md
46
+ bundler/CODE_OF_CONDUCT.md bundler/CONTRIBUTING.md bundler/LICENSE.md bundler/README.md
47
+ hide_lib_for_update/note.txt].map(&:freeze)
130
48
 
131
- doc.rdoc_dir = 'doc'
132
- end
133
- rescue LoadError, RuntimeError # rake 10.1 on rdoc from ruby 1.9.2 and earlier
134
- task 'docs' do
135
- abort 'You must install rdoc to build documentation, try `rake newb` again'
136
- end
137
- end
49
+ doc.rdoc_files = rdoc_files
138
50
 
139
- class Hoe
140
- module Deps
141
- alias_method :default_check_extra_task, :check_extra_deps_task
142
- def check_extra_deps_task
143
- default_check_extra_task
144
- rescue Gem::LoadError => e
145
- raise unless e.name == 'rake'
146
- details = "#{e.class}: #{e}"
147
- abort "To override your default rake version, run: `rake _x.y.z_ task_name`:\n\t#{details}"
148
- end
149
- end
51
+ doc.rdoc_dir = 'doc'
150
52
  end
151
- task(:newb).prerequisites.unshift "bundler:checkout"
152
53
 
153
54
  desc "Install gems needed to run the tests"
154
55
  task :install_test_deps => :clean do
155
- sh "gem install minitest -v '~> 4.0'"
56
+ sh "gem install minitest -v '~> 5.0'"
156
57
  end
157
58
 
158
59
  begin
@@ -170,13 +71,22 @@ rescue LoadError
170
71
  end
171
72
  end
172
73
 
74
+ desc "Run rubocop"
75
+ task(:rubocop) do
76
+ sh "util/rubocop"
77
+ end
78
+
173
79
  # --------------------------------------------------------------------
174
80
  # Creating a release
175
81
 
176
- task :prerelease => %w[clobber check_manifest test bundler:build_metadata]
82
+ task :prerelease => %w[clobber test bundler:build_metadata]
177
83
 
178
84
  task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
179
85
 
86
+ Gem::PackageTask.new(spec) {}
87
+
88
+ Rake::Task["package"].enhance ["pkg/rubygems-#{v}.tgz", "pkg/rubygems-#{v}.zip"]
89
+
180
90
  file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
181
91
  require 'find'
182
92
 
@@ -186,7 +96,7 @@ file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
186
96
  Find.find '.' do |file|
187
97
  dest = File.expand_path file, dest_root
188
98
 
189
- if File.directory? file then
99
+ if File.directory? file
190
100
  mkdir_p dest
191
101
  else
192
102
  rm_f dest
@@ -196,28 +106,18 @@ file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
196
106
  end
197
107
  end
198
108
 
199
- source_pkg_dir = "pkg/rubygems-#{v}"
200
-
201
- file "pkg/rubygems-#{v}.tgz" => source_pkg_dir do
109
+ file "pkg/rubygems-#{v}.zip" => "pkg/rubygems-#{v}" do
202
110
  cd 'pkg' do
203
- sh "tar -czf rubygems-#{v}.tgz rubygems-#{v}"
111
+ sh "zip -q -r rubygems-#{v}.zip rubygems-#{v}"
204
112
  end
205
113
  end
206
114
 
207
- file "pkg/rubygems-#{v}.zip" => source_pkg_dir do
115
+ file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
208
116
  cd 'pkg' do
209
- sh "zip -q -r rubygems-#{v}.zip rubygems-#{v}"
117
+ sh "tar -czf rubygems-#{v}.tgz rubygems-#{v}"
210
118
  end
211
119
  end
212
120
 
213
- file "pkg/rubygems-update-#{v}.gem"
214
-
215
- task :package => %W[
216
- pkg/rubygems-update-#{v}.gem
217
- pkg/rubygems-#{v}.tgz
218
- pkg/rubygems-#{v}.zip
219
- ]
220
-
221
121
  desc "Upload release to S3"
222
122
  task :upload_to_s3 do
223
123
  sh "s3cmd put -P pkg/rubygems-#{v}.zip pkg/rubygems-#{v}.tgz s3://oregon.production.s3.rubygems.org/rubygems/"
@@ -226,9 +126,6 @@ end
226
126
  desc "Upload release to rubygems.org"
227
127
  task :upload => %w[upload_to_s3]
228
128
 
229
- # Ignonre to publish rdoc to docs.seattlerb.org
230
- Rake::Task['publish_docs'].clear
231
-
232
129
  directory '../guides.rubygems.org' do
233
130
  sh 'git', 'clone',
234
131
  'git@github.com:rubygems/guides.git',
@@ -325,7 +222,7 @@ namespace 'blog' do
325
222
 
326
223
  history = File.read 'History.txt'
327
224
 
328
- history.force_encoding Encoding::UTF_8 if Object.const_defined? :Encoding
225
+ history.force_encoding Encoding::UTF_8
329
226
 
330
227
  _, change_log, = history.split %r%^===\s*\d.*%, 3
331
228
 
@@ -360,7 +257,7 @@ namespace 'blog' do
360
257
 
361
258
  last_change_type = change_types.pop
362
259
 
363
- if change_types.empty? then
260
+ if change_types.empty?
364
261
  change_types = ''
365
262
  else
366
263
  change_types = change_types.join(', ') << ' and '
@@ -433,64 +330,6 @@ end
433
330
 
434
331
  # Misc Tasks ---------------------------------------------------------
435
332
 
436
- # These tasks expect to have the following directory structure:
437
- #
438
- # git/git.rubini.us/code # Rubinius git HEAD checkout
439
- # svn/ruby/trunk # ruby subversion HEAD checkout
440
- # svn/rubygems/trunk # RubyGems subversion HEAD checkout
441
- #
442
- # If you don't have this directory structure, set RUBY_PATH and/or
443
- # RUBINIUS_PATH.
444
-
445
- def rsync_with dir
446
- rsync_options =
447
- "-avP " +
448
- "--exclude '*svn*' " +
449
- "--exclude '*swp' " +
450
- "--exclude '*rbc' " +
451
- "--exclude '*.rej' " +
452
- "--exclude '*.orig' " +
453
- "--exclude 'lib/rubygems/defaults/*' " +
454
- "--exclude gauntlet_rubygems.rb"
455
-
456
- sh "rsync #{rsync_options} bin/gem #{dir}/bin/gem"
457
- sh "rsync #{rsync_options} lib/ #{dir}/lib"
458
- sh "rsync #{rsync_options} test/ #{dir}/test"
459
- end
460
-
461
- def diff_with dir
462
- diff_options = "-urpN --exclude '*svn*' --exclude '*swp' --exclude '*rbc'"
463
- sh "diff #{diff_options} bin/gem #{dir}/bin/gem; true"
464
- sh "diff #{diff_options} lib/ubygems.rb #{dir}/lib/ubygems.rb; true"
465
- sh "diff #{diff_options} lib/rubygems.rb #{dir}/lib/rubygems.rb; true"
466
- sh "diff #{diff_options} lib/rubygems #{dir}/lib/rubygems; true"
467
- sh "diff #{diff_options} lib/rbconfig #{dir}/lib/rbconfig; true"
468
- sh "diff #{diff_options} test/rubygems #{dir}/test/rubygems; true"
469
- end
470
-
471
- rubinius_dir = ENV['RUBINIUS_PATH'] || '../git.rubini.us/code'
472
- ruby_dir = ENV['RUBY_PATH'] || '../../svn/ruby/trunk'
473
-
474
- desc "Updates Ruby HEAD with the currently checked-out copy of RubyGems."
475
- task :update_ruby do
476
- rsync_with ruby_dir
477
- end
478
-
479
- desc "Updates Rubinius HEAD with the currently checked-out copy of RubyGems."
480
- task :update_rubinius do
481
- rsync_with rubinius_dir
482
- end
483
-
484
- desc "Diffs Ruby HEAD with the currently checked-out copy of RubyGems."
485
- task :diff_ruby do
486
- diff_with ruby_dir
487
- end
488
-
489
- desc "Diffs Rubinius HEAD with the currently checked-out copy of RubyGems."
490
- task :diff_rubinius do
491
- diff_with rubinius_dir
492
- end
493
-
494
333
  desc "Cleanup trailing whitespace"
495
334
  task :whitespace do
496
335
  system 'find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | xargs -0 sed -i "" -E "s/[[:space:]]*$//"'
@@ -500,7 +339,7 @@ desc "Update the manifest to reflect what's on disk"
500
339
  task :update_manifest do
501
340
  files = []
502
341
  require 'find'
503
- exclude = Hoe::DEFAULT_CONFIG["exclude"]
342
+ exclude = %r[/\/tmp\/|\/pkg\/|CVS|\.DS_Store|\/doc\/|\/coverage\/|\.svn|\.git|TAGS|extconf.h|\.bundle$|\.o$|\.log$/|\./bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)]ox
504
343
  Find.find(".") do |path|
505
344
  next unless File.file?(path)
506
345
  next if path =~ exclude
@@ -510,6 +349,7 @@ task :update_manifest do
510
349
  end
511
350
 
512
351
  namespace :bundler do
352
+ desc "Initialize bundler submodule"
513
353
  task :checkout do
514
354
  sh "git submodule update --init"
515
355
  end