rubygems-update 3.1.6 → 3.4.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5619 -0
- data/CODE_OF_CONDUCT.md +55 -19
- data/CONTRIBUTING.md +97 -27
- data/Manifest.txt +185 -143
- data/POLICIES.md +70 -27
- data/README.md +29 -14
- data/UPGRADING.md +5 -81
- data/bin/gem +2 -10
- data/bin/update_rubygems +5 -5
- data/bundler/CHANGELOG.md +2605 -1431
- data/bundler/README.md +9 -14
- data/bundler/UPGRADING.md +27 -34
- data/bundler/bundler.gemspec +10 -13
- data/bundler/exe/bundle +7 -8
- data/bundler/exe/bundler +1 -1
- data/bundler/lib/bundler/.document +1 -0
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli/add.rb +2 -2
- data/bundler/lib/bundler/cli/binstubs.rb +11 -3
- data/bundler/lib/bundler/cli/cache.rb +3 -8
- data/bundler/lib/bundler/cli/check.rb +5 -3
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +32 -3
- data/bundler/lib/bundler/cli/config.rb +10 -1
- data/bundler/lib/bundler/cli/console.rb +3 -3
- data/bundler/lib/bundler/cli/doctor.rb +23 -6
- data/bundler/lib/bundler/cli/exec.rb +5 -10
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +258 -45
- data/bundler/lib/bundler/cli/info.rb +38 -6
- data/bundler/lib/bundler/cli/init.rb +7 -3
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +27 -57
- data/bundler/lib/bundler/cli/issue.rb +5 -4
- data/bundler/lib/bundler/cli/list.rb +19 -11
- data/bundler/lib/bundler/cli/lock.rb +11 -4
- data/bundler/lib/bundler/cli/open.rb +7 -6
- data/bundler/lib/bundler/cli/outdated.rb +106 -79
- data/bundler/lib/bundler/cli/platform.rb +2 -2
- data/bundler/lib/bundler/cli/plugin.rb +10 -0
- data/bundler/lib/bundler/cli/pristine.rb +5 -0
- data/bundler/lib/bundler/cli/remove.rb +1 -2
- data/bundler/lib/bundler/cli/show.rb +2 -2
- data/bundler/lib/bundler/cli/update.rb +20 -9
- data/bundler/lib/bundler/cli/viz.rb +1 -1
- data/bundler/lib/bundler/cli.rb +151 -85
- data/bundler/lib/bundler/compact_index_client/cache.rb +7 -24
- data/bundler/lib/bundler/compact_index_client/gem_parser.rb +28 -0
- data/bundler/lib/bundler/compact_index_client/updater.rb +56 -51
- data/bundler/lib/bundler/compact_index_client.rb +3 -9
- data/bundler/lib/bundler/constants.rb +1 -1
- data/bundler/lib/bundler/current_ruby.rb +19 -6
- data/bundler/lib/bundler/definition.rb +353 -440
- data/bundler/lib/bundler/dependency.rb +23 -77
- data/bundler/lib/bundler/digest.rb +71 -0
- data/bundler/lib/bundler/dsl.rb +77 -85
- data/bundler/lib/bundler/endpoint_specification.rb +16 -14
- data/bundler/lib/bundler/env.rb +3 -3
- data/bundler/lib/bundler/environment_preserver.rb +32 -4
- data/bundler/lib/bundler/errors.rb +31 -14
- data/bundler/lib/bundler/feature_flag.rb +0 -9
- data/bundler/lib/bundler/fetcher/base.rb +7 -9
- data/bundler/lib/bundler/fetcher/compact_index.rb +20 -27
- data/bundler/lib/bundler/fetcher/dependency.rb +2 -6
- data/bundler/lib/bundler/fetcher/downloader.rb +11 -11
- data/bundler/lib/bundler/fetcher/index.rb +2 -30
- data/bundler/lib/bundler/fetcher.rb +26 -31
- data/bundler/lib/bundler/force_platform.rb +18 -0
- data/bundler/lib/bundler/friendly_errors.rb +45 -49
- data/bundler/lib/bundler/gem_helper.rb +53 -31
- data/bundler/lib/bundler/gem_helpers.rb +42 -24
- data/bundler/lib/bundler/gem_version_promoter.rb +54 -99
- data/bundler/lib/bundler/graph.rb +4 -4
- data/bundler/lib/bundler/index.rb +16 -54
- data/bundler/lib/bundler/injector.rb +41 -9
- data/bundler/lib/bundler/inline.rb +11 -22
- data/bundler/lib/bundler/installer/gem_installer.rb +19 -24
- data/bundler/lib/bundler/installer/parallel_installer.rb +34 -43
- data/bundler/lib/bundler/installer/standalone.rb +62 -11
- data/bundler/lib/bundler/installer.rb +43 -87
- data/bundler/lib/bundler/lazy_specification.rb +88 -51
- data/bundler/lib/bundler/lockfile_generator.rb +4 -4
- data/bundler/lib/bundler/lockfile_parser.rb +34 -59
- data/bundler/lib/bundler/man/.document +1 -0
- data/bundler/{man → lib/bundler/man}/bundle-add.1 +21 -5
- data/bundler/{man/bundle-add.ronn → lib/bundler/man/bundle-add.1.ronn} +16 -4
- data/bundler/{man → lib/bundler/man}/bundle-binstubs.1 +5 -3
- data/bundler/{man/bundle-binstubs.ronn → lib/bundler/man/bundle-binstubs.1.ronn} +2 -4
- data/bundler/{man → lib/bundler/man}/bundle-cache.1 +7 -1
- data/bundler/{man/bundle-cache.ronn → lib/bundler/man/bundle-cache.1.ronn} +7 -0
- data/bundler/{man → lib/bundler/man}/bundle-check.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-clean.1 +2 -2
- data/bundler/{man/bundle-clean.ronn → lib/bundler/man/bundle-clean.1.ronn} +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-config.1 +66 -48
- data/bundler/{man/bundle-config.ronn → lib/bundler/man/bundle-config.1.ronn} +75 -66
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/{man → lib/bundler/man}/bundle-doctor.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-exec.1 +6 -6
- data/bundler/{man/bundle-exec.ronn → lib/bundler/man/bundle-exec.1.ronn} +6 -6
- data/bundler/lib/bundler/man/bundle-gem.1 +105 -0
- data/bundler/lib/bundler/man/bundle-gem.1.ronn +117 -0
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/{man → lib/bundler/man}/bundle-info.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-init.1 +5 -1
- data/bundler/{man/bundle-init.ronn → lib/bundler/man/bundle-init.1.ronn} +2 -0
- data/bundler/{man → lib/bundler/man}/bundle-inject.1 +5 -2
- data/bundler/{man/bundle-inject.ronn → lib/bundler/man/bundle-inject.1.ronn} +3 -1
- data/bundler/{man → lib/bundler/man}/bundle-install.1 +35 -33
- data/bundler/{man/bundle-install.ronn → lib/bundler/man/bundle-install.1.ronn} +33 -34
- data/bundler/{man → lib/bundler/man}/bundle-list.1 +7 -7
- data/bundler/{man/bundle-list.ronn → lib/bundler/man/bundle-list.1.ronn} +6 -6
- data/bundler/{man → lib/bundler/man}/bundle-lock.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-open.1 +22 -2
- data/bundler/{man/bundle-open.ronn → lib/bundler/man/bundle-open.1.ronn} +9 -1
- data/bundler/{man → lib/bundler/man}/bundle-outdated.1 +3 -10
- data/bundler/{man/bundle-outdated.ronn → lib/bundler/man/bundle-outdated.1.ronn} +1 -10
- data/bundler/{man → lib/bundler/man}/bundle-platform.1 +16 -6
- data/bundler/{man/bundle-platform.ronn → lib/bundler/man/bundle-platform.1.ronn} +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/{man → lib/bundler/man}/bundle-pristine.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-remove.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-show.1 +1 -1
- data/bundler/{man → lib/bundler/man}/bundle-update.1 +5 -5
- data/bundler/{man/bundle-update.ronn → lib/bundler/man/bundle-update.1.ronn} +5 -4
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/{man → lib/bundler/man}/bundle-viz.1 +4 -1
- data/bundler/{man/bundle-viz.ronn → lib/bundler/man/bundle-viz.1.ronn} +2 -0
- data/bundler/{man → lib/bundler/man}/bundle.1 +15 -10
- data/bundler/{man/bundle.ronn → lib/bundler/man/bundle.1.ronn} +12 -7
- data/bundler/{man → lib/bundler/man}/gemfile.5 +120 -83
- data/bundler/{man → lib/bundler/man}/gemfile.5.ronn +109 -88
- data/bundler/{man → lib/bundler/man}/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_platform.rb +0 -1
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/mirror.rb +7 -9
- data/bundler/lib/bundler/plugin/api/source.rb +25 -9
- data/bundler/lib/bundler/plugin/dsl.rb +1 -1
- data/bundler/lib/bundler/plugin/index.rb +17 -5
- data/bundler/lib/bundler/plugin/installer/git.rb +0 -4
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -9
- data/bundler/lib/bundler/plugin/installer.rb +16 -13
- data/bundler/lib/bundler/plugin/source_list.rb +5 -1
- data/bundler/lib/bundler/plugin.rb +59 -12
- data/bundler/lib/bundler/process_lock.rb +1 -1
- data/bundler/lib/bundler/remote_specification.rb +12 -7
- data/bundler/lib/bundler/resolver/base.rb +109 -0
- data/bundler/lib/bundler/resolver/candidate.rb +94 -0
- data/bundler/lib/bundler/resolver/incompatibility.rb +15 -0
- data/bundler/lib/bundler/resolver/package.rb +72 -0
- data/bundler/lib/bundler/resolver/root.rb +25 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +49 -74
- data/bundler/lib/bundler/resolver.rb +336 -344
- data/bundler/lib/bundler/retry.rb +2 -2
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +6 -19
- data/bundler/lib/bundler/rubygems_ext.rb +231 -32
- data/bundler/lib/bundler/rubygems_gem_installer.rb +89 -16
- data/bundler/lib/bundler/rubygems_integration.rb +81 -167
- data/bundler/lib/bundler/runtime.rb +23 -31
- data/bundler/lib/bundler/self_manager.rb +168 -0
- data/bundler/lib/bundler/settings.rb +146 -73
- data/bundler/lib/bundler/setup.rb +5 -2
- data/bundler/lib/bundler/shared_helpers.rb +20 -35
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source/git/git_proxy.rb +263 -114
- data/bundler/lib/bundler/source/git.rb +64 -47
- data/bundler/lib/bundler/source/metadata.rb +3 -8
- data/bundler/lib/bundler/source/path/installer.rb +11 -32
- data/bundler/lib/bundler/source/path.rb +16 -10
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +167 -200
- data/bundler/lib/bundler/source/rubygems_aggregate.rb +68 -0
- data/bundler/lib/bundler/source.rb +25 -5
- data/bundler/lib/bundler/source_list.rb +112 -64
- data/bundler/lib/bundler/source_map.rb +71 -0
- data/bundler/lib/bundler/spec_set.rb +74 -61
- data/bundler/lib/bundler/stub_specification.rb +30 -10
- data/bundler/lib/bundler/templates/Executable +3 -5
- data/bundler/lib/bundler/templates/Executable.bundler +11 -16
- data/bundler/lib/bundler/templates/Executable.standalone +4 -4
- data/bundler/lib/bundler/templates/Gemfile +0 -2
- data/bundler/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/bundler/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +57 -47
- data/bundler/lib/bundler/templates/newgem/Cargo.toml.tt +7 -0
- data/bundler/lib/bundler/templates/newgem/Gemfile.tt +15 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +13 -16
- data/bundler/lib/bundler/templates/newgem/Rakefile.tt +43 -5
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -0
- data/bundler/lib/bundler/templates/newgem/circleci/config.yml.tt +25 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/{extconf.rb.tt → extconf-c.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/bundler/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +12 -0
- data/bundler/lib/bundler/templates/newgem/github/workflows/main.yml.tt +37 -0
- data/bundler/lib/bundler/templates/newgem/gitignore.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/gitlab-ci.yml.tt +18 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/lib/newgem.rb.tt +4 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +34 -18
- data/bundler/lib/bundler/templates/newgem/rubocop.yml.tt +13 -0
- data/bundler/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/bundler/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +2 -0
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +2 -1
- data/bundler/lib/bundler/templates/newgem/standard.yml.tt +3 -0
- data/bundler/lib/bundler/templates/newgem/test/{test_helper.rb.tt → minitest/test_helper.rb.tt} +2 -0
- data/bundler/lib/bundler/templates/newgem/test/{newgem_test.rb.tt → minitest/test_newgem.rb.tt} +3 -1
- data/bundler/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/bundler/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/bundler/lib/bundler/ui/shell.rb +37 -14
- data/bundler/lib/bundler/ui/silent.rb +21 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +3 -1
- data/bundler/lib/bundler/uri_normalizer.rb +23 -0
- data/bundler/lib/bundler/vendor/.document +1 -0
- data/bundler/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +19 -21
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +1 -1
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +41 -74
- data/bundler/lib/bundler/vendor/fileutils/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/fileutils/lib/fileutils.rb +1350 -408
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +82 -189
- data/bundler/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +189 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +60 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +411 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +243 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/bundler/lib/bundler/vendor/thor/LICENSE.md +20 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +2 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +9 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +1 -2
- data/bundler/lib/bundler/vendor/thor/lib/thor/actions.rb +7 -3
- data/bundler/lib/bundler/vendor/thor/lib/thor/base.rb +9 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +6 -0
- data/bundler/lib/bundler/vendor/thor/lib/thor/error.rb +10 -5
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/parser/options.rb +28 -9
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +28 -7
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell/color.rb +5 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/shell.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/util.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/bundler/lib/bundler/vendor/thor/lib/thor.rb +5 -13
- data/bundler/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/tsort/lib/tsort.rb +452 -0
- data/bundler/lib/bundler/vendor/uri/LICENSE.txt +22 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +76 -91
- data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +7 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +32 -13
- data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +40 -3
- data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +2 -2
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +2 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +2 -3
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +14 -21
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +11 -17
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +1 -1
- data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
- data/bundler/lib/bundler/vendor/uri/lib/uri.rb +3 -3
- data/bundler/lib/bundler/vendored_persistent.rb +1 -40
- data/bundler/lib/bundler/{vendored_molinillo.rb → vendored_pub_grub.rb} +1 -1
- data/bundler/lib/bundler/vendored_tsort.rb +4 -0
- data/bundler/lib/bundler/version.rb +5 -1
- data/bundler/lib/bundler/worker.rb +25 -12
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/lib/bundler.rb +98 -110
- data/hide_lib_for_update/note.txt +0 -4
- data/lib/rubygems/available_set.rb +7 -9
- data/lib/rubygems/basic_specification.rb +23 -21
- data/lib/rubygems/bundler_version_finder.rb +27 -54
- data/lib/rubygems/command.rb +63 -52
- data/lib/rubygems/command_manager.rb +36 -16
- data/lib/rubygems/commands/build_command.rb +50 -27
- data/lib/rubygems/commands/cert_command.rb +78 -75
- data/lib/rubygems/commands/check_command.rb +20 -22
- data/lib/rubygems/commands/cleanup_command.rb +30 -26
- data/lib/rubygems/commands/contents_command.rb +16 -18
- data/lib/rubygems/commands/dependency_command.rb +39 -51
- data/lib/rubygems/commands/environment_command.rb +11 -10
- data/lib/rubygems/commands/exec_command.rb +248 -0
- data/lib/rubygems/commands/fetch_command.rb +33 -16
- data/lib/rubygems/commands/generate_index_command.rb +17 -19
- data/lib/rubygems/commands/help_command.rb +9 -9
- data/lib/rubygems/commands/info_command.rb +10 -7
- data/lib/rubygems/commands/install_command.rb +36 -30
- data/lib/rubygems/commands/list_command.rb +9 -8
- data/lib/rubygems/commands/lock_command.rb +5 -7
- data/lib/rubygems/commands/mirror_command.rb +3 -5
- data/lib/rubygems/commands/open_command.rb +10 -14
- data/lib/rubygems/commands/outdated_command.rb +5 -7
- data/lib/rubygems/commands/owner_command.rb +26 -16
- data/lib/rubygems/commands/pristine_command.rb +70 -49
- data/lib/rubygems/commands/push_command.rb +22 -59
- data/lib/rubygems/commands/query_command.rb +21 -351
- data/lib/rubygems/commands/rdoc_command.rb +26 -27
- data/lib/rubygems/commands/search_command.rb +8 -8
- data/lib/rubygems/commands/server_command.rb +16 -77
- data/lib/rubygems/commands/setup_command.rb +255 -229
- data/lib/rubygems/commands/signin_command.rb +9 -11
- data/lib/rubygems/commands/signout_command.rb +7 -9
- data/lib/rubygems/commands/sources_command.rb +27 -25
- data/lib/rubygems/commands/specification_command.rb +25 -21
- data/lib/rubygems/commands/stale_command.rb +3 -5
- data/lib/rubygems/commands/uninstall_command.rb +44 -43
- data/lib/rubygems/commands/unpack_command.rb +14 -16
- data/lib/rubygems/commands/update_command.rb +126 -74
- data/lib/rubygems/commands/which_command.rb +7 -9
- data/lib/rubygems/commands/yank_command.rb +16 -19
- data/lib/rubygems/compatibility.rb +4 -2
- data/lib/rubygems/config_file.rb +75 -26
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -6
- data/lib/rubygems/core_ext/kernel_require.rb +108 -112
- data/lib/rubygems/core_ext/kernel_warn.rb +31 -36
- data/lib/rubygems/core_ext/tcpsocket_init.rb +52 -0
- data/lib/rubygems/defaults.rb +124 -34
- data/lib/rubygems/dependency.rb +24 -22
- data/lib/rubygems/dependency_installer.rb +43 -115
- data/lib/rubygems/dependency_list.rb +13 -15
- data/lib/rubygems/deprecate.rb +102 -8
- data/lib/rubygems/doctor.rb +22 -22
- data/lib/rubygems/errors.rb +6 -21
- data/lib/rubygems/exceptions.rb +34 -37
- data/lib/rubygems/ext/build_error.rb +2 -0
- data/lib/rubygems/ext/builder.rb +64 -54
- data/lib/rubygems/ext/cargo_builder/link_flag_converter.rb +27 -0
- data/lib/rubygems/ext/cargo_builder.rb +360 -0
- data/lib/rubygems/ext/cmake_builder.rb +6 -9
- data/lib/rubygems/ext/configure_builder.rb +5 -8
- data/lib/rubygems/ext/ext_conf_builder.rb +43 -66
- data/lib/rubygems/ext/rake_builder.rb +7 -10
- data/lib/rubygems/ext.rb +7 -6
- data/lib/rubygems/gem_runner.rb +15 -26
- data/lib/rubygems/gemcutter_utilities.rb +161 -33
- data/lib/rubygems/indexer.rb +31 -50
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +73 -64
- data/lib/rubygems/installer.rb +199 -156
- data/lib/rubygems/installer_uninstaller_utils.rb +29 -0
- data/lib/rubygems/local_remote_options.rb +22 -24
- data/lib/rubygems/mock_gem_ui.rb +2 -8
- data/lib/rubygems/name_tuple.rb +9 -14
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/optparse/.document +1 -0
- data/lib/rubygems/optparse/COPYING +56 -0
- data/lib/rubygems/optparse/lib/optionparser.rb +2 -0
- data/lib/rubygems/optparse/lib/optparse/ac.rb +54 -0
- data/lib/rubygems/optparse/lib/optparse/date.rb +18 -0
- data/lib/rubygems/optparse/lib/optparse/kwargs.rb +22 -0
- data/lib/rubygems/optparse/lib/optparse/shellwords.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/time.rb +11 -0
- data/lib/rubygems/optparse/lib/optparse/uri.rb +7 -0
- data/lib/rubygems/optparse/lib/optparse/version.rb +71 -0
- data/lib/rubygems/optparse/lib/optparse.rb +2308 -0
- data/lib/rubygems/optparse.rb +3 -0
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +2 -4
- data/lib/rubygems/package/io_source.rb +4 -2
- data/lib/rubygems/package/old.rb +9 -11
- data/lib/rubygems/package/tar_header.rb +65 -67
- data/lib/rubygems/package/tar_reader/entry.rb +89 -11
- data/lib/rubygems/package/tar_reader.rb +1 -32
- data/lib/rubygems/package/tar_writer.rb +8 -18
- data/lib/rubygems/package.rb +109 -120
- data/lib/rubygems/package_task.rb +5 -11
- data/lib/rubygems/path_support.rb +2 -9
- data/lib/rubygems/platform.rb +113 -74
- data/lib/rubygems/psych_tree.rb +1 -3
- data/lib/rubygems/query_utils.rb +351 -0
- data/lib/rubygems/rdoc.rb +2 -14
- data/lib/rubygems/remote_fetcher.rb +48 -74
- data/lib/rubygems/request/connection_pools.rb +6 -10
- data/lib/rubygems/request/http_pool.rb +2 -4
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request.rb +26 -31
- data/lib/rubygems/request_set/gem_dependency_api.rb +127 -130
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -28
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +5 -7
- data/lib/rubygems/request_set/lockfile.rb +17 -21
- data/lib/rubygems/request_set.rb +27 -40
- data/lib/rubygems/requirement.rb +29 -49
- data/lib/rubygems/resolver/activation_request.rb +12 -6
- data/lib/rubygems/resolver/api_set/gem_parser.rb +20 -0
- data/lib/rubygems/resolver/api_set.rb +32 -25
- data/lib/rubygems/resolver/api_specification.rb +29 -15
- data/lib/rubygems/resolver/best_set.rb +7 -9
- data/lib/rubygems/resolver/composed_set.rb +3 -5
- data/lib/rubygems/resolver/conflict.rb +12 -14
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +3 -5
- data/lib/rubygems/resolver/git_set.rb +2 -4
- data/lib/rubygems/resolver/git_specification.rb +6 -8
- data/lib/rubygems/resolver/index_set.rb +4 -6
- data/lib/rubygems/resolver/index_specification.rb +38 -7
- data/lib/rubygems/resolver/installed_specification.rb +4 -6
- data/lib/rubygems/resolver/installer_set.rb +66 -24
- data/lib/rubygems/resolver/local_specification.rb +2 -4
- data/lib/rubygems/resolver/lock_set.rb +6 -8
- data/lib/rubygems/resolver/lock_specification.rb +4 -6
- data/lib/rubygems/resolver/molinillo/LICENSE +9 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/resolution_state.rb +7 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/delegates/specification_provider.rb +8 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/action.rb +1 -0
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/log.rb +7 -6
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/set_payload.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/tag.rb +4 -3
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph/vertex.rb +51 -12
- data/lib/rubygems/resolver/molinillo/lib/molinillo/dependency_graph.rb +42 -9
- data/lib/rubygems/resolver/molinillo/lib/molinillo/errors.rb +82 -8
- data/lib/rubygems/resolver/molinillo/lib/molinillo/gem_metadata.rb +2 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/specification_provider.rb +13 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/modules/ui.rb +3 -1
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolution.rb +510 -165
- data/lib/rubygems/resolver/molinillo/lib/molinillo/resolver.rb +3 -2
- data/lib/rubygems/resolver/molinillo/lib/molinillo/state.rb +8 -4
- data/lib/rubygems/resolver/molinillo/lib/molinillo.rb +6 -5
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -3
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +14 -2
- data/lib/rubygems/resolver/specification.rb +14 -4
- data/lib/rubygems/resolver/stats.rb +1 -3
- data/lib/rubygems/resolver/vendor_set.rb +1 -3
- data/lib/rubygems/resolver/vendor_specification.rb +3 -5
- data/lib/rubygems/resolver.rb +53 -51
- data/lib/rubygems/s3_uri_signer.rb +7 -15
- data/lib/rubygems/safe_yaml.rb +14 -16
- data/lib/rubygems/security/policies.rb +47 -47
- data/lib/rubygems/security/policy.rb +25 -29
- data/lib/rubygems/security/signer.rb +13 -16
- data/lib/rubygems/security/trust_dir.rb +5 -6
- data/lib/rubygems/security.rb +90 -69
- data/lib/rubygems/security_option.rb +7 -7
- data/lib/rubygems/source/git.rb +31 -31
- data/lib/rubygems/source/installed.rb +1 -3
- data/lib/rubygems/source/local.rb +4 -6
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +1 -3
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source.rb +44 -38
- data/lib/rubygems/source_list.rb +9 -16
- data/lib/rubygems/spec_fetcher.rb +49 -48
- data/lib/rubygems/specification.rb +382 -343
- data/lib/rubygems/specification_policy.rb +131 -61
- data/lib/rubygems/stub_specification.rb +24 -31
- data/lib/rubygems/text.rb +22 -21
- data/lib/rubygems/tsort/.document +1 -0
- data/lib/rubygems/tsort/LICENSE.txt +22 -0
- data/lib/rubygems/tsort/lib/tsort.rb +452 -0
- data/lib/rubygems/tsort.rb +3 -0
- data/lib/rubygems/uninstaller.rb +98 -45
- data/lib/rubygems/unknown_command_spell_checker.rb +21 -0
- data/lib/rubygems/update_suggestion.rb +69 -0
- data/lib/rubygems/uri.rb +126 -0
- data/lib/rubygems/uri_formatter.rb +2 -3
- data/lib/rubygems/user_interaction.rb +43 -54
- data/lib/rubygems/util/licenses.rb +115 -10
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/util.rb +19 -17
- data/lib/rubygems/validator.rb +7 -9
- data/lib/rubygems/version.rb +31 -22
- data/lib/rubygems/version_option.rb +11 -5
- data/lib/rubygems.rb +213 -290
- data/rubygems-update.gemspec +5 -5
- data/setup.rb +11 -22
- data/test/rubygems/alternate_cert.pem +14 -14
- data/test/rubygems/alternate_cert_32.pem +15 -15
- data/test/rubygems/alternate_key.pem +25 -25
- data/test/rubygems/bundler_test_gem.rb +419 -0
- data/test/rubygems/child_cert.pem +15 -16
- data/test/rubygems/child_cert_32.pem +15 -16
- data/test/rubygems/child_key.pem +25 -25
- data/test/rubygems/data/excon-0.7.7.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-ruby-version.gemspec.rz +0 -0
- data/test/rubygems/data/null-required-rubygems-version.gemspec.rz +0 -0
- data/test/rubygems/data/pry-0.4.7.gemspec.rz +0 -0
- data/test/rubygems/encrypted_private_key.pem +26 -26
- data/test/rubygems/expired_cert.pem +15 -15
- data/test/rubygems/future_cert.pem +15 -15
- data/test/rubygems/future_cert_32.pem +15 -15
- data/test/rubygems/grandchild_cert.pem +15 -16
- data/test/rubygems/grandchild_cert_32.pem +15 -16
- data/test/rubygems/grandchild_key.pem +25 -25
- data/{lib/rubygems/test_case.rb → test/rubygems/helper.rb} +402 -327
- data/{lib → test}/rubygems/installer_test_case.rb +38 -24
- data/test/rubygems/invalid_issuer_cert.pem +16 -16
- data/test/rubygems/invalid_issuer_cert_32.pem +16 -16
- data/test/rubygems/invalid_key.pem +25 -25
- data/test/rubygems/invalid_signer_cert.pem +15 -15
- data/test/rubygems/invalid_signer_cert_32.pem +15 -15
- data/test/rubygems/invalidchild_cert.pem +15 -16
- data/test/rubygems/invalidchild_cert_32.pem +15 -16
- data/test/rubygems/invalidchild_key.pem +25 -25
- data/{lib → test}/rubygems/package/tar_test_case.rb +51 -18
- data/test/rubygems/packages/Bluebie-legs-0.6.2.gem +0 -0
- data/test/rubygems/packages/ascii_binder-0.1.10.1.gem +0 -0
- data/test/rubygems/packages/ill-formatted-platform-1.0.0.10.gem +0 -0
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/private_ec_key.pem +9 -0
- data/test/rubygems/private_key.pem +25 -25
- data/test/rubygems/public_cert.pem +16 -16
- data/test/rubygems/public_cert_32.pem +15 -15
- data/test/rubygems/public_key.pem +7 -7
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +2 -4
- data/test/rubygems/simple_gem.rb +1 -1
- data/test/rubygems/specifications/bar-0.0.2.gemspec +0 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -6
- data/test/rubygems/test_bundled_ca.rb +43 -50
- data/test/rubygems/test_config.rb +5 -7
- data/test/rubygems/test_deprecate.rb +87 -10
- data/test/rubygems/test_exit.rb +17 -0
- data/test/rubygems/test_gem.rb +560 -826
- data/test/rubygems/test_gem_available_set.rb +24 -26
- data/test/rubygems/test_gem_bundler_version_finder.rb +40 -46
- data/test/rubygems/test_gem_command.rb +78 -49
- data/test/rubygems/test_gem_command_manager.rb +163 -35
- data/test/rubygems/test_gem_commands_build_command.rb +285 -57
- data/test/rubygems/test_gem_commands_cert_command.rb +180 -125
- data/test/rubygems/test_gem_commands_check_command.rb +9 -11
- data/test/rubygems/test_gem_commands_cleanup_command.rb +78 -69
- data/test/rubygems/test_gem_commands_contents_command.rb +73 -42
- data/test/rubygems/test_gem_commands_dependency_command.rb +38 -40
- data/test/rubygems/test_gem_commands_environment_command.rb +60 -38
- data/test/rubygems/test_gem_commands_exec_command.rb +851 -0
- data/test/rubygems/test_gem_commands_fetch_command.rb +163 -32
- data/test/rubygems/test_gem_commands_generate_index_command.rb +8 -14
- data/test/rubygems/test_gem_commands_help_command.rb +34 -16
- data/test/rubygems/test_gem_commands_info_command.rb +33 -9
- data/test/rubygems/test_gem_commands_install_command.rb +420 -198
- data/test/rubygems/test_gem_commands_list_command.rb +5 -7
- data/test/rubygems/test_gem_commands_lock_command.rb +11 -13
- data/test/rubygems/test_gem_commands_mirror.rb +3 -5
- data/test/rubygems/test_gem_commands_open_command.rb +16 -19
- data/test/rubygems/test_gem_commands_outdated_command.rb +23 -7
- data/test/rubygems/test_gem_commands_owner_command.rb +181 -46
- data/test/rubygems/test_gem_commands_pristine_command.rb +179 -99
- data/test/rubygems/test_gem_commands_push_command.rb +156 -67
- data/test/rubygems/test_gem_commands_query_command.rb +91 -91
- data/test/rubygems/test_gem_commands_search_command.rb +2 -4
- data/test/rubygems/test_gem_commands_server_command.rb +6 -50
- data/test/rubygems/test_gem_commands_setup_command.rb +285 -183
- data/test/rubygems/test_gem_commands_signin_command.rb +187 -28
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -10
- data/test/rubygems/test_gem_commands_sources_command.rb +139 -32
- data/test/rubygems/test_gem_commands_specification_command.rb +81 -55
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -6
- data/test/rubygems/test_gem_commands_uninstall_command.rb +102 -87
- data/test/rubygems/test_gem_commands_unpack_command.rb +32 -34
- data/test/rubygems/test_gem_commands_update_command.rb +341 -94
- data/test/rubygems/test_gem_commands_which_command.rb +12 -14
- data/test/rubygems/test_gem_commands_yank_command.rb +80 -44
- data/test/rubygems/test_gem_config_file.rb +114 -97
- data/test/rubygems/test_gem_dependency.rb +88 -86
- data/test/rubygems/test_gem_dependency_installer.rb +277 -391
- data/test/rubygems/test_gem_dependency_list.rb +57 -59
- data/test/rubygems/test_gem_dependency_resolution_error.rb +5 -7
- data/test/rubygems/test_gem_doctor.rb +73 -47
- data/test/rubygems/test_gem_ext_builder.rb +115 -111
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +8 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.lock +233 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib/src/lib.rs +27 -0
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/lib/custom_name.rb +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/.gitignore +1 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +247 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +10 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/rust_ruby_example.gemspec +8 -0
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/src/lib.rs +51 -0
- data/test/rubygems/test_gem_ext_cargo_builder.rb +166 -0
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +33 -0
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +60 -0
- data/test/rubygems/test_gem_ext_cmake_builder.rb +31 -38
- data/test/rubygems/test_gem_ext_configure_builder.rb +23 -39
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +66 -82
- data/test/rubygems/test_gem_ext_rake_builder.rb +49 -32
- data/test/rubygems/test_gem_gem_runner.rb +57 -9
- data/test/rubygems/test_gem_gemcutter_utilities.rb +91 -76
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -6
- data/test/rubygems/test_gem_indexer.rb +100 -83
- data/test/rubygems/test_gem_install_update_options.rb +31 -21
- data/test/rubygems/test_gem_installer.rb +857 -484
- data/test/rubygems/test_gem_local_remote_options.rb +11 -13
- data/test/rubygems/test_gem_name_tuple.rb +4 -6
- data/test/rubygems/test_gem_package.rb +330 -305
- data/test/rubygems/test_gem_package_old.rb +18 -20
- data/test/rubygems/test_gem_package_tar_header.rb +69 -52
- data/test/rubygems/test_gem_package_tar_reader.rb +54 -9
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +168 -25
- data/test/rubygems/test_gem_package_tar_writer.rb +96 -100
- data/test/rubygems/test_gem_package_task.rb +58 -25
- data/test/rubygems/test_gem_path_support.rb +15 -21
- data/test/rubygems/test_gem_platform.rb +388 -201
- data/test/rubygems/test_gem_rdoc.rb +19 -21
- data/test/rubygems/test_gem_remote_fetcher.rb +377 -338
- data/test/rubygems/test_gem_request.rb +114 -86
- data/test/rubygems/test_gem_request_connection_pools.rb +30 -34
- data/test/rubygems/test_gem_request_set.rb +124 -125
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +227 -231
- data/test/rubygems/test_gem_request_set_lockfile.rb +93 -95
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +69 -71
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +136 -138
- data/test/rubygems/test_gem_requirement.rb +133 -54
- data/test/rubygems/test_gem_resolver.rb +182 -117
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -8
- data/test/rubygems/test_gem_resolver_api_set.rb +79 -78
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -49
- data/test/rubygems/test_gem_resolver_best_set.rb +43 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -3
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -14
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -17
- data/test/rubygems/test_gem_resolver_git_set.rb +22 -24
- data/test/rubygems/test_gem_resolver_git_specification.rb +22 -23
- data/test/rubygems/test_gem_resolver_index_set.rb +14 -16
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -18
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -7
- data/test/rubygems/test_gem_resolver_installer_set.rb +104 -44
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -9
- data/test/rubygems/test_gem_resolver_lock_set.rb +15 -17
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -19
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -3
- data/test/rubygems/test_gem_resolver_specification.rb +8 -12
- data/test/rubygems/test_gem_resolver_vendor_set.rb +9 -11
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -12
- data/test/rubygems/test_gem_security.rb +105 -79
- data/test/rubygems/test_gem_security_policy.rb +102 -107
- data/test/rubygems/test_gem_security_signer.rb +51 -53
- data/test/rubygems/test_gem_security_trust_dir.rb +14 -16
- data/test/rubygems/test_gem_silent_ui.rb +46 -42
- data/test/rubygems/test_gem_source.rb +53 -52
- data/test/rubygems/test_gem_source_fetch_problem.rb +16 -8
- data/test/rubygems/test_gem_source_git.rb +78 -72
- data/test/rubygems/test_gem_source_installed.rb +16 -18
- data/test/rubygems/test_gem_source_list.rb +5 -6
- data/test/rubygems/test_gem_source_local.rb +15 -17
- data/test/rubygems/test_gem_source_lock.rb +31 -33
- data/test/rubygems/test_gem_source_specific_file.rb +18 -20
- data/test/rubygems/test_gem_source_subpath_problem.rb +49 -0
- data/test/rubygems/test_gem_source_vendor.rb +13 -15
- data/test/rubygems/test_gem_spec_fetcher.rb +74 -67
- data/test/rubygems/test_gem_specification.rb +967 -1056
- data/test/rubygems/test_gem_stream_ui.rb +23 -23
- data/test/rubygems/test_gem_stub_specification.rb +39 -57
- data/test/rubygems/test_gem_text.rb +8 -4
- data/test/rubygems/test_gem_uninstaller.rb +234 -105
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -5
- data/test/rubygems/test_gem_update_suggestion.rb +208 -0
- data/test/rubygems/test_gem_uri.rb +39 -0
- data/test/rubygems/test_gem_uri_formatter.rb +14 -16
- data/test/rubygems/test_gem_util.rb +37 -35
- data/test/rubygems/test_gem_validator.rb +10 -12
- data/test/rubygems/test_gem_version.rb +32 -32
- data/test/rubygems/test_gem_version_option.rb +16 -18
- data/test/rubygems/test_kernel.rb +47 -67
- data/test/rubygems/test_project_sanity.rb +8 -3
- data/test/rubygems/test_remote_fetch_error.rb +7 -9
- data/test/rubygems/test_require.rb +269 -182
- data/test/rubygems/test_rubygems.rb +74 -0
- data/{lib/rubygems/test_utilities.rb → test/rubygems/utilities.rb} +63 -50
- data/test/rubygems/wrong_key_cert.pem +15 -15
- data/test/rubygems/wrong_key_cert_32.pem +15 -15
- data/test/test_changelog_generator.rb +17 -0
- metadata +190 -173
- data/.bundle/config +0 -2
- data/.rubocop.yml +0 -91
- data/Gemfile +0 -8
- data/Gemfile.lock +0 -43
- data/History.txt +0 -4473
- data/Rakefile +0 -428
- data/bundler/CODE_OF_CONDUCT.md +0 -136
- data/bundler/lib/bundler/dep_proxy.rb +0 -48
- data/bundler/lib/bundler/gemdeps.rb +0 -29
- data/bundler/lib/bundler/psyched_yaml.rb +0 -37
- data/bundler/lib/bundler/templates/gems.rb +0 -8
- data/bundler/lib/bundler/templates/newgem/travis.yml.tt +0 -6
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/monotonic_time.rb +0 -66
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/compatibility.rb +0 -26
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -81
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -158
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -223
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/errors.rb +0 -143
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -101
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolution.rb +0 -837
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/bundler/lib/bundler/vendor/molinillo/lib/molinillo.rb +0 -12
- data/bundler/lib/bundler/version_ranges.rb +0 -122
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -528
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -178
- data/bundler/man/bundle-gem.1 +0 -80
- data/bundler/man/bundle-gem.1.txt +0 -91
- data/bundler/man/bundle-gem.ronn +0 -78
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -43
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -390
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -649
- data/lib/rubygems/psych_additions.rb +0 -10
- data/lib/rubygems/server.rb +0 -879
- data/lib/rubygems/source_local.rb +0 -7
- data/lib/rubygems/source_specific_file.rb +0 -6
- data/lib/rubygems/syck_hack.rb +0 -79
- data/lib/rubygems/uri_parser.rb +0 -36
- data/lib/rubygems/uri_parsing.rb +0 -23
- data/lib/ubygems.rb +0 -14
- data/test/rubygems/bogussources.rb +0 -9
- data/test/rubygems/data/null-type.gemspec.rz +0 -0
- data/test/rubygems/test_gem_server.rb +0 -612
- data/tmp/.keep +0 -0
- data/util/CL2notes +0 -55
- data/util/bisect +0 -10
- data/util/ci.sh +0 -62
- data/util/cops/deprecations.rb +0 -52
- data/util/create_certs.rb +0 -171
- data/util/create_certs.sh +0 -27
- data/util/create_encrypted_key.rb +0 -16
- data/util/generate_spdx_license_list.rb +0 -63
- data/util/patch_with_prs.rb +0 -77
- data/util/rubocop +0 -8
- data/util/update_bundled_ca_certificates.rb +0 -137
- data/util/update_changelog.rb +0 -64
- /data/bundler/{man/bundle-check.ronn → lib/bundler/man/bundle-check.1.ronn} +0 -0
- /data/bundler/{man/bundle-doctor.ronn → lib/bundler/man/bundle-doctor.1.ronn} +0 -0
- /data/bundler/{man/bundle-info.ronn → lib/bundler/man/bundle-info.1.ronn} +0 -0
- /data/bundler/{man/bundle-lock.ronn → lib/bundler/man/bundle-lock.1.ronn} +0 -0
- /data/bundler/{man/bundle-pristine.ronn → lib/bundler/man/bundle-pristine.1.ronn} +0 -0
- /data/bundler/{man/bundle-remove.ronn → lib/bundler/man/bundle-remove.1.ronn} +0 -0
- /data/bundler/{man/bundle-show.ronn → lib/bundler/man/bundle-show.1.ronn} +0 -0
data/Rakefile
DELETED
@@ -1,428 +0,0 @@
|
|
1
|
-
# -*- ruby -*-
|
2
|
-
|
3
|
-
require 'rubygems'
|
4
|
-
require 'rubygems/package_task'
|
5
|
-
require "rake/testtask"
|
6
|
-
require 'psych'
|
7
|
-
|
8
|
-
desc "Setup Rubygems dev environment"
|
9
|
-
task :setup => ["bundler:checkout"] do
|
10
|
-
sh "gem install bundler:2.0.2"
|
11
|
-
sh "bundle install"
|
12
|
-
end
|
13
|
-
|
14
|
-
desc "Setup git hooks"
|
15
|
-
task :git_hooks do
|
16
|
-
sh "git config core.hooksPath .githooks"
|
17
|
-
end
|
18
|
-
|
19
|
-
Rake::TestTask.new do |t|
|
20
|
-
t.ruby_opts = %w[-w]
|
21
|
-
t.ruby_opts << '-rdevkit' if Gem.win_platform?
|
22
|
-
|
23
|
-
t.libs << "test"
|
24
|
-
t.libs << "bundler/lib"
|
25
|
-
|
26
|
-
t.test_files = FileList['test/**/test_*.rb']
|
27
|
-
end
|
28
|
-
|
29
|
-
task :default => :test
|
30
|
-
|
31
|
-
spec = Gem::Specification.load('rubygems-update.gemspec')
|
32
|
-
v = spec.version
|
33
|
-
|
34
|
-
require 'rdoc/task'
|
35
|
-
|
36
|
-
RDoc::Task.new :rdoc => 'docs', :clobber_rdoc => 'clobber_docs' do |doc|
|
37
|
-
doc.main = 'README.md'
|
38
|
-
doc.title = "RubyGems #{v} API Documentation"
|
39
|
-
|
40
|
-
rdoc_files = Rake::FileList.new %w[lib bundler/lib]
|
41
|
-
rdoc_files.add %w[History.txt LICENSE.txt MIT.txt CODE_OF_CONDUCT.md CONTRIBUTING.rdoc
|
42
|
-
MAINTAINERS.txt Manifest.txt POLICIES.rdoc README.md UPGRADING.rdoc bundler/CHANGELOG.md
|
43
|
-
bundler/CODE_OF_CONDUCT.md bundler/CONTRIBUTING.md bundler/LICENSE.md bundler/README.md
|
44
|
-
hide_lib_for_update/note.txt].map(&:freeze)
|
45
|
-
|
46
|
-
doc.rdoc_files = rdoc_files
|
47
|
-
|
48
|
-
doc.rdoc_dir = 'doc'
|
49
|
-
end
|
50
|
-
|
51
|
-
begin
|
52
|
-
require "automatiek"
|
53
|
-
|
54
|
-
Automatiek::RakeTask.new("molinillo") do |lib|
|
55
|
-
lib.download = { :github => "https://github.com/CocoaPods/Molinillo" }
|
56
|
-
lib.namespace = "Molinillo"
|
57
|
-
lib.prefix = "Gem::Resolver"
|
58
|
-
lib.vendor_lib = "lib/rubygems/resolver/molinillo"
|
59
|
-
end
|
60
|
-
rescue LoadError
|
61
|
-
namespace :vendor do
|
62
|
-
task(:molinillo) { abort "Install the automatiek gem to be able to vendor gems." }
|
63
|
-
end
|
64
|
-
end
|
65
|
-
|
66
|
-
desc "Run rubocop"
|
67
|
-
task(:rubocop) do
|
68
|
-
sh "util/rubocop"
|
69
|
-
end
|
70
|
-
|
71
|
-
desc "Run a test suite bisection"
|
72
|
-
task(:bisect) do
|
73
|
-
seed = begin
|
74
|
-
Integer(ENV["SEED"])
|
75
|
-
rescue
|
76
|
-
abort "Specify the failing seed as the SEED environment variable"
|
77
|
-
end
|
78
|
-
|
79
|
-
gemdir = `gem env gemdir`.chomp
|
80
|
-
sh "SEED=#{seed} MTB_VERBOSE=2 util/bisect -Ilib:bundler/lib:test:#{gemdir}/gems/minitest-server-1.0.5/lib test"
|
81
|
-
end
|
82
|
-
|
83
|
-
# --------------------------------------------------------------------
|
84
|
-
# Creating a release
|
85
|
-
|
86
|
-
task :prerelease => %w[clobber test bundler:build_metadata check_deprecations]
|
87
|
-
task :postrelease => %w[bundler:build_metadata:clean upload guides:publish blog:publish]
|
88
|
-
|
89
|
-
desc "Check for deprecated methods with expired deprecation horizon"
|
90
|
-
task :check_deprecations do
|
91
|
-
if v.segments[1] == 0 && v.segments[2] == 0
|
92
|
-
sh("util/rubocop -r ./util/cops/deprecations --only Rubygems/Deprecations")
|
93
|
-
else
|
94
|
-
puts "Skipping deprecation checks since not releasing a major version."
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
desc "Install rubygems to local system"
|
99
|
-
task :install => [:clear_package, :package] do
|
100
|
-
sh "ruby -Ilib bin/gem install pkg/rubygems-update-#{v}.gem && update_rubygems"
|
101
|
-
end
|
102
|
-
|
103
|
-
desc "Clears previously built package"
|
104
|
-
task :clear_package do
|
105
|
-
rm_rf "pkg"
|
106
|
-
end
|
107
|
-
|
108
|
-
desc "Release rubygems-#{v}"
|
109
|
-
task :release => :prerelease do
|
110
|
-
Rake::Task["package"].invoke
|
111
|
-
sh "gem push pkg/rubygems-update-#{v}.gem"
|
112
|
-
Rake::Task["postrelease"].invoke
|
113
|
-
end
|
114
|
-
|
115
|
-
Gem::PackageTask.new(spec) {}
|
116
|
-
|
117
|
-
Rake::Task["package"].enhance ["pkg/rubygems-#{v}.tgz", "pkg/rubygems-#{v}.zip"]
|
118
|
-
|
119
|
-
file "pkg/rubygems-#{v}" => "pkg/rubygems-update-#{v}" do |t|
|
120
|
-
require 'find'
|
121
|
-
|
122
|
-
dest_root = File.expand_path t.name
|
123
|
-
|
124
|
-
cd t.source do
|
125
|
-
Find.find '.' do |file|
|
126
|
-
dest = File.expand_path file, dest_root
|
127
|
-
|
128
|
-
if File.directory? file
|
129
|
-
mkdir_p dest
|
130
|
-
else
|
131
|
-
rm_f dest
|
132
|
-
safe_ln file, dest
|
133
|
-
end
|
134
|
-
end
|
135
|
-
end
|
136
|
-
end
|
137
|
-
|
138
|
-
file "pkg/rubygems-#{v}.zip" => "pkg/rubygems-#{v}" do
|
139
|
-
cd 'pkg' do
|
140
|
-
if Gem.win_platform?
|
141
|
-
sh "7z a rubygems-#{v}.zip rubygems-#{v}"
|
142
|
-
else
|
143
|
-
sh "zip -q -r rubygems-#{v}.zip rubygems-#{v}"
|
144
|
-
end
|
145
|
-
end
|
146
|
-
end
|
147
|
-
|
148
|
-
file "pkg/rubygems-#{v}.tgz" => "pkg/rubygems-#{v}" do
|
149
|
-
cd 'pkg' do
|
150
|
-
if Gem.win_platform? && RUBY_VERSION < '2.4'
|
151
|
-
sh "7z a -ttar rubygems-#{v}.tar rubygems-#{v}"
|
152
|
-
sh "7z a -tgzip rubygems-#{v}.tgz rubygems-#{v}.tar"
|
153
|
-
else
|
154
|
-
sh "tar -czf rubygems-#{v}.tgz --owner=rubygems:0 --group=rubygems:0 rubygems-#{v}"
|
155
|
-
end
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
desc "Upload release to S3"
|
160
|
-
task :upload_to_s3 do
|
161
|
-
begin
|
162
|
-
require "aws-sdk-s3"
|
163
|
-
rescue LoadError
|
164
|
-
abort "Install the aws-sdk-s3 gem to be able to upload gems to rubygems.org."
|
165
|
-
end
|
166
|
-
|
167
|
-
s3 = Aws::S3::Resource.new(region:'us-west-2')
|
168
|
-
%w[zip tgz].each do |ext|
|
169
|
-
obj = s3.bucket('oregon.production.s3.rubygems.org').object("rubygems/rubygems-#{v}.#{ext}")
|
170
|
-
obj.upload_file("pkg/rubygems-#{v}.#{ext}", acl: 'public-read')
|
171
|
-
end
|
172
|
-
end
|
173
|
-
|
174
|
-
desc "Upload release to rubygems.org"
|
175
|
-
task :upload => %w[upload_to_s3]
|
176
|
-
|
177
|
-
directory '../guides.rubygems.org' do
|
178
|
-
sh 'git', 'clone',
|
179
|
-
'git@github.com:rubygems/guides.git',
|
180
|
-
'../guides.rubygems.org'
|
181
|
-
end
|
182
|
-
|
183
|
-
namespace 'guides' do
|
184
|
-
task 'pull' => %w[../guides.rubygems.org] do
|
185
|
-
chdir '../guides.rubygems.org' do
|
186
|
-
sh 'git', 'pull'
|
187
|
-
end
|
188
|
-
end
|
189
|
-
|
190
|
-
task 'update' => %w[../guides.rubygems.org] do
|
191
|
-
lib_dir = File.join Dir.pwd, 'lib'
|
192
|
-
|
193
|
-
chdir '../guides.rubygems.org' do
|
194
|
-
ruby '-I', lib_dir, '-S', 'rake', 'command_guide'
|
195
|
-
ruby '-I', lib_dir, '-S', 'rake', 'spec_guide'
|
196
|
-
end
|
197
|
-
end
|
198
|
-
|
199
|
-
task 'commit' => %w[../guides.rubygems.org] do
|
200
|
-
chdir '../guides.rubygems.org' do
|
201
|
-
begin
|
202
|
-
sh 'git', 'diff', '--quiet'
|
203
|
-
rescue
|
204
|
-
sh 'git', 'commit', 'command-reference.md', 'specification-reference.md',
|
205
|
-
'-m', "Rebuild for RubyGems #{v}"
|
206
|
-
end
|
207
|
-
end
|
208
|
-
end
|
209
|
-
|
210
|
-
task 'push' => %w[../guides.rubygems.org] do
|
211
|
-
chdir '../guides.rubygems.org' do
|
212
|
-
sh 'git', 'push'
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
desc 'Updates and publishes the guides for the just-released RubyGems'
|
217
|
-
task 'publish'
|
218
|
-
|
219
|
-
on_master = `git branch --list master`.strip == '* master'
|
220
|
-
on_master = true if ENV['FORCE']
|
221
|
-
|
222
|
-
task 'publish' => %w[
|
223
|
-
guides:pull
|
224
|
-
guides:update
|
225
|
-
guides:commit
|
226
|
-
guides:push
|
227
|
-
] if on_master
|
228
|
-
end
|
229
|
-
|
230
|
-
directory '../blog.rubygems.org' do
|
231
|
-
sh 'git', 'clone',
|
232
|
-
'git@github.com:rubygems/rubygems.github.com.git',
|
233
|
-
'../blog.rubygems.org'
|
234
|
-
end
|
235
|
-
|
236
|
-
namespace 'blog' do
|
237
|
-
date = Time.now.strftime '%Y-%m-%d'
|
238
|
-
post_page = "_posts/#{date}-#{v}-released.md"
|
239
|
-
checksums = ''
|
240
|
-
|
241
|
-
task 'checksums' => 'package' do
|
242
|
-
require 'digest'
|
243
|
-
Dir['pkg/*{tgz,zip,gem}'].map do |file|
|
244
|
-
digest = Digest::SHA256.new
|
245
|
-
|
246
|
-
open file, 'rb' do |io|
|
247
|
-
while chunk = io.read(65536) do
|
248
|
-
digest.update chunk
|
249
|
-
end
|
250
|
-
end
|
251
|
-
|
252
|
-
checksums << "* #{File.basename(file)} \n"
|
253
|
-
checksums << " #{digest.hexdigest}\n"
|
254
|
-
end
|
255
|
-
end
|
256
|
-
|
257
|
-
task 'pull' => %w[../blog.rubygems.org] do
|
258
|
-
chdir '../blog.rubygems.org' do
|
259
|
-
sh 'git', 'pull'
|
260
|
-
end
|
261
|
-
end
|
262
|
-
|
263
|
-
path = File.join '../blog.rubygems.org', post_page
|
264
|
-
|
265
|
-
task 'update' => [path]
|
266
|
-
|
267
|
-
file path => 'checksums' do
|
268
|
-
name = `git config --get user.name`.strip
|
269
|
-
email = `git config --get user.email`.strip
|
270
|
-
|
271
|
-
history = File.read 'History.txt'
|
272
|
-
|
273
|
-
history.force_encoding Encoding::UTF_8
|
274
|
-
|
275
|
-
_, change_log, = history.split %r%^===\s*\d.*%, 3
|
276
|
-
|
277
|
-
change_types = []
|
278
|
-
|
279
|
-
lines = change_log.strip.lines
|
280
|
-
change_log = []
|
281
|
-
|
282
|
-
while line = lines.shift do
|
283
|
-
case line
|
284
|
-
when /(^[A-Z].*)/ then
|
285
|
-
change_types << $1
|
286
|
-
change_log << "_#{$1}_\n"
|
287
|
-
when /^\*/ then
|
288
|
-
entry = [line.strip]
|
289
|
-
|
290
|
-
while /^ \S/ =~ lines.first do
|
291
|
-
entry << lines.shift.strip
|
292
|
-
end
|
293
|
-
|
294
|
-
change_log << "#{entry.join ' '}\n"
|
295
|
-
else
|
296
|
-
change_log << line
|
297
|
-
end
|
298
|
-
end
|
299
|
-
|
300
|
-
change_log = change_log.join
|
301
|
-
|
302
|
-
change_types = change_types.map do |change_type|
|
303
|
-
change_type.downcase.tr '^a-z ', ''
|
304
|
-
end
|
305
|
-
|
306
|
-
last_change_type = change_types.pop
|
307
|
-
|
308
|
-
if change_types.empty?
|
309
|
-
change_types = ''
|
310
|
-
else
|
311
|
-
change_types = change_types.join(', ') << ' and '
|
312
|
-
end
|
313
|
-
|
314
|
-
change_types << last_change_type
|
315
|
-
|
316
|
-
require 'tempfile'
|
317
|
-
|
318
|
-
Tempfile.open 'blog_post' do |io|
|
319
|
-
io.write <<-ANNOUNCEMENT
|
320
|
-
---
|
321
|
-
title: #{v} Released
|
322
|
-
layout: post
|
323
|
-
author: #{name}
|
324
|
-
author_email: #{email}
|
325
|
-
---
|
326
|
-
|
327
|
-
RubyGems #{v} includes #{change_types}.
|
328
|
-
|
329
|
-
To update to the latest RubyGems you can run:
|
330
|
-
|
331
|
-
gem update --system
|
332
|
-
|
333
|
-
If you need to upgrade or downgrade please follow the [how to upgrade/downgrade
|
334
|
-
RubyGems][upgrading] instructions. To install RubyGems by hand see the
|
335
|
-
[Download RubyGems][download] page.
|
336
|
-
|
337
|
-
#{change_log}
|
338
|
-
|
339
|
-
SHA256 Checksums:
|
340
|
-
|
341
|
-
#{checksums}
|
342
|
-
|
343
|
-
[download]: https://rubygems.org/pages/download
|
344
|
-
[upgrading]: http://docs.seattlerb.org/rubygems/UPGRADING_rdoc.html
|
345
|
-
|
346
|
-
ANNOUNCEMENT
|
347
|
-
|
348
|
-
io.flush
|
349
|
-
|
350
|
-
sh(ENV['EDITOR'] || 'vim', io.path)
|
351
|
-
|
352
|
-
FileUtils.cp io.path, path
|
353
|
-
end
|
354
|
-
end
|
355
|
-
|
356
|
-
task 'commit' => %w[../blog.rubygems.org] do
|
357
|
-
chdir '../blog.rubygems.org' do
|
358
|
-
sh 'git', 'add', post_page
|
359
|
-
sh 'git', 'commit', post_page,
|
360
|
-
'-m', "Added #{v} release announcement"
|
361
|
-
end
|
362
|
-
end
|
363
|
-
|
364
|
-
task 'push' => %w[../blog.rubygems.org] do
|
365
|
-
chdir '../blog.rubygems.org' do
|
366
|
-
sh 'git', 'push'
|
367
|
-
end
|
368
|
-
end
|
369
|
-
|
370
|
-
desc 'Updates and publishes the blog for the just-released RubyGems'
|
371
|
-
task 'publish' => %w[
|
372
|
-
blog:pull
|
373
|
-
blog:update
|
374
|
-
blog:commit
|
375
|
-
blog:push
|
376
|
-
]
|
377
|
-
end
|
378
|
-
|
379
|
-
# Misc Tasks ---------------------------------------------------------
|
380
|
-
|
381
|
-
module Rubygems
|
382
|
-
class ProjectFiles
|
383
|
-
|
384
|
-
def self.all
|
385
|
-
files = []
|
386
|
-
exclude = %r[\.git|\./bundler/(?!lib|man|exe|[^/]+\.md|bundler.gemspec)]ox
|
387
|
-
tracked_files = `git ls-files --recurse-submodules`.split("\n").map {|f| "./#{f}" }
|
388
|
-
|
389
|
-
tracked_files.each do |path|
|
390
|
-
next unless File.file?(path)
|
391
|
-
next if path =~ exclude
|
392
|
-
files << path[2..-1]
|
393
|
-
end
|
394
|
-
|
395
|
-
files
|
396
|
-
end
|
397
|
-
|
398
|
-
end
|
399
|
-
end
|
400
|
-
|
401
|
-
desc "Update the manifest to reflect what's on disk"
|
402
|
-
task :update_manifest do
|
403
|
-
File.open('Manifest.txt', 'w') {|f| f.puts(Rubygems::ProjectFiles.all.sort) }
|
404
|
-
end
|
405
|
-
|
406
|
-
desc "Check the manifest is up to date"
|
407
|
-
task :check_manifest do
|
408
|
-
if File.read("Manifest.txt").split.sort != Rubygems::ProjectFiles.all.sort
|
409
|
-
abort "Manifest is out of date. Run `rake update_manifest` to sync it"
|
410
|
-
end
|
411
|
-
end
|
412
|
-
|
413
|
-
namespace :bundler do
|
414
|
-
desc "Initialize bundler submodule"
|
415
|
-
task :checkout do
|
416
|
-
sh "git submodule update --init"
|
417
|
-
end
|
418
|
-
|
419
|
-
task :build_metadata do
|
420
|
-
chdir('bundler') { sh "rake build_metadata" }
|
421
|
-
end
|
422
|
-
|
423
|
-
namespace :build_metadata do
|
424
|
-
task :clean do
|
425
|
-
chdir('bundler') { sh "rake build_metadata:clean" }
|
426
|
-
end
|
427
|
-
end
|
428
|
-
end
|
data/bundler/CODE_OF_CONDUCT.md
DELETED
@@ -1,136 +0,0 @@
|
|
1
|
-
# Bundler Code of Conduct
|
2
|
-
|
3
|
-
## When Something Happens
|
4
|
-
|
5
|
-
If you see a Code of Conduct violation, follow these steps:
|
6
|
-
|
7
|
-
1. Let the person know that what they did is not appropriate and ask them to stop and/or edit their message(s).
|
8
|
-
2. That person should immediately stop the behavior and correct the issue.
|
9
|
-
3. If this doesn't happen, or if you're uncomfortable speaking up, [contact admins](#contacting-admins).
|
10
|
-
4. As soon as available, an admin will join, identify themselves, and take [further action (see below)](#further-enforcement), starting with a warning, then temporary deactivation, then long-term deactivation.
|
11
|
-
|
12
|
-
When reporting, please include any relevant details, links, screenshots, context, or other information that may be used to better understand and resolve the situation.
|
13
|
-
|
14
|
-
**The admin team will prioritize the well-being and comfort of the recipients of the violation over the comfort of the violator.** See [some examples below](#enforcement-examples).
|
15
|
-
|
16
|
-
## Our Pledge
|
17
|
-
|
18
|
-
In the interest of fostering an open and welcoming environment, we as members of the Bundler community pledge to making participation in our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, technical preferences, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
19
|
-
|
20
|
-
## Our Standards
|
21
|
-
|
22
|
-
Examples of behavior that contributes to creating a positive environment include:
|
23
|
-
|
24
|
-
- Using welcoming and inclusive language.
|
25
|
-
- Being respectful of differing viewpoints and experiences.
|
26
|
-
- Gracefully accepting constructive feedback.
|
27
|
-
- Focusing on what is best for the community.
|
28
|
-
- Showing empathy and kindness towards other community members.
|
29
|
-
|
30
|
-
Examples of unacceptable behavior by participants include:
|
31
|
-
|
32
|
-
- The use of sexualized language or imagery and unwelcome sexual attention or advances, including when simulated online. The only exception to sexual topics is channels/spaces specifically for topics of sexual identity.
|
33
|
-
- Trolling, insulting/derogatory comments, and personal or political attacks.
|
34
|
-
- Casual mention of slavery or indentured servitude and/or false comparisons of one's occupation or situation to slavery. Please consider using or asking about alternate terminology when referring to such metaphors in technology.
|
35
|
-
- Making light of/making mocking comments about trigger warnings and content warnings.
|
36
|
-
- Public or private harassment, deliberate intimidation, or threats.
|
37
|
-
- Publishing others' private information, such as a physical or electronic address, without explicit permission. This includes any sort of "outing" of any aspect of someone's identity without their consent.
|
38
|
-
- Publishing screenshots or quotes, especially from identity channels, without all quoted users' _explicit_ consent.
|
39
|
-
- Publishing or telling others that a member belongs to a particular identity channel without asking their consent first.
|
40
|
-
- Publishing of non-harassing private communication.
|
41
|
-
- Any of the above even when [presented as "ironic" or "joking"](https://en.wikipedia.org/wiki/Hipster_racism).
|
42
|
-
- Any attempt to present "reverse-ism" versions of the above as violations. Examples of reverse-isms are "reverse racism", "reverse sexism", "heterophobia", and "cisphobia".
|
43
|
-
- Unsolicited explanations under the assumption that someone doesn't already know it. Ask before you teach! Don't assume what people's knowledge gaps are.
|
44
|
-
- [Feigning or exaggerating surprise](https://www.recurse.com/manual#no-feigned-surprise) when someone admits to not knowing something.
|
45
|
-
- "[Well-actuallies](https://www.recurse.com/manual#no-well-actuallys)"
|
46
|
-
- Other conduct which could reasonably be considered inappropriate in a professional or community setting.
|
47
|
-
|
48
|
-
## Scope
|
49
|
-
|
50
|
-
This Code of Conduct applies both within community spaces and in other spaces involving the community. This includes the GitHub repository, the Bundler Slack instance, the Bundler Twitter community, private email communications in the context of the community, and any events where members of the community are participating, as well as adjacent communities and venues affecting the community's members.
|
51
|
-
|
52
|
-
Depending on the violation, the admins may decide that violations of this code of conduct that have happened outside of the scope of the community may deem an individual unwelcome, and take appropriate action to maintain the comfort and safety of its members.
|
53
|
-
|
54
|
-
This Code of Conduct is detailed for the purpose of removing ambiguity, not for the sake of strictness. It is the sincere hope of admins that it helps foster mutual understanding, and the creation of a space where everyone can participate in a way relevant to the project itself, without things going horribly due to accidental/well-intentioned toe stepping. Please be kind to one another!
|
55
|
-
|
56
|
-
## Admin Enforcement Process
|
57
|
-
|
58
|
-
Once the admins get involved, they will follow a documented series of steps and do their best to preserve the well-being of community members. This section covers actual concrete steps.
|
59
|
-
|
60
|
-
### Contacting Admins
|
61
|
-
|
62
|
-
You may get in touch with the Bundler admin team through any of the following methods:
|
63
|
-
|
64
|
-
- Email [the Bundler maintainers](https://bundler.io/contributors.html) as a group at [team@bundler.io](mailto:team@bundler.io).
|
65
|
-
- Directly message any maintainer in private (through Slack, Twitter, email, or other available option) if that is more comfortable
|
66
|
-
|
67
|
-
### Further Enforcement
|
68
|
-
|
69
|
-
If you've already followed the [initial enforcement steps](#enforcement), these are the steps admins will take for further enforcement, as needed:
|
70
|
-
|
71
|
-
1. Repeat the request to stop.
|
72
|
-
2. If the person doubles down, they will be removed from the discussion (where possible), and given an official warning.
|
73
|
-
3. If the behavior continues or is repeated later, the person will be blocked/deactivated for 24 hours.
|
74
|
-
4. If the behavior continues or is repeated after the temporary deactivation, a long-term (6-12mo) deactivation will be used.
|
75
|
-
|
76
|
-
On top of this, admins may remove any offending messages, images, contributions, etc, as they deem necessary.
|
77
|
-
|
78
|
-
Admins reserve full rights to skip any of these steps, at their discretion, if the violation is considered to be a serious and/or immediate threat to the health and well-being of members of the community. These include any threats, serious physical or verbal attacks, and other such behavior that would be completely unacceptable in any social setting that puts our members at risk.
|
79
|
-
|
80
|
-
Members expelled from events or venues with any sort of paid attendance will not be refunded.
|
81
|
-
|
82
|
-
### Who Watches the Watchers?
|
83
|
-
|
84
|
-
Admins and other leaders who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the community's leadership. These may include anything from removal from the admin team to a permanent ban from the community.
|
85
|
-
|
86
|
-
### Enforcement Examples
|
87
|
-
|
88
|
-
#### The Best Case
|
89
|
-
|
90
|
-
The vast majority of situations work out like this, in our experience. This interaction is common, and generally positive.
|
91
|
-
|
92
|
-
> Alex: "Yeah I used X and it was really crazy!"
|
93
|
-
|
94
|
-
> Patt: "Hey, could you not use that word? What about 'ridiculous' instead?"
|
95
|
-
|
96
|
-
> Alex: "oh sorry, sure." -> edits old message to say "it was really confusing!"
|
97
|
-
|
98
|
-
#### The Admin Case
|
99
|
-
|
100
|
-
Sometimes, though, you need to get admins involved. Admins will do their best to resolve conflicts, but people who were harmed by something **will take priority**.
|
101
|
-
|
102
|
-
> Patt: "Honestly, sometimes I just really hate using $language and anyone who uses it probably sucks at their job."
|
103
|
-
|
104
|
-
> Alex: "Whoa there, could you dial it back a bit? There's a CoC thing about attacking folks' tech use like that."
|
105
|
-
|
106
|
-
> Patt: "I'm not attacking anyone, are you deaf?"
|
107
|
-
|
108
|
-
> Alex: _DMs admin_ "hey uh. Can someone look at #general? Patt is getting a bit aggro. I tried to nudge them about it, but nope."
|
109
|
-
|
110
|
-
> MxAdmin1: <joins #general> "Hey Patt, admin here. Could you tone it down? This sort of attack is really not okay in this space."
|
111
|
-
|
112
|
-
> Patt: "Leave me alone I haven't said anything bad wtf is wrong with you."
|
113
|
-
|
114
|
-
> MxAdmin1: _removes patt_ _DMs patt_ "I mean it. Please refer to the CoC over at bundler.io/conduct.html if you have questions, but you can consider this an actual warning. I'd appreciate it if you reworded your messages in #general, since they made folks there uncomfortable. Let's try and be kind, yeah?"
|
115
|
-
|
116
|
-
> Patt: _Replies to DM_ "@mxadmin1 Okay sorry. I'm just frustrated and I'm kinda burnt out and I guess I got carried away. I'll DM Alex a note apologizing and edit my messages. Sorry for the trouble."
|
117
|
-
|
118
|
-
> MxAdmin1: _Replies to DM_ "@patt Thanks for that. I hear you on the stress. Burnout sucks :/. Have a good one!"
|
119
|
-
|
120
|
-
#### The Nope Case
|
121
|
-
|
122
|
-
> PepeTheFrog🐸: "Hi, I am a literal actual nazi and I think white supremacists are quite fashionable."
|
123
|
-
|
124
|
-
> Patt: "NOOOOPE. OH NOPE NOPE."
|
125
|
-
|
126
|
-
> Alex: "JFC NO. NOPE. `/admin nope nope nope @ #javascript`"
|
127
|
-
|
128
|
-
> MxAdmin1: "👀 Nope. NOPE NOPE NOPE. 🔥"
|
129
|
-
|
130
|
-
> PepeTheFrog🐸 has been deactivated.
|
131
|
-
|
132
|
-
## Attribution
|
133
|
-
|
134
|
-
This Code of Conduct is adapted from the [package.community Code of Conduct], adapted from the [WeAllJS Code of Conduct](https://wealljs.org/code-of-conduct), itself adapted from [Contributor Covenant](https://contributor-covenant.org) version 1.4, available at [https://contributor-covenant.org/version/1/4](https://contributor-covenant.org/version/1/4), as well as the LGBTQ in Technology Slack [Code of Conduct](https://lgbtq.technology/coc.html).
|
135
|
-
|
136
|
-
Additional thanks to [Contributor Covenant](https://contributor-covenant.org) for the [default code of conduct](https://github.com/bundler/bundler/blob/master/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt) included in generated gems.
|
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Bundler
|
4
|
-
class DepProxy
|
5
|
-
attr_reader :__platform, :dep
|
6
|
-
|
7
|
-
def initialize(dep, platform)
|
8
|
-
@dep = dep
|
9
|
-
@__platform = platform
|
10
|
-
end
|
11
|
-
|
12
|
-
def hash
|
13
|
-
@hash ||= [dep, __platform].hash
|
14
|
-
end
|
15
|
-
|
16
|
-
def ==(other)
|
17
|
-
return false if other.class != self.class
|
18
|
-
dep == other.dep && __platform == other.__platform
|
19
|
-
end
|
20
|
-
|
21
|
-
alias_method :eql?, :==
|
22
|
-
|
23
|
-
def type
|
24
|
-
@dep.type
|
25
|
-
end
|
26
|
-
|
27
|
-
def name
|
28
|
-
@dep.name
|
29
|
-
end
|
30
|
-
|
31
|
-
def requirement
|
32
|
-
@dep.requirement
|
33
|
-
end
|
34
|
-
|
35
|
-
def to_s
|
36
|
-
s = name.dup
|
37
|
-
s << " (#{requirement})" unless requirement == Gem::Requirement.default
|
38
|
-
s << " #{__platform}" unless __platform == Gem::Platform::RUBY
|
39
|
-
s
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def method_missing(*args, &blk)
|
45
|
-
@dep.send(*args, &blk)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Bundler
|
4
|
-
class Gemdeps
|
5
|
-
def initialize(runtime)
|
6
|
-
@runtime = runtime
|
7
|
-
end
|
8
|
-
|
9
|
-
def requested_specs
|
10
|
-
@runtime.requested_specs
|
11
|
-
end
|
12
|
-
|
13
|
-
def specs
|
14
|
-
@runtime.specs
|
15
|
-
end
|
16
|
-
|
17
|
-
def dependencies
|
18
|
-
@runtime.dependencies
|
19
|
-
end
|
20
|
-
|
21
|
-
def current_dependencies
|
22
|
-
@runtime.current_dependencies
|
23
|
-
end
|
24
|
-
|
25
|
-
def requires
|
26
|
-
@runtime.requires
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Psych could be a gem, so try to ask for it
|
4
|
-
begin
|
5
|
-
gem "psych"
|
6
|
-
rescue LoadError
|
7
|
-
end if defined?(gem)
|
8
|
-
|
9
|
-
# Psych could be in the stdlib
|
10
|
-
# but it's too late if Syck is already loaded
|
11
|
-
begin
|
12
|
-
require "psych" unless defined?(Syck)
|
13
|
-
rescue LoadError
|
14
|
-
# Apparently Psych wasn't available. Oh well.
|
15
|
-
end
|
16
|
-
|
17
|
-
# At least load the YAML stdlib, whatever that may be
|
18
|
-
require "yaml" unless defined?(YAML.dump)
|
19
|
-
|
20
|
-
module Bundler
|
21
|
-
# On encountering invalid YAML,
|
22
|
-
# Psych raises Psych::SyntaxError
|
23
|
-
if defined?(::Psych::SyntaxError)
|
24
|
-
YamlLibrarySyntaxError = ::Psych::SyntaxError
|
25
|
-
else # Syck raises ArgumentError
|
26
|
-
YamlLibrarySyntaxError = ::ArgumentError
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
require_relative "deprecate"
|
31
|
-
begin
|
32
|
-
Bundler::Deprecate.skip_during do
|
33
|
-
require "rubygems/safe_yaml"
|
34
|
-
end
|
35
|
-
rescue LoadError
|
36
|
-
# it's OK if the file isn't there
|
37
|
-
end
|