| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
over lockfile method in Gemfile
It would be simpler to do `options[:lockfile] ||= ENV["BUNDLE_LOCKFILE"]`,
but that doesn't work as `options` is frozen.
Fixes https://github.com/ruby/rubygems/pull/9117
https://github.com/ruby/rubygems/commit/6e3603a0e9
|
|
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
|
|
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>
|
|
(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>
|
|
tool and configurations
https://github.com/ruby/rubygems/commit/749b498822
|
|
https://github.com/rubygems/rubygems/commit/6a3342541a
|
|
https://github.com/rubygems/rubygems/commit/47c3dc19ee
Co-authored-by: Jonathan Barquero <jonbarlo@hotmail.com>
|
|
https://github.com/rubygems/rubygems/commit/3bbbf4a4e5
|
|
an error
https://github.com/rubygems/rubygems/commit/8bfe317e6d
|
|
https://github.com/rubygems/rubygems/commit/ccb65ce0ea
|
|
https://github.com/rubygems/rubygems/commit/444022cfd3
|
|
And let the feature always be enabled, so I'm not sure why we'd need
this configurable.
https://github.com/rubygems/rubygems/commit/5a27f0c1e3
|
|
If the CLI flags are used, we abort early as usual.
As per the settings, I decided to ignore them. We've been migrating them
automatically to the new name for a long time and we don't yet have a
standard way to deprecate and remove settings (we should probably use
the existing setting validators). So I think it's fine for now to do
what we normally do (ignore the setting).
https://github.com/rubygems/rubygems/commit/8311de6e69
|
|
https://github.com/rubygems/rubygems/commit/573ffad3ea
|
|
|
|
|
|
Make synopsis, subcommands, and CLI flags use a format consistent with
the other docs, and also reword some sentences for clarify.
https://github.com/rubygems/rubygems/commit/9272169ad0
|
|
Name default value placeholders in a more standard way. That's what our
specs check, but they don't yet work for subcommand flags.
https://github.com/rubygems/rubygems/commit/c589899cb8
|
|
For synopsis, subcommand and flag documentation like other commands do.
https://github.com/rubygems/rubygems/commit/f528029756
|
|
The `bundle list` command is a convenient way for human to know what gems and versions are available. By introducing a `--format=json` option, we can provide the same information to machines in a stable format that is robust to UI additions or modifications. It indirectly supports `Gemfile.lock` modifications by discouraging external tools from attempting to parse that format.
This addition allows for the scripting of installation tools, such as buildpacks, that wish to branch logic based on gem versions. For example:
```ruby
require "json"
command = "bundle list --format=json"
output = `#{command}`
raise "Command `#{command}` errored: #{output}" unless $?.success?
railties = JSON.parse(output).find {|gem| gem["name"] == railties }
if railties && Gem::Version.new(railties["version"]) >= Gem::Version.new("7")
puts "Using Rails greater than 7!"
end
```
The top level is an object with a single key, "gems", this structure allows us to add other information in the future (should we desire) without having to change the json schema.
https://github.com/rubygems/rubygems/commit/9e081b0689
|
|
- The `bundle plugin uninstall --all` was missing.
- The `bundle plugin install --local-git` was missing due to being
deprecated. We decided to reintroduce the doc for more clarity.
https://github.com/rubygems/rubygems/commit/4da252945c
|
|
I realized `--redownload` is not a good name, because it does not
necessarily redownloads gems. It only forces reinstallation even if gem
is already installed.
So I believe `--force` is actually a better name and the introduction of
`--force` was a misunderstanding of what the `--force` flag did at the
time.
Let's cancel the deprecation of `--force`.
For now the `--redownload` alias is left around until we decide what to
do with it.
|
|
* Conditionally set changelog_url if gh username passed
and enabled
* conditionally set homepage, source code uri, homepage uri when gh
username passed in
* update documentation to say username will also be used for gemspec file
https://github.com/rubygems/rubygems/commit/1c1ada593b
|
|
extensions
https://github.com/rubygems/rubygems/commit/265f718be7
|
|
"locally to the installing Ruby installation" felt a bit confusing.
https://github.com/rubygems/rubygems/commit/c950720719
|
|
https://github.com/rubygems/rubygems/commit/4b8570ae15
|
|
I suspect most experienced users won't like the change in defaults, so
document the setting to toggle back the current default.
https://github.com/rubygems/rubygems/commit/93e2e2bef9
|
|
It only affected the `--path` flag which is actually getting removed, so
I don't think it makes sense to make such change. The current behavior
is reasonable and I tried to codify it with a few more specs.
https://github.com/rubygems/rubygems/commit/6f520eb146
|
|
The previous default can already be configured with `bundle config
path.system true`.
https://github.com/rubygems/rubygems/commit/cb483b79db
|
|
There already different ways of toggling off this behavior, like setting
`bundle config clean false`, or configuring Bundler to install to system
gems with `bundle config path.system true`.
https://github.com/rubygems/rubygems/commit/6daa09f60a
|
|
commands
https://github.com/rubygems/rubygems/commit/0aa1be946f
|
|
- ### Problem
The man pages for `bundle doctor` which shows up when running
`bundle doctor --help` are no longer in sync with the CLI.
### Context
In #8624, we introduced a change that modifies the structure of
the `bundle doctor` command.
The change added a new subcommand as well a new flag option
`bundle doctor --ssl`
Bundler uses man pages to display help of Thor commands, those man
pages are indepedent from Thor options and need to be kept in sync.
### Solution
Updated the man page for `bundle doctor`. Now that this command is
a subcommand composed of `bundle doctor diagnose` (the default) ,
and `bundle doctor ssl`, I modified the man page to follow
the same markdown structure as other subcommands such as
[bundle plugin](https://github.com/rubygems/rubygems/blob/a902381660f8d17b5c4a93226678c23e046f464f/bundler/lib/bundler/man/bundle-plugin.1.ronn)
https://github.com/rubygems/rubygems/commit/de047f1458
|
|
https://github.com/rubygems/rubygems/commit/1ffd83f6c2
|
|
I don't think it makes sense to make this tiny behavior change
configurable. If someone wants to parse version output, and we have a
public setting, they are going to need to accommodate their regexps to
both values of the setting.
In addition to this, I plan to enhance version output with a note about
"simulated version", and in that case, "print_only_version_number" would
no longer hold, since what we print will be more than that anyways.
So, I'd like to remove the setting and change the output in Bundler 4
with no way to opt out.
https://github.com/rubygems/rubygems/commit/d84e9dcf09
|
|
https://github.com/rubygems/rubygems/commit/53174e0aa6
|
|
https://github.com/rubygems/rubygems/commit/f2826dafce
|
|
https://github.com/rubygems/rubygems/commit/9f1d07685f
|
|
incorrectly
https://github.com/rubygems/rubygems/commit/19739ba71c
|
|
https://github.com/rubygems/rubygems/commit/3e4687616a
|
|
CONFIGURATION KEYS
Since the remembering options are discouraged, the preferred method should be explained first.
Slight tweak to wording
Fix documentation spec test as per suggested patch
https://github.com/rubygems/rubygems/commit/9f082ccf31
|
|
BUNDLE_PATH are connected
https://github.com/rubygems/rubygems/commit/9ed20bddab
|
|
The with and without flags accepts both comma and space separated values.
https://github.com/rubygems/rubygems/commit/b6149f61e3
|
|
https://github.com/rubygems/rubygems/commit/3b4934fb69
Notes:
Merged: https://github.com/ruby/ruby/pull/12840
|
|
option
https://github.com/rubygems/rubygems/commit/c258e45b44
Notes:
Merged: https://github.com/ruby/ruby/pull/12840
|
|
https://github.com/rubygems/rubygems/commit/591d2c0503
Notes:
Merged: https://github.com/ruby/ruby/pull/12840
|