| Age | Commit message (Collapse) | Author |
|
This allows for specifying the lockfile to read and write. It mirrors
the --gemfile option, and has higher priority than the lockfile
method in the Gemfile. It also mirrors the bundle lock --lockfile
option.
When the --lockfile option is used, it is applied twice. First, before
the Gemfile is read, to specify the lockfile to operate on, and again
after the Gemfile is read, so that if the Gemfile has a lockfile
method that overrides the defintion's lockfile, the --lockfile option
still has higher precedence.
https://github.com/ruby/rubygems/commit/17acdd4a89
|
|
|
|
https://github.com/ruby/rubygems/commit/64f92d2da0
|
|
https://github.com/ruby/rubygems/commit/f360af8e3b
|
|
This specifies the lockfile location. This allows for easy support
of different lockfiles per Ruby version or platform.
https://github.com/ruby/rubygems/commit/b54d65bc0a
Co-authored-by: Sutou Kouhei <kou@cozmixng.org>
Co-authored-by: Colby Swandale <996377+colby-swandale@users.noreply.github.com>
|
|
This allows for the same behavior as including `lockfile false`
in the Gemfile. This allows you to get the behavior without
modifying the Gemfile, which is useful if you do not control the
Gemfile.
This is similar to the --no-lock option already supported by
`gem install -g Gemfile`.
https://github.com/ruby/rubygems/commit/6c94623881
Co-authored-by: Colby Swandale <996377+colby-swandale@users.noreply.github.com>
|
|
This allows you to specify the lockfile to use. This is useful if
you want to use different lockfiles for different ruby versions or
platforms. You can also skip writing the lockfile by using a false
value.
https://github.com/ruby/rubygems/commit/2896aa3fc2
Co-authored-by: Colby Swandale <996377+colby-swandale@users.noreply.github.com>
|
|
- With the logger change that is now threadsafe, such code no longer
behaves the same:
```ruby
Bundler.ui.silence do
Bundler.ui.level = 'info'
Bundler.ui.info("foo")
# This used to output something. Now it doesn't.
end
```
IMHO this is the right behaviour since we are in a silence block,
changing the level should have no effect. And fortunately it seems
that we only need to change this spec.
The call to `Bundler.ui.silence` is done in a `around` block
https://github.com/ruby/rubygems/blob/4a13684f07ebb1dea5501e3f826fab414f96bf47/bundler/spec/spec_helper.rb#L119
https://github.com/ruby/rubygems/commit/e716adb6c9
|
|
- The Logger is not thread safe when calling `with_level`.
This now becomes problematic because we are using multiple
threads during the resolution phase in order to fetch git gems.
https://github.com/ruby/rubygems/commit/380653ae74
|
|
This is a first pass to improve the way errors are handled and raised in
bundler's tests. The goal is to clean up tests and modernize them -
these were some obvious areas that could be cleaned up.
- Instead of raising "ZOMG" in the load error tests, it now tests for
the actual error and gem raising.
- Improve error messages where applicable.
- All errors raise a specific error class, rather than falling back to a
default and just setting a message.
- Removed arguments and `bundle_dir` option from `TheBundle` class as it wasn't
actually used so therefore we don't need to raise an error for extra
arguments.
- Removed error from `BundlerBuilder`, as it won't work if it's not
`bundler`, also it never uses `name`. The only reaon `name` is passed
in is because of metaprogramming on loading the right builder. I
think that should eventually be refactored.
- Replaced and removed `update_repo3` and `update_repo4` in favor of
just `build_repo3` and `build_repo4`. Rather than tell someone writing
tests to use a different method, automatically use the right method.
https://github.com/ruby/rubygems/commit/68c39c8451
|
|
`realloc` is not guaranteed to return the same address when shrinking.
|
|
https://github.com/ruby/rubygems/commit/9be811c01a
|
|
|
|
|
|
|
|
|
|
- In https://github.com/ruby/rubygems/commit/31d67ecc056fb5a9193bc66a6e69e21576a87702
we enforced the new behaviour where running `bundle` no longer
installs gems but displays the help.
Users now have a way to configure their preferred default command using
the `BUNDLE_DEFAULT_CLI_COMMAND` flag.
With the preview of Ruby 4.0 now being released, some people will
start to see this new change.
The problem is that the previous behaviour had existed for like an
eternity and we didn't warn users about this change in advance.
I'd like to provide a deprecation/warning cycle because this is
confusing users already and this breaks various CI setup that now
needs to be changed immediately.
https://github.com/ruby/rubygems/commit/e415480ac5
|
|
(https://github.com/ruby/rubygems/pull/8183)
* Add new gem templates
* Add `--ext=go` in `bundle gem`
* Add setup-go to .github/workflows/main.yml
* Embed go version in go.mod
* Use go in bundler CI
* Add example method to template
* Install Go in .circleci/config.yml
* Install Go in .gitlab-ci.yml
* Allow hard tabs in go template
* Run `rake update_manifest`
* Fix test
* Move go_gem to gemspec
Respect to 9b0ec80
* nits: :golf:
* includes valid module name in go.mod
* generate header file
* Run `go mod tidy` to create `go.sum`
* Check if `go.sum` is generated only when Go is installed
To avoid test failure in environments where Go is not installed
* Run CI
* Workaround for hung up
c.f. https://github.com/rubygems/rubygems/actions/runs/11639408044/job/32415545422
* Write man for --ext=go
* Re-generate man with `./bin/rake man:build`
* pinning :pushpin:
* Update with `./bin/rake man:build`
* nits: Extract to method
* nits: Use `sys_exec` instead of `system`
* Clean go module cache after test
Workaround following error
```
1) bundle gem gem naming with underscore --ext parameter set with go includes go_gem extension in extconf.rb
Failure/Error: FileUtils.rm_r(dir)
Errno::EACCES:
Permission denied @ apply2files - /home/runner/work/rubygems/rubygems/bundler/tmp/2.2/home/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/decode_test.go
# ./spec/support/helpers.rb:37:in `block in reset!'
# ./spec/support/helpers.rb:21:in `each'
# ./spec/support/helpers.rb:21:in `reset!'
# ./spec/spec_helper.rb:130:in `block (2 levels) in <top (required)>'
# /home/runner/work/rubygems/rubygems/lib/rubygems.rb:303:in `load'
# /home/runner/work/rubygems/rubygems/lib/rubygems.rb:303:in `activate_and_load_bin_path'
```
Files installed with `go get` have permissions set to 444
ref. https://github.com/golang/go/issues/35615
```
$ ls -l /home/runner/work/rubygems/rubygems/bundler/tmp/2.2/home/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/decode_test.go
-r--r--r-- 1 runner runner 42320 Nov 15 06:38 /home/runner/work/rubygems/rubygems/bundler/tmp/2.2/home/go/pkg/mod/gopkg.in/yaml.v3@v3.0.1/decode_test.go
```
So they cannot be deleted by `FileUtils.rm_r`.
Therefore, this is necessary to execute `go clean -modcache` separately from `FileUtils.rm_r` to circumvent it.
* Remove needless changes
ref. https://github.com/ruby/rubygems/pull/8183#discussion_r2532902051
* ci: setup-go is needless
* Don't run go command in `bundle gem`
ref. https://github.com/ruby/rubygems/pull/8183#discussion_r2532765470
* Revert unrelated date changes
---------
https://github.com/ruby/rubygems/commit/260d7d60b3
Co-authored-by: Hiroshi SHIBATA <hsbt@ruby-lang.org>
|
|
https://github.com/ruby/rubygems/actions/runs/19458155903/job/55676075439?pr=3857
```
-Did you mean 'methods' or 'method'?
+Could not find gem 'methosd'.
+Did you mean 'method' or 'methods'?
```
https://github.com/ruby/rubygems/commit/ab7d0fc7b0
|
|
https://github.com/ruby/rubygems/commit/d604c1d1cb
|
|
https://github.com/ruby/rubygems/commit/210fa87f65
|
|
https://github.com/ruby/rubygems/commit/1dc669a0ab
|
|
https://github.com/ruby/rubygems/commit/a6bc30a827
|
|
replaces Bundler::SimilarityDetector with DidYouMean::SpellChecker
https://github.com/ruby/rubygems/commit/959bea1506
|
|
Should fail even with `-c` option.
|
|
|
|
```
$ rake spec:regular
Successfully built RubyGem
Name: bundler
Version: 4.0.0.dev
File: bundler-4.0.0.dev.gem
```
https://github.com/ruby/rubygems/commit/8f0ca5eefa
|
|
https://github.com/ruby/rubygems/commit/a65a4b775e
|
|
https://github.com/ruby/rubygems/commit/d3baf4110e
|
|
Always build gems with RubyGems programmatically
https://github.com/ruby/rubygems/commit/5cc0c34e64
|
|
- I'd like to be able to see how long bundler takes for basic
operations such as downloading a gem from Rubygems.org and
installing a gem.
It will now be possible with this commit by running
`DEBUG=true bundle install` and have output that looks like:
Fetching rack-test 2.2.0
Downloaded rack-test in: 50.523s
Installing rack-test 2.2.0
Installed rack-test in: : 0.003s
https://github.com/ruby/rubygems/commit/46386d43e1
|
|
- ### Problem
This limit is used when Bundler fallback to getting a dependency
list from a server `/dependencies?gem=` endpoint. Bundler uses
this API endpoint fallback when a server doesn't expose the compact
index API.
This is not used for Rubygems.org, only private servers.
This limit is then divided by the number of dependency to get
and the result is the number of request we'll be doing.
The bottleneck on the client is the network roundtrip. On the
server, getting the info of 50 or 100 gems is a bit more expensive
but this operation is heavily cached.
This is an example of Rubygems.org implementation at the time the
dependencies API wasn't deprecated
https://github.com/rubygems/rubygems.org/blob/5a3a3ec02acc3a4e3aba077953a393ad20a06842/app/models/gem_dependent.rb#L15
### Context
This limit used to be 100 a while ago but got changed
to 50 in https://github.com/ruby/rubygems/commit/e745f8dc901dd419e7dc8aede3e8d49569fc7b1e
I don't know why.
### Solution
50 gems to query seems arbitrary low. By doubling this number, we
make twice as less API requests which ultimately can shove up to two
seconds on application relying on a large number of gems.
https://github.com/ruby/rubygems/commit/831894043c
|
|
|
|
to the released version
|
|
for erb v4.0.4 or older
|
|
This reverts commit 5b6658a406b5f1c535aed4cb68e8e18a3cbabb81.
With a ruby spec fix.
|
|
https://github.com/ruby/rubygems/commit/4d8b1c77f4
|
|
This is a follow up to #9053. We can avoid shelling out for generating
the gem index.
https://github.com/ruby/rubygems/commit/e40bafe9f1
|
|
|
|
|
|
|
|
https://github.com/ruby/rubygems/commit/2142e405b0
|
|
I'm trying to speed up the bundler tests. The tests shell out a lot in
order to build gems. We can build gems without creating a sub-process.
This change reduced the test suite time from ~24 minutes, to about ~21
minutes on my machine. Once we have more of these "asset generation"
routines done in the same process, I think we can start caching the
outputs for further improvements
https://github.com/ruby/rubygems/commit/ebf27056c6
|
|
https://github.com/ruby/rubygems/commit/9b169c700f
|
|
https://github.com/ruby/rubygems/commit/6c161b253d
|
|
https://github.com/ruby/rubygems/commit/89e95d0f15
|
|
https://github.com/ruby/rubygems/commit/33c7a9a565
|
|
https://github.com/ruby/rubygems/commit/6e965b7872
|
|
|
|
https://github.com/ruby/openssl/pull/958 changed the common logic for
digest algorithm lookup:
- If the argument is neither an OpenSSL::Digest instance nor a String,
it is now implicitly converted to String with #to_str. This is
consistent with algorithm name lookup logic in ruby/openssl for pkeys
and ciphers.
- If the name is not recognized, OpenSSL::Digest::DigestError is raised
instead of RuntimeError.
Update the specs accordingly:
- Remove specs that expect #to_str not to be called.
- Relax regexps matching TypeError messages.
- Expect OpenSSL::Digest::DigestError instead of RuntimeError for
ruby/openssl 4.0.0 and later.
|