Skip to content
Hiroaki Otsu edited this page Apr 15, 2014 · 2 revisions

plsenseの動作設定について

設定ファイル

グローバル設定ファイル

ユーザのホームディレクトリに .plsense というファイルを配置し、全体的な動作設定を記述します。

  • 事前に作成しなくても、plsenseコマンド実行時に作成できます。

プロジェクト設定ファイル

プロジェクトツリーのルートに .plsense というファイルを配置し、プロジェクト毎の設定を記述します。

  • 開いたファイルがある階層から上に遡り、最初に発見されたパスを採用します。
  • 配下は全て、そのプロジェクトに属するファイルであると判断します。
  • 見つからない場合は、デフォルトプロジェクトに属するものとみなされます。

記述形式

1行に1つの設定を記述し、1行は以下の形式で記述します。

設定名 = 設定値

  • 前後の空白は無視されます。
  • 詳しくは、 Config::Tiny を参照して下さい。

設定項目

項目名 説明 省略 デフォルト コマンドライン引数指定 グローバル設定 プロジェクト設定
cachedir 解析結果の保存先 絶対パス 不可 不可
port1 サーバプロセスが待ち受けるポート番号 整数 33333 不可
port2 サーバプロセスが待ち受けるポート番号 整数 33334 不可
port3 サーバプロセスが待ち受けるポート番号 整数 33335 不可
maxtasks 同時実行するタスクの最大数 整数 20 不可
logfile ログ出力先ファイル 絶対パス 不可
loglevel ログ出力レベル Log::Handler を参照 不可
perl 解析に使うperlコマンド 実行可能パス perl 不可
perldoc 解析に使うperldocコマンド 実行可能パス perldoc 不可
clean-env 解析時にPERL5LIBを無効にするか 1 / 0 0 不可
name プロジェクト名 [a-zA-Z0-9_]+ にマッチ 不可 不可 不可
lib-path プロジェクトライブラリルートのパス プロジェクト設定ファイルからの相対パス 不可 不可
local プロジェクト固有のperl実行環境か 1 / 0 0 不可 不可
carton Cartonを利用しているか 1 / 0 0 不可 不可
  • コマンドライン引数の指定は、設定ファイルより優先されます
  • コマンドライン引数の指定方法は、 Getopt::Long を参照して下さい
  • グローバル設定とプロジェクト設定で同じ項目が設定されていたら、プロジェクト設定が優先されます
  • cachedir に保存する情報は継続して利用可能なので、/tmpなどの一時領域は避けて下さい
  • cachedir に指定するパスは、頻繁にI/Oが発生するので高速なデバイスの方が良いです
  • cachedir に必要な容量、 maxtasks の指定数に関しては、 消費リソース を参照して下さい
  • logfile が未指定の場合、ログ出力しません
  • プロジェクト設定ファイルが見つかった場合、 perl / perldoc は、そのディレクトリに移動した後、実行されます
  • PERL5LIBによって追加されるディレクトリ配下は インストールモジュール となります
  • name は全プロジェクト間で一意にして下さい。同じ name のファイルが別のパスに存在した場合、プロジェクトが移動したと判断されます
  • lib-path を複数指定することは現在のところできません
  • local の有効は、 インストールモジュール のデータも他のプロジェクトとは共有されないことを意味します
  • carton が有効な場合、 local も自動で有効になります
  • carton が有効で、 perl が未指定またはデフォルト値の場合、 carton exec -- perl に設定されます
  • carton が有効で、 perldoc が未指定またはデフォルト値の場合、 carton exec -- perldoc に設定されます

記述例

グローバル設定ファイル

$ cat ~/.plsense
cachedir=/home/user1/.plsense.d
logfile=/tmp/plsense.log
loglevel=info
maxtasks=20
port1=33333
port2=33334
port3=33335
$ 

プロジェクト設定ファイル

$ cat /var/dev/sample/.plsense 
name=SampleProj
lib-path=lib
$ 
  • lib-path は、上記の場合、 /var/dev/sample/lib とみなされます