Skip to content
Hiroaki Otsu edited this page Apr 15, 2014 · 1 revision

About configuration of plsense

Config File

Global Config File

Put the file that is named .plsense in user home directory and set global configuration.

  • The config file can be maked when you execute plsense.

Project Config File

Put the file that is named .plsense in root of the project and set project configuration.

  • Looks for the config file upward from the opened file and uses the first found path.
  • Considers all files under the path belongs the project.
  • If the config file is not found, considers the opened file belongs default project.

Format

One configuration is put in one line and the format is the following.

ConfigName = Value

  • Spaces around them are ignored.
  • For the detail, see Config::Tiny.

Config Item

Name Description Value Abbr Default For Command-line-arg For Global For Project
cachedir Path for store of analysis result Absolute path No Yes Yes No
port1 Port for waiting client on server Integer Yes 33333 Yes Yes No
port2 Port for waiting client on server Integer Yes 33334 Yes Yes No
port3 Port for waiting client on server Integer Yes 33335 Yes Yes No
maxtasks Max number of parallel task on server Integer Yes 20 Yes Yes No
logfile Path of log file Absolute path Yes Yes Yes No
loglevel Level of logging see Log::Handler Yes Yes Yes No
perl Command of perl for analysis Executable path Yes perl No Yes Yes
perldoc Command of perldoc for analysis Executable path Yes perldoc No Yes Yes
clean-env Whether to clean PERL5LIB when analysis 1 / 0 Yes 0 No Yes Yes
name Name of project Match [a-zA-Z0-9_]+ No No No Yes
lib-path Path of root of project library Relative path from project config file Yes No No Yes
local Whether especial perl runtime environment for project 1 / 0 Yes 0 No No Yes
carton Whether Carton is used in project 1 / 0 Yes 0 No No Yes
  • Command line argument is prior than config file.
  • About the format of command line argument, see Getopt::Long.
  • If same item is defined in global and project config file, project config is prior then global config.
  • Avoid a temporary path (e.g. /tmp) for cachedir because cache is available continuously.
  • The high speed device is better for cachedir because I/O is required frequently.
  • About the quantity for cachedir and the number for maxtasks, see Resource.
  • If logfile is missing, do not logging.
  • If project config file exists, perl / perldoc is executed after move to the directory of the file.
  • The modules under the directory added by PERL5LIB are considered as InstalledModule.
  • The value of name must be unique. If same values of name are in different path, considers the project had been moved.
  • At present, lib-path can not receive multiple path.
  • Turning on local means InstalledModule are not shared with other project.
  • If turn on carton, local is turned on automatically.
  • If turn on carton and perl is missing or equals default, carton exec -- perl is set to perl.
  • If turn on carton and perldoc is missing or equals default, carton exec -- perldoc is set to perldoc.

Example

Global Config File

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

Project Config File

$ cat /var/dev/sample/.plsense 
name=SampleProj
lib-path=lib
$ 
  • In above case, lib-path is considered as /var/dev/sample/lib.