description=> 'Normally yath scans for and loads all App::Yath::Plugin::* modules in order to bring in command-line options they may provide. This flag will disable that. This is useful if you have a naughty plugin that it loading other modules when it should not.',
);
option project=> (
type=> 's',
alt=> ['project-name'],
category=> 'Environment',
description=> 'This lets you provide a label for your current project/codebase. This is best used in a .yath.rc file. This is necessary for a persistent runner.',
);
option persist_dir=> (
type=> 's',
category=> 'Environment',
description=> 'Where to find persistence files.',
normalize=> \&clean_path,
);
option persist_file=> (
type=> 's',
category=> 'Environment',
alt=> ['pfile'],
normalize=> \&clean_path,
description=> "Where to find the persistence file. The default is /{system-tempdir}/project-yath-persist.json. If no project is specified then it will fall back to the current directory. If the current directory is not writable it will default to /tmp/yath-persist.json which limits you to one persistent runner on your system.",
);
option dev_libs=> (
type=> 'D',
short=> 'D',
name=> 'dev-lib',
category=> 'Developer',
description=> 'Add paths to @INC before loading ANYTHING. This is what you use if you are developing yath or yath plugins to make sure the yath script finds the local code instead of the installed versions of the same code. You can provide an argument (-Dfoo) to provide a custom path, or you can just use -D without and arg to add lib, blib/lib and blib/arch.',
App::Yath::Options::PreCommand - Options for yath before command is specified.
=head1 DESCRIPTION
This is qhere many pe-commnd options are defined.
=head1 PROVIDED OPTIONS
=head2 YATH OPTIONS (PRE-COMMAND)
=head3 Developer
=over 4
=item --dev-lib
=item --dev-lib=lib
=item -D
=item -D=lib
=item -Dlib
=item --no-dev-lib
Add paths to @INC before loading ANYTHING. This is what you use if you are developing yath or yath plugins to make sure the yath script finds the local code instead of the installed versions of the same code. You can provide an argument (-Dfoo) to provide a custom path, or you can just use -D without and arg to add lib, blib/lib and blib/arch.
Can be specified multiple times
=back
=head3 Environment
=over 4
=item --persist-dir ARG
=item --persist-dir=ARG
=item --no-persist-dir
Where to find persistence files.
=item --persist-file ARG
=item --persist-file=ARG
=item --pfile ARG
=item --pfile=ARG
=item --no-persist-file
Where to find the persistence file. The default is /{system-tempdir}/project-yath-persist.json. If no project is specified then it will fall back to the current directory. If the current directory is not writable it will default to /tmp/yath-persist.json which limits you to one persistent runner on your system.
=item --project ARG
=item --project=ARG
=item --project-name ARG
=item --project-name=ARG
=item --no-project
This lets you provide a label for your current project/codebase. This is best used in a .yath.rc file. This is necessary for a persistent runner.
=back
=head3 Plugins
=over 4
=item --no-scan-plugins
=item --no-no-scan-plugins
Normally yath scans for and loads all App::Yath::Plugin::* modules in order to bring in command-line options they may provide. This flag will disable that. This is useful if you have a naughty plugin that it loading other modules when it should not.
=item --plugins PLUGIN
=item --plugins +App::Yath::Plugin::PLUGIN
=item --plugins PLUGIN=arg1,arg2,...
=item --plugin PLUGIN
=item --plugin +App::Yath::Plugin::PLUGIN
=item --plugin PLUGIN=arg1,arg2,...
=item -pPLUGIN
=item --no-plugins
Load a yath plugin.
Can be specified multiple times
=back
=head1 SOURCE
The source code repository for Test2-Harness can be found at