rubygems-update 3.1.0 → 3.2.0.rc.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (345) hide show
  1. checksums.yaml +4 -4
  2. data/CODE_OF_CONDUCT.md +55 -19
  3. data/CONTRIBUTING.md +2 -3
  4. data/History.txt +195 -7
  5. data/Manifest.txt +11 -23
  6. data/POLICIES.md +2 -9
  7. data/README.md +5 -5
  8. data/Rakefile +38 -35
  9. data/bin/update_rubygems +2 -2
  10. data/bundler/CHANGELOG.md +846 -728
  11. data/bundler/README.md +6 -8
  12. data/bundler/UPGRADING.md +16 -30
  13. data/bundler/bundler.gemspec +3 -3
  14. data/bundler/exe/bundle +3 -0
  15. data/bundler/lib/bundler.rb +15 -4
  16. data/bundler/lib/bundler/build_metadata.rb +2 -2
  17. data/bundler/lib/bundler/cli.rb +29 -9
  18. data/bundler/lib/bundler/cli/console.rb +1 -1
  19. data/bundler/lib/bundler/cli/exec.rb +3 -12
  20. data/bundler/lib/bundler/cli/gem.rb +74 -10
  21. data/bundler/lib/bundler/cli/info.rb +6 -3
  22. data/bundler/lib/bundler/cli/init.rb +1 -1
  23. data/bundler/lib/bundler/cli/install.rb +8 -16
  24. data/bundler/lib/bundler/cli/issue.rb +2 -2
  25. data/bundler/lib/bundler/cli/outdated.rb +5 -5
  26. data/bundler/lib/bundler/cli/plugin.rb +10 -0
  27. data/bundler/lib/bundler/definition.rb +32 -32
  28. data/bundler/lib/bundler/dependency.rb +0 -9
  29. data/bundler/lib/bundler/dsl.rb +1 -5
  30. data/bundler/lib/bundler/environment_preserver.rb +26 -2
  31. data/bundler/lib/bundler/errors.rb +1 -0
  32. data/bundler/lib/bundler/feature_flag.rb +0 -2
  33. data/bundler/lib/bundler/fetcher.rb +1 -0
  34. data/bundler/lib/bundler/friendly_errors.rb +4 -10
  35. data/bundler/lib/bundler/gem_helper.rb +18 -12
  36. data/bundler/lib/bundler/gem_version_promoter.rb +1 -1
  37. data/bundler/lib/bundler/injector.rb +14 -3
  38. data/bundler/lib/bundler/inline.rb +2 -2
  39. data/bundler/lib/bundler/installer.rb +29 -28
  40. data/bundler/lib/bundler/installer/gem_installer.rb +2 -2
  41. data/bundler/lib/bundler/installer/parallel_installer.rb +9 -9
  42. data/bundler/lib/bundler/lazy_specification.rb +16 -3
  43. data/bundler/lib/bundler/plugin.rb +26 -0
  44. data/bundler/lib/bundler/plugin/index.rb +9 -0
  45. data/bundler/lib/bundler/psyched_yaml.rb +0 -15
  46. data/bundler/lib/bundler/remote_specification.rb +4 -1
  47. data/bundler/lib/bundler/resolver.rb +31 -8
  48. data/bundler/lib/bundler/resolver/spec_group.rb +26 -5
  49. data/bundler/lib/bundler/rubygems_ext.rb +7 -8
  50. data/bundler/lib/bundler/rubygems_gem_installer.rb +1 -7
  51. data/bundler/lib/bundler/rubygems_integration.rb +13 -19
  52. data/bundler/lib/bundler/runtime.rb +2 -12
  53. data/bundler/lib/bundler/settings.rb +0 -3
  54. data/bundler/lib/bundler/setup.rb +5 -0
  55. data/bundler/lib/bundler/shared_helpers.rb +1 -1
  56. data/bundler/lib/bundler/source/git/git_proxy.rb +53 -58
  57. data/bundler/lib/bundler/source/path.rb +5 -1
  58. data/bundler/lib/bundler/source/path/installer.rb +7 -9
  59. data/bundler/lib/bundler/source/rubygems.rb +11 -14
  60. data/bundler/lib/bundler/stub_specification.rb +16 -4
  61. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
  62. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +7 -2
  63. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +12 -5
  64. data/bundler/lib/bundler/templates/newgem/bin/console.tt +2 -0
  65. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +13 -0
  66. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf.rb.tt +2 -0
  67. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +18 -0
  68. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +9 -0
  69. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +2 -0
  70. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
  71. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +5 -3
  72. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +10 -0
  73. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
  74. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -0
  75. data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/newgem_test.rb.tt} +2 -0
  76. data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
  77. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  78. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  79. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +72 -208
  80. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +0 -7
  81. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
  82. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
  83. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
  84. data/bundler/lib/bundler/version.rb +1 -1
  85. data/bundler/man/bundle-add.1 +1 -1
  86. data/bundler/man/bundle-add.1.txt +15 -15
  87. data/bundler/man/bundle-binstubs.1 +1 -1
  88. data/bundler/man/bundle-binstubs.1.txt +10 -10
  89. data/bundler/man/bundle-cache.1 +1 -1
  90. data/bundler/man/bundle-cache.1.txt +15 -15
  91. data/bundler/man/bundle-check.1 +1 -1
  92. data/bundler/man/bundle-check.1.txt +8 -8
  93. data/bundler/man/bundle-clean.1 +1 -1
  94. data/bundler/man/bundle-clean.1.txt +6 -6
  95. data/bundler/man/bundle-config.1 +3 -9
  96. data/bundler/man/bundle-config.1.txt +271 -272
  97. data/bundler/man/bundle-config.ronn +5 -9
  98. data/bundler/man/bundle-doctor.1 +1 -1
  99. data/bundler/man/bundle-doctor.1.txt +9 -9
  100. data/bundler/man/bundle-exec.1 +1 -1
  101. data/bundler/man/bundle-exec.1.txt +84 -81
  102. data/bundler/man/bundle-gem.1 +25 -3
  103. data/bundler/man/bundle-gem.1.txt +65 -39
  104. data/bundler/man/bundle-gem.ronn +30 -7
  105. data/bundler/man/bundle-info.1 +1 -1
  106. data/bundler/man/bundle-info.1.txt +2 -2
  107. data/bundler/man/bundle-init.1 +1 -1
  108. data/bundler/man/bundle-init.1.txt +9 -9
  109. data/bundler/man/bundle-inject.1 +1 -1
  110. data/bundler/man/bundle-inject.1.txt +4 -4
  111. data/bundler/man/bundle-install.1 +1 -1
  112. data/bundler/man/bundle-install.1.txt +169 -169
  113. data/bundler/man/bundle-list.1 +1 -1
  114. data/bundler/man/bundle-list.1.txt +7 -7
  115. data/bundler/man/bundle-lock.1 +1 -1
  116. data/bundler/man/bundle-lock.1.txt +28 -28
  117. data/bundler/man/bundle-open.1 +1 -1
  118. data/bundler/man/bundle-open.1.txt +3 -3
  119. data/bundler/man/bundle-outdated.1 +1 -1
  120. data/bundler/man/bundle-outdated.1.txt +34 -34
  121. data/bundler/man/bundle-platform.1 +1 -1
  122. data/bundler/man/bundle-platform.1.txt +16 -16
  123. data/bundler/man/bundle-pristine.1 +1 -1
  124. data/bundler/man/bundle-pristine.1.txt +8 -8
  125. data/bundler/man/bundle-remove.1 +1 -1
  126. data/bundler/man/bundle-remove.1.txt +9 -9
  127. data/bundler/man/bundle-show.1 +1 -1
  128. data/bundler/man/bundle-show.1.txt +8 -8
  129. data/bundler/man/bundle-update.1 +1 -1
  130. data/bundler/man/bundle-update.1.txt +149 -148
  131. data/bundler/man/bundle-viz.1 +1 -1
  132. data/bundler/man/bundle-viz.1.txt +11 -11
  133. data/bundler/man/bundle.1 +1 -1
  134. data/bundler/man/bundle.1.txt +31 -31
  135. data/bundler/man/gemfile.5 +1 -1
  136. data/bundler/man/gemfile.5.txt +218 -216
  137. data/lib/rubygems.rb +135 -185
  138. data/lib/rubygems/available_set.rb +4 -4
  139. data/lib/rubygems/basic_specification.rb +12 -6
  140. data/lib/rubygems/bundler_version_finder.rb +14 -9
  141. data/lib/rubygems/command.rb +17 -15
  142. data/lib/rubygems/command_manager.rb +4 -3
  143. data/lib/rubygems/commands/cert_command.rb +1 -1
  144. data/lib/rubygems/commands/cleanup_command.rb +3 -3
  145. data/lib/rubygems/commands/contents_command.rb +4 -4
  146. data/lib/rubygems/commands/dependency_command.rb +6 -6
  147. data/lib/rubygems/commands/fetch_command.rb +2 -2
  148. data/lib/rubygems/commands/help_command.rb +2 -2
  149. data/lib/rubygems/commands/info_command.rb +9 -4
  150. data/lib/rubygems/commands/install_command.rb +3 -3
  151. data/lib/rubygems/commands/list_command.rb +9 -6
  152. data/lib/rubygems/commands/lock_command.rb +1 -1
  153. data/lib/rubygems/commands/open_command.rb +0 -2
  154. data/lib/rubygems/commands/pristine_command.rb +10 -2
  155. data/lib/rubygems/commands/push_command.rb +4 -42
  156. data/lib/rubygems/commands/query_command.rb +7 -352
  157. data/lib/rubygems/commands/search_command.rb +8 -6
  158. data/lib/rubygems/commands/setup_command.rb +156 -45
  159. data/lib/rubygems/commands/sources_command.rb +3 -3
  160. data/lib/rubygems/commands/specification_command.rb +2 -2
  161. data/lib/rubygems/commands/stale_command.rb +1 -1
  162. data/lib/rubygems/commands/uninstall_command.rb +2 -2
  163. data/lib/rubygems/commands/unpack_command.rb +1 -1
  164. data/lib/rubygems/commands/update_command.rb +40 -10
  165. data/lib/rubygems/config_file.rb +11 -2
  166. data/lib/rubygems/core_ext/kernel_require.rb +26 -36
  167. data/lib/rubygems/defaults.rb +99 -5
  168. data/lib/rubygems/dependency.rb +2 -5
  169. data/lib/rubygems/dependency_installer.rb +1 -73
  170. data/lib/rubygems/dependency_list.rb +7 -7
  171. data/lib/rubygems/deprecate.rb +46 -1
  172. data/lib/rubygems/doctor.rb +4 -2
  173. data/lib/rubygems/errors.rb +3 -2
  174. data/lib/rubygems/exceptions.rb +2 -13
  175. data/lib/rubygems/ext.rb +6 -6
  176. data/lib/rubygems/ext/build_error.rb +2 -0
  177. data/lib/rubygems/ext/builder.rb +4 -2
  178. data/lib/rubygems/ext/cmake_builder.rb +1 -1
  179. data/lib/rubygems/ext/ext_conf_builder.rb +6 -7
  180. data/lib/rubygems/gem_runner.rb +3 -8
  181. data/lib/rubygems/gemcutter_utilities.rb +1 -1
  182. data/lib/rubygems/indexer.rb +1 -19
  183. data/lib/rubygems/install_update_options.rb +5 -5
  184. data/lib/rubygems/installer.rb +45 -42
  185. data/lib/rubygems/installer_test_case.rb +19 -2
  186. data/lib/rubygems/installer_uninstaller_utils.rb +24 -0
  187. data/lib/rubygems/local_remote_options.rb +1 -1
  188. data/lib/rubygems/name_tuple.rb +2 -4
  189. data/lib/rubygems/package.rb +8 -13
  190. data/lib/rubygems/package/old.rb +1 -1
  191. data/lib/rubygems/package/tar_header.rb +3 -3
  192. data/lib/rubygems/package/tar_reader.rb +0 -1
  193. data/lib/rubygems/package/tar_reader/entry.rb +0 -1
  194. data/lib/rubygems/package/tar_test_case.rb +1 -1
  195. data/lib/rubygems/package/tar_writer.rb +2 -6
  196. data/lib/rubygems/package_task.rb +1 -5
  197. data/lib/rubygems/path_support.rb +1 -1
  198. data/lib/rubygems/platform.rb +3 -3
  199. data/lib/rubygems/query_utils.rb +362 -0
  200. data/lib/rubygems/rdoc.rb +0 -12
  201. data/lib/rubygems/remote_fetcher.rb +5 -19
  202. data/lib/rubygems/request/connection_pools.rb +1 -1
  203. data/lib/rubygems/request_set.rb +5 -5
  204. data/lib/rubygems/request_set/gem_dependency_api.rb +2 -2
  205. data/lib/rubygems/request_set/lockfile.rb +8 -8
  206. data/lib/rubygems/request_set/lockfile/tokenizer.rb +1 -1
  207. data/lib/rubygems/requirement.rb +14 -15
  208. data/lib/rubygems/resolver.rb +7 -8
  209. data/lib/rubygems/resolver/api_set.rb +4 -4
  210. data/lib/rubygems/resolver/api_specification.rb +1 -1
  211. data/lib/rubygems/resolver/composed_set.rb +3 -3
  212. data/lib/rubygems/resolver/conflict.rb +1 -1
  213. data/lib/rubygems/resolver/index_set.rb +1 -1
  214. data/lib/rubygems/resolver/installer_set.rb +3 -3
  215. data/lib/rubygems/resolver/lock_set.rb +1 -1
  216. data/lib/rubygems/safe_yaml.rb +4 -4
  217. data/lib/rubygems/security.rb +25 -25
  218. data/lib/rubygems/security/policy.rb +3 -3
  219. data/lib/rubygems/security/signer.rb +4 -4
  220. data/lib/rubygems/security/trust_dir.rb +1 -1
  221. data/lib/rubygems/server.rb +9 -9
  222. data/lib/rubygems/source/git.rb +7 -6
  223. data/lib/rubygems/source/local.rb +2 -2
  224. data/lib/rubygems/source_list.rb +6 -5
  225. data/lib/rubygems/spec_fetcher.rb +18 -15
  226. data/lib/rubygems/specification.rb +91 -112
  227. data/lib/rubygems/specification_policy.rb +88 -28
  228. data/lib/rubygems/test_case.rb +122 -81
  229. data/lib/rubygems/test_utilities.rb +6 -6
  230. data/lib/rubygems/uninstaller.rb +35 -14
  231. data/lib/rubygems/user_interaction.rb +1 -10
  232. data/lib/rubygems/util.rb +17 -3
  233. data/lib/rubygems/util/licenses.rb +4 -4
  234. data/lib/rubygems/validator.rb +1 -1
  235. data/lib/rubygems/version.rb +5 -5
  236. data/rubygems-update.gemspec +2 -2
  237. data/setup.rb +2 -7
  238. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
  239. data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +12 -0
  240. data/test/rubygems/test_bundled_ca.rb +1 -5
  241. data/test/rubygems/test_deprecate.rb +43 -4
  242. data/test/rubygems/test_gem.rb +150 -101
  243. data/test/rubygems/test_gem_available_set.rb +3 -3
  244. data/test/rubygems/test_gem_bundler_version_finder.rb +19 -1
  245. data/test/rubygems/test_gem_command.rb +24 -3
  246. data/test/rubygems/test_gem_command_manager.rb +37 -4
  247. data/test/rubygems/test_gem_commands_build_command.rb +25 -3
  248. data/test/rubygems/test_gem_commands_cert_command.rb +2 -2
  249. data/test/rubygems/test_gem_commands_cleanup_command.rb +1 -1
  250. data/test/rubygems/test_gem_commands_contents_command.rb +48 -15
  251. data/test/rubygems/test_gem_commands_environment_command.rb +21 -21
  252. data/test/rubygems/test_gem_commands_generate_index_command.rb +1 -5
  253. data/test/rubygems/test_gem_commands_info_command.rb +6 -6
  254. data/test/rubygems/test_gem_commands_install_command.rb +31 -31
  255. data/test/rubygems/test_gem_commands_mirror.rb +1 -1
  256. data/test/rubygems/test_gem_commands_open_command.rb +4 -4
  257. data/test/rubygems/test_gem_commands_owner_command.rb +11 -3
  258. data/test/rubygems/test_gem_commands_pristine_command.rb +41 -8
  259. data/test/rubygems/test_gem_commands_push_command.rb +7 -2
  260. data/test/rubygems/test_gem_commands_query_command.rb +9 -5
  261. data/test/rubygems/test_gem_commands_setup_command.rb +212 -114
  262. data/test/rubygems/test_gem_commands_signin_command.rb +6 -4
  263. data/test/rubygems/test_gem_commands_signout_command.rb +0 -5
  264. data/test/rubygems/test_gem_commands_sources_command.rb +39 -1
  265. data/test/rubygems/test_gem_commands_specification_command.rb +18 -18
  266. data/test/rubygems/test_gem_commands_uninstall_command.rb +2 -1
  267. data/test/rubygems/test_gem_commands_update_command.rb +68 -5
  268. data/test/rubygems/test_gem_commands_which_command.rb +3 -3
  269. data/test/rubygems/test_gem_commands_yank_command.rb +14 -6
  270. data/test/rubygems/test_gem_config_file.rb +7 -10
  271. data/test/rubygems/test_gem_dependency_installer.rb +52 -189
  272. data/test/rubygems/test_gem_dependency_list.rb +8 -8
  273. data/test/rubygems/test_gem_dependency_resolution_error.rb +1 -1
  274. data/test/rubygems/test_gem_doctor.rb +28 -0
  275. data/test/rubygems/test_gem_ext_builder.rb +14 -25
  276. data/test/rubygems/test_gem_ext_cmake_builder.rb +13 -12
  277. data/test/rubygems/test_gem_ext_configure_builder.rb +1 -9
  278. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -1
  279. data/test/rubygems/test_gem_ext_rake_builder.rb +9 -9
  280. data/test/rubygems/test_gem_gem_runner.rb +42 -0
  281. data/test/rubygems/test_gem_gemcutter_utilities.rb +5 -0
  282. data/test/rubygems/test_gem_indexer.rb +9 -13
  283. data/test/rubygems/test_gem_installer.rb +158 -67
  284. data/test/rubygems/test_gem_package.rb +16 -20
  285. data/test/rubygems/test_gem_package_tar_header.rb +19 -0
  286. data/test/rubygems/test_gem_package_tar_writer.rb +8 -3
  287. data/test/rubygems/test_gem_package_task.rb +46 -11
  288. data/test/rubygems/test_gem_remote_fetcher.rb +152 -190
  289. data/test/rubygems/test_gem_request.rb +11 -11
  290. data/test/rubygems/test_gem_request_set.rb +72 -20
  291. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +3 -3
  292. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +9 -9
  293. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +118 -118
  294. data/test/rubygems/test_gem_requirement.rb +2 -2
  295. data/test/rubygems/test_gem_resolver.rb +6 -6
  296. data/test/rubygems/test_gem_resolver_api_set.rb +3 -3
  297. data/test/rubygems/test_gem_resolver_best_set.rb +2 -2
  298. data/test/rubygems/test_gem_resolver_index_set.rb +2 -2
  299. data/test/rubygems/test_gem_resolver_installer_set.rb +7 -7
  300. data/test/rubygems/test_gem_resolver_lock_set.rb +3 -3
  301. data/test/rubygems/test_gem_security.rb +20 -20
  302. data/test/rubygems/test_gem_security_policy.rb +5 -8
  303. data/test/rubygems/test_gem_security_signer.rb +8 -8
  304. data/test/rubygems/test_gem_security_trust_dir.rb +2 -2
  305. data/test/rubygems/test_gem_server.rb +10 -10
  306. data/test/rubygems/test_gem_source.rb +12 -14
  307. data/test/rubygems/test_gem_source_git.rb +12 -11
  308. data/test/rubygems/test_gem_source_installed.rb +7 -7
  309. data/test/rubygems/test_gem_source_local.rb +8 -8
  310. data/test/rubygems/test_gem_source_lock.rb +10 -10
  311. data/test/rubygems/test_gem_source_specific_file.rb +7 -7
  312. data/test/rubygems/test_gem_source_vendor.rb +7 -7
  313. data/test/rubygems/test_gem_spec_fetcher.rb +11 -2
  314. data/test/rubygems/test_gem_specification.rb +169 -119
  315. data/test/rubygems/test_gem_stream_ui.rb +3 -1
  316. data/test/rubygems/test_gem_stub_specification.rb +0 -1
  317. data/test/rubygems/test_gem_text.rb +1 -1
  318. data/test/rubygems/test_gem_uninstaller.rb +134 -10
  319. data/test/rubygems/test_gem_util.rb +7 -5
  320. data/test/rubygems/test_gem_version.rb +1 -1
  321. data/test/rubygems/test_kernel.rb +25 -8
  322. data/test/rubygems/test_project_sanity.rb +8 -1
  323. data/test/rubygems/test_require.rb +242 -40
  324. metadata +33 -46
  325. data/.bundle/config +0 -2
  326. data/.rubocop.yml +0 -91
  327. data/Gemfile +0 -8
  328. data/Gemfile.lock +0 -43
  329. data/bundler/CODE_OF_CONDUCT.md +0 -136
  330. data/lib/rubygems/source_local.rb +0 -7
  331. data/lib/rubygems/source_specific_file.rb +0 -6
  332. data/lib/ubygems.rb +0 -14
  333. data/tmp/.keep +0 -0
  334. data/util/CL2notes +0 -55
  335. data/util/bisect +0 -10
  336. data/util/ci.sh +0 -62
  337. data/util/cops/deprecations.rb +0 -52
  338. data/util/create_certs.rb +0 -171
  339. data/util/create_certs.sh +0 -27
  340. data/util/create_encrypted_key.rb +0 -16
  341. data/util/generate_spdx_license_list.rb +0 -63
  342. data/util/patch_with_prs.rb +0 -77
  343. data/util/rubocop +0 -8
  344. data/util/update_bundled_ca_certificates.rb +0 -139
  345. data/util/update_changelog.rb +0 -67
@@ -43,7 +43,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
43
43
  end
44
44
  end
45
45
 
46
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
46
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
47
47
  end
48
48
 
49
49
  def test_execute_explicit_version_includes_prerelease
@@ -65,7 +65,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
65
65
  end
66
66
  end
67
67
 
68
- assert_equal %w[a-2.a], @cmd.installed_specs.map { |spec| spec.full_name }
68
+ assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
69
69
  end
70
70
 
71
71
  def test_execute_local
@@ -91,7 +91,7 @@ class TestGemCommandsInstallCommand < Gem::TestCase
91
91
  end
92
92
  end
93
93
 
94
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
94
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
95
95
 
96
96
  assert_match "1 gem installed", @ui.output
97
97
  end
@@ -182,7 +182,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
182
182
  end
183
183
  end
184
184
 
185
- assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map { |spec| spec.full_name }.sort
185
+ assert_equal %w[a-2 b-2.a c-3], @cmd.installed_specs.map {|spec| spec.full_name }.sort
186
186
 
187
187
  assert_match "3 gems installed", @ui.output
188
188
  end
@@ -337,7 +337,7 @@ ERROR: Could not find a valid gem 'bar' (= 0.5) (required by 'foo' (>= 0)) in a
337
337
  errs = @ui.error.split("\n")
338
338
 
339
339
  assert_match(/ould not find a valid gem 'nonexistent'/, errs.shift)
340
- assert_match(%r!Unable to download data from http://not-there.nothing!, errs.shift)
340
+ assert_match(%r{Unable to download data from http://not-there.nothing}, errs.shift)
341
341
  end
342
342
 
343
343
  def test_execute_nonexistent_hint_disabled
@@ -449,7 +449,7 @@ ERROR: Possible alternatives: non_existent_with_hint
449
449
  end
450
450
  end
451
451
 
452
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
452
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
453
453
  end
454
454
 
455
455
  def test_execute_prerelease_wins_over_previous_ver
@@ -467,7 +467,7 @@ ERROR: Possible alternatives: non_existent_with_hint
467
467
  end
468
468
  end
469
469
 
470
- assert_equal %w[a-2.a], @cmd.installed_specs.map { |spec| spec.full_name }
470
+ assert_equal %w[a-2.a], @cmd.installed_specs.map {|spec| spec.full_name }
471
471
  end
472
472
 
473
473
  def test_execute_with_version_specified_by_colon
@@ -484,7 +484,7 @@ ERROR: Possible alternatives: non_existent_with_hint
484
484
  end
485
485
  end
486
486
 
487
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
487
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
488
488
  end
489
489
 
490
490
  def test_execute_prerelease_skipped_when_non_pre_available
@@ -502,7 +502,7 @@ ERROR: Possible alternatives: non_existent_with_hint
502
502
  end
503
503
  end
504
504
 
505
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
505
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
506
506
  end
507
507
 
508
508
  def test_execute_rdoc
@@ -582,7 +582,7 @@ ERROR: Possible alternatives: non_existent_with_hint
582
582
  fetcher.gem 'a', 2
583
583
  end
584
584
 
585
- args = %w!--with-awesome=true --more-awesome=yes!
585
+ args = %w[--with-awesome=true --more-awesome=yes]
586
586
 
587
587
  Gem::Command.build_args = args
588
588
 
@@ -627,7 +627,7 @@ ERROR: Possible alternatives: non_existent_with_hint
627
627
  end
628
628
  end
629
629
 
630
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
630
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
631
631
 
632
632
  assert_match "1 gem installed", @ui.output
633
633
  end
@@ -647,7 +647,7 @@ ERROR: Possible alternatives: non_existent_with_hint
647
647
  end
648
648
  end
649
649
 
650
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
650
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
651
651
 
652
652
  assert_match "1 gem installed", @ui.output
653
653
  end
@@ -688,7 +688,7 @@ ERROR: Possible alternatives: non_existent_with_hint
688
688
  end
689
689
  end
690
690
 
691
- assert_equal %w[a-1], @cmd.installed_specs.map { |spec| spec.full_name }
691
+ assert_equal %w[a-1], @cmd.installed_specs.map {|spec| spec.full_name }
692
692
 
693
693
  assert_match "1 gem installed", @ui.output
694
694
 
@@ -722,7 +722,7 @@ ERROR: Possible alternatives: non_existent_with_hint
722
722
  end
723
723
  end
724
724
 
725
- assert_equal %w[a-2 b-2], @cmd.installed_specs.map { |spec| spec.full_name }
725
+ assert_equal %w[a-2 b-2], @cmd.installed_specs.map {|spec| spec.full_name }
726
726
 
727
727
  assert_match "2 gems installed", @ui.output
728
728
  end
@@ -764,7 +764,7 @@ ERROR: Possible alternatives: non_existent_with_hint
764
764
  end
765
765
  end
766
766
 
767
- assert_equal %w[a-1 b-1], @cmd.installed_specs.map { |spec| spec.full_name }
767
+ assert_equal %w[a-1 b-1], @cmd.installed_specs.map {|spec| spec.full_name }
768
768
  end
769
769
 
770
770
  def test_execute_conservative
@@ -790,7 +790,7 @@ ERROR: Possible alternatives: non_existent_with_hint
790
790
  end
791
791
  end
792
792
 
793
- assert_equal %w[b-2], @cmd.installed_specs.map { |spec| spec.full_name }
793
+ assert_equal %w[b-2], @cmd.installed_specs.map {|spec| spec.full_name }
794
794
 
795
795
  assert_equal "", @ui.error
796
796
  assert_match "1 gem installed", @ui.output
@@ -812,7 +812,7 @@ ERROR: Possible alternatives: non_existent_with_hint
812
812
 
813
813
  @cmd.install_gem 'a', '>= 0'
814
814
 
815
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
815
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
816
816
 
817
817
  assert done_installing, 'documentation was not generated'
818
818
  end
@@ -826,7 +826,7 @@ ERROR: Possible alternatives: non_existent_with_hint
826
826
 
827
827
  @cmd.install_gem 'a', '>= 0'
828
828
 
829
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
829
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
830
830
  end
831
831
 
832
832
  def test_install_gem_ignore_dependencies_remote_platform_local
@@ -843,7 +843,7 @@ ERROR: Possible alternatives: non_existent_with_hint
843
843
 
844
844
  @cmd.install_gem 'a', '>= 0'
845
845
 
846
- assert_equal %W[a-3-#{local}], @cmd.installed_specs.map { |spec| spec.full_name }
846
+ assert_equal %W[a-3-#{local}], @cmd.installed_specs.map {|spec| spec.full_name }
847
847
  end
848
848
 
849
849
  def test_install_gem_ignore_dependencies_specific_file
@@ -857,7 +857,7 @@ ERROR: Possible alternatives: non_existent_with_hint
857
857
 
858
858
  @cmd.install_gem File.join(@tempdir, spec.file_name), nil
859
859
 
860
- assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
860
+ assert_equal %w[a-2], @cmd.installed_specs.map {|s| s.full_name }
861
861
  end
862
862
 
863
863
  def test_parses_requirement_from_gemname
@@ -886,7 +886,7 @@ ERROR: Possible alternatives: non_existent_with_hint
886
886
  end
887
887
 
888
888
  assert_equal 2, e.exit_code
889
- assert_match %r!Could not find a valid gem 'a' \(= 10.0\)!, @ui.error
889
+ assert_match %r{Could not find a valid gem 'a' \(= 10.0\)}, @ui.error
890
890
  end
891
891
 
892
892
  def test_show_errors_on_failure
@@ -927,7 +927,7 @@ ERROR: Possible alternatives: non_existent_with_hint
927
927
  end
928
928
  end
929
929
 
930
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
930
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
931
931
 
932
932
  assert_match "1 gem installed", @ui.output
933
933
 
@@ -954,7 +954,7 @@ ERROR: Possible alternatives: non_existent_with_hint
954
954
  end
955
955
  end
956
956
 
957
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
957
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
958
958
 
959
959
  assert_match "Using a (2)", @ui.output
960
960
  assert File.exist?("#{@gemdeps}.lock")
@@ -978,7 +978,7 @@ ERROR: Possible alternatives: non_existent_with_hint
978
978
  end
979
979
  end
980
980
 
981
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
981
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
982
982
 
983
983
  assert_match "Using a (2)", @ui.output
984
984
  assert !File.exist?("#{@gemdeps}.lock")
@@ -1003,7 +1003,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1003
1003
  end
1004
1004
  end
1005
1005
 
1006
- assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
1006
+ assert_equal %w[], @cmd.installed_specs.map {|spec| spec.full_name }
1007
1007
 
1008
1008
  assert_match "Using a (1)", @ui.output
1009
1009
  end
@@ -1025,7 +1025,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1025
1025
  end
1026
1026
  end
1027
1027
 
1028
- assert_equal %w[a-2], @cmd.installed_specs.map { |spec| spec.full_name }
1028
+ assert_equal %w[a-2], @cmd.installed_specs.map {|spec| spec.full_name }
1029
1029
 
1030
1030
  assert_match "Installing a (2)", @ui.output
1031
1031
  end
@@ -1048,7 +1048,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1048
1048
  end
1049
1049
  end
1050
1050
 
1051
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1051
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1052
1052
 
1053
1053
  assert_equal %w[q-1.0 r-2.0], names
1054
1054
 
@@ -1075,7 +1075,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1075
1075
  end
1076
1076
  end
1077
1077
 
1078
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1078
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1079
1079
 
1080
1080
  assert_equal %w[r-2.0], names
1081
1081
 
@@ -1102,7 +1102,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1102
1102
  end
1103
1103
  end
1104
1104
 
1105
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1105
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1106
1106
 
1107
1107
  assert_equal %w[q-1.0 r-2.0], names
1108
1108
 
@@ -1134,7 +1134,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1134
1134
  end
1135
1135
  end
1136
1136
 
1137
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1137
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1138
1138
 
1139
1139
  assert_equal %w[q-1.0 r-2.0], names
1140
1140
 
@@ -1169,7 +1169,7 @@ ERROR: Possible alternatives: non_existent_with_hint
1169
1169
  end
1170
1170
  end
1171
1171
 
1172
- names = @cmd.installed_specs.map { |spec| spec.full_name }
1172
+ names = @cmd.installed_specs.map {|spec| spec.full_name }
1173
1173
 
1174
1174
  assert_equal %w[r-2.0], names
1175
1175
 
@@ -15,7 +15,7 @@ class TestGemCommandsMirrorCommand < Gem::TestCase
15
15
  @cmd.execute
16
16
  end
17
17
 
18
- assert_match %r%Install the rubygems-mirror%i, @ui.error
18
+ assert_match %r{Install the rubygems-mirror}i, @ui.error
19
19
  end
20
20
 
21
21
  end
@@ -26,7 +26,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
26
26
 
27
27
  gem 'foo', '1.0.0'
28
28
  spec = gem 'foo', '1.0.1'
29
- mock = MiniTest::Mock.new
29
+ mock = Minitest::Mock.new
30
30
  mock.expect(:call, true, [spec.full_gem_path])
31
31
 
32
32
  Dir.stub(:chdir, mock) do
@@ -51,7 +51,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
51
51
  end
52
52
  end
53
53
 
54
- assert_match %r|Unable to find gem 'foo'|, @ui.output
54
+ assert_match %r{Unable to find gem 'foo'}, @ui.output
55
55
  assert_equal "", @ui.error
56
56
  end
57
57
 
@@ -64,7 +64,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
64
64
  end
65
65
  end
66
66
 
67
- assert_match %r|Unable to find gem 'foo'|, @ui.output
67
+ assert_match %r{Unable to find gem 'foo'}, @ui.output
68
68
  assert_equal "", @ui.error
69
69
  end
70
70
 
@@ -93,7 +93,7 @@ class TestGemCommandsOpenCommand < Gem::TestCase
93
93
  end
94
94
  end
95
95
 
96
- assert_match %r|'foo' is a default gem and can't be opened\.| , @ui.output
96
+ assert_match %r{'foo' is a default gem and can't be opened\.} , @ui.output
97
97
  assert_equal "", @ui.error
98
98
  end
99
99
 
@@ -7,6 +7,8 @@ class TestGemCommandsOwnerCommand < Gem::TestCase
7
7
  def setup
8
8
  super
9
9
 
10
+ credential_setup
11
+
10
12
  ENV["RUBYGEMS_HOST"] = nil
11
13
  @stub_ui = Gem::MockGemUi.new
12
14
  @stub_fetcher = Gem::FakeFetcher.new
@@ -17,6 +19,12 @@ class TestGemCommandsOwnerCommand < Gem::TestCase
17
19
  @cmd = Gem::Commands::OwnerCommand.new
18
20
  end
19
21
 
22
+ def teardown
23
+ credential_teardown
24
+
25
+ super
26
+ end
27
+
20
28
  def test_show_owners
21
29
  response = <<EOF
22
30
  ---
@@ -119,7 +127,7 @@ EOF
119
127
  end
120
128
  Gem.configuration.load_api_keys
121
129
 
122
- @cmd.handle_options %w(-k other)
130
+ @cmd.handle_options %w[-k other]
123
131
  @cmd.show_owners('freewill')
124
132
 
125
133
  assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
@@ -177,7 +185,7 @@ EOF
177
185
  end
178
186
  Gem.configuration.load_api_keys
179
187
 
180
- @cmd.handle_options %w(-k other)
188
+ @cmd.handle_options %w[-k other]
181
189
  @cmd.add_owners('freewill', ['user-new1@example.com'])
182
190
 
183
191
  assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
@@ -217,7 +225,7 @@ EOF
217
225
  end
218
226
  Gem.configuration.load_api_keys
219
227
 
220
- @cmd.handle_options %w(-k other)
228
+ @cmd.handle_options %w[-k other]
221
229
  @cmd.remove_owners('freewill', ['user-remove1@example.com'])
222
230
 
223
231
  assert_equal '701229f217cdf23b1344c7b4b54ca97', @stub_fetcher.last_request['Authorization']
@@ -160,11 +160,9 @@ class TestGemCommandsPristineCommand < Gem::TestCase
160
160
 
161
161
  ruby_exec = sprintf Gem.default_exec_format, 'ruby'
162
162
 
163
- if win_platform?
164
- assert_match %r%\A#!\s*#{ruby_exec}%, File.read(gem_exec)
165
- else
166
- assert_match %r%\A#!\s*/usr/bin/env #{ruby_exec}%, File.read(gem_exec)
167
- end
163
+ bin_env = win_platform? ? "" : %w[/usr/bin/env /bin/env].find {|f| File.executable?(f) } + " "
164
+
165
+ assert_match %r{\A#!\s*#{bin_env}#{ruby_exec}}, File.read(gem_exec)
168
166
  end
169
167
 
170
168
  def test_execute_extensions_explicit
@@ -215,7 +213,6 @@ class TestGemCommandsPristineCommand < Gem::TestCase
215
213
  io.write "# extconf.rb\nrequire 'mkmf'; create_makefile 'a'"
216
214
  end
217
215
 
218
- util_build_gem a
219
216
  install_gem a
220
217
 
221
218
  @cmd.options[:args] = %w[a]
@@ -249,7 +246,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
249
246
  RUBY
250
247
  end
251
248
 
252
- build_args = %w!--with-awesome=true --sweet!
249
+ build_args = %w[--with-awesome=true --sweet]
253
250
 
254
251
  install_gem a, :build_args => build_args
255
252
 
@@ -458,7 +455,7 @@ class TestGemCommandsPristineCommand < Gem::TestCase
458
455
  end
459
456
  end
460
457
 
461
- assert_match %r|at least one gem name|, e.message
458
+ assert_match %r{at least one gem name}, e.message
462
459
  end
463
460
 
464
461
  def test_execute_only_executables
@@ -491,6 +488,42 @@ class TestGemCommandsPristineCommand < Gem::TestCase
491
488
  refute File.exist? gem_lib
492
489
  end
493
490
 
491
+ def test_execute_only_plugins
492
+ a = util_spec 'a' do |s|
493
+ s.executables = %w[foo]
494
+ s.files = %w[bin/foo lib/a.rb lib/rubygems_plugin.rb]
495
+ end
496
+ write_file File.join(@tempdir, 'lib', 'a.rb') do |fp|
497
+ fp.puts "puts __FILE__"
498
+ end
499
+ write_file File.join(@tempdir, 'lib', 'rubygems_plugin.rb') do |fp|
500
+ fp.puts "puts __FILE__"
501
+ end
502
+ write_file File.join(@tempdir, 'bin', 'foo') do |fp|
503
+ fp.puts "#!/usr/bin/ruby"
504
+ end
505
+
506
+ install_gem a
507
+
508
+ gem_lib = File.join @gemhome, 'gems', a.full_name, 'lib', 'a.rb'
509
+ gem_plugin = File.join @gemhome, 'plugins', 'a_plugin.rb'
510
+ gem_exec = File.join @gemhome, 'bin', 'foo'
511
+
512
+ FileUtils.rm gem_exec
513
+ FileUtils.rm gem_plugin
514
+ FileUtils.rm gem_lib
515
+
516
+ @cmd.handle_options %w[--all --only-plugins]
517
+
518
+ use_ui @ui do
519
+ @cmd.execute
520
+ end
521
+
522
+ refute File.exist? gem_exec
523
+ assert File.exist? gem_plugin
524
+ refute File.exist? gem_lib
525
+ end
526
+
494
527
  def test_execute_bindir
495
528
  a = util_spec 'a' do |s|
496
529
  s.name = "test_gem"
@@ -6,6 +6,9 @@ class TestGemCommandsPushCommand < Gem::TestCase
6
6
 
7
7
  def setup
8
8
  super
9
+
10
+ credential_setup
11
+
9
12
  ENV["RUBYGEMS_HOST"] = nil
10
13
  Gem.host = Gem::DEFAULT_HOST
11
14
  Gem.configuration.disable_default_gem_server = false
@@ -37,6 +40,8 @@ class TestGemCommandsPushCommand < Gem::TestCase
37
40
  end
38
41
 
39
42
  def teardown
43
+ credential_teardown
44
+
40
45
  super
41
46
 
42
47
  singleton_gem_class.class_eval do
@@ -246,7 +251,7 @@ class TestGemCommandsPushCommand < Gem::TestCase
246
251
  spec.metadata['allowed_push_host'] = "https://privategemserver.example"
247
252
  end
248
253
 
249
- response = %{ERROR: "#{@host}" is not allowed by the gemspec, which only allows "https://privategemserver.example"}
254
+ response = %(ERROR: "#{@host}" is not allowed by the gemspec, which only allows "https://privategemserver.example")
250
255
 
251
256
  assert_raises Gem::MockGemUi::TermError do
252
257
  send_battery
@@ -355,7 +360,7 @@ class TestGemCommandsPushCommand < Gem::TestCase
355
360
  end
356
361
  Gem.configuration.load_api_keys
357
362
 
358
- @cmd.handle_options %w(-k other)
363
+ @cmd.handle_options %w[-k other]
359
364
  @cmd.instance_variable_set :@host, @host
360
365
  @cmd.send_gem(@path)
361
366