rubygems-update 2.6.1 → 3.5.0

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 (801) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +5899 -0
  3. data/CODE_OF_CONDUCT.md +76 -35
  4. data/CONTRIBUTING.md +231 -0
  5. data/MAINTAINERS.txt +8 -0
  6. data/Manifest.txt +428 -216
  7. data/POLICIES.md +135 -0
  8. data/README.md +112 -0
  9. data/UPGRADING.md +15 -0
  10. data/bundler/CHANGELOG.md +4719 -0
  11. data/bundler/LICENSE.md +22 -0
  12. data/bundler/README.md +58 -0
  13. data/bundler/UPGRADING.md +222 -0
  14. data/bundler/bundler.gemspec +46 -0
  15. data/bundler/exe/bundle +29 -0
  16. data/bundler/exe/bundler +4 -0
  17. data/bundler/lib/bundler/.document +1 -0
  18. data/bundler/lib/bundler/build_metadata.rb +45 -0
  19. data/bundler/lib/bundler/capistrano.rb +22 -0
  20. data/bundler/lib/bundler/checksum.rb +245 -0
  21. data/bundler/lib/bundler/ci_detector.rb +75 -0
  22. data/bundler/lib/bundler/cli/add.rb +47 -0
  23. data/bundler/lib/bundler/cli/binstubs.rb +57 -0
  24. data/bundler/lib/bundler/cli/cache.rb +43 -0
  25. data/bundler/lib/bundler/cli/check.rb +40 -0
  26. data/bundler/lib/bundler/cli/clean.rb +25 -0
  27. data/bundler/lib/bundler/cli/common.rb +138 -0
  28. data/bundler/lib/bundler/cli/config.rb +204 -0
  29. data/bundler/lib/bundler/cli/console.rb +44 -0
  30. data/bundler/lib/bundler/cli/doctor.rb +157 -0
  31. data/bundler/lib/bundler/cli/exec.rb +88 -0
  32. data/bundler/lib/bundler/cli/fund.rb +36 -0
  33. data/bundler/lib/bundler/cli/gem.rb +471 -0
  34. data/bundler/lib/bundler/cli/info.rb +83 -0
  35. data/bundler/lib/bundler/cli/init.rb +51 -0
  36. data/bundler/lib/bundler/cli/inject.rb +60 -0
  37. data/bundler/lib/bundler/cli/install.rb +190 -0
  38. data/bundler/lib/bundler/cli/issue.rb +41 -0
  39. data/bundler/lib/bundler/cli/list.rb +66 -0
  40. data/bundler/lib/bundler/cli/lock.rb +73 -0
  41. data/bundler/lib/bundler/cli/open.rb +29 -0
  42. data/bundler/lib/bundler/cli/outdated.rb +297 -0
  43. data/bundler/lib/bundler/cli/platform.rb +48 -0
  44. data/bundler/lib/bundler/cli/plugin.rb +34 -0
  45. data/bundler/lib/bundler/cli/pristine.rb +60 -0
  46. data/bundler/lib/bundler/cli/remove.rb +17 -0
  47. data/bundler/lib/bundler/cli/show.rb +75 -0
  48. data/bundler/lib/bundler/cli/update.rb +123 -0
  49. data/bundler/lib/bundler/cli/viz.rb +31 -0
  50. data/bundler/lib/bundler/cli.rb +846 -0
  51. data/bundler/lib/bundler/compact_index_client/cache.rb +121 -0
  52. data/bundler/lib/bundler/compact_index_client/cache_file.rb +153 -0
  53. data/bundler/lib/bundler/compact_index_client/gem_parser.rb +32 -0
  54. data/bundler/lib/bundler/compact_index_client/updater.rb +115 -0
  55. data/bundler/lib/bundler/compact_index_client.rb +126 -0
  56. data/bundler/lib/bundler/constants.rb +7 -0
  57. data/bundler/lib/bundler/current_ruby.rb +92 -0
  58. data/bundler/lib/bundler/definition.rb +1005 -0
  59. data/bundler/lib/bundler/dependency.rb +101 -0
  60. data/bundler/lib/bundler/deployment.rb +69 -0
  61. data/bundler/lib/bundler/deprecate.rb +44 -0
  62. data/bundler/lib/bundler/digest.rb +71 -0
  63. data/bundler/lib/bundler/dsl.rb +601 -0
  64. data/bundler/lib/bundler/endpoint_specification.rb +147 -0
  65. data/bundler/lib/bundler/env.rb +148 -0
  66. data/bundler/lib/bundler/environment_preserver.rb +86 -0
  67. data/bundler/lib/bundler/errors.rb +233 -0
  68. data/bundler/lib/bundler/feature_flag.rb +53 -0
  69. data/bundler/lib/bundler/fetcher/base.rb +52 -0
  70. data/bundler/lib/bundler/fetcher/compact_index.rb +129 -0
  71. data/bundler/lib/bundler/fetcher/dependency.rb +78 -0
  72. data/bundler/lib/bundler/fetcher/downloader.rb +91 -0
  73. data/bundler/lib/bundler/fetcher/gem_remote_fetcher.rb +16 -0
  74. data/bundler/lib/bundler/fetcher/index.rb +25 -0
  75. data/bundler/lib/bundler/fetcher.rb +324 -0
  76. data/bundler/lib/bundler/force_platform.rb +18 -0
  77. data/bundler/lib/bundler/friendly_errors.rb +126 -0
  78. data/bundler/lib/bundler/gem_helper.rb +237 -0
  79. data/bundler/lib/bundler/gem_helpers.rb +127 -0
  80. data/bundler/lib/bundler/gem_tasks.rb +7 -0
  81. data/bundler/lib/bundler/gem_version_promoter.rb +145 -0
  82. data/bundler/lib/bundler/graph.rb +152 -0
  83. data/bundler/lib/bundler/index.rb +205 -0
  84. data/bundler/lib/bundler/injector.rb +287 -0
  85. data/bundler/lib/bundler/inline.rb +73 -0
  86. data/bundler/lib/bundler/installer/gem_installer.rb +84 -0
  87. data/bundler/lib/bundler/installer/parallel_installer.rb +202 -0
  88. data/bundler/lib/bundler/installer/standalone.rb +116 -0
  89. data/bundler/lib/bundler/installer.rb +267 -0
  90. data/bundler/lib/bundler/lazy_specification.rb +170 -0
  91. data/bundler/lib/bundler/lockfile_generator.rb +104 -0
  92. data/bundler/lib/bundler/lockfile_parser.rb +289 -0
  93. data/bundler/lib/bundler/man/.document +1 -0
  94. data/bundler/lib/bundler/man/bundle-add.1 +59 -0
  95. data/bundler/lib/bundler/man/bundle-add.1.ronn +58 -0
  96. data/bundler/lib/bundler/man/bundle-binstubs.1 +30 -0
  97. data/bundler/lib/bundler/man/bundle-binstubs.1.ronn +41 -0
  98. data/bundler/lib/bundler/man/bundle-cache.1 +40 -0
  99. data/bundler/lib/bundler/man/bundle-cache.1.ronn +79 -0
  100. data/bundler/lib/bundler/man/bundle-check.1 +22 -0
  101. data/bundler/lib/bundler/man/bundle-check.1.ronn +26 -0
  102. data/bundler/lib/bundler/man/bundle-clean.1 +17 -0
  103. data/bundler/lib/bundler/man/bundle-clean.1.ronn +18 -0
  104. data/bundler/lib/bundler/man/bundle-config.1 +321 -0
  105. data/bundler/lib/bundler/man/bundle-config.1.ronn +411 -0
  106. data/bundler/lib/bundler/man/bundle-console.1 +35 -0
  107. data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
  108. data/bundler/lib/bundler/man/bundle-doctor.1 +30 -0
  109. data/bundler/lib/bundler/man/bundle-doctor.1.ronn +33 -0
  110. data/bundler/lib/bundler/man/bundle-exec.1 +104 -0
  111. data/bundler/lib/bundler/man/bundle-exec.1.ronn +151 -0
  112. data/bundler/lib/bundler/man/bundle-gem.1 +69 -0
  113. data/bundler/lib/bundler/man/bundle-gem.1.ronn +117 -0
  114. data/bundler/lib/bundler/man/bundle-help.1 +9 -0
  115. data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
  116. data/bundler/lib/bundler/man/bundle-info.1 +14 -0
  117. data/bundler/lib/bundler/man/bundle-info.1.ronn +17 -0
  118. data/bundler/lib/bundler/man/bundle-init.1 +20 -0
  119. data/bundler/lib/bundler/man/bundle-init.1.ronn +31 -0
  120. data/bundler/lib/bundler/man/bundle-inject.1 +23 -0
  121. data/bundler/lib/bundler/man/bundle-inject.1.ronn +24 -0
  122. data/bundler/lib/bundler/man/bundle-install.1 +215 -0
  123. data/bundler/lib/bundler/man/bundle-install.1.ronn +383 -0
  124. data/bundler/lib/bundler/man/bundle-list.1 +35 -0
  125. data/bundler/lib/bundler/man/bundle-list.1.ronn +33 -0
  126. data/bundler/lib/bundler/man/bundle-lock.1 +60 -0
  127. data/bundler/lib/bundler/man/bundle-lock.1.ronn +94 -0
  128. data/bundler/lib/bundler/man/bundle-open.1 +32 -0
  129. data/bundler/lib/bundler/man/bundle-open.1.ronn +27 -0
  130. data/bundler/lib/bundler/man/bundle-outdated.1 +100 -0
  131. data/bundler/lib/bundler/man/bundle-outdated.1.ronn +106 -0
  132. data/bundler/lib/bundler/man/bundle-platform.1 +49 -0
  133. data/bundler/lib/bundler/man/bundle-platform.1.ronn +49 -0
  134. data/bundler/lib/bundler/man/bundle-plugin.1 +55 -0
  135. data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
  136. data/bundler/lib/bundler/man/bundle-pristine.1 +23 -0
  137. data/bundler/lib/bundler/man/bundle-pristine.1.ronn +34 -0
  138. data/bundler/lib/bundler/man/bundle-remove.1 +21 -0
  139. data/bundler/lib/bundler/man/bundle-remove.1.ronn +23 -0
  140. data/bundler/lib/bundler/man/bundle-show.1 +16 -0
  141. data/bundler/lib/bundler/man/bundle-show.1.ronn +21 -0
  142. data/bundler/lib/bundler/man/bundle-update.1 +275 -0
  143. data/bundler/lib/bundler/man/bundle-update.1.ronn +351 -0
  144. data/bundler/lib/bundler/man/bundle-version.1 +22 -0
  145. data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
  146. data/bundler/lib/bundler/man/bundle-viz.1 +30 -0
  147. data/bundler/lib/bundler/man/bundle-viz.1.ronn +32 -0
  148. data/bundler/lib/bundler/man/bundle.1 +102 -0
  149. data/bundler/lib/bundler/man/bundle.1.ronn +116 -0
  150. data/bundler/lib/bundler/man/gemfile.5 +470 -0
  151. data/bundler/lib/bundler/man/gemfile.5.ronn +552 -0
  152. data/bundler/lib/bundler/man/index.txt +29 -0
  153. data/bundler/lib/bundler/match_metadata.rb +17 -0
  154. data/bundler/lib/bundler/match_platform.rb +23 -0
  155. data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
  156. data/bundler/lib/bundler/mirror.rb +221 -0
  157. data/bundler/lib/bundler/plugin/api/source.rb +321 -0
  158. data/bundler/lib/bundler/plugin/api.rb +81 -0
  159. data/bundler/lib/bundler/plugin/dsl.rb +53 -0
  160. data/bundler/lib/bundler/plugin/events.rb +61 -0
  161. data/bundler/lib/bundler/plugin/index.rb +193 -0
  162. data/bundler/lib/bundler/plugin/installer/git.rb +34 -0
  163. data/bundler/lib/bundler/plugin/installer/rubygems.rb +19 -0
  164. data/bundler/lib/bundler/plugin/installer.rb +112 -0
  165. data/bundler/lib/bundler/plugin/source_list.rb +31 -0
  166. data/bundler/lib/bundler/plugin.rb +359 -0
  167. data/bundler/lib/bundler/process_lock.rb +24 -0
  168. data/bundler/lib/bundler/remote_specification.rb +117 -0
  169. data/bundler/lib/bundler/resolver/base.rb +107 -0
  170. data/bundler/lib/bundler/resolver/candidate.rb +94 -0
  171. data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
  172. data/bundler/lib/bundler/resolver/package.rb +77 -0
  173. data/bundler/lib/bundler/resolver/root.rb +25 -0
  174. data/bundler/lib/bundler/resolver/spec_group.rb +79 -0
  175. data/bundler/lib/bundler/resolver.rb +462 -0
  176. data/bundler/lib/bundler/retry.rb +66 -0
  177. data/bundler/lib/bundler/ruby_dsl.rb +53 -0
  178. data/bundler/lib/bundler/ruby_version.rb +131 -0
  179. data/bundler/lib/bundler/rubygems_ext.rb +328 -0
  180. data/bundler/lib/bundler/rubygems_gem_installer.rb +137 -0
  181. data/bundler/lib/bundler/rubygems_integration.rb +493 -0
  182. data/bundler/lib/bundler/runtime.rb +307 -0
  183. data/bundler/lib/bundler/safe_marshal.rb +31 -0
  184. data/bundler/lib/bundler/self_manager.rb +186 -0
  185. data/bundler/lib/bundler/settings/validator.rb +102 -0
  186. data/bundler/lib/bundler/settings.rb +588 -0
  187. data/bundler/lib/bundler/setup.rb +33 -0
  188. data/bundler/lib/bundler/shared_helpers.rb +380 -0
  189. data/bundler/lib/bundler/similarity_detector.rb +63 -0
  190. data/bundler/lib/bundler/source/gemspec.rb +18 -0
  191. data/bundler/lib/bundler/source/git/git_proxy.rb +455 -0
  192. data/bundler/lib/bundler/source/git.rb +380 -0
  193. data/bundler/lib/bundler/source/metadata.rb +62 -0
  194. data/bundler/lib/bundler/source/path/installer.rb +53 -0
  195. data/bundler/lib/bundler/source/path.rb +261 -0
  196. data/bundler/lib/bundler/source/rubygems/remote.rb +68 -0
  197. data/bundler/lib/bundler/source/rubygems.rb +516 -0
  198. data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
  199. data/bundler/lib/bundler/source.rb +116 -0
  200. data/bundler/lib/bundler/source_list.rb +227 -0
  201. data/bundler/lib/bundler/source_map.rb +71 -0
  202. data/bundler/lib/bundler/spec_set.rb +247 -0
  203. data/bundler/lib/bundler/stub_specification.rb +119 -0
  204. data/bundler/lib/bundler/templates/.document +1 -0
  205. data/bundler/lib/bundler/templates/Executable +27 -0
  206. data/bundler/lib/bundler/templates/Executable.bundler +109 -0
  207. data/bundler/lib/bundler/templates/Executable.standalone +14 -0
  208. data/bundler/lib/bundler/templates/Gemfile +5 -0
  209. data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
  210. data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +84 -0
  211. data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
  212. data/bundler/lib/bundler/templates/newgem/Gemfile.tt +26 -0
  213. data/bundler/lib/bundler/templates/newgem/LICENSE.txt.tt +21 -0
  214. data/bundler/lib/bundler/templates/newgem/README.md.tt +45 -0
  215. data/bundler/lib/bundler/templates/newgem/Rakefile.tt +67 -0
  216. data/bundler/lib/bundler/templates/newgem/bin/console.tt +11 -0
  217. data/bundler/lib/bundler/templates/newgem/bin/setup.tt +8 -0
  218. data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
  219. data/bundler/lib/bundler/templates/newgem/exe/newgem.tt +3 -0
  220. data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
  221. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
  222. data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
  223. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
  224. data/bundler/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
  225. data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
  226. data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
  227. data/bundler/lib/bundler/templates/newgem/gitignore.tt +23 -0
  228. data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
  229. data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
  230. data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
  231. data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +51 -0
  232. data/bundler/lib/bundler/templates/newgem/rspec.tt +3 -0
  233. data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
  234. data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
  235. data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +11 -0
  236. data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
  237. data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
  238. data/bundler/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
  239. data/bundler/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +13 -0
  240. data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
  241. data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
  242. data/bundler/lib/bundler/ui/rg_proxy.rb +19 -0
  243. data/bundler/lib/bundler/ui/shell.rb +165 -0
  244. data/bundler/lib/bundler/ui/silent.rb +85 -0
  245. data/bundler/lib/bundler/ui.rb +9 -0
  246. data/bundler/lib/bundler/uri_credentials_filter.rb +43 -0
  247. data/bundler/lib/bundler/uri_normalizer.rb +23 -0
  248. data/bundler/lib/bundler/vendor/.document +1 -0
  249. data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
  250. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +174 -0
  251. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
  252. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
  253. data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +175 -0
  254. data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
  255. data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +2694 -0
  256. data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
  257. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
  258. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
  259. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +79 -0
  260. data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1073 -0
  261. data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
  262. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
  263. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
  264. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
  265. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
  266. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
  267. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
  268. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
  269. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
  270. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
  271. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
  272. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
  273. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
  274. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
  275. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +248 -0
  276. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
  277. data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
  278. data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
  279. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
  280. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
  281. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
  282. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
  283. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +373 -0
  284. data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
  285. data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +340 -0
  286. data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +825 -0
  287. data/bundler/lib/bundler/vendor/thor/lib/thor/command.rb +151 -0
  288. data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
  289. data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +106 -0
  290. data/bundler/lib/bundler/vendor/thor/lib/thor/group.rb +281 -0
  291. data/bundler/lib/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
  292. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
  293. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
  294. data/bundler/lib/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
  295. data/bundler/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
  296. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +89 -0
  297. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
  298. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
  299. data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +293 -0
  300. data/bundler/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -0
  301. data/bundler/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
  302. data/bundler/lib/bundler/vendor/thor/lib/thor/runner.rb +335 -0
  303. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +388 -0
  304. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +115 -0
  305. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
  306. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/html.rb +84 -0
  307. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/lcs_diff.rb +49 -0
  308. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +134 -0
  309. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
  310. data/bundler/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
  311. data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +81 -0
  312. data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +285 -0
  313. data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +3 -0
  314. data/bundler/lib/bundler/vendor/thor/lib/thor.rb +663 -0
  315. data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
  316. data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +455 -0
  317. data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
  318. data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +853 -0
  319. data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
  320. data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
  321. data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +1588 -0
  322. data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +125 -0
  323. data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
  324. data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
  325. data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
  326. data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
  327. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +539 -0
  328. data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +183 -0
  329. data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
  330. data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
  331. data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
  332. data/bundler/lib/bundler/vendor/uri/lib/uri.rb +104 -0
  333. data/bundler/lib/bundler/vendored_fileutils.rb +4 -0
  334. data/bundler/lib/bundler/vendored_net_http.rb +8 -0
  335. data/bundler/lib/bundler/vendored_persistent.rb +11 -0
  336. data/bundler/lib/bundler/vendored_pub_grub.rb +4 -0
  337. data/bundler/lib/bundler/vendored_thor.rb +8 -0
  338. data/bundler/lib/bundler/vendored_timeout.rb +8 -0
  339. data/bundler/lib/bundler/vendored_tsort.rb +4 -0
  340. data/bundler/lib/bundler/vendored_uri.rb +4 -0
  341. data/bundler/lib/bundler/version.rb +13 -0
  342. data/bundler/lib/bundler/vlad.rb +17 -0
  343. data/bundler/lib/bundler/worker.rb +117 -0
  344. data/bundler/lib/bundler/yaml_serializer.rb +93 -0
  345. data/bundler/lib/bundler.rb +665 -0
  346. data/{test/rubygems/bogussources.rb → exe/gem} +5 -2
  347. data/exe/update_rubygems +38 -0
  348. data/hide_lib_for_update/note.txt +0 -4
  349. data/lib/rubygems/available_set.rb +12 -12
  350. data/lib/rubygems/basic_specification.rb +75 -58
  351. data/lib/rubygems/bundler_version_finder.rb +77 -0
  352. data/lib/rubygems/ci_detector.rb +75 -0
  353. data/lib/rubygems/command.rb +144 -71
  354. data/lib/rubygems/command_manager.rb +64 -27
  355. data/lib/rubygems/commands/build_command.rb +88 -17
  356. data/lib/rubygems/commands/cert_command.rb +131 -83
  357. data/lib/rubygems/commands/check_command.rb +30 -27
  358. data/lib/rubygems/commands/cleanup_command.rb +57 -40
  359. data/lib/rubygems/commands/contents_command.rb +37 -39
  360. data/lib/rubygems/commands/dependency_command.rb +53 -65
  361. data/lib/rubygems/commands/environment_command.rb +32 -16
  362. data/lib/rubygems/commands/exec_command.rb +249 -0
  363. data/lib/rubygems/commands/fetch_command.rb +36 -19
  364. data/lib/rubygems/commands/generate_index_command.rb +40 -74
  365. data/lib/rubygems/commands/help_command.rb +22 -22
  366. data/lib/rubygems/commands/info_command.rb +38 -0
  367. data/lib/rubygems/commands/install_command.rb +67 -143
  368. data/lib/rubygems/commands/list_command.rb +10 -9
  369. data/lib/rubygems/commands/lock_command.rb +12 -14
  370. data/lib/rubygems/commands/mirror_command.rb +4 -4
  371. data/lib/rubygems/commands/open_command.rb +28 -26
  372. data/lib/rubygems/commands/outdated_command.rb +6 -6
  373. data/lib/rubygems/commands/owner_command.rb +51 -27
  374. data/lib/rubygems/commands/pristine_command.rb +99 -71
  375. data/lib/rubygems/commands/push_command.rb +53 -46
  376. data/lib/rubygems/commands/query_command.rb +21 -328
  377. data/lib/rubygems/commands/rdoc_command.rb +33 -33
  378. data/lib/rubygems/commands/search_command.rb +9 -9
  379. data/lib/rubygems/commands/server_command.rb +15 -76
  380. data/lib/rubygems/commands/setup_command.rb +370 -186
  381. data/lib/rubygems/commands/signin_command.rb +34 -0
  382. data/lib/rubygems/commands/signout_command.rb +32 -0
  383. data/lib/rubygems/commands/sources_command.rb +57 -41
  384. data/lib/rubygems/commands/specification_command.rb +38 -28
  385. data/lib/rubygems/commands/stale_command.rb +6 -5
  386. data/lib/rubygems/commands/uninstall_command.rb +96 -62
  387. data/lib/rubygems/commands/unpack_command.rb +44 -53
  388. data/lib/rubygems/commands/update_command.rb +155 -99
  389. data/lib/rubygems/commands/which_command.rb +14 -17
  390. data/lib/rubygems/commands/yank_command.rb +28 -32
  391. data/lib/rubygems/compatibility.rb +13 -32
  392. data/lib/rubygems/config_file.rb +214 -119
  393. data/lib/rubygems/core_ext/kernel_gem.rb +10 -16
  394. data/lib/rubygems/core_ext/kernel_require.rb +92 -90
  395. data/lib/rubygems/core_ext/kernel_warn.rb +49 -0
  396. data/lib/rubygems/core_ext/tcpsocket_init.rb +54 -0
  397. data/lib/rubygems/defaults.rb +184 -54
  398. data/lib/rubygems/dependency.rb +75 -62
  399. data/lib/rubygems/dependency_installer.rb +74 -230
  400. data/lib/rubygems/dependency_list.rb +32 -33
  401. data/lib/rubygems/deprecate.rb +113 -17
  402. data/lib/rubygems/doctor.rb +31 -31
  403. data/lib/rubygems/errors.rb +51 -13
  404. data/lib/rubygems/exceptions.rb +65 -35
  405. data/lib/rubygems/ext/build_error.rb +3 -1
  406. data/lib/rubygems/ext/builder.rb +103 -77
  407. data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
  408. data/lib/rubygems/ext/cargo_builder.rb +360 -0
  409. data/lib/rubygems/ext/cmake_builder.rb +6 -7
  410. data/lib/rubygems/ext/configure_builder.rb +6 -9
  411. data/lib/rubygems/ext/ext_conf_builder.rb +40 -61
  412. data/lib/rubygems/ext/rake_builder.rb +18 -21
  413. data/lib/rubygems/ext.rb +8 -7
  414. data/lib/rubygems/gem_runner.rb +19 -21
  415. data/lib/rubygems/gemcutter_utilities/webauthn_listener/response.rb +163 -0
  416. data/lib/rubygems/gemcutter_utilities/webauthn_listener.rb +105 -0
  417. data/lib/rubygems/gemcutter_utilities/webauthn_poller.rb +78 -0
  418. data/lib/rubygems/gemcutter_utilities.rb +246 -43
  419. data/lib/rubygems/install_default_message.rb +3 -3
  420. data/lib/rubygems/install_message.rb +3 -3
  421. data/lib/rubygems/install_update_options.rb +104 -98
  422. data/lib/rubygems/installer.rb +407 -225
  423. data/lib/rubygems/installer_uninstaller_utils.rb +27 -0
  424. data/lib/rubygems/local_remote_options.rb +29 -32
  425. data/lib/rubygems/name_tuple.rb +18 -23
  426. data/lib/rubygems/net/http.rb +3 -0
  427. data/lib/rubygems/net-http/LICENSE.txt +22 -0
  428. data/lib/rubygems/net-http/lib/net/http/backward.rb +40 -0
  429. data/lib/rubygems/net-http/lib/net/http/exceptions.rb +34 -0
  430. data/lib/rubygems/net-http/lib/net/http/generic_request.rb +414 -0
  431. data/lib/rubygems/net-http/lib/net/http/header.rb +981 -0
  432. data/lib/rubygems/net-http/lib/net/http/proxy_delta.rb +17 -0
  433. data/lib/rubygems/net-http/lib/net/http/request.rb +88 -0
  434. data/lib/rubygems/net-http/lib/net/http/requests.rb +425 -0
  435. data/lib/rubygems/net-http/lib/net/http/response.rb +738 -0
  436. data/lib/rubygems/net-http/lib/net/http/responses.rb +1174 -0
  437. data/lib/rubygems/net-http/lib/net/http/status.rb +84 -0
  438. data/lib/rubygems/net-http/lib/net/http.rb +2496 -0
  439. data/lib/rubygems/net-http/lib/net/https.rb +23 -0
  440. data/lib/rubygems/net-protocol/LICENSE.txt +22 -0
  441. data/lib/rubygems/net-protocol/lib/net/protocol.rb +544 -0
  442. data/lib/rubygems/openssl.rb +7 -0
  443. data/lib/rubygems/optparse/.document +1 -0
  444. data/lib/rubygems/optparse/COPYING +56 -0
  445. data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
  446. data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
  447. data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
  448. data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
  449. data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
  450. data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
  451. data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
  452. data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
  453. data/lib/rubygems/optparse/lib/optparse.rb +2330 -0
  454. data/lib/rubygems/optparse.rb +3 -0
  455. data/lib/rubygems/package/digest_io.rb +5 -7
  456. data/lib/rubygems/package/file_source.rb +6 -8
  457. data/lib/rubygems/package/io_source.rb +6 -4
  458. data/lib/rubygems/package/old.rb +19 -28
  459. data/lib/rubygems/package/source.rb +1 -1
  460. data/lib/rubygems/package/tar_header.rb +114 -93
  461. data/lib/rubygems/package/tar_reader/entry.rb +116 -22
  462. data/lib/rubygems/package/tar_reader.rb +18 -40
  463. data/lib/rubygems/package/tar_writer.rb +42 -56
  464. data/lib/rubygems/package.rb +245 -145
  465. data/lib/rubygems/package_task.rb +8 -14
  466. data/lib/rubygems/path_support.rb +21 -16
  467. data/lib/rubygems/platform.rb +135 -74
  468. data/lib/rubygems/psych_tree.rb +3 -2
  469. data/lib/rubygems/query_utils.rb +349 -0
  470. data/lib/rubygems/rdoc.rb +4 -326
  471. data/lib/rubygems/remote_fetcher.rb +99 -181
  472. data/lib/rubygems/request/connection_pools.rb +31 -24
  473. data/lib/rubygems/request/http_pool.rb +6 -7
  474. data/lib/rubygems/request/https_pool.rb +2 -3
  475. data/lib/rubygems/request.rb +103 -53
  476. data/lib/rubygems/request_set/gem_dependency_api.rb +182 -190
  477. data/lib/rubygems/request_set/lockfile/parser.rb +42 -52
  478. data/lib/rubygems/request_set/lockfile/tokenizer.rb +34 -24
  479. data/lib/rubygems/request_set/lockfile.rb +32 -35
  480. data/lib/rubygems/request_set.rb +115 -71
  481. data/lib/rubygems/requirement.rb +77 -68
  482. data/lib/rubygems/resolv/LICENSE.txt +22 -0
  483. data/lib/rubygems/resolv/lib/resolv.rb +3387 -0
  484. data/lib/rubygems/resolver/activation_request.rb +34 -61
  485. data/lib/rubygems/resolver/api_set/gem_parser.rb +24 -0
  486. data/lib/rubygems/resolver/api_set.rb +40 -32
  487. data/lib/rubygems/resolver/api_specification.rb +37 -18
  488. data/lib/rubygems/resolver/best_set.rb +15 -17
  489. data/lib/rubygems/resolver/composed_set.rb +9 -11
  490. data/lib/rubygems/resolver/conflict.rb +19 -33
  491. data/lib/rubygems/resolver/current_set.rb +2 -4
  492. data/lib/rubygems/resolver/dependency_request.rb +8 -9
  493. data/lib/rubygems/resolver/git_set.rb +8 -10
  494. data/lib/rubygems/resolver/git_specification.rb +11 -13
  495. data/lib/rubygems/resolver/index_set.rb +13 -15
  496. data/lib/rubygems/resolver/index_specification.rb +42 -11
  497. data/lib/rubygems/resolver/installed_specification.rb +9 -11
  498. data/lib/rubygems/resolver/installer_set.rb +87 -45
  499. data/lib/rubygems/resolver/local_specification.rb +5 -7
  500. data/lib/rubygems/resolver/lock_set.rb +13 -15
  501. data/lib/rubygems/resolver/lock_specification.rb +13 -15
  502. data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
  503. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +57 -0
  504. data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +88 -0
  505. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +36 -0
  506. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +66 -0
  507. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +62 -0
  508. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +63 -0
  509. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +61 -0
  510. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +126 -0
  511. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +46 -0
  512. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +36 -0
  513. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +164 -0
  514. data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +110 -146
  515. data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +83 -9
  516. data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
  517. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
  518. data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
  519. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +552 -172
  520. data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
  521. data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +12 -6
  522. data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
  523. data/lib/rubygems/resolver/molinillo.rb +2 -1
  524. data/lib/rubygems/resolver/requirement_list.rb +2 -2
  525. data/lib/rubygems/resolver/set.rb +3 -5
  526. data/lib/rubygems/resolver/source_set.rb +6 -7
  527. data/lib/rubygems/resolver/spec_specification.rb +16 -4
  528. data/lib/rubygems/resolver/specification.rb +25 -10
  529. data/lib/rubygems/resolver/stats.rb +1 -0
  530. data/lib/rubygems/resolver/vendor_set.rb +6 -8
  531. data/lib/rubygems/resolver/vendor_specification.rb +6 -8
  532. data/lib/rubygems/resolver.rb +121 -72
  533. data/lib/rubygems/s3_uri_signer.rb +177 -0
  534. data/lib/rubygems/safe_marshal/elements.rb +138 -0
  535. data/lib/rubygems/safe_marshal/reader.rb +306 -0
  536. data/lib/rubygems/safe_marshal/visitors/stream_printer.rb +31 -0
  537. data/lib/rubygems/safe_marshal/visitors/to_ruby.rb +385 -0
  538. data/lib/rubygems/safe_marshal/visitors/visitor.rb +74 -0
  539. data/lib/rubygems/safe_marshal.rb +74 -0
  540. data/lib/rubygems/safe_yaml.rb +36 -0
  541. data/lib/rubygems/security/policies.rb +49 -51
  542. data/lib/rubygems/security/policy.rb +46 -53
  543. data/lib/rubygems/security/signer.rb +86 -29
  544. data/lib/rubygems/security/trust_dir.rb +22 -24
  545. data/lib/rubygems/security.rb +101 -82
  546. data/lib/rubygems/security_option.rb +43 -0
  547. data/lib/rubygems/shellwords.rb +3 -0
  548. data/lib/rubygems/source/git.rb +40 -42
  549. data/lib/rubygems/source/installed.rb +5 -9
  550. data/lib/rubygems/source/local.rb +30 -33
  551. data/lib/rubygems/source/lock.rb +10 -10
  552. data/lib/rubygems/source/specific_file.rb +7 -9
  553. data/lib/rubygems/source/vendor.rb +3 -7
  554. data/lib/rubygems/source.rb +78 -68
  555. data/lib/rubygems/source_list.rb +11 -15
  556. data/lib/rubygems/spec_fetcher.rb +71 -83
  557. data/lib/rubygems/specification.rb +833 -1115
  558. data/lib/rubygems/specification_policy.rb +538 -0
  559. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA.pem +21 -0
  560. data/lib/rubygems/ssl_certs/rubygems.org/GlobalSignRootCA_R3.pem +21 -0
  561. data/lib/rubygems/stub_specification.rb +55 -57
  562. data/lib/rubygems/text.rb +39 -27
  563. data/lib/rubygems/timeout/LICENSE.txt +22 -0
  564. data/lib/rubygems/timeout/lib/timeout.rb +199 -0
  565. data/lib/rubygems/timeout.rb +3 -0
  566. data/lib/rubygems/tsort/.document +1 -0
  567. data/lib/rubygems/tsort/LICENSE.txt +22 -0
  568. data/lib/rubygems/tsort/lib/tsort.rb +455 -0
  569. data/lib/rubygems/tsort.rb +3 -0
  570. data/lib/rubygems/uninstaller.rb +150 -87
  571. data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
  572. data/lib/rubygems/update_suggestion.rb +56 -0
  573. data/lib/rubygems/uri.rb +126 -0
  574. data/lib/rubygems/uri_formatter.rb +4 -7
  575. data/lib/rubygems/user_interaction.rb +92 -146
  576. data/lib/rubygems/util/licenses.rb +712 -317
  577. data/lib/rubygems/util/list.rb +5 -2
  578. data/lib/rubygems/util.rb +58 -75
  579. data/lib/rubygems/validator.rb +26 -48
  580. data/lib/rubygems/version.rb +106 -56
  581. data/lib/rubygems/version_option.rb +22 -14
  582. data/lib/rubygems/yaml_serializer.rb +93 -0
  583. data/lib/rubygems.rb +427 -361
  584. data/rubygems-update.gemspec +38 -0
  585. data/setup.rb +13 -27
  586. metadata +500 -363
  587. data/.autotest +0 -71
  588. data/.document +0 -5
  589. data/.travis.yml +0 -46
  590. data/CONTRIBUTING.rdoc +0 -129
  591. data/CVE-2013-4287.txt +0 -35
  592. data/CVE-2013-4363.txt +0 -45
  593. data/CVE-2015-3900.txt +0 -40
  594. data/History.txt +0 -3105
  595. data/MAINTAINERS.md +0 -5
  596. data/POLICIES.rdoc +0 -61
  597. data/README.rdoc +0 -54
  598. data/Rakefile +0 -449
  599. data/UPGRADING.rdoc +0 -92
  600. data/appveyor.yml +0 -36
  601. data/bin/gem +0 -25
  602. data/bin/update_rubygems +0 -37
  603. data/lib/gauntlet_rubygems.rb +0 -51
  604. data/lib/rubygems/indexer.rb +0 -434
  605. data/lib/rubygems/installer_test_case.rb +0 -194
  606. data/lib/rubygems/mock_gem_ui.rb +0 -89
  607. data/lib/rubygems/package/tar_test_case.rb +0 -147
  608. data/lib/rubygems/psych_additions.rb +0 -10
  609. data/lib/rubygems/server.rb +0 -869
  610. data/lib/rubygems/source_local.rb +0 -6
  611. data/lib/rubygems/source_specific_file.rb +0 -5
  612. data/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem +0 -25
  613. data/lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem +0 -32
  614. data/lib/rubygems/ssl_certs/Class3PublicPrimaryCertificationAuthority.pem +0 -14
  615. data/lib/rubygems/ssl_certs/DigiCertHighAssuranceEVRootCA.pem +0 -23
  616. data/lib/rubygems/ssl_certs/EntrustnetSecureServerCertificationAuthority.pem +0 -28
  617. data/lib/rubygems/ssl_certs/GeoTrustGlobalCA.pem +0 -20
  618. data/lib/rubygems/syck_hack.rb +0 -77
  619. data/lib/rubygems/test_case.rb +0 -1496
  620. data/lib/rubygems/test_utilities.rb +0 -384
  621. data/lib/ubygems.rb +0 -11
  622. data/test/rubygems/alternate_cert.pem +0 -18
  623. data/test/rubygems/alternate_cert_32.pem +0 -18
  624. data/test/rubygems/alternate_key.pem +0 -27
  625. data/test/rubygems/bad_rake.rb +0 -2
  626. data/test/rubygems/ca_cert.pem +0 -68
  627. data/test/rubygems/child_cert.pem +0 -18
  628. data/test/rubygems/child_cert_32.pem +0 -18
  629. data/test/rubygems/child_key.pem +0 -27
  630. data/test/rubygems/client.pem +0 -49
  631. data/test/rubygems/data/gem-private_key.pem +0 -27
  632. data/test/rubygems/data/gem-public_cert.pem +0 -20
  633. data/test/rubygems/data/null-type.gemspec.rz +0 -0
  634. data/test/rubygems/encrypted_private_key.pem +0 -30
  635. data/test/rubygems/expired_cert.pem +0 -18
  636. data/test/rubygems/fake_certlib/openssl.rb +0 -8
  637. data/test/rubygems/fix_openssl_warnings.rb +0 -13
  638. data/test/rubygems/foo/discover.rb +0 -1
  639. data/test/rubygems/future_cert.pem +0 -18
  640. data/test/rubygems/future_cert_32.pem +0 -18
  641. data/test/rubygems/good_rake.rb +0 -2
  642. data/test/rubygems/grandchild_cert.pem +0 -18
  643. data/test/rubygems/grandchild_cert_32.pem +0 -18
  644. data/test/rubygems/grandchild_key.pem +0 -27
  645. data/test/rubygems/invalid_client.pem +0 -49
  646. data/test/rubygems/invalid_issuer_cert.pem +0 -18
  647. data/test/rubygems/invalid_issuer_cert_32.pem +0 -18
  648. data/test/rubygems/invalid_key.pem +0 -27
  649. data/test/rubygems/invalid_signer_cert.pem +0 -18
  650. data/test/rubygems/invalid_signer_cert_32.pem +0 -18
  651. data/test/rubygems/invalidchild_cert.pem +0 -18
  652. data/test/rubygems/invalidchild_cert_32.pem +0 -18
  653. data/test/rubygems/invalidchild_key.pem +0 -27
  654. data/test/rubygems/plugin/exception/rubygems_plugin.rb +0 -3
  655. data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -4
  656. data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +0 -3
  657. data/test/rubygems/private_key.pem +0 -27
  658. data/test/rubygems/public_cert.pem +0 -18
  659. data/test/rubygems/public_cert_32.pem +0 -18
  660. data/test/rubygems/public_key.pem +0 -9
  661. data/test/rubygems/rubygems/commands/crash_command.rb +0 -6
  662. data/test/rubygems/rubygems_plugin.rb +0 -22
  663. data/test/rubygems/sff/discover.rb +0 -1
  664. data/test/rubygems/simple_gem.rb +0 -67
  665. data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -9
  666. data/test/rubygems/specifications/foo-0.0.1-x86-mswin32.gemspec +0 -0
  667. data/test/rubygems/ssl_cert.pem +0 -19
  668. data/test/rubygems/ssl_key.pem +0 -15
  669. data/test/rubygems/test_bundled_ca.rb +0 -59
  670. data/test/rubygems/test_config.rb +0 -24
  671. data/test/rubygems/test_deprecate.rb +0 -77
  672. data/test/rubygems/test_gem.rb +0 -1718
  673. data/test/rubygems/test_gem_available_set.rb +0 -130
  674. data/test/rubygems/test_gem_command.rb +0 -248
  675. data/test/rubygems/test_gem_command_manager.rb +0 -264
  676. data/test/rubygems/test_gem_commands_build_command.rb +0 -121
  677. data/test/rubygems/test_gem_commands_cert_command.rb +0 -671
  678. data/test/rubygems/test_gem_commands_check_command.rb +0 -69
  679. data/test/rubygems/test_gem_commands_cleanup_command.rb +0 -197
  680. data/test/rubygems/test_gem_commands_contents_command.rb +0 -240
  681. data/test/rubygems/test_gem_commands_dependency_command.rb +0 -230
  682. data/test/rubygems/test_gem_commands_environment_command.rb +0 -154
  683. data/test/rubygems/test_gem_commands_fetch_command.rb +0 -127
  684. data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -51
  685. data/test/rubygems/test_gem_commands_help_command.rb +0 -75
  686. data/test/rubygems/test_gem_commands_install_command.rb +0 -1007
  687. data/test/rubygems/test_gem_commands_list_command.rb +0 -34
  688. data/test/rubygems/test_gem_commands_lock_command.rb +0 -69
  689. data/test/rubygems/test_gem_commands_mirror.rb +0 -20
  690. data/test/rubygems/test_gem_commands_open_command.rb +0 -70
  691. data/test/rubygems/test_gem_commands_outdated_command.rb +0 -33
  692. data/test/rubygems/test_gem_commands_owner_command.rb +0 -205
  693. data/test/rubygems/test_gem_commands_pristine_command.rb +0 -491
  694. data/test/rubygems/test_gem_commands_push_command.rb +0 -330
  695. data/test/rubygems/test_gem_commands_query_command.rb +0 -657
  696. data/test/rubygems/test_gem_commands_search_command.rb +0 -18
  697. data/test/rubygems/test_gem_commands_server_command.rb +0 -60
  698. data/test/rubygems/test_gem_commands_setup_command.rb +0 -136
  699. data/test/rubygems/test_gem_commands_sources_command.rb +0 -249
  700. data/test/rubygems/test_gem_commands_specification_command.rb +0 -251
  701. data/test/rubygems/test_gem_commands_stale_command.rb +0 -43
  702. data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -283
  703. data/test/rubygems/test_gem_commands_unpack_command.rb +0 -209
  704. data/test/rubygems/test_gem_commands_update_command.rb +0 -514
  705. data/test/rubygems/test_gem_commands_which_command.rb +0 -87
  706. data/test/rubygems/test_gem_commands_yank_command.rb +0 -100
  707. data/test/rubygems/test_gem_config_file.rb +0 -491
  708. data/test/rubygems/test_gem_dependency.rb +0 -362
  709. data/test/rubygems/test_gem_dependency_installer.rb +0 -1235
  710. data/test/rubygems/test_gem_dependency_list.rb +0 -260
  711. data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -29
  712. data/test/rubygems/test_gem_doctor.rb +0 -169
  713. data/test/rubygems/test_gem_ext_builder.rb +0 -341
  714. data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -87
  715. data/test/rubygems/test_gem_ext_configure_builder.rb +0 -87
  716. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -211
  717. data/test/rubygems/test_gem_ext_rake_builder.rb +0 -65
  718. data/test/rubygems/test_gem_gem_runner.rb +0 -69
  719. data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -235
  720. data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -62
  721. data/test/rubygems/test_gem_indexer.rb +0 -367
  722. data/test/rubygems/test_gem_install_update_options.rb +0 -197
  723. data/test/rubygems/test_gem_installer.rb +0 -1552
  724. data/test/rubygems/test_gem_local_remote_options.rb +0 -134
  725. data/test/rubygems/test_gem_name_tuple.rb +0 -45
  726. data/test/rubygems/test_gem_package.rb +0 -876
  727. data/test/rubygems/test_gem_package_old.rb +0 -90
  728. data/test/rubygems/test_gem_package_tar_header.rb +0 -147
  729. data/test/rubygems/test_gem_package_tar_reader.rb +0 -90
  730. data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -142
  731. data/test/rubygems/test_gem_package_tar_writer.rb +0 -264
  732. data/test/rubygems/test_gem_package_task.rb +0 -84
  733. data/test/rubygems/test_gem_path_support.rb +0 -121
  734. data/test/rubygems/test_gem_platform.rb +0 -308
  735. data/test/rubygems/test_gem_rdoc.rb +0 -270
  736. data/test/rubygems/test_gem_remote_fetcher.rb +0 -1051
  737. data/test/rubygems/test_gem_request.rb +0 -363
  738. data/test/rubygems/test_gem_request_connection_pools.rb +0 -130
  739. data/test/rubygems/test_gem_request_set.rb +0 -595
  740. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -831
  741. data/test/rubygems/test_gem_request_set_lockfile.rb +0 -470
  742. data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -549
  743. data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -306
  744. data/test/rubygems/test_gem_requirement.rb +0 -387
  745. data/test/rubygems/test_gem_resolver.rb +0 -715
  746. data/test/rubygems/test_gem_resolver_activation_request.rb +0 -74
  747. data/test/rubygems/test_gem_resolver_api_set.rb +0 -209
  748. data/test/rubygems/test_gem_resolver_api_specification.rb +0 -145
  749. data/test/rubygems/test_gem_resolver_best_set.rb +0 -138
  750. data/test/rubygems/test_gem_resolver_composed_set.rb +0 -46
  751. data/test/rubygems/test_gem_resolver_conflict.rb +0 -88
  752. data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -85
  753. data/test/rubygems/test_gem_resolver_git_set.rb +0 -190
  754. data/test/rubygems/test_gem_resolver_git_specification.rb +0 -114
  755. data/test/rubygems/test_gem_resolver_index_set.rb +0 -90
  756. data/test/rubygems/test_gem_resolver_index_specification.rb +0 -90
  757. data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -50
  758. data/test/rubygems/test_gem_resolver_installer_set.rb +0 -258
  759. data/test/rubygems/test_gem_resolver_local_specification.rb +0 -46
  760. data/test/rubygems/test_gem_resolver_lock_set.rb +0 -64
  761. data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -100
  762. data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -21
  763. data/test/rubygems/test_gem_resolver_specification.rb +0 -65
  764. data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -84
  765. data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -84
  766. data/test/rubygems/test_gem_security.rb +0 -307
  767. data/test/rubygems/test_gem_security_policy.rb +0 -541
  768. data/test/rubygems/test_gem_security_signer.rb +0 -209
  769. data/test/rubygems/test_gem_security_trust_dir.rb +0 -101
  770. data/test/rubygems/test_gem_server.rb +0 -409
  771. data/test/rubygems/test_gem_silent_ui.rb +0 -117
  772. data/test/rubygems/test_gem_source.rb +0 -242
  773. data/test/rubygems/test_gem_source_fetch_problem.rb +0 -20
  774. data/test/rubygems/test_gem_source_git.rb +0 -309
  775. data/test/rubygems/test_gem_source_installed.rb +0 -37
  776. data/test/rubygems/test_gem_source_list.rb +0 -118
  777. data/test/rubygems/test_gem_source_local.rb +0 -107
  778. data/test/rubygems/test_gem_source_lock.rb +0 -115
  779. data/test/rubygems/test_gem_source_specific_file.rb +0 -76
  780. data/test/rubygems/test_gem_source_vendor.rb +0 -32
  781. data/test/rubygems/test_gem_spec_fetcher.rb +0 -311
  782. data/test/rubygems/test_gem_specification.rb +0 -3519
  783. data/test/rubygems/test_gem_stream_ui.rb +0 -239
  784. data/test/rubygems/test_gem_stub_specification.rb +0 -217
  785. data/test/rubygems/test_gem_text.rb +0 -77
  786. data/test/rubygems/test_gem_uninstaller.rb +0 -485
  787. data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -33
  788. data/test/rubygems/test_gem_uri_formatter.rb +0 -29
  789. data/test/rubygems/test_gem_util.rb +0 -40
  790. data/test/rubygems/test_gem_validator.rb +0 -46
  791. data/test/rubygems/test_gem_version.rb +0 -222
  792. data/test/rubygems/test_gem_version_option.rb +0 -152
  793. data/test/rubygems/test_kernel.rb +0 -86
  794. data/test/rubygems/test_require.rb +0 -322
  795. data/test/rubygems/wrong_key_cert.pem +0 -18
  796. data/test/rubygems/wrong_key_cert_32.pem +0 -18
  797. data/util/CL2notes +0 -56
  798. data/util/create_certs.rb +0 -157
  799. data/util/create_encrypted_key.rb +0 -17
  800. data/util/generate_spdx_license_list.rb +0 -51
  801. data/util/update_bundled_ca_certificates.rb +0 -118
@@ -1,339 +1,734 @@
1
1
  # frozen_string_literal: true
2
- require 'rubygems/text'
2
+
3
+ # This is generated by generate_spdx_license_list.rb, any edits to this
4
+ # file will be discarded.
5
+
6
+ require_relative "../text"
3
7
 
4
8
  class Gem::Licenses
5
9
  extend Gem::Text
6
10
 
7
- NONSTANDARD = 'Nonstandard'.freeze
11
+ NONSTANDARD = "Nonstandard"
12
+ LICENSE_REF = "LicenseRef-.+"
8
13
 
9
14
  # Software Package Data Exchange (SPDX) standard open-source software
10
15
  # license identifiers
11
- IDENTIFIERS = %w(
12
- 0BSD
13
- AAL
14
- ADSL
15
- AFL-1.1
16
- AFL-1.2
17
- AFL-2.0
18
- AFL-2.1
19
- AFL-3.0
20
- AGPL-1.0
21
- AGPL-3.0
22
- AMDPLPA
23
- AML
24
- AMPAS
25
- ANTLR-PD
26
- APAFML
27
- APL-1.0
28
- APSL-1.0
29
- APSL-1.1
30
- APSL-1.2
31
- APSL-2.0
32
- Abstyles
33
- Adobe-2006
34
- Adobe-Glyph
35
- Afmparse
36
- Aladdin
37
- Apache-1.0
38
- Apache-1.1
39
- Apache-2.0
40
- Artistic-1.0
41
- Artistic-1.0-Perl
42
- Artistic-1.0-cl8
43
- Artistic-2.0
44
- BSD-2-Clause
45
- BSD-2-Clause-FreeBSD
46
- BSD-2-Clause-NetBSD
47
- BSD-3-Clause
48
- BSD-3-Clause-Attribution
49
- BSD-3-Clause-Clear
50
- BSD-3-Clause-LBNL
51
- BSD-4-Clause
52
- BSD-4-Clause-UC
53
- BSD-Protection
54
- BSL-1.0
55
- Bahyph
56
- Barr
57
- Beerware
58
- BitTorrent-1.0
59
- BitTorrent-1.1
60
- Borceux
61
- CATOSL-1.1
62
- CC-BY-1.0
63
- CC-BY-2.0
64
- CC-BY-2.5
65
- CC-BY-3.0
66
- CC-BY-4.0
67
- CC-BY-NC-1.0
68
- CC-BY-NC-2.0
69
- CC-BY-NC-2.5
70
- CC-BY-NC-3.0
71
- CC-BY-NC-4.0
72
- CC-BY-NC-ND-1.0
73
- CC-BY-NC-ND-2.0
74
- CC-BY-NC-ND-2.5
75
- CC-BY-NC-ND-3.0
76
- CC-BY-NC-ND-4.0
77
- CC-BY-NC-SA-1.0
78
- CC-BY-NC-SA-2.0
79
- CC-BY-NC-SA-2.5
80
- CC-BY-NC-SA-3.0
81
- CC-BY-NC-SA-4.0
82
- CC-BY-ND-1.0
83
- CC-BY-ND-2.0
84
- CC-BY-ND-2.5
85
- CC-BY-ND-3.0
86
- CC-BY-ND-4.0
87
- CC-BY-SA-1.0
88
- CC-BY-SA-2.0
89
- CC-BY-SA-2.5
90
- CC-BY-SA-3.0
91
- CC-BY-SA-4.0
92
- CC0-1.0
93
- CDDL-1.0
94
- CDDL-1.1
95
- CECILL-1.0
96
- CECILL-1.1
97
- CECILL-2.0
98
- CECILL-2.1
99
- CECILL-B
100
- CECILL-C
101
- CNRI-Jython
102
- CNRI-Python
103
- CNRI-Python-GPL-Compatible
104
- CPAL-1.0
105
- CPL-1.0
106
- CPOL-1.02
107
- CUA-OPL-1.0
108
- Caldera
109
- ClArtistic
110
- Condor-1.1
111
- Crossword
112
- CrystalStacker
113
- Cube
114
- D-FSL-1.0
115
- DOC
116
- DSDP
117
- Dotseqn
118
- ECL-1.0
119
- ECL-2.0
120
- EFL-1.0
121
- EFL-2.0
122
- EPL-1.0
123
- EUDatagrid
124
- EUPL-1.0
125
- EUPL-1.1
126
- Entessa
127
- ErlPL-1.1
128
- Eurosym
129
- FSFUL
130
- FSFULLR
131
- FTL
132
- Fair
133
- Frameworx-1.0
134
- FreeImage
135
- GFDL-1.1
136
- GFDL-1.2
137
- GFDL-1.3
138
- GL2PS
139
- GPL-1.0
140
- GPL-2.0
141
- GPL-3.0
142
- Giftware
143
- Glide
144
- Glulxe
145
- HPND
146
- HaskellReport
147
- IBM-pibs
148
- ICU
149
- IJG
150
- IPA
151
- IPL-1.0
152
- ISC
153
- ImageMagick
154
- Imlib2
155
- Intel
156
- Intel-ACPI
157
- Interbase-1.0
158
- JSON
159
- JasPer-2.0
160
- LGPL-2.0
161
- LGPL-2.1
162
- LGPL-3.0
163
- LGPLLR
164
- LPL-1.0
165
- LPL-1.02
166
- LPPL-1.0
167
- LPPL-1.1
168
- LPPL-1.2
169
- LPPL-1.3a
170
- LPPL-1.3c
171
- Latex2e
172
- Leptonica
173
- Libpng
174
- MIT
175
- MIT-CMU
176
- MIT-advertising
177
- MIT-enna
178
- MIT-feh
179
- MITNFA
180
- MPL-1.0
181
- MPL-1.1
182
- MPL-2.0
183
- MPL-2.0-no-copyleft-exception
184
- MS-PL
185
- MS-RL
186
- MTLL
187
- MakeIndex
188
- MirOS
189
- Motosoto
190
- Multics
191
- Mup
192
- NASA-1.3
193
- NBPL-1.0
194
- NCSA
195
- NGPL
196
- NLPL
197
- NOSL
198
- NPL-1.0
199
- NPL-1.1
200
- NPOSL-3.0
201
- NRL
202
- NTP
203
- Naumen
204
- NetCDF
205
- Newsletr
206
- Nokia
207
- Noweb
208
- Nunit
209
- OCLC-2.0
210
- ODbL-1.0
211
- OFL-1.0
212
- OFL-1.1
213
- OGTSL
214
- OLDAP-1.1
215
- OLDAP-1.2
216
- OLDAP-1.3
217
- OLDAP-1.4
218
- OLDAP-2.0
219
- OLDAP-2.0.1
220
- OLDAP-2.1
221
- OLDAP-2.2
222
- OLDAP-2.2.1
223
- OLDAP-2.2.2
224
- OLDAP-2.3
225
- OLDAP-2.4
226
- OLDAP-2.5
227
- OLDAP-2.6
228
- OLDAP-2.7
229
- OLDAP-2.8
230
- OML
231
- OPL-1.0
232
- OSL-1.0
233
- OSL-1.1
234
- OSL-2.0
235
- OSL-2.1
236
- OSL-3.0
237
- OpenSSL
238
- PDDL-1.0
239
- PHP-3.0
240
- PHP-3.01
241
- Plexus
242
- PostgreSQL
243
- Python-2.0
244
- QPL-1.0
245
- Qhull
246
- RHeCos-1.1
247
- RPL-1.1
248
- RPL-1.5
249
- RPSL-1.0
250
- RSA-MD
251
- RSCPL
252
- Rdisc
253
- Ruby
254
- SAX-PD
255
- SCEA
256
- SGI-B-1.0
257
- SGI-B-1.1
258
- SGI-B-2.0
259
- SISSL
260
- SISSL-1.2
261
- SMLNJ
262
- SNIA
263
- SPL-1.0
264
- SWL
265
- Saxpath
266
- Sendmail
267
- SimPL-2.0
268
- Sleepycat
269
- Spencer-86
270
- Spencer-94
271
- Spencer-99
272
- SugarCRM-1.1.3
273
- TCL
274
- TMate
275
- TORQUE-1.1
276
- TOSL
277
- UPL-1.0
278
- Unicode-TOU
279
- Unlicense
280
- VOSTROM
281
- VSL-1.0
282
- Vim
283
- W3C
284
- W3C-19980720
285
- WTFPL
286
- Watcom-1.0
287
- Wsuipa
288
- X11
289
- XFree86-1.1
290
- XSkat
291
- Xerox
292
- Xnet
293
- YPL-1.0
294
- YPL-1.1
295
- ZPL-1.1
296
- ZPL-2.0
297
- ZPL-2.1
298
- Zed
299
- Zend-2.0
300
- Zimbra-1.3
301
- Zimbra-1.4
302
- Zlib
303
- bzip2-1.0.5
304
- bzip2-1.0.6
305
- diffmark
306
- dvipdfm
307
- eGenix
308
- gSOAP-1.3b
309
- gnuplot
310
- iMatix
311
- libtiff
312
- mpich2
313
- psfrag
314
- psutils
315
- xinetd
316
- xpp
317
- zlib-acknowledgement
318
- ).freeze
16
+ LICENSE_IDENTIFIERS = %w[
17
+ 0BSD
18
+ AAL
19
+ ADSL
20
+ AFL-1.1
21
+ AFL-1.2
22
+ AFL-2.0
23
+ AFL-2.1
24
+ AFL-3.0
25
+ AGPL-1.0-only
26
+ AGPL-1.0-or-later
27
+ AGPL-3.0-only
28
+ AGPL-3.0-or-later
29
+ AMDPLPA
30
+ AML
31
+ AMPAS
32
+ ANTLR-PD
33
+ ANTLR-PD-fallback
34
+ APAFML
35
+ APL-1.0
36
+ APSL-1.0
37
+ APSL-1.1
38
+ APSL-1.2
39
+ APSL-2.0
40
+ ASWF-Digital-Assets-1.0
41
+ ASWF-Digital-Assets-1.1
42
+ Abstyles
43
+ AdaCore-doc
44
+ Adobe-2006
45
+ Adobe-Glyph
46
+ Adobe-Utopia
47
+ Afmparse
48
+ Aladdin
49
+ Apache-1.0
50
+ Apache-1.1
51
+ Apache-2.0
52
+ App-s2p
53
+ Arphic-1999
54
+ Artistic-1.0
55
+ Artistic-1.0-Perl
56
+ Artistic-1.0-cl8
57
+ Artistic-2.0
58
+ BSD-1-Clause
59
+ BSD-2-Clause
60
+ BSD-2-Clause-Patent
61
+ BSD-2-Clause-Views
62
+ BSD-3-Clause
63
+ BSD-3-Clause-Attribution
64
+ BSD-3-Clause-Clear
65
+ BSD-3-Clause-HP
66
+ BSD-3-Clause-LBNL
67
+ BSD-3-Clause-Modification
68
+ BSD-3-Clause-No-Military-License
69
+ BSD-3-Clause-No-Nuclear-License
70
+ BSD-3-Clause-No-Nuclear-License-2014
71
+ BSD-3-Clause-No-Nuclear-Warranty
72
+ BSD-3-Clause-Open-MPI
73
+ BSD-3-Clause-Sun
74
+ BSD-3-Clause-flex
75
+ BSD-4-Clause
76
+ BSD-4-Clause-Shortened
77
+ BSD-4-Clause-UC
78
+ BSD-4.3RENO
79
+ BSD-4.3TAHOE
80
+ BSD-Advertising-Acknowledgement
81
+ BSD-Attribution-HPND-disclaimer
82
+ BSD-Inferno-Nettverk
83
+ BSD-Protection
84
+ BSD-Source-Code
85
+ BSD-Systemics
86
+ BSL-1.0
87
+ BUSL-1.1
88
+ Baekmuk
89
+ Bahyph
90
+ Barr
91
+ Beerware
92
+ BitTorrent-1.0
93
+ BitTorrent-1.1
94
+ Bitstream-Charter
95
+ Bitstream-Vera
96
+ BlueOak-1.0.0
97
+ Boehm-GC
98
+ Borceux
99
+ Brian-Gladman-3-Clause
100
+ C-UDA-1.0
101
+ CAL-1.0
102
+ CAL-1.0-Combined-Work-Exception
103
+ CATOSL-1.1
104
+ CC-BY-1.0
105
+ CC-BY-2.0
106
+ CC-BY-2.5
107
+ CC-BY-2.5-AU
108
+ CC-BY-3.0
109
+ CC-BY-3.0-AT
110
+ CC-BY-3.0-DE
111
+ CC-BY-3.0-IGO
112
+ CC-BY-3.0-NL
113
+ CC-BY-3.0-US
114
+ CC-BY-4.0
115
+ CC-BY-NC-1.0
116
+ CC-BY-NC-2.0
117
+ CC-BY-NC-2.5
118
+ CC-BY-NC-3.0
119
+ CC-BY-NC-3.0-DE
120
+ CC-BY-NC-4.0
121
+ CC-BY-NC-ND-1.0
122
+ CC-BY-NC-ND-2.0
123
+ CC-BY-NC-ND-2.5
124
+ CC-BY-NC-ND-3.0
125
+ CC-BY-NC-ND-3.0-DE
126
+ CC-BY-NC-ND-3.0-IGO
127
+ CC-BY-NC-ND-4.0
128
+ CC-BY-NC-SA-1.0
129
+ CC-BY-NC-SA-2.0
130
+ CC-BY-NC-SA-2.0-DE
131
+ CC-BY-NC-SA-2.0-FR
132
+ CC-BY-NC-SA-2.0-UK
133
+ CC-BY-NC-SA-2.5
134
+ CC-BY-NC-SA-3.0
135
+ CC-BY-NC-SA-3.0-DE
136
+ CC-BY-NC-SA-3.0-IGO
137
+ CC-BY-NC-SA-4.0
138
+ CC-BY-ND-1.0
139
+ CC-BY-ND-2.0
140
+ CC-BY-ND-2.5
141
+ CC-BY-ND-3.0
142
+ CC-BY-ND-3.0-DE
143
+ CC-BY-ND-4.0
144
+ CC-BY-SA-1.0
145
+ CC-BY-SA-2.0
146
+ CC-BY-SA-2.0-UK
147
+ CC-BY-SA-2.1-JP
148
+ CC-BY-SA-2.5
149
+ CC-BY-SA-3.0
150
+ CC-BY-SA-3.0-AT
151
+ CC-BY-SA-3.0-DE
152
+ CC-BY-SA-3.0-IGO
153
+ CC-BY-SA-4.0
154
+ CC-PDDC
155
+ CC0-1.0
156
+ CDDL-1.0
157
+ CDDL-1.1
158
+ CDL-1.0
159
+ CDLA-Permissive-1.0
160
+ CDLA-Permissive-2.0
161
+ CDLA-Sharing-1.0
162
+ CECILL-1.0
163
+ CECILL-1.1
164
+ CECILL-2.0
165
+ CECILL-2.1
166
+ CECILL-B
167
+ CECILL-C
168
+ CERN-OHL-1.1
169
+ CERN-OHL-1.2
170
+ CERN-OHL-P-2.0
171
+ CERN-OHL-S-2.0
172
+ CERN-OHL-W-2.0
173
+ CFITSIO
174
+ CMU-Mach
175
+ CNRI-Jython
176
+ CNRI-Python
177
+ CNRI-Python-GPL-Compatible
178
+ COIL-1.0
179
+ CPAL-1.0
180
+ CPL-1.0
181
+ CPOL-1.02
182
+ CUA-OPL-1.0
183
+ Caldera
184
+ ClArtistic
185
+ Clips
186
+ Community-Spec-1.0
187
+ Condor-1.1
188
+ Cornell-Lossless-JPEG
189
+ Cronyx
190
+ Crossword
191
+ CrystalStacker
192
+ Cube
193
+ D-FSL-1.0
194
+ DL-DE-BY-2.0
195
+ DL-DE-ZERO-2.0
196
+ DOC
197
+ DRL-1.0
198
+ DSDP
199
+ Dotseqn
200
+ ECL-1.0
201
+ ECL-2.0
202
+ EFL-1.0
203
+ EFL-2.0
204
+ EPICS
205
+ EPL-1.0
206
+ EPL-2.0
207
+ EUDatagrid
208
+ EUPL-1.0
209
+ EUPL-1.1
210
+ EUPL-1.2
211
+ Elastic-2.0
212
+ Entessa
213
+ ErlPL-1.1
214
+ Eurosym
215
+ FBM
216
+ FDK-AAC
217
+ FSFAP
218
+ FSFUL
219
+ FSFULLR
220
+ FSFULLRWD
221
+ FTL
222
+ Fair
223
+ Ferguson-Twofish
224
+ Frameworx-1.0
225
+ FreeBSD-DOC
226
+ FreeImage
227
+ Furuseth
228
+ GD
229
+ GFDL-1.1-invariants-only
230
+ GFDL-1.1-invariants-or-later
231
+ GFDL-1.1-no-invariants-only
232
+ GFDL-1.1-no-invariants-or-later
233
+ GFDL-1.1-only
234
+ GFDL-1.1-or-later
235
+ GFDL-1.2-invariants-only
236
+ GFDL-1.2-invariants-or-later
237
+ GFDL-1.2-no-invariants-only
238
+ GFDL-1.2-no-invariants-or-later
239
+ GFDL-1.2-only
240
+ GFDL-1.2-or-later
241
+ GFDL-1.3-invariants-only
242
+ GFDL-1.3-invariants-or-later
243
+ GFDL-1.3-no-invariants-only
244
+ GFDL-1.3-no-invariants-or-later
245
+ GFDL-1.3-only
246
+ GFDL-1.3-or-later
247
+ GL2PS
248
+ GLWTPL
249
+ GPL-1.0-only
250
+ GPL-1.0-or-later
251
+ GPL-2.0-only
252
+ GPL-2.0-or-later
253
+ GPL-3.0-only
254
+ GPL-3.0-or-later
255
+ Giftware
256
+ Glide
257
+ Glulxe
258
+ Graphics-Gems
259
+ HP-1986
260
+ HP-1989
261
+ HPND
262
+ HPND-DEC
263
+ HPND-Markus-Kuhn
264
+ HPND-Pbmplus
265
+ HPND-UC
266
+ HPND-doc
267
+ HPND-doc-sell
268
+ HPND-export-US
269
+ HPND-export-US-modify
270
+ HPND-sell-regexpr
271
+ HPND-sell-variant
272
+ HPND-sell-variant-MIT-disclaimer
273
+ HTMLTIDY
274
+ HaskellReport
275
+ Hippocratic-2.1
276
+ IBM-pibs
277
+ ICU
278
+ IEC-Code-Components-EULA
279
+ IJG
280
+ IJG-short
281
+ IPA
282
+ IPL-1.0
283
+ ISC
284
+ ImageMagick
285
+ Imlib2
286
+ Info-ZIP
287
+ Inner-Net-2.0
288
+ Intel
289
+ Intel-ACPI
290
+ Interbase-1.0
291
+ JPL-image
292
+ JPNIC
293
+ JSON
294
+ Jam
295
+ JasPer-2.0
296
+ Kastrup
297
+ Kazlib
298
+ Knuth-CTAN
299
+ LAL-1.2
300
+ LAL-1.3
301
+ LGPL-2.0-only
302
+ LGPL-2.0-or-later
303
+ LGPL-2.1-only
304
+ LGPL-2.1-or-later
305
+ LGPL-3.0-only
306
+ LGPL-3.0-or-later
307
+ LGPLLR
308
+ LOOP
309
+ LPL-1.0
310
+ LPL-1.02
311
+ LPPL-1.0
312
+ LPPL-1.1
313
+ LPPL-1.2
314
+ LPPL-1.3a
315
+ LPPL-1.3c
316
+ LZMA-SDK-9.11-to-9.20
317
+ LZMA-SDK-9.22
318
+ Latex2e
319
+ Latex2e-translated-notice
320
+ Leptonica
321
+ LiLiQ-P-1.1
322
+ LiLiQ-R-1.1
323
+ LiLiQ-Rplus-1.1
324
+ Libpng
325
+ Linux-OpenIB
326
+ Linux-man-pages-1-para
327
+ Linux-man-pages-copyleft
328
+ Linux-man-pages-copyleft-2-para
329
+ Linux-man-pages-copyleft-var
330
+ Lucida-Bitmap-Fonts
331
+ MIT
332
+ MIT-0
333
+ MIT-CMU
334
+ MIT-Festival
335
+ MIT-Modern-Variant
336
+ MIT-Wu
337
+ MIT-advertising
338
+ MIT-enna
339
+ MIT-feh
340
+ MIT-open-group
341
+ MIT-testregex
342
+ MITNFA
343
+ MMIXware
344
+ MPEG-SSG
345
+ MPL-1.0
346
+ MPL-1.1
347
+ MPL-2.0
348
+ MPL-2.0-no-copyleft-exception
349
+ MS-LPL
350
+ MS-PL
351
+ MS-RL
352
+ MTLL
353
+ MakeIndex
354
+ Martin-Birgmeier
355
+ McPhee-slideshow
356
+ Minpack
357
+ MirOS
358
+ Motosoto
359
+ MulanPSL-1.0
360
+ MulanPSL-2.0
361
+ Multics
362
+ Mup
363
+ NAIST-2003
364
+ NASA-1.3
365
+ NBPL-1.0
366
+ NCGL-UK-2.0
367
+ NCSA
368
+ NGPL
369
+ NICTA-1.0
370
+ NIST-PD
371
+ NIST-PD-fallback
372
+ NIST-Software
373
+ NLOD-1.0
374
+ NLOD-2.0
375
+ NLPL
376
+ NOSL
377
+ NPL-1.0
378
+ NPL-1.1
379
+ NPOSL-3.0
380
+ NRL
381
+ NTP
382
+ NTP-0
383
+ Naumen
384
+ Net-SNMP
385
+ NetCDF
386
+ Newsletr
387
+ Nokia
388
+ Noweb
389
+ O-UDA-1.0
390
+ OCCT-PL
391
+ OCLC-2.0
392
+ ODC-By-1.0
393
+ ODbL-1.0
394
+ OFFIS
395
+ OFL-1.0
396
+ OFL-1.0-RFN
397
+ OFL-1.0-no-RFN
398
+ OFL-1.1
399
+ OFL-1.1-RFN
400
+ OFL-1.1-no-RFN
401
+ OGC-1.0
402
+ OGDL-Taiwan-1.0
403
+ OGL-Canada-2.0
404
+ OGL-UK-1.0
405
+ OGL-UK-2.0
406
+ OGL-UK-3.0
407
+ OGTSL
408
+ OLDAP-1.1
409
+ OLDAP-1.2
410
+ OLDAP-1.3
411
+ OLDAP-1.4
412
+ OLDAP-2.0
413
+ OLDAP-2.0.1
414
+ OLDAP-2.1
415
+ OLDAP-2.2
416
+ OLDAP-2.2.1
417
+ OLDAP-2.2.2
418
+ OLDAP-2.3
419
+ OLDAP-2.4
420
+ OLDAP-2.5
421
+ OLDAP-2.6
422
+ OLDAP-2.7
423
+ OLDAP-2.8
424
+ OLFL-1.3
425
+ OML
426
+ OPL-1.0
427
+ OPL-UK-3.0
428
+ OPUBL-1.0
429
+ OSET-PL-2.1
430
+ OSL-1.0
431
+ OSL-1.1
432
+ OSL-2.0
433
+ OSL-2.1
434
+ OSL-3.0
435
+ OpenPBS-2.3
436
+ OpenSSL
437
+ PADL
438
+ PDDL-1.0
439
+ PHP-3.0
440
+ PHP-3.01
441
+ PSF-2.0
442
+ Parity-6.0.0
443
+ Parity-7.0.0
444
+ Plexus
445
+ PolyForm-Noncommercial-1.0.0
446
+ PolyForm-Small-Business-1.0.0
447
+ PostgreSQL
448
+ Python-2.0
449
+ Python-2.0.1
450
+ QPL-1.0
451
+ QPL-1.0-INRIA-2004
452
+ Qhull
453
+ RHeCos-1.1
454
+ RPL-1.1
455
+ RPL-1.5
456
+ RPSL-1.0
457
+ RSA-MD
458
+ RSCPL
459
+ Rdisc
460
+ Ruby
461
+ SAX-PD
462
+ SCEA
463
+ SGI-B-1.0
464
+ SGI-B-1.1
465
+ SGI-B-2.0
466
+ SGI-OpenGL
467
+ SGP4
468
+ SHL-0.5
469
+ SHL-0.51
470
+ SISSL
471
+ SISSL-1.2
472
+ SL
473
+ SMLNJ
474
+ SMPPL
475
+ SNIA
476
+ SPL-1.0
477
+ SSH-OpenSSH
478
+ SSH-short
479
+ SSPL-1.0
480
+ SWL
481
+ Saxpath
482
+ SchemeReport
483
+ Sendmail
484
+ Sendmail-8.23
485
+ SimPL-2.0
486
+ Sleepycat
487
+ Soundex
488
+ Spencer-86
489
+ Spencer-94
490
+ Spencer-99
491
+ SugarCRM-1.1.3
492
+ SunPro
493
+ Symlinks
494
+ TAPR-OHL-1.0
495
+ TCL
496
+ TCP-wrappers
497
+ TMate
498
+ TORQUE-1.1
499
+ TOSL
500
+ TPDL
501
+ TPL-1.0
502
+ TTWL
503
+ TTYP0
504
+ TU-Berlin-1.0
505
+ TU-Berlin-2.0
506
+ TermReadKey
507
+ UCAR
508
+ UCL-1.0
509
+ UPL-1.0
510
+ URT-RLE
511
+ Unicode-DFS-2015
512
+ Unicode-DFS-2016
513
+ Unicode-TOU
514
+ UnixCrypt
515
+ Unlicense
516
+ VOSTROM
517
+ VSL-1.0
518
+ Vim
519
+ W3C
520
+ W3C-19980720
521
+ W3C-20150513
522
+ WTFPL
523
+ Watcom-1.0
524
+ Widget-Workshop
525
+ Wsuipa
526
+ X11
527
+ X11-distribute-modifications-variant
528
+ XFree86-1.1
529
+ XSkat
530
+ Xdebug-1.03
531
+ Xerox
532
+ Xfig
533
+ Xnet
534
+ YPL-1.0
535
+ YPL-1.1
536
+ ZPL-1.1
537
+ ZPL-2.0
538
+ ZPL-2.1
539
+ Zed
540
+ Zeeff
541
+ Zend-2.0
542
+ Zimbra-1.3
543
+ Zimbra-1.4
544
+ Zlib
545
+ blessing
546
+ bzip2-1.0.6
547
+ check-cvs
548
+ checkmk
549
+ copyleft-next-0.3.0
550
+ copyleft-next-0.3.1
551
+ curl
552
+ diffmark
553
+ dtoa
554
+ dvipdfm
555
+ eGenix
556
+ etalab-2.0
557
+ fwlw
558
+ gSOAP-1.3b
559
+ gnuplot
560
+ iMatix
561
+ libpng-2.0
562
+ libselinux-1.0
563
+ libtiff
564
+ libutil-David-Nugent
565
+ lsof
566
+ magaz
567
+ metamail
568
+ mpi-permissive
569
+ mpich2
570
+ mplus
571
+ pnmstitch
572
+ psfrag
573
+ psutils
574
+ python-ldap
575
+ snprintf
576
+ ssh-keyscan
577
+ swrule
578
+ ulem
579
+ w3m
580
+ xinetd
581
+ xlock
582
+ xpp
583
+ zlib-acknowledgement
584
+ ].freeze
585
+
586
+ DEPRECATED_LICENSE_IDENTIFIERS = %w[
587
+ AGPL-1.0
588
+ AGPL-3.0
589
+ BSD-2-Clause-FreeBSD
590
+ BSD-2-Clause-NetBSD
591
+ GFDL-1.1
592
+ GFDL-1.2
593
+ GFDL-1.3
594
+ GPL-1.0
595
+ GPL-1.0+
596
+ GPL-2.0
597
+ GPL-2.0+
598
+ GPL-2.0-with-GCC-exception
599
+ GPL-2.0-with-autoconf-exception
600
+ GPL-2.0-with-bison-exception
601
+ GPL-2.0-with-classpath-exception
602
+ GPL-2.0-with-font-exception
603
+ GPL-3.0
604
+ GPL-3.0+
605
+ GPL-3.0-with-GCC-exception
606
+ GPL-3.0-with-autoconf-exception
607
+ LGPL-2.0
608
+ LGPL-2.0+
609
+ LGPL-2.1
610
+ LGPL-2.1+
611
+ LGPL-3.0
612
+ LGPL-3.0+
613
+ Nunit
614
+ StandardML-NJ
615
+ bzip2-1.0.5
616
+ eCos-2.0
617
+ wxWindows
618
+ ].freeze
619
+
620
+ # exception identifiers
621
+ EXCEPTION_IDENTIFIERS = %w[
622
+ 389-exception
623
+ Asterisk-exception
624
+ Autoconf-exception-2.0
625
+ Autoconf-exception-3.0
626
+ Autoconf-exception-generic
627
+ Autoconf-exception-generic-3.0
628
+ Autoconf-exception-macro
629
+ Bison-exception-2.2
630
+ Bootloader-exception
631
+ CLISP-exception-2.0
632
+ Classpath-exception-2.0
633
+ DigiRule-FOSS-exception
634
+ FLTK-exception
635
+ Fawkes-Runtime-exception
636
+ Font-exception-2.0
637
+ GCC-exception-2.0
638
+ GCC-exception-2.0-note
639
+ GCC-exception-3.1
640
+ GNAT-exception
641
+ GNU-compiler-exception
642
+ GPL-3.0-interface-exception
643
+ GPL-3.0-linking-exception
644
+ GPL-3.0-linking-source-exception
645
+ GPL-CC-1.0
646
+ GStreamer-exception-2005
647
+ GStreamer-exception-2008
648
+ KiCad-libraries-exception
649
+ LGPL-3.0-linking-exception
650
+ LLGPL
651
+ LLVM-exception
652
+ LZMA-exception
653
+ Libtool-exception
654
+ Linux-syscall-note
655
+ OCCT-exception-1.0
656
+ OCaml-LGPL-linking-exception
657
+ OpenJDK-assembly-exception-1.0
658
+ PS-or-PDF-font-exception-20170817
659
+ QPL-1.0-INRIA-2004-exception
660
+ Qt-GPL-exception-1.0
661
+ Qt-LGPL-exception-1.1
662
+ Qwt-exception-1.0
663
+ SANE-exception
664
+ SHL-2.0
665
+ SHL-2.1
666
+ SWI-exception
667
+ Swift-exception
668
+ Texinfo-exception
669
+ UBDL-exception
670
+ Universal-FOSS-exception-1.0
671
+ WxWindows-exception-3.1
672
+ cryptsetup-OpenSSL-exception
673
+ eCos-exception-2.0
674
+ freertos-exception-2.0
675
+ gnu-javamail-exception
676
+ i2p-gpl-java-exception
677
+ libpri-OpenH323-exception
678
+ mif-exception
679
+ openvpn-openssl-exception
680
+ stunnel-exception
681
+ u-boot-exception-2.0
682
+ vsftpd-openssl-exception
683
+ x11vnc-openssl-exception
684
+ ].freeze
319
685
 
320
- REGEXP = %r{
686
+ DEPRECATED_EXCEPTION_IDENTIFIERS = %w[
687
+ Nokia-Qt-exception-1.1
688
+ ].freeze
689
+
690
+ VALID_REGEXP = /
321
691
  \A
322
- (
323
- #{Regexp.union(IDENTIFIERS)}
692
+ (?:
693
+ #{Regexp.union(LICENSE_IDENTIFIERS)}
324
694
  \+?
325
- (\s WITH \s .+)?
695
+ (?:\s WITH \s #{Regexp.union(EXCEPTION_IDENTIFIERS)})?
326
696
  | #{NONSTANDARD}
697
+ | #{LICENSE_REF}
327
698
  )
328
699
  \Z
329
- }ox.freeze
700
+ /ox
701
+
702
+ DEPRECATED_LICENSE_REGEXP = /
703
+ \A
704
+ #{Regexp.union(DEPRECATED_LICENSE_IDENTIFIERS)}
705
+ \+?
706
+ (?:\s WITH \s .+?)?
707
+ \Z
708
+ /ox
709
+
710
+ DEPRECATED_EXCEPTION_REGEXP = /
711
+ \A
712
+ .+?
713
+ \+?
714
+ (?:\s WITH \s #{Regexp.union(DEPRECATED_EXCEPTION_IDENTIFIERS)})
715
+ \Z
716
+ /ox
330
717
 
331
718
  def self.match?(license)
332
- !REGEXP.match(license).nil?
719
+ VALID_REGEXP.match?(license)
720
+ end
721
+
722
+ def self.deprecated_license_id?(license)
723
+ DEPRECATED_LICENSE_REGEXP.match?(license)
724
+ end
725
+
726
+ def self.deprecated_exception_id?(license)
727
+ DEPRECATED_EXCEPTION_REGEXP.match?(license)
333
728
  end
334
729
 
335
730
  def self.suggestions(license)
336
- by_distance = IDENTIFIERS.group_by do |identifier|
731
+ by_distance = LICENSE_IDENTIFIERS.group_by do |identifier|
337
732
  levenshtein_distance(identifier, license)
338
733
  end
339
734
  lowest = by_distance.keys.min