プラグインを作成する方法

参考:

How to write a Bundler plugin | Bundler [Official]

Plugin system · Issue #8 · bundler/bundler-features – GitHub

Bundler should have a plugin system · Issue #1945 · bundler/bundler – GitHub

Bundler Plugin System · Issue #3463 · bundler/bundler – GitHub

Bundler plugins · Issue #7152 · bundler/bundler – GitHub

ドキュメント

参考:

Documentation for bundler | RubyDoc.info

bundle gem コマンド

gem のスケルトンを作成する。

$ bundle gem my_plugin

参考:

bundle gem | Bundler 日本語ドキュメント (Ruby STUDIO)

bundle gem | Bundler [Official]

Gemfile で指定したプラグインをインストールする

plugin メソッドでインストールするプラグインを指定する。

plugin "my_plugin"

指定した GitHub リポジトリからプラグインをインストールする

plugin "my_plugin",
  github: "https://github.com/user_name/my_plugin.git"

ローカルの Git リポジトリからプラグインをインストールする

plugin "my_plugin",
  git:    File.expand_path("../my_plugin", __dir__),
  branch: "develop"

プラグインのインストールには path の指定は使えない。

参考:

Gemfile での gem 指定色々 – Qiita

サブコマンドを追加する

bundle sub-command を実行した時に Bundler に定義されていないコマンドだった場合に、PATH 内に bundler-sub-command というコマンドがあれば、引数を渡して呼び出してくれる。

参考:

bundler にサブコマンドを追加する | esm アジャイル事業部 開発者ブログ

bundler/cli.rb at v1.17.1 · bundler/bundler – GitHub

which – bundler/bundler.rb at v1.17.1 · bundler/bundler – GitHub

Bundler.ui

参考:

Method: Bundler.ui — Documentation for bundler | RubyDoc.info

Class: Bundler::UI::Shell — Documentation for bundler | RubyDoc.info

bundler/shell.rb at v2.0.1 · bundler/bundler – GitHub

タグ:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です