GitBucketプラグインの開発をサポートするsbtプラグインを作りました

少し前からこんなsbtプラグインを作っていたのですが、使えそうな感じになってきたので紹介記事を書きたいと思います。

github.com

このプラグインはGitBucketプラグインのsbtプロジェクトに以下の機能を提供します。

使用するにはproject/plugin.sbtに以下の記述を追加します。

addSbtPlugin("io.github.gitbucket" % "sbt-gitbucket-plugin" % "1.2.0")

build.sbtにはGitBucketのバージョンのみ指定すればOKです。

gitbucketVersion := "4.19.0"

GitBucketはプラグインのオートリロード機能を持っているので、ローカルでGitBucketを立ち上げた状態でプラグインソースコードを編集したらsbt installを実行すればプラグインの動作確認を行うことができます。GitBucketを再起動する必要もありませんし、セッションも切れないので結構快適に開発ができると思います。

sbt install<HOME>/.gitbucket/pluginsディレクトリにプラグインのjarファイルをコピーしますが、環境変数GITBUCKET_HOMEシステムプロパティgitbucket.homeが設定されている場合はそちらを優先します。また、完成したプラグインをリリースする場合はsbt assemblyで生成されたtarget/scala-2.12/<プロジェクト名>-assembly-<バージョン番号>.jarを配布すればOKです。

将来的にはプラグインのリモートリポジトリからのインストールをできるようにしたいと考えているのですが、その際に必要となるであろうメタデータファイルの生成などもこのプラグインでできるようにしたいと考えています。いつになるかわかりませんが…。

以下のGitBucketプラグイン用のテンプレートプロジェクトもこのsbtプラグインを使うように更新されていますので、このテンプレートを使用することで簡単にGitBucketプラグインの開発を始めることができます。

github.com

もし新しいプラグインを作成した場合は是非GitBucket Community Pluginsに掲載させていただければと思いますのでご連絡ください!