NAME

App::GitGot::Command::lib - Generate a lib listing off a .gotlib file

VERSION

version 1.21

SYNOPSIS

$ echo '@dancer/lib' > .gotlib
$ export PERL5LIB=`got lib yet_another_repo_name/lib`

# PERL5LIB will now hold the path to the 'lib'
# subdirectory of 'yet_another_repo_name', followed
# by the 'lib' directories of all repos tagged with 'dancer',
# followed by the original paths of PERL5LIB

DESCRIPTION

Got's lib subcommand is a Got-aware answer to ylib and Devel::Local, and provides an easy way to alter the PERL5LIB environment variable (or indeed any other env variable) with local libraries in got-managed repos.

The subcommand will merge any library passed on the command line and found in the the gotlib file (if present), and will generate a library listing where those directories are prepended to PERL5LIB (command-line entries first, then the ones from the gotlib file).

Libraries can be given in three different ways:

absolute or relative path

If the value begins with a '/' or a '.', it is assumed to be a straight path. It will be expanded to its absolute value, but otherwise left untouched.

For example './lib' will be expanded to '/path/to/current/directory/lib'

tag

If the value begins with @, it is assumed to be a tag, and will be replaced by the path to all repositories having that tag.

For example '@dancer/lib' will be expanded to '/path/to/dancer/project1/lib:/path/to/dancer/project2/lib:...'

project name

If not a path nor a tag, the value is assumed to be a project name.

For example 'vim-x/lib' will be expanded to '/path/to/vim-x/lib'

OPTIONS

--separator

Separator printed between library directories in the output. Defaults to ':' (colon).

--libvar

Environment variable containing the directories to include at the end of the library listing. Defaults to PERL5LIB.

--gotlib

File containing the list of directories to include. Defaults to .gotlib.

SEE ALSO

ylib
Devel::Local

AUTHOR

John SJ Anderson <genehack@genehack.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by John SJ Anderson.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.