Project

General

Profile

提案 #1419

環境固有のプラグインロードパスを追加する方法

Added by Izumi Tsutsui 11 months ago. Updated 3 months ago.

Status:
終了
Priority:
通常
Assignee:
Target version:
プラグイン名:
ブランチ:
topic/1419-plugin-loadpath

Description

てオフでの会話でチケット入れてほしいとのことだったのでとりあえずパッチなしですが提案でチケット入れます。

やりたいこと

mikutter で plugin をロードする際に探索するディレクトリを追加できるようにしたい。

背景

pkgsrc を含むパッケージシステムとして
twitter plugin を始めとする「mikutter プラグインのパッケージ」
というものが欲しい、というモチベが出てくると思われる。
Twitter は入れるプログインが多いので。

実装案

  • コマンドラインオプションで追加の探索ディレクトリを追加する
  • source'core/boot/load_plugin.rb をパッチして Plugin.loadpath に追加する
  • config.rb かなんかをどうにかする

進め方

としぁさんがなんとかしてくれるに違いない

その他

Twitter 関連プラグインにリリースタグがつくとやりやすいです(とついでにメモ)

#1

Updated by toshi_a 初音 11 months ago

とりあえず、config.rbに雑に追加できるようにはしてみましょう。

#2

Updated by toshi_a 初音 11 months ago

  • Status changed from 分類待ち to 実装待ち
#3

Updated by toshi_a 初音 11 months ago

  • Status changed from 実装待ち to レビュー待ち
  • Assignee set to Izumi Tsutsui
  • ブランチ set to topic/1419-plugin-loadpath

config.rbに雑に足せるようにしてみたよ

#4

Updated by Izumi Tsutsui 4 months ago

  • Status changed from レビュー待ち to マージ待ち

レビュー依頼をめっちゃ忘れてたんですが、いまさらながら 4.1.0ーalpha2 で確認してOKでした。

本体のプラグインとローカルで追加するプラグインはディレクトリをわけないと
複数の環境で使いまわすのが面倒なのに、 pkgsrc は OSC東京駆動のせいで
このチケットのこと忘れてて本体プラグインと同じところに突っ込んでしまったので
4.1 でどうするか考えます。

#5

Updated by toshi_a 初音 3 months ago

  • Status changed from マージ待ち to 終了

merged

#6

Updated by Izumi Tsutsui 3 months ago

鶏頭で #note-4 でどういうテストをしたのか忘却の彼方になってしまったのですが
環境変数 PLUGIN_PATH に追加したいロードパスの文字列を追加すればいいんでしたっけ……。
(いまさらながら 4.1.0 で追試したら追加したロードパスのプラグインが読まれていないっぽい)

#7

Updated by toshi_a 初音 3 months ago

ソースコードを直接修正して、以下に書き足します。

https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/config.rb#L37

たしか、パッケージを配布するときにこういうことをしたいということだったので、この仕様になったんでしたっけ(よく憶えていない)

#8

Updated by Izumi Tsutsui 3 months ago

toshi_a 初音 さんは #note-7 で書きました:

ソースコードを直接修正して、以下に書き足します。

https://dev.mikutter.hachune.net/projects/mikutter/repository/main/revisions/master/entry/core/config.rb#L37

たしか、パッケージを配布するときにこういうことをしたいということだったので、この仕様になったんでしたっけ(よく憶えていない)

経緯としては、パッケージシステムでプラグインを入れるときに本体とは別の場所に入れたいのですが、という話だったと思います。
実装としては、 config.rb をいじる、という案を聞いたのみで、具体的にどういう設定をするかまでは話をしなかったような。

pkgsrc としてお試しで
  • 本体はもともと /usr/pkg/share/mikutter 以下に入りデフォルトのプラグインは /usr/pkg/share/mikutter/plugin 以下にある
  • config.rb をパッチして以下を追加する
    File.expand_path(File.join(__dir__, '..', 'plugin-pkgsrc')),
  • pkgsrc の mikutter twitter plugin パッケージとして Twitter プラグイン一式を /usr/pkg/share/mikutter/plugin-plugin 以下に入れる

としてみたところ、以下のエラーになりました。なんか間違えているでしょうか。

ログ表示

Also available in: Atom PDF