rubygems-update 4.0.21 → 4.1.0.beta1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +590 -53
- data/CONTRIBUTING.md +66 -5
- data/MIT.txt +4 -3
- data/Manifest.txt +332 -375
- data/README.md +26 -6
- data/bundler.gemspec +63 -0
- data/doc/POLICIES.md +147 -0
- data/doc/UPGRADING.md +4 -4
- data/{bundler/lib → lib}/bundler/build_metadata.rb +2 -2
- data/{bundler/lib → lib}/bundler/checksum.rb +40 -25
- data/{bundler/lib → lib}/bundler/ci_detector.rb +1 -1
- data/{bundler/lib → lib}/bundler/cli/add.rb +3 -4
- data/{bundler/lib → lib}/bundler/cli/cache.rb +4 -0
- data/{bundler/lib → lib}/bundler/cli/clean.rb +5 -0
- data/{bundler/lib → lib}/bundler/cli/common.rb +37 -1
- data/{bundler/lib → lib}/bundler/cli/config.rb +4 -2
- data/{bundler/lib → lib}/bundler/cli/gem.rb +0 -17
- data/{bundler/lib → lib}/bundler/cli/install.rb +4 -5
- data/{bundler/lib → lib}/bundler/cli/lock.rb +1 -2
- data/{bundler/lib → lib}/bundler/cli/outdated.rb +8 -3
- data/{bundler/lib → lib}/bundler/cli/pristine.rb +2 -1
- data/{bundler/lib → lib}/bundler/cli/update.rb +21 -12
- data/{bundler/lib → lib}/bundler/cli.rb +14 -11
- data/{bundler/lib → lib}/bundler/definition.rb +61 -24
- data/{bundler/lib → lib}/bundler/dependency.rb +4 -0
- data/{bundler/lib → lib}/bundler/dsl.rb +77 -11
- data/{bundler/lib → lib}/bundler/endpoint_specification.rb +51 -14
- data/{bundler/lib → lib}/bundler/env.rb +7 -24
- data/{bundler/lib → lib}/bundler/errors.rb +34 -5
- data/{bundler/lib → lib}/bundler/fetcher/compact_index.rb +14 -5
- data/lib/bundler/fetcher/connection_pools.rb +150 -0
- data/{bundler/lib → lib}/bundler/fetcher/downloader.rb +31 -16
- data/{bundler/lib → lib}/bundler/fetcher.rb +8 -47
- data/{bundler/lib → lib}/bundler/injector.rb +3 -3
- data/{bundler/lib → lib}/bundler/inline.rb +44 -4
- data/{bundler/lib → lib}/bundler/installer/parallel_installer.rb +25 -30
- data/{bundler/lib → lib}/bundler/installer.rb +20 -6
- data/{bundler/lib → lib}/bundler/lazy_specification.rb +44 -17
- data/{bundler/lib → lib}/bundler/lockfile_generator.rb +24 -2
- data/{bundler/lib → lib}/bundler/lockfile_parser.rb +43 -5
- data/{bundler/lib → lib}/bundler/man/bundle-add.1 +7 -4
- data/{bundler/lib → lib}/bundler/man/bundle-add.1.ronn +8 -4
- data/{bundler/lib → lib}/bundler/man/bundle-binstubs.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-cache.1 +2 -2
- data/{bundler/lib → lib}/bundler/man/bundle-cache.1.ronn +2 -2
- data/{bundler/lib → lib}/bundler/man/bundle-check.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-clean.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-config.1 +38 -6
- data/{bundler/lib → lib}/bundler/man/bundle-config.1.ronn +143 -10
- data/{bundler/lib → lib}/bundler/man/bundle-console.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-doctor.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-env.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-exec.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-fund.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-gem.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-help.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-info.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-init.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-install.1 +2 -2
- data/{bundler/lib → lib}/bundler/man/bundle-install.1.ronn +4 -4
- data/{bundler/lib → lib}/bundler/man/bundle-issue.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-licenses.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-list.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-lock.1 +3 -3
- data/{bundler/lib → lib}/bundler/man/bundle-lock.1.ronn +5 -5
- data/{bundler/lib → lib}/bundler/man/bundle-open.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-outdated.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-platform.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-plugin.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-pristine.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-remove.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-show.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle-update.1 +3 -3
- data/{bundler/lib → lib}/bundler/man/bundle-update.1.ronn +3 -5
- data/{bundler/lib → lib}/bundler/man/bundle-version.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/bundle.1 +1 -1
- data/{bundler/lib → lib}/bundler/man/gemfile.5 +45 -1
- data/{bundler/lib → lib}/bundler/man/gemfile.5.ronn +53 -0
- data/lib/bundler/match_metadata.rb +50 -0
- data/{bundler/lib → lib}/bundler/match_platform.rb +25 -2
- data/lib/bundler/match_remote_metadata.rb +44 -0
- data/{bundler/lib → lib}/bundler/materialization.rb +2 -1
- data/lib/bundler/override.rb +69 -0
- data/{bundler/lib → lib}/bundler/plugin/dsl.rb +3 -5
- data/{bundler/lib → lib}/bundler/plugin/events.rb +55 -13
- data/{bundler/lib → lib}/bundler/plugin/index.rb +87 -11
- data/{bundler/lib → lib}/bundler/plugin/installer/path.rb +1 -1
- data/{bundler/lib → lib}/bundler/plugin/installer.rb +13 -5
- data/{bundler/lib → lib}/bundler/plugin.rb +58 -30
- data/{bundler/lib → lib}/bundler/remote_specification.rb +6 -3
- data/{bundler/lib → lib}/bundler/resolver/base.rb +2 -1
- data/{bundler/lib → lib}/bundler/resolver/incompatibility.rb +1 -1
- data/{bundler/lib → lib}/bundler/resolver.rb +73 -23
- data/{bundler/lib → lib}/bundler/ruby_version.rb +0 -2
- data/{bundler/lib → lib}/bundler/rubygems_ext.rb +71 -1
- data/{bundler/lib → lib}/bundler/rubygems_gem_installer.rb +41 -2
- data/{bundler/lib → lib}/bundler/rubygems_integration.rb +7 -2
- data/{bundler/lib → lib}/bundler/runtime.rb +69 -2
- data/{bundler/lib → lib}/bundler/self_manager.rb +9 -15
- data/{bundler/lib → lib}/bundler/settings.rb +373 -30
- data/{bundler/lib → lib}/bundler/shared_helpers.rb +2 -1
- data/{bundler/lib → lib}/bundler/source/git/git_proxy.rb +2 -10
- data/{bundler/lib → lib}/bundler/source/git.rb +15 -6
- data/{bundler/lib → lib}/bundler/source/path/installer.rb +1 -1
- data/{bundler/lib → lib}/bundler/source/rubygems/remote.rb +10 -5
- data/{bundler/lib → lib}/bundler/source/rubygems.rb +48 -12
- data/{bundler/lib → lib}/bundler/spec_set.rb +16 -4
- data/{bundler/lib → lib}/bundler/stub_specification.rb +2 -1
- data/{bundler/lib → lib}/bundler/templates/newgem/Gemfile.tt +4 -4
- data/{bundler/lib → lib}/bundler/templates/newgem/newgem.gemspec.tt +3 -3
- data/{bundler/lib → lib}/bundler/templates/newgem/spec/newgem_spec.rb.tt +1 -1
- data/{bundler/lib → lib}/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +1 -1
- data/{bundler/lib → lib}/bundler/ui/shell.rb +0 -4
- data/{bundler/lib → lib}/bundler/ui/silent.rb +0 -4
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +35 -2
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/base.rb +2 -1
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/basic.rb +14 -6
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/color.rb +2 -0
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/version.rb +1 -1
- data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor.rb +34 -1
- data/lib/bundler/vendored_pub_grub.rb +7 -0
- data/lib/bundler/vendored_securerandom.rb +15 -0
- data/lib/bundler/vendored_uri.rb +21 -0
- data/{bundler/lib → lib}/bundler/version.rb +1 -1
- data/{bundler/lib → lib}/bundler/worker.rb +3 -2
- data/{bundler/lib → lib}/bundler.rb +1 -1
- data/lib/rubygems/basic_specification.rb +15 -14
- data/lib/rubygems/bundler_settings.rb +137 -0
- data/lib/rubygems/bundler_version_finder.rb +13 -55
- data/lib/rubygems/ci_detector.rb +1 -1
- data/lib/rubygems/commands/build_command.rb +8 -1
- data/lib/rubygems/commands/cert_command.rb +9 -7
- data/lib/rubygems/commands/contents_command.rb +1 -1
- data/lib/rubygems/commands/dependency_command.rb +15 -3
- data/lib/rubygems/commands/environment_command.rb +1 -0
- data/lib/rubygems/commands/exec_command.rb +3 -0
- data/lib/rubygems/commands/fetch_command.rb +1 -1
- data/lib/rubygems/commands/help_command.rb +3 -1
- data/lib/rubygems/commands/install_command.rb +13 -3
- data/lib/rubygems/commands/lock_command.rb +2 -2
- data/lib/rubygems/commands/outdated_command.rb +77 -2
- data/lib/rubygems/commands/owner_command.rb +1 -1
- data/lib/rubygems/commands/push_command.rb +159 -21
- data/lib/rubygems/commands/setup_command.rb +20 -23
- data/lib/rubygems/commands/signin_command.rb +3 -1
- data/lib/rubygems/commands/signout_command.rb +26 -6
- data/lib/rubygems/commands/specification_command.rb +1 -1
- data/lib/rubygems/commands/uninstall_command.rb +1 -1
- data/lib/rubygems/commands/update_command.rb +84 -2
- data/lib/rubygems/commands/yank_command.rb +10 -7
- data/lib/rubygems/compact_index_client/cache.rb +122 -0
- data/lib/rubygems/compact_index_client/cache_file.rb +147 -0
- data/lib/rubygems/compact_index_client/http_fetcher.rb +88 -0
- data/lib/rubygems/compact_index_client/parser.rb +90 -0
- data/lib/rubygems/compact_index_client/updater.rb +113 -0
- data/lib/rubygems/compact_index_client.rb +111 -0
- data/lib/rubygems/config_file.rb +304 -22
- data/lib/rubygems/content_address.rb +194 -0
- data/lib/rubygems/cooldown.rb +173 -0
- data/lib/rubygems/cooldown_option.rb +27 -0
- data/lib/rubygems/cooldown_settings.rb +57 -0
- data/lib/rubygems/credential_store/native/linux.rb +97 -0
- data/lib/rubygems/credential_store/native/macos.rb +88 -0
- data/lib/rubygems/credential_store/native/windows.rb +130 -0
- data/lib/rubygems/credential_store.rb +332 -0
- data/lib/rubygems/defaults.rb +9 -0
- data/lib/rubygems/dependency_installer.rb +15 -0
- data/lib/rubygems/doctor.rb +23 -6
- data/lib/rubygems/exceptions.rb +11 -43
- data/lib/rubygems/ext/builder.rb +70 -5
- data/lib/rubygems/ext/cargo_builder.rb +0 -9
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -15
- data/lib/rubygems/gemcutter_utilities.rb +44 -2
- data/lib/rubygems/install_update_options.rb +16 -0
- data/lib/rubygems/installer.rb +90 -11
- data/lib/rubygems/installer_uninstaller_utils.rb +24 -3
- data/lib/rubygems/name_tuple.rb +55 -18
- data/lib/rubygems/package/old.rb +1 -1
- data/lib/rubygems/package.rb +200 -47
- data/lib/rubygems/package_task.rb +2 -2
- data/lib/rubygems/platform.rb +2 -2
- data/lib/rubygems/query_utils.rb +84 -24
- data/lib/rubygems/remote_fetcher.rb +65 -17
- data/lib/rubygems/request/connection_pools.rb +3 -0
- data/lib/rubygems/request_set/gem_dependency_api.rb +1 -1
- data/lib/rubygems/request_set/lockfile.rb +0 -2
- data/lib/rubygems/request_set.rb +105 -17
- data/lib/rubygems/resolver/api_set.rb +14 -26
- data/lib/rubygems/resolver/api_specification.rb +56 -15
- data/lib/rubygems/resolver/incompatibility.rb +10 -0
- data/lib/rubygems/resolver/index_specification.rb +6 -4
- data/lib/rubygems/resolver/installer_set.rb +2 -2
- data/lib/rubygems/resolver/lock_specification.rb +5 -1
- data/lib/rubygems/resolver/spec_specification.rb +4 -0
- data/lib/rubygems/resolver/specification.rb +16 -1
- data/lib/rubygems/resolver/strategy.rb +44 -0
- data/lib/rubygems/resolver.rb +471 -145
- data/lib/rubygems/safe_marshal.rb +2 -1
- data/lib/rubygems/safe_yaml.rb +20 -3
- data/lib/rubygems/security/policy.rb +11 -3
- data/lib/rubygems/security/signer.rb +15 -7
- data/lib/rubygems/security.rb +111 -17
- data/lib/rubygems/source/local.rb +7 -2
- data/lib/rubygems/source.rb +270 -23
- data/lib/rubygems/spec_fetcher.rb +47 -12
- data/lib/rubygems/specification.rb +76 -32
- data/lib/rubygems/specification_policy.rb +33 -6
- data/lib/rubygems/specification_record.rb +41 -2
- data/lib/rubygems/stub_specification.rb +39 -16
- data/lib/rubygems/uninstaller.rb +2 -0
- data/lib/rubygems/util/atomic_file_writer.rb +109 -0
- data/lib/rubygems/vendor/net-http/lib/net/http/exceptions.rb +2 -1
- data/lib/rubygems/vendor/net-http/lib/net/http/generic_request.rb +5 -6
- data/lib/rubygems/vendor/net-http/lib/net/http/header.rb +8 -4
- data/lib/rubygems/vendor/net-http/lib/net/http/requests.rb +15 -1
- data/lib/rubygems/vendor/net-http/lib/net/http/response.rb +2 -1
- data/lib/rubygems/vendor/net-http/lib/net/http/responses.rb +68 -0
- data/lib/rubygems/vendor/net-http/lib/net/http.rb +60 -49
- data/lib/rubygems/vendor/optparse/lib/optparse.rb +23 -30
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/assignment.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +7 -7
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/failure_writer.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/incompatibility.rb +4 -4
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/package.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/partial_solution.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/rubygems.rb +3 -3
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/solve_failure.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/static_package_source.rb +3 -3
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/strategy.rb +2 -2
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/term.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/version.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/version_constraint.rb +3 -3
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/version_range.rb +1 -1
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/version_solver.rb +2 -2
- data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/lib/pub_grub/version_union.rb +1 -1
- data/lib/rubygems/vendor/pub_grub/lib/pub_grub.rb +57 -0
- data/lib/rubygems/vendor/resolv/lib/resolv.rb +3508 -0
- data/lib/rubygems/vendor/securerandom/lib/securerandom.rb +4 -0
- data/lib/rubygems/vendor/timeout/lib/timeout.rb +190 -77
- data/lib/rubygems/vendor/uri/lib/uri.rb +4 -0
- data/{bundler/lib/bundler → lib/rubygems}/vendored_pub_grub.rb +0 -1
- data/lib/rubygems/version.rb +129 -111
- data/lib/rubygems/version_option.rb +14 -0
- data/lib/rubygems/yaml_serializer.rb +853 -71
- data/lib/rubygems.rb +45 -11
- data/rubygems-update.gemspec +3 -4
- data/setup.rb +1 -0
- metadata +365 -410
- data/bundler/CHANGELOG.md +0 -5784
- data/bundler/LICENSE.md +0 -22
- data/bundler/README.md +0 -58
- data/bundler/bundler.gemspec +0 -46
- data/bundler/lib/bundler/compact_index_client/cache.rb +0 -107
- data/bundler/lib/bundler/compact_index_client/cache_file.rb +0 -148
- data/bundler/lib/bundler/compact_index_client/parser.rb +0 -87
- data/bundler/lib/bundler/compact_index_client/updater.rb +0 -105
- data/bundler/lib/bundler/compact_index_client.rb +0 -92
- data/bundler/lib/bundler/match_metadata.rb +0 -30
- data/bundler/lib/bundler/match_remote_metadata.rb +0 -29
- data/bundler/lib/bundler/vendor/connection_pool/LICENSE +0 -20
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +0 -227
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +0 -3
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +0 -56
- data/bundler/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +0 -230
- data/bundler/lib/bundler/vendor/net-http-persistent/README.rdoc +0 -82
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +0 -41
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +0 -65
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +0 -80
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +0 -1153
- data/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +0 -31
- data/bundler/lib/bundler/vendor/securerandom/lib/securerandom.rb +0 -102
- data/bundler/lib/bundler/vendor/uri/COPYING +0 -56
- data/bundler/lib/bundler/vendor/uri/lib/uri/common.rb +0 -922
- data/bundler/lib/bundler/vendor/uri/lib/uri/file.rb +0 -100
- data/bundler/lib/bundler/vendor/uri/lib/uri/ftp.rb +0 -267
- data/bundler/lib/bundler/vendor/uri/lib/uri/generic.rb +0 -1592
- data/bundler/lib/bundler/vendor/uri/lib/uri/http.rb +0 -137
- data/bundler/lib/bundler/vendor/uri/lib/uri/https.rb +0 -23
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldap.rb +0 -261
- data/bundler/lib/bundler/vendor/uri/lib/uri/ldaps.rb +0 -22
- data/bundler/lib/bundler/vendor/uri/lib/uri/mailto.rb +0 -293
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +0 -547
- data/bundler/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +0 -206
- data/bundler/lib/bundler/vendor/uri/lib/uri/version.rb +0 -6
- data/bundler/lib/bundler/vendor/uri/lib/uri/ws.rb +0 -83
- data/bundler/lib/bundler/vendor/uri/lib/uri/wss.rb +0 -23
- data/bundler/lib/bundler/vendor/uri/lib/uri.rb +0 -104
- data/bundler/lib/bundler/vendored_persistent.rb +0 -11
- data/bundler/lib/bundler/vendored_securerandom.rb +0 -12
- data/bundler/lib/bundler/vendored_uri.rb +0 -21
- data/bundler/lib/bundler/yaml_serializer.rb +0 -98
- data/doc/rubygems/CONTRIBUTING.md +0 -231
- data/doc/rubygems/POLICIES.md +0 -60
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -344
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +0 -122
- data/lib/rubygems/resolver/conflict.rb +0 -146
- data/lib/rubygems/resolver/stats.rb +0 -46
- data/lib/rubygems/util/list.rb +0 -40
- data/lib/rubygems/vendor/molinillo/LICENSE +0 -9
- data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/resolution_state.rb +0 -57
- data/lib/rubygems/vendor/molinillo/lib/molinillo/delegates/specification_provider.rb +0 -88
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/action.rb +0 -36
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_edge_no_circular.rb +0 -66
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/add_vertex.rb +0 -62
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/delete_edge.rb +0 -63
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/detach_vertex_named.rb +0 -61
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/log.rb +0 -126
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/set_payload.rb +0 -46
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/tag.rb +0 -36
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph/vertex.rb +0 -164
- data/lib/rubygems/vendor/molinillo/lib/molinillo/dependency_graph.rb +0 -255
- data/lib/rubygems/vendor/molinillo/lib/molinillo/errors.rb +0 -149
- data/lib/rubygems/vendor/molinillo/lib/molinillo/gem_metadata.rb +0 -6
- data/lib/rubygems/vendor/molinillo/lib/molinillo/modules/specification_provider.rb +0 -112
- data/lib/rubygems/vendor/molinillo/lib/molinillo/modules/ui.rb +0 -67
- data/lib/rubygems/vendor/molinillo/lib/molinillo/resolution.rb +0 -839
- data/lib/rubygems/vendor/molinillo/lib/molinillo/resolver.rb +0 -46
- data/lib/rubygems/vendor/molinillo/lib/molinillo/state.rb +0 -58
- data/lib/rubygems/vendor/molinillo/lib/molinillo.rb +0 -11
- data/lib/rubygems/vendored_molinillo.rb +0 -3
- /data/{bundler/exe → exe}/bundle +0 -0
- /data/{bundler/exe → exe}/bundler +0 -0
- /data/{bundler/lib → lib}/bundler/.document +0 -0
- /data/{bundler/lib → lib}/bundler/capistrano.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/binstubs.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/check.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/console.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/doctor/diagnose.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/doctor/ssl.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/doctor.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/exec.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/fund.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/info.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/init.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/issue.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/list.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/open.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/platform.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/plugin.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/remove.rb +0 -0
- /data/{bundler/lib → lib}/bundler/cli/show.rb +0 -0
- /data/{bundler/lib → lib}/bundler/constants.rb +0 -0
- /data/{bundler/lib → lib}/bundler/current_ruby.rb +0 -0
- /data/{bundler/lib → lib}/bundler/deployment.rb +0 -0
- /data/{bundler/lib → lib}/bundler/deprecate.rb +0 -0
- /data/{bundler/lib → lib}/bundler/digest.rb +0 -0
- /data/{bundler/lib → lib}/bundler/environment_preserver.rb +0 -0
- /data/{bundler/lib → lib}/bundler/feature_flag.rb +0 -0
- /data/{bundler/lib → lib}/bundler/fetcher/base.rb +0 -0
- /data/{bundler/lib → lib}/bundler/fetcher/dependency.rb +0 -0
- /data/{bundler/lib → lib}/bundler/fetcher/gem_remote_fetcher.rb +0 -0
- /data/{bundler/lib → lib}/bundler/fetcher/index.rb +0 -0
- /data/{bundler/lib → lib}/bundler/force_platform.rb +0 -0
- /data/{bundler/lib → lib}/bundler/friendly_errors.rb +0 -0
- /data/{bundler/lib → lib}/bundler/gem_helper.rb +0 -0
- /data/{bundler/lib → lib}/bundler/gem_tasks.rb +0 -0
- /data/{bundler/lib → lib}/bundler/gem_version_promoter.rb +0 -0
- /data/{bundler/lib → lib}/bundler/index.rb +0 -0
- /data/{bundler/lib → lib}/bundler/installer/gem_installer.rb +0 -0
- /data/{bundler/lib → lib}/bundler/installer/standalone.rb +0 -0
- /data/{bundler/lib → lib}/bundler/man/.document +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-binstubs.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-check.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-clean.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-console.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-doctor.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-env.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-exec.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-fund.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-gem.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-help.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-info.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-init.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-issue.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-licenses.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-list.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-open.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-outdated.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-platform.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-plugin.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-pristine.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-remove.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-show.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle-version.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/bundle.1.ronn +0 -0
- /data/{bundler/lib → lib}/bundler/man/index.txt +0 -0
- /data/{bundler/lib → lib}/bundler/mirror.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/api/source.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/api.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/installer/git.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/installer/rubygems.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/source_list.rb +0 -0
- /data/{bundler/lib → lib}/bundler/plugin/unloaded_source.rb +0 -0
- /data/{bundler/lib → lib}/bundler/process_lock.rb +0 -0
- /data/{bundler/lib → lib}/bundler/resolver/candidate.rb +0 -0
- /data/{bundler/lib → lib}/bundler/resolver/package.rb +0 -0
- /data/{bundler/lib → lib}/bundler/resolver/root.rb +0 -0
- /data/{bundler/lib → lib}/bundler/resolver/spec_group.rb +0 -0
- /data/{bundler/lib → lib}/bundler/resolver/strategy.rb +0 -0
- /data/{bundler/lib → lib}/bundler/retry.rb +0 -0
- /data/{bundler/lib → lib}/bundler/ruby_dsl.rb +0 -0
- /data/{bundler/lib → lib}/bundler/safe_marshal.rb +0 -0
- /data/{bundler/lib → lib}/bundler/settings/validator.rb +0 -0
- /data/{bundler/lib → lib}/bundler/setup.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source/gemspec.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source/metadata.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source/path.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source/rubygems_aggregate.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source_list.rb +0 -0
- /data/{bundler/lib → lib}/bundler/source_map.rb +0 -0
- /data/{bundler/lib → lib}/bundler/templates/.document +0 -0
- /data/{bundler/lib → lib}/bundler/templates/Executable +0 -0
- /data/{bundler/lib → lib}/bundler/templates/Executable.standalone +0 -0
- /data/{bundler/lib → lib}/bundler/templates/Gemfile +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/CHANGELOG.md.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/Cargo.toml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/LICENSE.txt.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/README.md.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/Rakefile.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/bin/console.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/bin/setup.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/circleci/config.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/exe/newgem.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/build.rs.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/go.mod.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/newgem-go.c.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/newgem.c.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/newgem.go.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/newgem.h.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/github/workflows/build-gems.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/github/workflows/main.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/gitignore.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/gitlab-ci.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/lib/newgem/version.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/lib/newgem.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/rspec.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/rubocop.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/sig/newgem.rbs.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/spec/spec_helper.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/standard.yml.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/test/minitest/test_helper.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +0 -0
- /data/{bundler/lib → lib}/bundler/ui/rg_proxy.rb +0 -0
- /data/{bundler/lib → lib}/bundler/ui.rb +0 -0
- /data/{bundler/lib → lib}/bundler/uri_credentials_filter.rb +0 -0
- /data/{bundler/lib → lib}/bundler/uri_normalizer.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/.document +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/fileutils/COPYING +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/fileutils/lib/fileutils.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/LICENSE.md +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/create_file.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/create_link.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/directory.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/actions.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/command.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/error.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/group.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/invocation.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/line_editor/basic.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/line_editor/readline.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/line_editor.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/nested_context.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/parser/argument.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/parser/arguments.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/parser/option.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/parser/options.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/parser.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/rake_compat.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/runner.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/column_printer.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/html.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/table_printer.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/terminal.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/shell.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendor/thor/lib/thor/util.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendored_fileutils.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendored_net_http.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendored_thor.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendored_timeout.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vendored_tsort.rb +0 -0
- /data/{bundler/lib → lib}/bundler/vlad.rb +0 -0
- /data/{bundler/lib/bundler → lib/rubygems}/vendor/pub_grub/LICENSE.txt +0 -0
- /data/{bundler/lib/bundler/vendor/securerandom → lib/rubygems/vendor/resolv}/COPYING +0 -0
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
# How to contribute
|
|
2
|
-
|
|
3
|
-
Community involvement is essential to RubyGems. We want to keep it as easy as
|
|
4
|
-
possible to contribute changes. There are a few guidelines that we need
|
|
5
|
-
contributors to follow to reduce the time it takes to get changes merged in.
|
|
6
|
-
|
|
7
|
-
## Guidelines
|
|
8
|
-
|
|
9
|
-
1. New features should be coupled with tests.
|
|
10
|
-
|
|
11
|
-
2. Ensure that your code blends well with ours:
|
|
12
|
-
* No trailing whitespace
|
|
13
|
-
* Match indentation (two spaces)
|
|
14
|
-
* Match coding style (run `bin/rake rubocop`)
|
|
15
|
-
|
|
16
|
-
3. If any new files are added or existing files removed in a commit or PR,
|
|
17
|
-
please update the `Manifest.txt` accordingly. This can be done by running
|
|
18
|
-
`bin/rake update_manifest`
|
|
19
|
-
|
|
20
|
-
4. Don't modify the history file or version number.
|
|
21
|
-
|
|
22
|
-
5. If you have any questions, Feel free to join us on Slack, you can register
|
|
23
|
-
by signing up at http://slack.bundler.io or file an issue here:
|
|
24
|
-
http://github.com/ruby/rubygems/issues
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
For more information and ideas on how to contribute to RubyGems ecosystem, see
|
|
28
|
-
here: https://guides.rubygems.org/contributing/
|
|
29
|
-
|
|
30
|
-
## Getting Started
|
|
31
|
-
|
|
32
|
-
### Installing dependencies
|
|
33
|
-
|
|
34
|
-
bin/rake setup
|
|
35
|
-
|
|
36
|
-
> **NOTE**: If the above fails with permission related errors, you're most
|
|
37
|
-
> likely using a global Ruby installation (like the one packaged by your OS),
|
|
38
|
-
> which sets `GEM_HOME` to a location regular users can't write to. Consider
|
|
39
|
-
> using a Ruby version manager like [RVM](https://github.com/rvm/rvm),
|
|
40
|
-
> [rbenv](https://github.com/rbenv/rbenv),
|
|
41
|
-
> [chruby](https://github.com/postmodern/chruby) or [asdf](https://github.com/asdf-vm/asdf-ruby). These will install Ruby to a
|
|
42
|
-
> location regular users can write to, so you won't run into permission issues.
|
|
43
|
-
> Alternatively, consider setting `GEM_HOME` environment variable to a writable
|
|
44
|
-
> location with something like `export GEM_HOME=/tmp/rubygems.gems` and try
|
|
45
|
-
> again.
|
|
46
|
-
|
|
47
|
-
### Manually trying your local changes
|
|
48
|
-
|
|
49
|
-
To run commands like `gem install` from the repo:
|
|
50
|
-
|
|
51
|
-
ruby -Ilib exe/gem install
|
|
52
|
-
|
|
53
|
-
To run commands like `bundle install` from the repo:
|
|
54
|
-
|
|
55
|
-
bundler/bin/bundle install
|
|
56
|
-
|
|
57
|
-
### Running Tests
|
|
58
|
-
|
|
59
|
-
To run the entire test suite you can use:
|
|
60
|
-
|
|
61
|
-
bin/rake test
|
|
62
|
-
|
|
63
|
-
To run an individual test file located for example in `test/rubygems/test_deprecate.rb` you can use:
|
|
64
|
-
|
|
65
|
-
ruby -Ilib:test:bundler/lib test/rubygems/test_deprecate.rb
|
|
66
|
-
|
|
67
|
-
And to run an individual test method named `test_default` within a test file, you can use:
|
|
68
|
-
|
|
69
|
-
ruby -Ilib:test:bundler/lib test/rubygems/test_deprecate.rb -n /test_default/
|
|
70
|
-
|
|
71
|
-
### Running bundler tests
|
|
72
|
-
|
|
73
|
-
To run the entire bundler test suite in parallel (it takes a while), run the following from the `bundler/` subfolder:
|
|
74
|
-
|
|
75
|
-
bin/parallel_rspec
|
|
76
|
-
|
|
77
|
-
There are some realworld higher level specs run in CI, but not run by `bin/parallel_rspec`. You can run those with:
|
|
78
|
-
|
|
79
|
-
bin/rake spec:realworld
|
|
80
|
-
|
|
81
|
-
To run an individual test file location for example in `spec/install/gems/standalone_spec.rb` you can use the following from the `bundler/` subfolder:
|
|
82
|
-
|
|
83
|
-
bin/rspec spec/install/gems/standalone_spec.rb
|
|
84
|
-
|
|
85
|
-
To test Rubygems changes in bundler, set the path to your local Rubygems copy using the `RGV` environment variable:
|
|
86
|
-
|
|
87
|
-
RGV=.. bin/rspec spec/install/gems/standalone_spec.rb
|
|
88
|
-
|
|
89
|
-
### Checking code style
|
|
90
|
-
|
|
91
|
-
You can check compliance with our code style with
|
|
92
|
-
|
|
93
|
-
bin/rake rubocop
|
|
94
|
-
|
|
95
|
-
Optionally you can configure git hooks with to check this before every commit with
|
|
96
|
-
|
|
97
|
-
bin/rake git_hooks
|
|
98
|
-
|
|
99
|
-
For more information, check [SETUP.md](../bundler/development/SETUP.md) and [DEBUGGING.md](../bundler/development/DEBUGGING.md).
|
|
100
|
-
|
|
101
|
-
## Issues
|
|
102
|
-
|
|
103
|
-
RubyGems uses labels to track all issues and pull requests. In order to
|
|
104
|
-
provide guidance to the community this is documentation of how labels are used
|
|
105
|
-
in the rubygems repository.
|
|
106
|
-
|
|
107
|
-
### Contribution
|
|
108
|
-
|
|
109
|
-
These labels are made to guide contributors to issue/pull requests that they
|
|
110
|
-
can help with.
|
|
111
|
-
|
|
112
|
-
* **good first issue** - The issue described here is considered a good option
|
|
113
|
-
for a new contributor. We encourage new contributors though to work on
|
|
114
|
-
whichever issue they find most interesting, the ones labeled here as just
|
|
115
|
-
estimated to have a reasonable level of complexity for someone new to the
|
|
116
|
-
code base.
|
|
117
|
-
* **help wanted** - The issue has not been claimed for work, and is awaiting
|
|
118
|
-
willing volunteers!
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
### Type
|
|
122
|
-
|
|
123
|
-
Issues might have a light green `type: *` label, which describes the type of
|
|
124
|
-
the issue.
|
|
125
|
-
|
|
126
|
-
* **bug report** - An issue describing a bug in rubygems. This would be
|
|
127
|
-
something that is broken, confusing, unexpected behavior etc.
|
|
128
|
-
* **feature request** - An issue describing a request for a new feature or
|
|
129
|
-
enhancement.
|
|
130
|
-
* **question** - An issue that is a more of a question than a call for
|
|
131
|
-
specific changes in the codebase.
|
|
132
|
-
* **cleanup** - An issue that proposes cleanups to the code base without
|
|
133
|
-
fixing a bug or implementing a feature.
|
|
134
|
-
* **major bump** - This issue request requires a major version bump
|
|
135
|
-
* **administrative** - This issue relates to administrative tasks that need
|
|
136
|
-
to take place as it relates to rubygems
|
|
137
|
-
* **documentation** - This issue relates to improving the documentation for
|
|
138
|
-
in this repo. Note that much of the rubygems documentation is here:
|
|
139
|
-
https://github.com/rubygems/guides
|
|
140
|
-
|
|
141
|
-
Pull request might have a light orange `rubygems: *` or a light blue `bundler:
|
|
142
|
-
*` label which describes the pull request according to the following criteria:
|
|
143
|
-
|
|
144
|
-
* **security fix** - A pull request that fixes a security issue.
|
|
145
|
-
* **breaking change** - A pull request including any change that requires a
|
|
146
|
-
major version bump.
|
|
147
|
-
* **major enhancement** - A pull request including a backwards compatible
|
|
148
|
-
change worth a special mention in the changelog
|
|
149
|
-
* **deprecation** - A pull request that introduces a deprecation.
|
|
150
|
-
* **feature** - A pull request implementing a feature request.
|
|
151
|
-
* **deprecation** - A pull request that implements a performance improvement.
|
|
152
|
-
* **documentation** - A pull request introducing documentation improvements
|
|
153
|
-
worth mentioning to end users.
|
|
154
|
-
* **minor enhancements** - A pull request introducing small but user visible changes.
|
|
155
|
-
* **bug fix** - A pull request that fixes a bug report.
|
|
156
|
-
|
|
157
|
-
In the case of `bundler`, these labels are set by maintainers on PRs and have
|
|
158
|
-
special importance because they are used to automatically build the changelog.
|
|
159
|
-
|
|
160
|
-
### Workflow / Status
|
|
161
|
-
|
|
162
|
-
The light yellow `status: *` labels that indicate the state of an issue,
|
|
163
|
-
where it is in the process from being submitted to being closed. These are
|
|
164
|
-
listed in rough progression order from submitted to closed.
|
|
165
|
-
|
|
166
|
-
* **triage** - This is an issue or pull request that needs to be properly
|
|
167
|
-
labeled by a maintainer.
|
|
168
|
-
* **confirmed** - This issue/pull request has been accepted as valid, but is
|
|
169
|
-
not yet immediately ready for work.
|
|
170
|
-
* **ready** - An issue that is available for collaboration. This issue
|
|
171
|
-
should have existing discussion on the problem, and a description of how
|
|
172
|
-
to go about solving it.
|
|
173
|
-
* **working** - An issue that has a specific individual assigned to and
|
|
174
|
-
planning to do work on it.
|
|
175
|
-
* **user feedback required** - The issue/pull request is blocked pending
|
|
176
|
-
more feedback from an end user
|
|
177
|
-
* **blocked / backlog** - the issue/pull request is currently unable to move
|
|
178
|
-
forward because of some specific reason, generally this will be a reason
|
|
179
|
-
that is outside RubyGems or needs feedback from some specific individual
|
|
180
|
-
or group, and it may be a while before something it is resolved.
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
### Closed Reason
|
|
184
|
-
|
|
185
|
-
Reasons are why an issue / pull request was closed without being worked on or
|
|
186
|
-
accepted. There should also be more detailed information in the comments. The
|
|
187
|
-
closed reason labels are maroon `closed: *`.
|
|
188
|
-
|
|
189
|
-
* **duplicate** - This is a duplicate of an existing bug. The comments must
|
|
190
|
-
reference the existing issue.
|
|
191
|
-
* **abandoned** - This is an issue/pull request that has aged off, is no
|
|
192
|
-
longer applicable or similar.
|
|
193
|
-
* **declined** - An issue that won't be fixed/implemented or a pull request
|
|
194
|
-
that is not accepted.
|
|
195
|
-
* **deprecated** - An issue/pull request that no longer applies to the
|
|
196
|
-
actively maintained codebase.
|
|
197
|
-
* **discussion** - An issue/pull that is no longer about a concrete change,
|
|
198
|
-
and is instead being used for discussion.
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
### Categories
|
|
202
|
-
|
|
203
|
-
These are aspects of the codebase, or what general area the issue or pull
|
|
204
|
-
request pertains too. Not all issues will have a category. All categorized
|
|
205
|
-
issues have a blue `category: *` label.
|
|
206
|
-
|
|
207
|
-
* **gemspec** - related to the gem specification itself
|
|
208
|
-
* **API** - related to the public supported rubygems API. This is the code
|
|
209
|
-
API, not a network related API.
|
|
210
|
-
* **command** - related to something in `Gem::Commands`
|
|
211
|
-
* **install** - related to gem installations
|
|
212
|
-
* **documentation** - related to updating / fixing / clarifying
|
|
213
|
-
documentation or guides
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
### Platforms
|
|
217
|
-
|
|
218
|
-
If an issue or pull request pertains to only one platform, then it should have
|
|
219
|
-
an appropriate purple `platform: *` label. Current platform labels:
|
|
220
|
-
**windows**, **java**, **osx**, **linux**
|
|
221
|
-
|
|
222
|
-
### Git
|
|
223
|
-
|
|
224
|
-
Please sign your commits. Although not required in order for you to contribute,
|
|
225
|
-
it ensures that any code submitted by you wasn't altered while you were
|
|
226
|
-
transferring it, and proves that it was you who submitted it and not someone
|
|
227
|
-
else.
|
|
228
|
-
|
|
229
|
-
Please see https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work or
|
|
230
|
-
https://help.github.com/en/articles/signing-commits for details on how to
|
|
231
|
-
to generate a signature and automatically sign your commits.
|
data/doc/rubygems/POLICIES.md
DELETED
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
## Pull Requests
|
|
2
|
-
|
|
3
|
-
Contributions to RubyGems are made via GitHub pull requests, which must be
|
|
4
|
-
approved by a project committer other than the author. To approve a PR, a
|
|
5
|
-
maintainer can use GitHubs PR review feature. After that, if the original author
|
|
6
|
-
is happy to merge the PR, she can press the merge button.
|
|
7
|
-
|
|
8
|
-
## Long-Term Support
|
|
9
|
-
|
|
10
|
-
RubyGems will support Ruby versions for as long as the Ruby team supports that
|
|
11
|
-
Ruby version. That means that the latest RubyGems release will always support
|
|
12
|
-
the currently-supported Ruby versions, and RubyGems security fixes will be
|
|
13
|
-
released for any RubyGems version that shipped inside a currently-supported
|
|
14
|
-
Ruby version.
|
|
15
|
-
|
|
16
|
-
### Bugfix Releases
|
|
17
|
-
|
|
18
|
-
RubyGems generally releases bugfixes from the master branch. We may mix bug
|
|
19
|
-
fixes and new features in the same release. RubyGems does not guarantee it
|
|
20
|
-
will ship bugfix releases for previous minor or major versions.
|
|
21
|
-
|
|
22
|
-
For example, after RubyGems 2.5 is released, the RubyGems team will not
|
|
23
|
-
provide non-security fixes for RubyGems 2.4, or any earlier versions.
|
|
24
|
-
|
|
25
|
-
### Security Releases
|
|
26
|
-
|
|
27
|
-
Security releases will be made for RubyGems minor versions that were included
|
|
28
|
-
in a currently-supported Ruby release.
|
|
29
|
-
|
|
30
|
-
For example, since RubyGems 2.0 was shipped in Ruby 2.0, RubyGems 2.0 will
|
|
31
|
-
receive security fixes until Ruby 2.0 reaches end-of-life.
|
|
32
|
-
|
|
33
|
-
### Ruby Version Support
|
|
34
|
-
|
|
35
|
-
When a Ruby version reaches end-of-life the following minor release of
|
|
36
|
-
RubyGems will drop backwards compatibility with that Ruby version.
|
|
37
|
-
|
|
38
|
-
For example, since Ruby 2.2 has reached end-of-life, future RubyGems minor
|
|
39
|
-
releases will only support Ruby 2.3 and above. As of this writing RubyGems is
|
|
40
|
-
at version 2.7, so when RubyGems 2.8 is released, it will only support Ruby
|
|
41
|
-
2.3 and later.
|
|
42
|
-
|
|
43
|
-
## Committer Access
|
|
44
|
-
|
|
45
|
-
RubyGems committers may lose their commit privileges if they are inactive for
|
|
46
|
-
longer than 12 months. Committer permission may be restored upon request by
|
|
47
|
-
having a pull request merged.
|
|
48
|
-
|
|
49
|
-
This is designed to improve the maintainability of RubyGems by requiring
|
|
50
|
-
committers to maintain familiarity with RubyGems activity and to improve the
|
|
51
|
-
security of RubyGems by preventing idle committers from having their commit
|
|
52
|
-
permissions compromised or exposed.
|
|
53
|
-
|
|
54
|
-
## Changing These Policies
|
|
55
|
-
|
|
56
|
-
These policies were set in order to reduce the burden of maintenance and to keep
|
|
57
|
-
committers current with existing development and policies. RubyGems work is
|
|
58
|
-
primarily volunteer-driven which limits the ability to provide long-term
|
|
59
|
-
support. By joining [Ruby Central](https://rubycentral.org/#/portal/signup) you
|
|
60
|
-
can help extend support for older RubyGems versions.
|
|
@@ -1,344 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
class Gem::RequestSet::Lockfile::Parser
|
|
4
|
-
###
|
|
5
|
-
# Parses lockfiles
|
|
6
|
-
|
|
7
|
-
def initialize(tokenizer, set, platforms, filename = nil)
|
|
8
|
-
@tokens = tokenizer
|
|
9
|
-
@filename = filename
|
|
10
|
-
@set = set
|
|
11
|
-
@platforms = platforms
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def parse
|
|
15
|
-
until @tokens.empty? do
|
|
16
|
-
token = get
|
|
17
|
-
|
|
18
|
-
case token.type
|
|
19
|
-
when :section then
|
|
20
|
-
@tokens.skip :newline
|
|
21
|
-
|
|
22
|
-
case token.value
|
|
23
|
-
when "DEPENDENCIES" then
|
|
24
|
-
parse_DEPENDENCIES
|
|
25
|
-
when "GIT" then
|
|
26
|
-
parse_GIT
|
|
27
|
-
when "GEM" then
|
|
28
|
-
parse_GEM
|
|
29
|
-
when "PATH" then
|
|
30
|
-
parse_PATH
|
|
31
|
-
when "PLATFORMS" then
|
|
32
|
-
parse_PLATFORMS
|
|
33
|
-
else
|
|
34
|
-
token = get until @tokens.empty? || peek.first == :section
|
|
35
|
-
end
|
|
36
|
-
else
|
|
37
|
-
raise "BUG: unhandled token #{token.type} (#{token.value.inspect}) at line #{token.line} column #{token.column}"
|
|
38
|
-
end
|
|
39
|
-
end
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
##
|
|
43
|
-
# Gets the next token for a Lockfile
|
|
44
|
-
|
|
45
|
-
def get(expected_types = nil, expected_value = nil) # :nodoc:
|
|
46
|
-
token = @tokens.shift
|
|
47
|
-
|
|
48
|
-
if expected_types && !Array(expected_types).include?(token.type)
|
|
49
|
-
unget token
|
|
50
|
-
|
|
51
|
-
message = "unexpected token [#{token.type.inspect}, #{token.value.inspect}], " \
|
|
52
|
-
"expected #{expected_types.inspect}"
|
|
53
|
-
|
|
54
|
-
raise Gem::RequestSet::Lockfile::ParseError.new message, token.column, token.line, @filename
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
if expected_value && expected_value != token.value
|
|
58
|
-
unget token
|
|
59
|
-
|
|
60
|
-
message = "unexpected token [#{token.type.inspect}, #{token.value.inspect}], " \
|
|
61
|
-
"expected [#{expected_types.inspect}, " \
|
|
62
|
-
"#{expected_value.inspect}]"
|
|
63
|
-
|
|
64
|
-
raise Gem::RequestSet::Lockfile::ParseError.new message, token.column, token.line, @filename
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
token
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def parse_DEPENDENCIES # :nodoc:
|
|
71
|
-
while !@tokens.empty? && peek.type == :text do
|
|
72
|
-
token = get :text
|
|
73
|
-
|
|
74
|
-
requirements = []
|
|
75
|
-
|
|
76
|
-
case peek[0]
|
|
77
|
-
when :bang then
|
|
78
|
-
get :bang
|
|
79
|
-
|
|
80
|
-
requirements << pinned_requirement(token.value)
|
|
81
|
-
when :l_paren then
|
|
82
|
-
get :l_paren
|
|
83
|
-
|
|
84
|
-
loop do
|
|
85
|
-
op = get(:requirement).value
|
|
86
|
-
version = get(:text).value
|
|
87
|
-
|
|
88
|
-
requirements << "#{op} #{version}"
|
|
89
|
-
|
|
90
|
-
break unless peek.type == :comma
|
|
91
|
-
|
|
92
|
-
get :comma
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
get :r_paren
|
|
96
|
-
|
|
97
|
-
if peek[0] == :bang
|
|
98
|
-
requirements.clear
|
|
99
|
-
requirements << pinned_requirement(token.value)
|
|
100
|
-
|
|
101
|
-
get :bang
|
|
102
|
-
end
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
@set.gem token.value, *requirements
|
|
106
|
-
|
|
107
|
-
skip :newline
|
|
108
|
-
end
|
|
109
|
-
end
|
|
110
|
-
|
|
111
|
-
def parse_GEM # :nodoc:
|
|
112
|
-
sources = []
|
|
113
|
-
|
|
114
|
-
while peek.first(2) == [:entry, "remote"] do
|
|
115
|
-
get :entry, "remote"
|
|
116
|
-
data = get(:text).value
|
|
117
|
-
skip :newline
|
|
118
|
-
|
|
119
|
-
sources << Gem::Source.new(data)
|
|
120
|
-
end
|
|
121
|
-
|
|
122
|
-
sources << Gem::Source.new(Gem::DEFAULT_HOST) if sources.empty?
|
|
123
|
-
|
|
124
|
-
get :entry, "specs"
|
|
125
|
-
|
|
126
|
-
skip :newline
|
|
127
|
-
|
|
128
|
-
set = Gem::Resolver::LockSet.new sources
|
|
129
|
-
last_specs = nil
|
|
130
|
-
|
|
131
|
-
while !@tokens.empty? && peek.type == :text do
|
|
132
|
-
token = get :text
|
|
133
|
-
name = token.value
|
|
134
|
-
column = token.column
|
|
135
|
-
|
|
136
|
-
case peek[0]
|
|
137
|
-
when :newline then
|
|
138
|
-
last_specs.each do |spec|
|
|
139
|
-
spec.add_dependency Gem::Dependency.new name if column == 6
|
|
140
|
-
end
|
|
141
|
-
when :l_paren then
|
|
142
|
-
get :l_paren
|
|
143
|
-
|
|
144
|
-
token = get [:text, :requirement]
|
|
145
|
-
type = token.type
|
|
146
|
-
data = token.value
|
|
147
|
-
|
|
148
|
-
if type == :text && column == 4
|
|
149
|
-
version, platform = data.split "-", 2
|
|
150
|
-
|
|
151
|
-
platform =
|
|
152
|
-
platform ? Gem::Platform.new(platform) : Gem::Platform::RUBY
|
|
153
|
-
|
|
154
|
-
last_specs = set.add name, version, platform
|
|
155
|
-
else
|
|
156
|
-
dependency = parse_dependency name, data
|
|
157
|
-
|
|
158
|
-
last_specs.each do |spec|
|
|
159
|
-
spec.add_dependency dependency
|
|
160
|
-
end
|
|
161
|
-
end
|
|
162
|
-
|
|
163
|
-
get :r_paren
|
|
164
|
-
else
|
|
165
|
-
raise "BUG: unknown token #{peek}"
|
|
166
|
-
end
|
|
167
|
-
|
|
168
|
-
skip :newline
|
|
169
|
-
end
|
|
170
|
-
|
|
171
|
-
@set.sets << set
|
|
172
|
-
end
|
|
173
|
-
|
|
174
|
-
def parse_GIT # :nodoc:
|
|
175
|
-
get :entry, "remote"
|
|
176
|
-
repository = get(:text).value
|
|
177
|
-
|
|
178
|
-
skip :newline
|
|
179
|
-
|
|
180
|
-
get :entry, "revision"
|
|
181
|
-
revision = get(:text).value
|
|
182
|
-
|
|
183
|
-
skip :newline
|
|
184
|
-
|
|
185
|
-
type = peek.type
|
|
186
|
-
value = peek.value
|
|
187
|
-
if type == :entry && %w[branch ref tag].include?(value)
|
|
188
|
-
get
|
|
189
|
-
get :text
|
|
190
|
-
|
|
191
|
-
skip :newline
|
|
192
|
-
end
|
|
193
|
-
|
|
194
|
-
get :entry, "specs"
|
|
195
|
-
|
|
196
|
-
skip :newline
|
|
197
|
-
|
|
198
|
-
set = Gem::Resolver::GitSet.new
|
|
199
|
-
set.root_dir = @set.install_dir
|
|
200
|
-
|
|
201
|
-
last_spec = nil
|
|
202
|
-
|
|
203
|
-
while !@tokens.empty? && peek.type == :text do
|
|
204
|
-
token = get :text
|
|
205
|
-
name = token.value
|
|
206
|
-
column = token.column
|
|
207
|
-
|
|
208
|
-
case peek[0]
|
|
209
|
-
when :newline then
|
|
210
|
-
last_spec.add_dependency Gem::Dependency.new name if column == 6
|
|
211
|
-
when :l_paren then
|
|
212
|
-
get :l_paren
|
|
213
|
-
|
|
214
|
-
token = get [:text, :requirement]
|
|
215
|
-
type = token.type
|
|
216
|
-
data = token.value
|
|
217
|
-
|
|
218
|
-
if type == :text && column == 4
|
|
219
|
-
last_spec = set.add_git_spec name, data, repository, revision, true
|
|
220
|
-
else
|
|
221
|
-
dependency = parse_dependency name, data
|
|
222
|
-
|
|
223
|
-
last_spec.add_dependency dependency
|
|
224
|
-
end
|
|
225
|
-
|
|
226
|
-
get :r_paren
|
|
227
|
-
else
|
|
228
|
-
raise "BUG: unknown token #{peek}"
|
|
229
|
-
end
|
|
230
|
-
|
|
231
|
-
skip :newline
|
|
232
|
-
end
|
|
233
|
-
|
|
234
|
-
@set.sets << set
|
|
235
|
-
end
|
|
236
|
-
|
|
237
|
-
def parse_PATH # :nodoc:
|
|
238
|
-
get :entry, "remote"
|
|
239
|
-
directory = get(:text).value
|
|
240
|
-
|
|
241
|
-
skip :newline
|
|
242
|
-
|
|
243
|
-
get :entry, "specs"
|
|
244
|
-
|
|
245
|
-
skip :newline
|
|
246
|
-
|
|
247
|
-
set = Gem::Resolver::VendorSet.new
|
|
248
|
-
last_spec = nil
|
|
249
|
-
|
|
250
|
-
while !@tokens.empty? && peek.first == :text do
|
|
251
|
-
token = get :text
|
|
252
|
-
name = token.value
|
|
253
|
-
column = token.column
|
|
254
|
-
|
|
255
|
-
case peek[0]
|
|
256
|
-
when :newline then
|
|
257
|
-
last_spec.add_dependency Gem::Dependency.new name if column == 6
|
|
258
|
-
when :l_paren then
|
|
259
|
-
get :l_paren
|
|
260
|
-
|
|
261
|
-
token = get [:text, :requirement]
|
|
262
|
-
type = token.type
|
|
263
|
-
data = token.value
|
|
264
|
-
|
|
265
|
-
if type == :text && column == 4
|
|
266
|
-
last_spec = set.add_vendor_gem name, directory
|
|
267
|
-
else
|
|
268
|
-
dependency = parse_dependency name, data
|
|
269
|
-
|
|
270
|
-
last_spec.dependencies << dependency
|
|
271
|
-
end
|
|
272
|
-
|
|
273
|
-
get :r_paren
|
|
274
|
-
else
|
|
275
|
-
raise "BUG: unknown token #{peek}"
|
|
276
|
-
end
|
|
277
|
-
|
|
278
|
-
skip :newline
|
|
279
|
-
end
|
|
280
|
-
|
|
281
|
-
@set.sets << set
|
|
282
|
-
end
|
|
283
|
-
|
|
284
|
-
def parse_PLATFORMS # :nodoc:
|
|
285
|
-
while !@tokens.empty? && peek.first == :text do
|
|
286
|
-
name = get(:text).value
|
|
287
|
-
|
|
288
|
-
@platforms << name
|
|
289
|
-
|
|
290
|
-
skip :newline
|
|
291
|
-
end
|
|
292
|
-
end
|
|
293
|
-
|
|
294
|
-
##
|
|
295
|
-
# Parses the requirements following the dependency +name+ and the +op+ for
|
|
296
|
-
# the first token of the requirements and returns a Gem::Dependency object.
|
|
297
|
-
|
|
298
|
-
def parse_dependency(name, op) # :nodoc:
|
|
299
|
-
return Gem::Dependency.new name, op unless peek[0] == :text
|
|
300
|
-
|
|
301
|
-
version = get(:text).value
|
|
302
|
-
|
|
303
|
-
requirements = ["#{op} #{version}"]
|
|
304
|
-
|
|
305
|
-
while peek.type == :comma do
|
|
306
|
-
get :comma
|
|
307
|
-
op = get(:requirement).value
|
|
308
|
-
version = get(:text).value
|
|
309
|
-
|
|
310
|
-
requirements << "#{op} #{version}"
|
|
311
|
-
end
|
|
312
|
-
|
|
313
|
-
Gem::Dependency.new name, requirements
|
|
314
|
-
end
|
|
315
|
-
|
|
316
|
-
private
|
|
317
|
-
|
|
318
|
-
def skip(type) # :nodoc:
|
|
319
|
-
@tokens.skip type
|
|
320
|
-
end
|
|
321
|
-
|
|
322
|
-
##
|
|
323
|
-
# Peeks at the next token for Lockfile
|
|
324
|
-
|
|
325
|
-
def peek # :nodoc:
|
|
326
|
-
@tokens.peek
|
|
327
|
-
end
|
|
328
|
-
|
|
329
|
-
def pinned_requirement(name) # :nodoc:
|
|
330
|
-
requirement = Gem::Dependency.new name
|
|
331
|
-
specification = @set.sets.flat_map do |set|
|
|
332
|
-
set.find_all(requirement)
|
|
333
|
-
end.compact.first
|
|
334
|
-
|
|
335
|
-
specification&.version
|
|
336
|
-
end
|
|
337
|
-
|
|
338
|
-
##
|
|
339
|
-
# Ungets the last token retrieved by #get
|
|
340
|
-
|
|
341
|
-
def unget(token) # :nodoc:
|
|
342
|
-
@tokens.unshift token
|
|
343
|
-
end
|
|
344
|
-
end
|