Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/esotericpig/raketeer
💎🍂🗡️ Extra Ruby Rake Tasks.
https://github.com/esotericpig/raketeer
bump bumpversion github-package github-package-registry github-packages irb nokogiri rake rake-task
Last synced: about 2 months ago
JSON representation
💎🍂🗡️ Extra Ruby Rake Tasks.
- Host: GitHub
- URL: https://github.com/esotericpig/raketeer
- Owner: esotericpig
- License: lgpl-3.0
- Created: 2019-07-22T17:01:04.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-06-21T17:46:15.000Z (over 3 years ago)
- Last Synced: 2024-10-08T12:42:02.022Z (3 months ago)
- Topics: bump, bumpversion, github-package, github-package-registry, github-packages, irb, nokogiri, rake, rake-task
- Language: Ruby
- Homepage:
- Size: 92.8 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# Raketeer
[![Gem Version](https://badge.fury.io/rb/raketeer.svg)](https://badge.fury.io/rb/raketeer)
[![Source Code](https://img.shields.io/badge/source-github-%23A0522D.svg?style=for-the-badge)](https://github.com/esotericpig/raketeer)
[![Changelog](https://img.shields.io/badge/changelog-md-%23A0522D.svg?style=for-the-badge)](CHANGELOG.md)
[![License](https://img.shields.io/github/license/esotericpig/raketeer.svg?color=%23A0522D&style=for-the-badge)](LICENSE.txt)Extra Ruby Rake Tasks.
A [CLI app](https://github.com/esotericpig/raketary) is also available that uses these tasks, which is useful for tasks like *bump* (which bumps the version for your RubyGem project) so that you don't have to include this Gem as a development dependency for every project.
## Contents
- [Setup](#setup)
- [Using](#using)
- [Hacking](#hacking)
- [License](#license)## [Setup](#contents)
Pick your poison...
With the RubyGems CLI package manager:
`$ gem install raketeer`
In your *Gemspec* (*<project>.gemspec*):
```Ruby
spec.add_development_dependency 'raketeer', '~> 0.2'
```In your *Gemfile*:
```Ruby
gem 'raketeer', '~> 0.2', group: [:development, :test]# or...
gem 'raketeer', git: 'https://github.com/esotericpig/raketeer.git',
tag: 'v0.2.10', group: [:development, :test]
```Manually:
```
$ git clone 'https://github.com/esotericpig/raketeer.git'
$ cd raketeer
$ bundle install
$ bundle exec rake install:local
```## [Using](#contents)
**Rakefile**
In your *Rakefile*, you can either include all tasks...
```Ruby
require 'raketeer/all'
```Or, include the specific tasks that you need:
```Ruby
require 'raketeer/bump'
require 'raketeer/github_pkg'
require 'raketeer/irb'
require 'raketeer/nokogiri_installs'
require 'raketeer/run'
```If you have conflicting tasks and/or you want to see what tasks have been included, you can put them in a namespace:
```Ruby
namespace :rt do
require 'raketeer/all'
end
```**Included Tasks**
```
rake bump[version] # Show/Set/Bump the version
rake bump:build[build] # Set/Erase the build metadata
rake bump:bundle # Bump the Gemfile.lock version
rake bump:help # Show the help/usage for bump tasks
rake bump:major[major] # Bump/Set the major version
rake bump:minor[minor] # Bump/Set the minor version
rake bump:patch[patch] # Bump/Set the patch version
rake bump:pre[pre] # Set/Erase the pre-release version
rake github_pkg # Publish this project's gem(s) to GitHub Packages
rake irb # Open an irb session loaded with this library
rake nokogiri_apt # Install Nokogiri libs for Ubuntu/Debian
rake nokogiri_dnf # Install Nokogiri libs for Fedora/CentOS/Red Hat
rake nokogiri_other # Install Nokogiri libs for other OSes
rake run # Run this project's main file: "rake run -- --version"
```**bump:help**
```
$ rake bump:help
rake bump # Print the current version# You can run a dry run for any task (will not write to files)
rake bump dryrun=truerake bump[1.2.3-alpha.4-beta.5] # Set the version manually
rake bump major=1 minor=2 patch=3 # Set the version numbers
rake bump pre=alpha.4 build=beta.5 # Set the version extensions
rake bump major=+1 minor=+1 patch=+1 # Bump the version numbers by 1
rake bump major=+2 minor=+3 patch=+4 # Bump the version numbers by Xrake bump:major # Bump the major version by 1
rake bump:major[1] # Set the major version to 1
rake bump:major[+2] # Bump the major version by 2
rake bump:minor # Bump the minor version by 1
rake bump:minor[2] # Set the minor version to 2
rake bump:minor[+3] # Bump the minor version by 3
rake bump:patch # Bump the patch version by 1
rake bump:patch[3] # Set the patch version to 3
rake bump:patch[+4] # Bump the patch version by 4
rake bump:pre # Erase the pre-release version
rake bump:pre[alpha.4] # Set the pre-release version
rake bump:build # Erase the build metadata
rake bump:build[beta.5] # Set the build metadata
rake bump:bundle # Bump the Gemfile.lock version
```**Modifying Tasks**
If you need more control, for now, please look at the accessors of each task (better documentation is planned for v1.0.0):
- [BumpTask](lib/raketeer/bump_task.rb)
- [GitHubPkgTask](lib/raketeer/github_pkg_task.rb)
- [IRBTask](lib/raketeer/irb_task.rb)
- [NokogiriAPTTask](lib/raketeer/nokogiri_install_tasks.rb)
- [NokogiriDNFTask](lib/raketeer/nokogiri_install_tasks.rb)
- [NokogiriOtherTask](lib/raketeer/nokogiri_install_tasks.rb)
- [RunTask](lib/raketeer/run_task.rb)For example, in your *Rakefile*:
```Ruby
require 'raketeer/bump_task'Raketeer::BumpTask.new() do |task|
task.strict = true
end
``````Ruby
require 'raketeer/github_pkg_task'Raketeer::GitHubPkgTask.new() do |task|
task.deps << 'test'
task.username = 'esotericpig'
end
```## [Hacking](#contents)
```
$ git clone 'https://github.com/esotericpig/raketeer.git'
$ cd raketeer
$ bundle install
$ bundle exec rake -T
```## [License](#contents)
[GNU LGPL v3+](LICENSE.txt)
> Raketeer ()
> Copyright (c) 2019-2021 Jonathan Bradley Whited
>
> Raketeer is free software: you can redistribute it and/or modify
> it under the terms of the GNU Lesser General Public License as published by
> the Free Software Foundation, either version 3 of the License, or
> (at your option) any later version.
>
> Raketeer is distributed in the hope that it will be useful,
> but WITHOUT ANY WARRANTY; without even the implied warranty of
> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> GNU Lesser General Public License for more details.
>
> You should have received a copy of the GNU Lesser General Public License
> along with Raketeer. If not, see .