mirror of
https://github.com/ruby/ruby.git
synced 2025-08-24 05:25:34 +02:00
153 lines
5.8 KiB
Markdown
153 lines
5.8 KiB
Markdown
bundle-gem(1) -- Generate a project skeleton for creating a rubygem
|
|
===================================================================
|
|
|
|
## SYNOPSIS
|
|
|
|
`bundle gem` <GEM_NAME> [OPTIONS]
|
|
|
|
## DESCRIPTION
|
|
|
|
Generates a directory named `GEM_NAME` with a `Rakefile`, `GEM_NAME.gemspec`,
|
|
and other supporting files and directories that can be used to develop a
|
|
rubygem with that name.
|
|
|
|
Run `rake -T` in the resulting project for a list of Rake tasks that can be used
|
|
to test and publish the gem to rubygems.org.
|
|
|
|
The generated project skeleton can be customized with OPTIONS, as explained
|
|
below. Note that these options can also be specified via Bundler's global
|
|
configuration file using the following names:
|
|
|
|
* `gem.coc`
|
|
* `gem.mit`
|
|
* `gem.test`
|
|
|
|
## OPTIONS
|
|
|
|
* `--exe`, `--bin`, `-b`:
|
|
Specify that Bundler should create a binary executable (as `exe/GEM_NAME`)
|
|
in the generated rubygem project. This binary will also be added to the
|
|
`GEM_NAME.gemspec` manifest. This behavior is disabled by default.
|
|
|
|
* `--no-exe`:
|
|
Do not create a binary (overrides `--exe` specified in the global config).
|
|
|
|
* `--coc`:
|
|
Add a `CODE_OF_CONDUCT.md` file to the root of the generated project. If
|
|
this option is unspecified, an interactive prompt will be displayed and the
|
|
answer will be saved in Bundler's global config for future `bundle gem` use.
|
|
|
|
* `--no-coc`:
|
|
Do not create a `CODE_OF_CONDUCT.md` (overrides `--coc` specified in the
|
|
global config).
|
|
|
|
* `--changelog`:
|
|
Add a `CHANGELOG.md` file to the root of the generated project. If
|
|
this option is unspecified, an interactive prompt will be displayed and the
|
|
answer will be saved in Bundler's global config for future `bundle gem` use.
|
|
Update the default with `bundle config set --global gem.changelog <true|false>`.
|
|
|
|
* `--no-changelog`:
|
|
Do not create a `CHANGELOG.md` (overrides `--changelog` specified in the
|
|
global config).
|
|
|
|
* `--ext=c`, `--ext=rust`:
|
|
Add boilerplate for C or Rust (currently [magnus](https://docs.rs/magnus) based) extension code to the generated project. This behavior
|
|
is disabled by default.
|
|
|
|
* `--no-ext`:
|
|
Do not add extension code (overrides `--ext` specified in the global
|
|
config).
|
|
|
|
* `--git`:
|
|
Initialize a git repo inside your library.
|
|
|
|
* `--github-username=GITHUB_USERNAME`:
|
|
Fill in GitHub username on README so that you don't have to do it manually. Set a default with `bundle config set --global gem.github_username <your_username>`.
|
|
|
|
* `--mit`:
|
|
Add an MIT license to a `LICENSE.txt` file in the root of the generated
|
|
project. Your name from the global git config is used for the copyright
|
|
statement. If this option is unspecified, an interactive prompt will be
|
|
displayed and the answer will be saved in Bundler's global config for future
|
|
`bundle gem` use.
|
|
|
|
* `--no-mit`:
|
|
Do not create a `LICENSE.txt` (overrides `--mit` specified in the global
|
|
config).
|
|
|
|
* `-t`, `--test=minitest`, `--test=rspec`, `--test=test-unit`:
|
|
Specify the test framework that Bundler should use when generating the
|
|
project. Acceptable values are `minitest`, `rspec` and `test-unit`. The
|
|
`GEM_NAME.gemspec` will be configured and a skeleton test/spec directory will
|
|
be created based on this option. Given no option is specified:
|
|
|
|
When Bundler is configured to generate tests, this defaults to Bundler's
|
|
global config setting `gem.test`.
|
|
|
|
When Bundler is configured to not generate tests, an interactive prompt will
|
|
be displayed and the answer will be used for the current rubygem project.
|
|
|
|
When Bundler is unconfigured, an interactive prompt will be displayed and
|
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
|
use.
|
|
|
|
* `--no-test`:
|
|
Do not use a test framework (overrides `--test` specified in the global
|
|
config).
|
|
|
|
* `--ci`, `--ci=circle`, `--ci=github`, `--ci=gitlab`:
|
|
Specify the continuous integration service that Bundler should use when
|
|
generating the project. Acceptable values are `github`, `gitlab`
|
|
and `circle`. A configuration file will be generated in the project directory.
|
|
Given no option is specified:
|
|
|
|
When Bundler is configured to generate CI files, this defaults to Bundler's
|
|
global config setting `gem.ci`.
|
|
|
|
When Bundler is configured to not generate CI files, an interactive prompt
|
|
will be displayed and the answer will be used for the current rubygem project.
|
|
|
|
When Bundler is unconfigured, an interactive prompt will be displayed and
|
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
|
use.
|
|
|
|
* `--no-ci`:
|
|
Do not use a continuous integration service (overrides `--ci` specified in
|
|
the global config).
|
|
|
|
* `--linter`, `--linter=rubocop`, `--linter=standard`:
|
|
Specify the linter and code formatter that Bundler should add to the
|
|
project's development dependencies. Acceptable values are `rubocop` and
|
|
`standard`. A configuration file will be generated in the project directory.
|
|
Given no option is specified:
|
|
|
|
When Bundler is configured to add a linter, this defaults to Bundler's
|
|
global config setting `gem.linter`.
|
|
|
|
When Bundler is configured not to add a linter, an interactive prompt
|
|
will be displayed and the answer will be used for the current rubygem project.
|
|
|
|
When Bundler is unconfigured, an interactive prompt will be displayed and
|
|
the answer will be saved in Bundler's global config for future `bundle gem`
|
|
use.
|
|
|
|
* `--no-linter`:
|
|
Do not add a linter (overrides `--linter` specified in the global config).
|
|
|
|
* `--rubocop`:
|
|
Add rubocop to the generated Rakefile and gemspec. Set a default with `bundle config set --global gem.rubocop true`.
|
|
|
|
* `--edit=EDIT`, `-e=EDIT`:
|
|
Open the resulting GEM_NAME.gemspec in EDIT, or the default editor if not
|
|
specified. The default is `$BUNDLER_EDITOR`, `$VISUAL`, or `$EDITOR`.
|
|
|
|
* `--bundle`:
|
|
Run `bundle install` after creating the gem.
|
|
|
|
* `--no-bundle`:
|
|
Do not run `bundle install` after creating the gem.
|
|
|
|
## SEE ALSO
|
|
|
|
* [bundle config(1)](bundle-config.1.html)
|