Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gregorym/bump
Bump is a gem that will simplify the way you build gems.
https://github.com/gregorym/bump
gem ruby versioning versions
Last synced: 7 days ago
JSON representation
Bump is a gem that will simplify the way you build gems.
- Host: GitHub
- URL: https://github.com/gregorym/bump
- Owner: gregorym
- License: mit
- Created: 2011-07-05T12:11:51.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2023-05-12T22:30:33.000Z (over 1 year ago)
- Last Synced: 2024-05-15T17:11:42.801Z (6 months ago)
- Topics: gem, ruby, versioning, versions
- Language: Ruby
- Homepage:
- Size: 208 KB
- Stars: 182
- Watchers: 5
- Forks: 45
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ruby-cli-apps - bump - Increments the version number of a gem and a chef-cookbook. (Awesome Ruby CLIs / Release)
README
[![Gem Version](https://badge.fury.io/rb/bump.svg)](http://badge.fury.io/rb/bump)
A gem to bump versions of gems and chef-cookbooks.
- bumps version major / minor / patch / pre
- bundles
- commits changes# Installation
gem install bump
# Usage
### Show current version
bump current
> 0.1.2
### Bump (major, minor, patch, pre)
bump patch
> Bump version 0.1.2 to 0.1.3
### Show next version
bump show-next patch
> 0.1.3
### Show version file path
bump file
> lib/foo/version.rb
## Options
### `--no-commit`
Do not commit after bumping.
bump patch --no-commit
### `--tag`
Will add a git tag like `v1.2.3` (if the current project is a git repository and `--no-commit` has not been given).
bump patch --tag
The `--tag-prefix` option can change the tag prefix:
bump patch --tag --tag-prefix v- # tag as v-1.2.3
bump patch --tag --tag-prefix "" # tag as 1.2.3### `--no-bundle`
Do not run `bundle` command after bumping.
bump patch --no-bundle
### `--replace-in`
Bump the version in additional files.
bump patch --replace-in Readme.md
### `--commit-message [MSG], -m [MSG]`
Append additional information to the commit message.
bump patch --commit-message "Something extra"
or
bump patch -m "Something extra"
### `--changelog`
Updates `CHANGELOG.md` when bumping.
This requires a heading (starting with `##`) that includes the previous version and a heading above that, for example:```markdown
### Next
- Added bar### v0.0.0 - 2019-12-24
- Added foo
```### `--edit-changelog`
Updates CHANGELOG.md when bumping (see above), and
opens the changelog in an editor specified in `$EDITOR` (or `vi`),
then waits for the editor to be closed and continues.```bash
EDITOR="subl -n -w" bump patch --edit-changelog
```## Rake
```ruby
# Rakefile
require "bump/tasks"#
# do not always tag the version
# Bump.tag_by_default = false
#
# bump the version in additional files
# Bump.replace_in_default = ["Readme.md"]
#
# Maintain changelog:
# Bump.changelog = true
# Opens the changelog in an editor when bumping
# Bump.changelog = :editor
```rake bump:current # display current version
rake bump:show-next INCREMENT=minor # display next minor version
rake bump:file # display version file path# bumping using defaults for `COMMIT`, `TAG`, and `BUNDLE`
rake bump:major
rake bump:patch
rake bump:minor
rake bump:pre# bumping with option(s)
rake bump:patch TAG=false BUNDLE=false # commit, but don't tag or run `bundle`
rake bump:patch TAG=true TAG_PREFIX=v- # tag with a prefix 'v-' ex. the tag will look like v-0.0.1
rake bump:patch COMMIT=false TAG=false # don't commit, don't tag
rake bump:minor BUNDLE=false # don't run `bundle`
rake bump:minor COMMIT_MESSAGE="release it" # custom commit message, appended to version## Ruby
```ruby
require "bump"
Bump::Bump.current # -> "1.2.3"
Bump::Bump.next_version("patch") # -> "1.2.4"
Bump::Bump.file # -> "lib/foo/version.rb"
Bump::Bump.run("patch") # -> version changed
Bump::Bump.run("patch", tag: true, tag_prefix: 'v-') # -> version changed with tagging with '-v' as prefix
Bump::Bump.run("patch", commit: false, bundle:false, tag:false) # -> version changed with options
Bump::Bump.run("patch", commit_message: '[no ci]') # -> creates a commit message with 'v1.2.3 [no ci]' instead of default: 'v1.2.3'
```# Supported locations
- `VERSION` file with `1.2.3`
- `gemspec` with `gem.version = "1.2.3"` or `Gem:Specification.new "gem-name", "1.2.3" do`
- `lib/**/version.rb` file with `VERSION = "1.2.3"`
- `metadata.rb` with `version "1.2.3"`
- `VERSION = "1.2.3"` in `lib/**/*.rb`# Author
Gregory
License: MIT