Test-File-ShareDir-0.4.1/0000755000175000017500000000000012243326566013504 5ustar kentkentTest-File-ShareDir-0.4.1/LICENSE0000644000175000017500000004374112243326566014522 0ustar kentkentThis software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Terms of the Perl programming language system itself a) the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version, or b) the "Artistic License" --- The GNU General Public License, Version 1, February 1989 --- This software is Copyright (c) 2013 by Kent Fredric . This is free software, licensed under: The GNU General Public License, Version 1, February 1989 GNU GENERAL PUBLIC LICENSE Version 1, February 1989 Copyright (C) 1989 Free Software Foundation, Inc. 51 Franklin St, Suite 500, Boston, MA 02110-1335 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The license agreements of most software companies try to keep users at the mercy of those companies. By contrast, our General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. The General Public License applies to the Free Software Foundation's software and to any other program whose authors commit to using it. You can use it for your programs, too. When we speak of free software, we are referring to freedom, not price. Specifically, the General Public License is designed to make sure that you have the freedom to give away or sell copies of free software, that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of a such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must tell them their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any work containing the Program or a portion of it, either verbatim or with modifications. Each licensee is addressed as "you". 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this General Public License and to the absence of any warranty; and give any other recipients of the Program a copy of this General Public License along with the Program. You may charge a fee for the physical act of transferring a copy. 2. You may modify your copy or copies of the Program or any portion of it, and copy and distribute such modifications under the terms of Paragraph 1 above, provided that you also do the following: a) cause the modified files to carry prominent notices stating that you changed the files and the date of any change; and b) cause the whole of any work that you distribute or publish, that in whole or in part contains the Program or any part thereof, either with or without modifications, to be licensed at no charge to all third parties under the terms of this General Public License (except that you may choose to grant warranty protection to some or all third parties, at your option). c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the simplest and most usual way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this General Public License. d) You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. Mere aggregation of another independent work with the Program (or its derivative) on a volume of a storage or distribution medium does not bring the other work under the scope of these terms. 3. You may copy and distribute the Program (or a portion or derivative of it, under Paragraph 2) in object code or executable form under the terms of Paragraphs 1 and 2 above provided that you also do one of the following: a) accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Paragraphs 1 and 2 above; or, b) accompany it with a written offer, valid for at least three years, to give any third party free (except for a nominal charge for the cost of distribution) a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Paragraphs 1 and 2 above; or, c) accompany it with the information you received as to where the corresponding source code may be obtained. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form alone.) Source code for a work means the preferred form of the work for making modifications to it. For an executable file, complete source code means all the source code for all modules it contains; but, as a special exception, it need not include source code for modules which are standard libraries that accompany the operating system on which the executable file runs, or for standard header files or definitions files that accompany that operating system. 4. You may not copy, modify, sublicense, distribute or transfer the Program except as expressly provided under this General Public License. Any attempt otherwise to copy, modify, sublicense, distribute or transfer the Program is void, and will automatically terminate your rights to use the Program under this License. However, parties who have received copies, or rights to use copies, from you under this General Public License will not have their licenses terminated so long as such parties remain in full compliance. 5. By copying, distributing or modifying the Program (or any work based on the Program) you indicate your acceptance of this license to do so, and all its terms and conditions. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. 7. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of the license which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the license, you may choose any version ever published by the Free Software Foundation. 8. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to humanity, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19xx name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (a program to direct compilers to make passes at assemblers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice That's all there is to it! --- The Artistic License 1.0 --- This software is Copyright (c) 2013 by Kent Fredric . This is free software, licensed under: The Artistic License 1.0 The Artistic License Preamble The intent of this document is to state the conditions under which a Package may be copied, such that the Copyright Holder maintains some semblance of artistic control over the development of the package, while giving the users of the package the right to use and distribute the Package in a more-or-less customary fashion, plus the right to make reasonable modifications. Definitions: - "Package" refers to the collection of files distributed by the Copyright Holder, and derivatives of that collection of files created through textual modification. - "Standard Version" refers to such a Package if it has not been modified, or has been modified in accordance with the wishes of the Copyright Holder. - "Copyright Holder" is whoever is named in the copyright or copyrights for the package. - "You" is you, if you're thinking about copying or distributing this Package. - "Reasonable copying fee" is whatever you can justify on the basis of media cost, duplication charges, time of people involved, and so on. (You will not be required to justify it to the Copyright Holder, but only to the computing community at large as a market that must bear the fee.) - "Freely Available" means that no fee is charged for the item itself, though there may be fees involved in handling the item. It also means that recipients of the item may redistribute it under the same conditions they received it. 1. You may make and give away verbatim copies of the source form of the Standard Version of this Package without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. 2. You may apply bug fixes, portability fixes and other modifications derived from the Public Domain or from the Copyright Holder. A Package modified in such a way shall still be considered the Standard Version. 3. You may otherwise modify your copy of this Package in any way, provided that you insert a prominent notice in each changed file stating how and when you changed that file, and provided that you do at least ONE of the following: a) place your modifications in the Public Domain or otherwise make them Freely Available, such as by posting said modifications to Usenet or an equivalent medium, or placing the modifications on a major archive site such as ftp.uu.net, or by allowing the Copyright Holder to include your modifications in the Standard Version of the Package. b) use the modified Package only within your corporation or organization. c) rename any non-standard executables so the names do not conflict with standard executables, which must also be provided, and provide a separate manual page for each non-standard executable that clearly documents how it differs from the Standard Version. d) make other distribution arrangements with the Copyright Holder. 4. You may distribute the programs of this Package in object code or executable form, provided that you do at least ONE of the following: a) distribute a Standard Version of the executables and library files, together with instructions (in the manual page or equivalent) on where to get the Standard Version. b) accompany the distribution with the machine-readable source of the Package with your modifications. c) accompany any non-standard executables with their corresponding Standard Version executables, giving the non-standard executables non-standard names, and clearly documenting the differences in manual pages (or equivalent), together with instructions on where to get the Standard Version. d) make other distribution arrangements with the Copyright Holder. 5. You may charge a reasonable copying fee for any distribution of this Package. You may charge any fee you choose for support of this Package. You may not charge a fee for this Package itself. However, you may distribute this Package in aggregate with other (possibly commercial) programs as part of a larger (possibly commercial) software distribution provided that you do not advertise this Package as a product of your own. 6. The scripts and library files supplied as input to or produced as output from the programs of this Package do not automatically fall under the copyright of this Package, but belong to whomever generated them, and may be sold commercially, and may be aggregated with this Package. 7. C or perl subroutines supplied by you and linked into this Package shall not be considered part of this Package. 8. The name of the Copyright Holder may not be used to endorse or promote products derived from this software without specific prior written permission. 9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. The End Test-File-ShareDir-0.4.1/Changes0000644000175000017500000001407712243326566015010 0ustar kentkentRelease history for Test-File-ShareDir 0.4.1 2013-11-21T06:51:24Z [00 Trivial Doc Fix] - Escaping of code containing > was done wrong. 0.4.0 2013-11-21T06:38:44Z [00 Major Changes] - New Modules/Interfaces to make life easier for people who only need one of (Dist|Module) shares. [Dependencies::Added / develop requires] - Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl - Dist::Zilla::Plugin::Authority 1.006 - Dist::Zilla::Plugin::AutoPrereqs - Dist::Zilla::Plugin::CheckExtraTests - Dist::Zilla::Plugin::ConfirmRelease - Dist::Zilla::Plugin::EOLTests - Dist::Zilla::Plugin::Git::Check - Dist::Zilla::Plugin::Git::Commit - Dist::Zilla::Plugin::Git::CommitBuild - Dist::Zilla::Plugin::Git::GatherDir - Dist::Zilla::Plugin::Git::NextVersion - Dist::Zilla::Plugin::Git::Tag - Dist::Zilla::Plugin::GithubMeta - Dist::Zilla::Plugin::License - Dist::Zilla::Plugin::Manifest - Dist::Zilla::Plugin::ManifestSkip - Dist::Zilla::Plugin::MetaConfig - Dist::Zilla::Plugin::MetaData::BuiltWith - Dist::Zilla::Plugin::MetaJSON - Dist::Zilla::Plugin::MetaProvides::Package 1.14000001 - Dist::Zilla::Plugin::MetaTests - Dist::Zilla::Plugin::MetaYAML - Dist::Zilla::Plugin::ModuleBuild - Dist::Zilla::Plugin::NextRelease - Dist::Zilla::Plugin::PkgVersion - Dist::Zilla::Plugin::PodCoverageTests - Dist::Zilla::Plugin::PodSyntaxTests - Dist::Zilla::Plugin::PodWeaver - Dist::Zilla::Plugin::Prereqs - Dist::Zilla::Plugin::Prereqs::MatchInstalled - Dist::Zilla::Plugin::PruneCruft - Dist::Zilla::Plugin::ReadmeAnyFromPod - Dist::Zilla::Plugin::ReadmeFromPod - Dist::Zilla::Plugin::ReportVersions::Tiny - Dist::Zilla::Plugin::Test::CPAN::Changes - Dist::Zilla::Plugin::Test::Compile::PerFile - Dist::Zilla::Plugin::Test::Kwalitee - Dist::Zilla::Plugin::Test::MinimumVersion - Dist::Zilla::Plugin::Test::Perl::Critic - Dist::Zilla::Plugin::TestRelease - Dist::Zilla::Plugin::Twitter - Dist::Zilla::Plugin::UploadToCPAN - Dist::Zilla::PluginBundle::Author::KENTNL 2.002001 - Test::CPAN::Changes 0.19 - Test::Kwalitee 1.12 [Dependencies::Added / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0 [Dependencies::Added / runtime requires] - Class::Tiny [Dependencies::Added / test requires] - lib [Dependencies::Changed / build requires] - Module::Build 0.4004 → 0.4202 [Dependencies::Changed / configure requires] - Module::Build 0.4004 → 0.4202 [Dependencies::Changed / test requires] - Test::More 0.98 → 1.001002 [Dependencies::Removed / develop recommends] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite v1.3.0 [Dependencies::Removed / develop requires] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite [Dependencies::Removed / develop suggests] - Dist::Zilla::PluginBundle::Author::KENTNL v1.7.2 [Dependencies::Removed / test requires] - File::Find [Documentation] - Encoding specified - MetaPOD annotations added [Packaging] - use new MB syntax for fallback [Tests] - use Test::Compile::PerFile - Regenerate ReportVersions::Tiny to not report develop deps. - Regenerate CPAN::Changes test - Regenerate Kwalitee test 0.3.3 2013-04-03T11:32:08Z [!Noteable Changes] - Replace Path::Class with Path::Tiny [Dependencies::Added / runtime_requires] - Path::Tiny [Dependencies::Removed / runtime_requires] - Path::Class::Dir 0.3.2 2013-04-03T07:03:58Z - Maintenance release for MB 0.4004 [Dependencies::Added / develop_requires] - Pod::Coverage::TrustPod - Test::CPAN::Meta - Test::Pod 1.41 - Test::Pod::Coverage 1.08 - version 0.9901 [Dependencies::Added / runtime_requires] - perl 5.006 [Dependencies::Changed / build_requires] - Module::Build 0.3601 → 0.4004 [Dependencies::Changed / configure_requires] - Module::Build 0.3601 → 0.4004 [Dependencies::Changed / develop_recommends] - Dist::Zilla::PluginBundle::Author::KENTNL::Lite 0.01009803 → v1.3.0 [Dependencies::Changed / develop_suggests] - Dist::Zilla::PluginBundle::Author::KENTNL 1.0.0 → v1.7.2 [Dependencies::Changed / test_requires] - Test::More 0.96 → 0.98 [Documentation] - Reindent License - Update Copyright Year - Update Copyright address - Add README.mkdn [Meta] - Bug tracker moved to github issues [Packaging] - Build.PL updated for 0.4004 / test_requires [Tracking] - This source version of 0.3.1 lost and reconstructed 0.3.1 2011-10-28T20:58:28Z [Bugs] - Absolute paths were treated incorrectly as relative ones. Now using Path::Class properly which should fix this problem. Thanks to RJBS for diagnosing and reporting this problem. [Dependencies] - test removed: English [Packaging] - Updated License ( Indentation, Address ) - Extra tests moved to xt/ 0.3.0 2011-05-05T03:29:45Z [Dependencies::Testing] - Now requires Cwd as provided by File-Spec / PathTools. [Documentation] - Improved primary documentation to explain import flags [Features] - In the absense of passing the 'root' parameter, it will default to the current work directory. Considering that most of the time, the Cwd is the project root directory when running tests, this constitutes a reasonably sane default. [Tests] - Now uses Test::CPAN::Changes plugin instead of CPANChangesTests plugin - Added 03_cwd.t which tests how the module behaves when -root is implicit. 0.2.0 2011-04-07T21:10:54Z - Rereleased as 0.2.0 to signify backwards incompatible changes introduced in 0.1.2 0.1.2 2011-04-07T21:08:05Z [Features] - Adds support for dist/package sharedirs. See synopsis for syntax. [Packaging] - Remove need for @Filter. - Rework Changes for CPAN::Changes. [Tests] - Added CPAN::Changes tests. - 01 Basics files moved to 01_files and 01 Basic is reformatted to match. - Added 02_distdir and 02_files to test for dist feature. 0.1.1 2011-03-10T16:35:13Z - Overhauled the internals to make it easier to work on. - Refactored code into an object. - No externally visible changes. - Slightly more strict, but just to stop you doing stupid things. - Module Loading is now slightly lazier. 0.1.0 2011-02-21T12:42:47Z - First version, released on an unsuspecting world. - Presently only supports module share-dirs. Test-File-ShareDir-0.4.1/lib/0000755000175000017500000000000012243326566014252 5ustar kentkentTest-File-ShareDir-0.4.1/lib/Test/0000755000175000017500000000000012243326566015171 5ustar kentkentTest-File-ShareDir-0.4.1/lib/Test/File/0000755000175000017500000000000012243326566016050 5ustar kentkentTest-File-ShareDir-0.4.1/lib/Test/File/ShareDir.pm0000644000175000017500000001413412243326566020112 0ustar kentkentuse strict; use warnings; package Test::File::ShareDir; BEGIN { $Test::File::ShareDir::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::VERSION = '0.4.1'; } # ABSTRACT: Create a Fake ShareDir for your modules for testing. use File::ShareDir 1.00 qw(); sub import { my ( $class, %input_config ) = @_; require Test::File::ShareDir::TempDirObject; my $object = Test::File::ShareDir::TempDirObject->new( \%input_config ); for my $module ( $object->_module_names ) { $object->_install_module($module); } for my $dist ( $object->_dist_names ) { $object->_install_dist($dist); } unshift @INC, $object->_tempdir->stringify; return 1; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir - Create a Fake ShareDir for your modules for testing. =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::More; # use FindBin; optional use Test::File::ShareDir # -root => "$FindBin::Bin/../" # optional, -share => { -module => { 'My::Module' => 'share/MyModule' } -dist => { 'My-Dist' => 'share/somefolder' } }; use My::Module; use File::ShareDir qw( module_dir dist_dir ); module_dir( 'My::Module' ) # dir with files from $dist/share/MyModule dist_dir( 'My-Dist' ) # dir with files from $dist/share/somefolder =head1 DESCRIPTION This module only has support for creating 'new' style share dirs and are NOT compatible with old File::ShareDirs. For this reason, unless you have File::ShareDir 1.00 or later installed, this module will not be usable by you. =head1 SIMPLE INTERFACE Starting with version C<0.4.0>, there are a few extra interfaces you can use. These will probably be more useful, and easier to grok, because they don't have a layer of indirection in order to simultaneously support both C and C C's. =head2 Simple Exporter Interfaces =head3 C L<< C|Test::File::ShareDir::Dist >> provides a simple export interface for making C C's from a given path: use Test::File::ShareDir::Dist { "Dist-Name" => "share/" }; This will automatically create a C for C in a C based on the contents of C See L<< C|Test::File::ShareDir::Dist >> for details. =head3 C L<< C|Test::File::ShareDir::Module >> provides a simple export interface for making C C's from a given path: use Test::File::ShareDir::Module { "Module::Name" => "share/" }; This will automatically create a C for C in a C based on the contents of C See L<< C|Test::File::ShareDir::Module >> for details. =head2 Simple Object Oriented Interfaces =head3 C L<< C|Test::File::ShareDir::Object::Dist >> provides a simple object oriented interface for making C C's from a given path: use Test::File::ShareDir::Object::Dist; my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } ); $obj->install_all_dists; $obj->add_to_inc; This will automatically create a C for C in a C based on the contents of C See L<< C|Test::File::ShareDir::Object::Dist >> for details. =head3 C L<< C|Test::File::ShareDir::Object::Module >> provides a simple object oriented interface for making C C's from a given path: use Test::File::ShareDir::Object::Module; my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } ); $obj->install_all_modules; $obj->add_to_inc; This will automatically create a C for C in a C based on the contents of C See L<< C|Test::File::ShareDir::Object::Module >> for details. =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir", "interface":"exporter" } =end MetaPOD::JSON =head1 IMPORTING =head2 -root This parameter is the prefix the other paths are relative to. If this parameter is not specified, it defaults to the Current Working Directory ( C ). In versions prior to C<0.3.0>, this value was mandatory. The rationale behind using C as the default value is as follows. =over 4 =item * Most users of this module are likely to be using it to test distributions =item * Most users of this module will be using it in C<$project/t/> to load files from C<$project/share/> =item * Most C tools run tests with C = $project =back Therefor, defaulting to C is a reasonably sane default for most people, but where it is not it can still be overridden. -root => "$FindBin::Bin/../" # resolves to project root from t/ regardless of Cwd. =head2 -share This parameter is mandatory, and contains a C containing the data that explains what directories you want shared. -share => { ..... } =head3 -module C<-module> contains a C mapping Module names to path names for module_dir style share dirs. -share => { -module => { 'My::Module' => 'share/mymodule/', } } ... module_dir('My::Module') Notedly, it is a C, which means there is a limitation of one share dir per module. This is simply because having more than one share dir per module makes no sense at all. =head3 -dist C<-dist> contains a C mapping Distribution names to path names for dist_dir style share dirs. The same limitation applied to C<-module> applies here. -share => { -dist => { 'My-Dist' => 'share/mydist' } } ... dist_dir('My-Dist') =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/0000755000175000017500000000000012243326566017551 5ustar kentkentTest-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Module.pm0000644000175000017500000000363512243326566021343 0ustar kentkentuse strict; use warnings; package Test::File::ShareDir::Module; BEGIN { $Test::File::ShareDir::Module::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::Module::VERSION = '0.4.1'; } # ABSTRACT: Simplified C oriented C tester use File::ShareDir 1.00 qw(); sub import { my ( $class, $arg ) = @_; if ( not ref $arg or not ref $arg eq 'HASH' ) { require Carp; return Carp::croak q[Must pass a hashref]; } my %input_config = %{$arg}; require Test::File::ShareDir::Object::Module; my $params = {}; for my $key ( keys %input_config ) { next unless $key =~ /\A-(.*)\z/msx; $params->{$1} = delete $input_config{$key}; } $params->{modules} = {} if not exists $params->{modules}; for my $key ( keys %input_config ) { $params->{modules}->{$key} = $input_config{$key}; } my $object = Test::File::ShareDir::Object::Module->new($params); $object->install_all_modules(); $object->add_to_inc(); return 1; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::Module - Simplified C oriented C tester =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::File::ShareDir::Module { '-root' => "some/root/path", 'Module::Foo' => "share/ModuleFoo", }; C<-root> is optional, and defaults to C B There's a bug prior to 5.18 with C<< use Foo { -key => } >>, so for backwards compatibility, make sure you either quote the key: C<< use Foo { '-key' => } >>, or make it the non-first key. =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::Module", "interface":"exporter" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/TempDirObject.pm0000644000175000017500000001073512243326566022610 0ustar kentkentuse strict; use warnings; package Test::File::ShareDir::TempDirObject; BEGIN { $Test::File::ShareDir::TempDirObject::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::TempDirObject::VERSION = '0.4.1'; } # ABSTRACT: Internal Object to make code simpler. ## no critic (Subroutines::RequireArgUnpacking) sub __dir { require Path::Tiny; return Path::Tiny::path(@_); } sub __tempdir { require File::Temp; goto \&File::Temp::tempdir; } sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; } sub __confess { require Carp; goto \&Carp::confess; } sub new { my ( $class, $config ) = @_; __confess('Need -share => for Test::File::ShareDir') unless exists $config->{-share}; my $realconfig = { root => __dir(q{./})->absolute, #->resolve->absolute, modules => {}, dists => {}, }; $realconfig->{root} = __dir( delete $config->{-root} )->absolute if exists $config->{-root}; $realconfig->{modules} = delete $config->{-share}->{-module} if exists $config->{-share}->{-module}; $realconfig->{dists} = delete $config->{-share}->{-dist} if exists $config->{-share}->{-dist}; __confess( 'Unsupported -share types : ' . join q{ }, keys %{ $config->{-share} } ) if keys %{ $config->{-share} }; delete $config->{-share}; __confess( 'Unsupported parameter to import() : ' . join q{ }, keys %{$config} ) if keys %{$config}; return bless $realconfig, $class; } sub _tempdir { my ($self) = shift; return $self->{tempdir} if exists $self->{tempdir}; $self->{tempdir} = __dir( __tempdir( CLEANUP => 1 ) ); return $self->{tempdir}->absolute; } sub _module_tempdir { my ($self) = shift; return $self->{module_tempdir} if exists $self->{module_tempdir}; $self->{module_tempdir} = $self->_tempdir->child('auto/share/module'); $self->{module_tempdir}->mkpath(); return $self->{module_tempdir}->absolute; } sub _dist_tempdir { my ($self) = shift; return $self->{dist_tempdir} if exists $self->{dist_tempdir}; $self->{dist_tempdir} = $self->_tempdir->child('auto/share/dist'); $self->{dist_tempdir}->mkpath(); return $self->{dist_tempdir}->absolute; } sub _root { my ($self) = shift; return $self->{root}; } sub _modules { return shift->{modules}; } sub _dists { return shift->{dists} } sub _module_names { my ($self) = shift; return keys %{ $self->_modules }; } sub _dist_names { my ($self) = shift; return keys %{ $self->_dists }; } sub _module_share_target_dir { my ( $self, $modname ) = @_; ## no critic (RegularExpressions) $modname =~ s/::/-/g; return $self->_module_tempdir->child($modname); } sub _dist_share_target_dir { my ( $self, $distname ) = @_; return $self->_dist_tempdir->child($distname); } sub _module_share_source_dir { my ( $self, $module ) = @_; return __dir( $self->_modules->{$module} )->absolute( $self->_root ); } sub _dist_share_source_dir { my ( $self, $dist ) = @_; return __dir( $self->_dists->{$dist} )->absolute( $self->_root ); } sub _install_module { my ( $self, $module ) = @_; return __rcopy( $self->_module_share_source_dir($module), $self->_module_share_target_dir($module) ); } sub _install_dist { my ( $self, $dist ) = @_; return __rcopy( $self->_dist_share_source_dir($dist), $self->_dist_share_target_dir($dist) ); } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::TempDirObject - Internal Object to make code simpler. =head1 VERSION version 0.4.1 =head1 SYNOPSIS my $object = $class->new({ -root => 'foo', # optional -share => { -module => { 'baz' => 'dir', }, -dist => { 'Task-baz' => 'otherdir', }, }, }); # installs a sharedir for 'baz' by copying 'foo/dir' $object->_install_module('baz'); # installs a shardir for distribution 'Task-baz' by copying 'foo/otherdir' $object->_install_dist('Task-baz'); # add to @INC unshift @INC, $object->_tempdir->stringify; =head1 METHODS =head2 new Creates a new instance of this object. =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::TempDirObject", "interface":"class" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Dist.pm0000644000175000017500000000360612243326566021017 0ustar kentkentuse strict; use warnings; package Test::File::ShareDir::Dist; BEGIN { $Test::File::ShareDir::Dist::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::Dist::VERSION = '0.4.1'; } # ABSTRACT: Simplified C oriented C tester use File::ShareDir 1.00 qw(); sub import { my ( $class, $arg ) = @_; if ( not ref $arg or not ref $arg eq 'HASH' ) { require Carp; return Carp::croak q[Must pass a hashref]; } my %input_config = %{$arg}; require Test::File::ShareDir::Object::Dist; my $params = {}; for my $key ( keys %input_config ) { next unless $key =~ /\A-(.*)\z/msx; $params->{$1} = delete $input_config{$key}; } $params->{dists} = {} if not exists $params->{dists}; for my $key ( keys %input_config ) { $params->{dists}->{$key} = $input_config{$key}; } my $object = Test::File::ShareDir::Object::Dist->new($params); $object->install_all_dists(); $object->add_to_inc(); return 1; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::Dist - Simplified C oriented C tester =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::File::ShareDir::Dist { '-root' => 'some/root/path', 'Dist-Zilla-Plugin-Foo' => 'share/DZPF', }; C<-root> is optional, and defaults to C B There's a bug prior to 5.18 with C<< use Foo { -key => } >>, so for backwards compatibility, make sure you either quote the key: C<< use Foo { '-key' => } >>, or make it the non-first key. =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::Dist", "interface":"exporter" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Object/0000755000175000017500000000000012243326566020757 5ustar kentkentTest-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Object/Module.pm0000644000175000017500000000657512243326566022557 0ustar kentkent use strict; use warnings; package Test::File::ShareDir::Object::Module; BEGIN { $Test::File::ShareDir::Object::Module::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::Object::Module::VERSION = '0.4.1'; } # ABSTRACT: Object Oriented C creation for modules use Class::Tiny { inc => sub { require Test::File::ShareDir::Object::Inc; return Test::File::ShareDir::Object::Inc->new(); }, modules => sub { return {}; }, root => sub { require Path::Tiny; return Path::Tiny::path(q[./])->absolute; }, }; sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; } sub module_names { my ( $self, ) = @_; return keys %{ $self->modules }; } sub module_share_target_dir { my ( $self, $module ) = @_; $module =~ s/::/-/msxg; return $self->inc->module_tempdir->child($module); } sub module_share_source_dir { my ( $self, $module ) = @_; require Path::Tiny; return Path::Tiny::path( $self->modules->{$module} )->absolute( $self->root ); } sub install_module { my ( $self, $module ) = @_; my $source = $self->module_share_source_dir($module); my $target = $self->module_share_target_dir($module); return __rcopy( $source, $target ); } sub install_all_modules { my ($self) = @_; for my $module ( $self->module_names ) { $self->install_module($module); } return; } sub add_to_inc { my ($self) = @_; $self->inc->add_to_inc; return; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::Object::Module - Object Oriented C creation for modules =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::File::ShareDir::Object::Module; my $dir = Test::File::ShareDir::Object::Module->new( root => "some/path", modules => { "Hello::Nurse" => "share/HN" }, ); $dir->install_all_modules; $dir->add_to_inc; =head1 METHODS =head2 C my @names = $instance->module_names(); Returns the names of all modules listed in the C set. =head2 C my $dir = $instance->module_share_target_dir("Module::Name"); Returns the path where the C will be created for C =head2 C my $dir = $instance->module_share_source_dir("Module::Name"); Returns the path where the C will be B I for C =head2 C $instance->install_module("Module::Name"); Installs C's C =head2 C $instance->install_all_modules(); Installs all C. =head2 C $instance->add_to_inc(); Adds the C C ( C ) to the global C<@INC>. =head1 ATTRIBUTES =head2 C A C object. =head2 C A hash of : Module::Name => "relative/path" =head2 C The origin all paths's are relative to. ( Defaults to C ) =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::Object::Module", "interface":"class", "inherits":"Class::Tiny::Object" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Object/Dist.pm0000644000175000017500000000643512243326566022230 0ustar kentkent use strict; use warnings; package Test::File::ShareDir::Object::Dist; BEGIN { $Test::File::ShareDir::Object::Dist::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::Object::Dist::VERSION = '0.4.1'; } # ABSTRACT: Object Oriented C creation for distributions use Class::Tiny { inc => sub { require Test::File::ShareDir::Object::Inc; return Test::File::ShareDir::Object::Inc->new(); }, dists => sub { return {}; }, root => sub { require Path::Tiny; return Path::Tiny::path(q[./])->absolute; }, }; sub __rcopy { require File::Copy::Recursive; goto \&File::Copy::Recursive::rcopy; } sub dist_names { my ($self) = @_; return keys %{ $self->dists }; } sub dist_share_target_dir { my ( $self, $distname ) = @_; return $self->inc->dist_tempdir->child($distname); } sub dist_share_source_dir { my ( $self, $distname ) = @_; require Path::Tiny; return Path::Tiny::path( $self->dists->{$distname} )->absolute( $self->root ); } sub install_dist { my ( $self, $distname ) = @_; my $source = $self->dist_share_source_dir($distname); my $target = $self->dist_share_target_dir($distname); return __rcopy( $source, $target ); } sub install_all_dists { my ($self) = @_; for my $dist ( $self->dist_names ) { $self->install_dist($dist); } return; } sub add_to_inc { my ($self) = @_; $self->inc->add_to_inc; return; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::Object::Dist - Object Oriented C creation for distributions =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::File::ShareDir::Object::Dist; my $dir = Test::File::ShareDir::Object::Dist->new( root => "some/path", dists => { "Hello-Nurse" => "share/HN" }, ); $dir->install_all_dists; $dir->add_to_inc; =head1 METHODS =head2 C my @names = $instance->dist_names(); Returns the names of all distributions listed in the C set. =head2 C my $dir = $instance->dist_share_target_dir("Dist-Name"); Returns the path where the C will be created for C =head2 C my $dir = $instance->dist_share_source_dir("Dist-Name"); Returns the path where the C will be B I for C =head2 C $instance->install_dist("Dist-Name"); Installs C's C =head2 C $instance->install_all_dists(); Installs all C =head2 C $instance->add_to_inc(); Adds the C C ( C ) to the global C<@INC> =head1 ATTRIBUTES =head2 C A C object. =head2 C A hash of : Dist-Name => "relative/path" =head2 C The origin all paths's are relative to. ( Defaults to C ) =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::Object::Dist", "interface":"class", "inherits":"Class::Tiny::Object" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/lib/Test/File/ShareDir/Object/Inc.pm0000644000175000017500000000435512243326566022035 0ustar kentkentuse strict; use warnings; package Test::File::ShareDir::Object::Inc; BEGIN { $Test::File::ShareDir::Object::Inc::AUTHORITY = 'cpan:KENTNL'; } { $Test::File::ShareDir::Object::Inc::VERSION = '0.4.1'; } # ABSTRACT: Shared C object code to inject into C<@INC> use Class::Tiny { tempdir => sub { require Path::Tiny; require File::Temp; my $dir = Path::Tiny::path( File::Temp::tempdir( CLEANUP => 1 ) ); return $dir->absolute; }, module_tempdir => sub { my ($self) = @_; my $dir = $self->tempdir->child('auto/share/module'); $dir->mkpath(); return $dir->absolute; }, dist_tempdir => sub { my ($self) = @_; my $dir = $self->tempdir->child('auto/share/dist'); $dir->mkpath(); return $dir->absolute; }, }; sub add_to_inc { my ($self) = @_; unshift @INC, $self->tempdir->stringify; return; } 1; __END__ =pod =encoding UTF-8 =head1 NAME Test::File::ShareDir::Object::Inc - Shared C object code to inject into C<@INC> =head1 VERSION version 0.4.1 =head1 SYNOPSIS use Test::File::ShareDir::Object::Inc; my $inc = Test::File::ShareDir::Object::Inc->new(); $inc->tempdir() # add files to here $inc->module_tempdir() # or here $inc->dist_tempdir() # or here $inc->add_to_inc; =head1 DESCRIPTION This class doesn't do very much on its own. It simply exists to facilitate C creation, and the injection of those C's into C<@INC> =head1 METHODS =head2 C $instance->add_to_inc; Injects C into C<@INC> =head1 ATTRIBUTES =head2 C A path to a C of some description. =head2 C The C C base directory within the C =head2 C The C C base directory within the C =begin MetaPOD::JSON v1.1.0 { "namespace":"Test::File::ShareDir::Object::Inc", "interface":"class", "inherits":"Class::Tiny::Object" } =end MetaPOD::JSON =head1 AUTHOR Kent Fredric =head1 COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. =cut Test-File-ShareDir-0.4.1/xt/0000755000175000017500000000000012243326566014137 5ustar kentkentTest-File-ShareDir-0.4.1/xt/release/0000755000175000017500000000000012243326566015557 5ustar kentkentTest-File-ShareDir-0.4.1/xt/release/pod-coverage.t0000644000175000017500000000052712243326566020323 0ustar kentkent#!perl use Test::More; eval "use Test::Pod::Coverage 1.08"; plan skip_all => "Test::Pod::Coverage 1.08 required for testing POD coverage" if $@; eval "use Pod::Coverage::TrustPod"; plan skip_all => "Pod::Coverage::TrustPod required for testing POD coverage" if $@; all_pod_coverage_ok({ coverage_class => 'Pod::Coverage::TrustPod' }); Test-File-ShareDir-0.4.1/xt/release/cpan-changes.t0000644000175000017500000000026312243326566020274 0ustar kentkent#!perl use strict; use warnings; use Test::More 0.96 tests => 2; use_ok('Test::CPAN::Changes'); subtest 'changes_ok' => sub { changes_file_ok('Changes'); }; done_testing(); Test-File-ShareDir-0.4.1/xt/release/pod-syntax.t0000644000175000017500000000021212243326566020045 0ustar kentkent#!perl use Test::More; eval "use Test::Pod 1.41"; plan skip_all => "Test::Pod 1.41 required for testing POD" if $@; all_pod_files_ok(); Test-File-ShareDir-0.4.1/xt/release/distmeta.t0000644000175000017500000000021712243326566017556 0ustar kentkent#!perl use Test::More; eval "use Test::CPAN::Meta"; plan skip_all => "Test::CPAN::Meta required for testing META.yml" if $@; meta_yaml_ok(); Test-File-ShareDir-0.4.1/xt/release/minimum-version.t0000644000175000017500000000027012243326566021101 0ustar kentkent#!perl use Test::More; eval "use Test::MinimumVersion"; plan skip_all => "Test::MinimumVersion required for testing minimum versions" if $@; all_minimum_version_from_metayml_ok(); Test-File-ShareDir-0.4.1/xt/release/kwalitee.t0000644000175000017500000000016612243326566017554 0ustar kentkent# this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.07 use strict; use warnings; use Test::Kwalitee; Test-File-ShareDir-0.4.1/xt/release/eol.t0000644000175000017500000000024012243326566016517 0ustar kentkentuse strict; use warnings; use Test::More; eval 'use Test::EOL'; plan skip_all => 'Test::EOL required' if $@; all_perl_files_ok({ trailing_whitespace => 1 }); Test-File-ShareDir-0.4.1/xt/author/0000755000175000017500000000000012243326566015441 5ustar kentkentTest-File-ShareDir-0.4.1/xt/author/critic.t0000644000175000017500000000043512243326566017105 0ustar kentkent#!perl use strict; use warnings; use Test::More; use English qw(-no_match_vars); eval "use Test::Perl::Critic"; plan skip_all => 'Test::Perl::Critic required to criticise code' if $@; Test::Perl::Critic->import( -profile => "perlcritic.rc" ) if -e "perlcritic.rc"; all_critic_ok(); Test-File-ShareDir-0.4.1/Build.PL0000644000175000017500000000250612243326566015003 0ustar kentkent use strict; use warnings; use Module::Build 0.3601; my %module_build_args = ( "build_requires" => { "Module::Build" => "0.4202" }, "configure_requires" => { "Module::Build" => "0.4202" }, "dist_abstract" => "Create a Fake ShareDir for your modules for testing.", "dist_author" => [ "Kent Fredric " ], "dist_name" => "Test-File-ShareDir", "dist_version" => "0.4.1", "license" => "perl", "module_name" => "Test::File::ShareDir", "recommends" => {}, "recursive_test_files" => 1, "requires" => { "Carp" => 0, "Class::Tiny" => 0, "File::Copy::Recursive" => 0, "File::ShareDir" => "1.00", "File::Temp" => 0, "Path::Tiny" => 0, "perl" => "5.006", "strict" => 0, "warnings" => 0 }, "script_files" => [], "test_requires" => { "Cwd" => 0, "FindBin" => 0, "Test::Fatal" => 0, "Test::More" => "1.001002", "lib" => 0 } ); my %fallback_build_requires = ( "Cwd" => 0, "FindBin" => 0, "Module::Build" => "0.4202", "Test::Fatal" => 0, "Test::More" => "1.001002", "lib" => 0 ); unless ( eval { Module::Build->VERSION(0.4004) } ) { delete $module_build_args{test_requires}; $module_build_args{build_requires} = \%fallback_build_requires; } my $build = Module::Build->new(%module_build_args); $build->create_build_script; Test-File-ShareDir-0.4.1/t/0000755000175000017500000000000012243326566013747 5ustar kentkentTest-File-ShareDir-0.4.1/t/03_cwd.t0000644000175000017500000000126212243326566015214 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Cwd qw(chdir getcwd); my $prevcwd; use lib "$FindBin::Bin/../lib"; BEGIN { $prevcwd = getcwd; chdir "$FindBin::Bin/03_files"; } use Test::File::ShareDir -share => { -module => { 'Example' => 'share', } }; BEGIN { chdir $prevcwd; } use lib "$FindBin::Bin/03_files/lib"; use Example; use File::ShareDir qw( module_dir module_file ); is( exception { note module_dir('Example'); }, undef, 'module_dir doesn\'t bail as it finds the dir' ); is( exception { note module_file( 'Example', 'afile' ); }, undef, 'module_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/04_files/0000755000175000017500000000000012243326566015354 5ustar kentkentTest-File-ShareDir-0.4.1/t/04_files/lib/0000755000175000017500000000000012243326566016122 5ustar kentkentTest-File-ShareDir-0.4.1/t/04_files/lib/Example.pm0000644000175000017500000000020412243326566020047 0ustar kentkent# #=============================================================================== use strict; use warnings; package Example; 1; Test-File-ShareDir-0.4.1/t/04_files/share/0000755000175000017500000000000012243326566016456 5ustar kentkentTest-File-ShareDir-0.4.1/t/04_files/share/afile0000644000175000017500000000001112243326566017451 0ustar kentkentContents Test-File-ShareDir-0.4.1/t/06_cwd_simple.t0000644000175000017500000000124012243326566016564 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Cwd qw(chdir getcwd); my $prevcwd; use lib "$FindBin::Bin/../lib"; BEGIN { $prevcwd = getcwd; chdir "$FindBin::Bin/06_files"; } use Test::File::ShareDir::Module { 'Example' => 'share' }; BEGIN { chdir $prevcwd; } use lib "$FindBin::Bin/06_files/lib"; use Example; use File::ShareDir qw( module_dir module_file ); is( exception { note module_dir('Example'); }, undef, 'module_dir doesn\'t bail as it finds the dir' ); is( exception { note module_file( 'Example', 'afile' ); }, undef, 'module_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/02_files/0000755000175000017500000000000012243326566015352 5ustar kentkentTest-File-ShareDir-0.4.1/t/02_files/share/0000755000175000017500000000000012243326566016454 5ustar kentkentTest-File-ShareDir-0.4.1/t/02_files/share/afile0000644000175000017500000000001112243326566017447 0ustar kentkentContents Test-File-ShareDir-0.4.1/t/03_files/0000755000175000017500000000000012243326566015353 5ustar kentkentTest-File-ShareDir-0.4.1/t/03_files/lib/0000755000175000017500000000000012243326566016121 5ustar kentkentTest-File-ShareDir-0.4.1/t/03_files/lib/Example.pm0000644000175000017500000000020412243326566020046 0ustar kentkent# #=============================================================================== use strict; use warnings; package Example; 1; Test-File-ShareDir-0.4.1/t/03_files/share/0000755000175000017500000000000012243326566016455 5ustar kentkentTest-File-ShareDir-0.4.1/t/03_files/share/afile0000644000175000017500000000001112243326566017450 0ustar kentkentContents Test-File-ShareDir-0.4.1/t/05_files/0000755000175000017500000000000012243326566015355 5ustar kentkentTest-File-ShareDir-0.4.1/t/05_files/share/0000755000175000017500000000000012243326566016457 5ustar kentkentTest-File-ShareDir-0.4.1/t/05_files/share/afile0000644000175000017500000000001112243326566017452 0ustar kentkentContents Test-File-ShareDir-0.4.1/t/00-compile/0000755000175000017500000000000012243326566015614 5ustar kentkentTest-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_Object_Module_pm.t0000644000175000017500000000051712243326566025560 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/Object/Module.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_Module_pm.t0000644000175000017500000000050112243326566024263 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/Module.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_TempDirObject_pm.t0000644000175000017500000000051712243326566025540 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/TempDirObject.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_pm.t0000644000175000017500000000046312243326566022765 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_Object_Dist_pm.t0000644000175000017500000000051312243326566025232 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/Object/Dist.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_Dist_pm.t0000644000175000017500000000047512243326566023753 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/Dist.pm"); Test-File-ShareDir-0.4.1/t/00-compile/lib_Test_File_ShareDir_Object_Inc_pm.t0000644000175000017500000000051112243326566025036 0ustar kentkentuse strict; use warnings; # This test was generated for # using by Dist::Zilla::Plugin::Test::Compile::PerFile ( @Author::KENTNL/Test::Compile::PerFile ) version 0.001001 # with template 01-basic.t.tpl use Test::More 0.89 tests => 1; require_ok("lib/Test/File/ShareDir/Object/Inc.pm"); Test-File-ShareDir-0.4.1/t/05_dist_dir_simple.t0000644000175000017500000000076412243326566017621 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Test::File::ShareDir::Dist { '-root' => "$FindBin::Bin/05_files", 'Example-Dist' => 'share' }; use File::ShareDir qw( dist_dir dist_file ); is( exception { note dist_dir('Example-Dist'); }, undef, 'dist_dir doesn\'t bail as it finds the dir' ); is( exception { note dist_file( 'Example-Dist', 'afile' ); }, undef, 'dist_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/04_basic_simple.t0000644000175000017500000000104112243326566017065 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Test::File::ShareDir::Module { '-root' => "$FindBin::Bin/04_files", Example => 'share', }; use lib "$FindBin::Bin/04_files/lib"; use Example; use File::ShareDir qw( module_dir module_file ); is( exception { note module_dir('Example'); }, undef, 'module_dir doesn\'t bail as it finds the dir' ); is( exception { note module_file( 'Example', 'afile' ); }, undef, 'module_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/000-report-versions-tiny.t0000644000175000017500000000476512243326566020607 0ustar kentkentuse strict; use warnings; use Test::More 0.88; # This is a relatively nice way to avoid Test::NoWarnings breaking our # expectations by adding extra tests, without using no_plan. It also helps # avoid any other test module that feels introducing random tests, or even # test plans, is a nice idea. our $success = 0; END { $success && done_testing; } # List our own version used to generate this my $v = "\nGenerated by Dist::Zilla::Plugin::ReportVersions::Tiny v1.10\n"; eval { # no excuses! # report our Perl details my $want = '5.006'; $v .= "perl: $] (wanted $want) on $^O from $^X\n\n"; }; defined($@) and diag("$@"); # Now, our module version dependencies: sub pmver { my ($module, $wanted) = @_; $wanted = " (want $wanted)"; my $pmver; eval "require $module;"; if ($@) { if ($@ =~ m/Can't locate .* in \@INC/) { $pmver = 'module not found.'; } else { diag("${module}: $@"); $pmver = 'died during require.'; } } else { my $version; eval { $version = $module->VERSION; }; if ($@) { diag("${module}: $@"); $pmver = 'died during VERSION check.'; } elsif (defined $version) { $pmver = "$version"; } else { $pmver = ''; } } # So, we should be good, right? return sprintf('%-45s => %-10s%-15s%s', $module, $pmver, $wanted, "\n"); } eval { $v .= pmver('Carp','any version') }; eval { $v .= pmver('Class::Tiny','any version') }; eval { $v .= pmver('Cwd','any version') }; eval { $v .= pmver('File::Copy::Recursive','any version') }; eval { $v .= pmver('File::ShareDir','1.00') }; eval { $v .= pmver('File::Temp','any version') }; eval { $v .= pmver('FindBin','any version') }; eval { $v .= pmver('Module::Build','0.4202') }; eval { $v .= pmver('Path::Tiny','any version') }; eval { $v .= pmver('Test::Fatal','any version') }; eval { $v .= pmver('Test::More','1.001002') }; eval { $v .= pmver('lib','any version') }; eval { $v .= pmver('strict','any version') }; eval { $v .= pmver('warnings','any version') }; # All done. $v .= <<'EOT'; Thanks for using my code. I hope it works for you. If not, please try and include this output in the bug report. That will help me reproduce the issue and solve your problem. EOT diag($v); ok(1, "we really didn't test anything, just reporting data"); $success = 1; # Work around another nasty module on CPAN. :/ no warnings 'once'; $Template::Test::NO_FLUSH = 1; exit 0; Test-File-ShareDir-0.4.1/t/01_basic.t0000644000175000017500000000106212243326566015514 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Test::File::ShareDir -root => "$FindBin::Bin/01_files", -share => { -module => { 'Example' => 'share', } }; use lib "$FindBin::Bin/01_files/lib"; use Example; use File::ShareDir qw( module_dir module_file ); is( exception { note module_dir('Example'); }, undef, 'module_dir doesn\'t bail as it finds the dir' ); is( exception { note module_file( 'Example', 'afile' ); }, undef, 'module_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/06_files/0000755000175000017500000000000012243326566015356 5ustar kentkentTest-File-ShareDir-0.4.1/t/06_files/lib/0000755000175000017500000000000012243326566016124 5ustar kentkentTest-File-ShareDir-0.4.1/t/06_files/lib/Example.pm0000644000175000017500000000020412243326566020051 0ustar kentkent# #=============================================================================== use strict; use warnings; package Example; 1; Test-File-ShareDir-0.4.1/t/06_files/share/0000755000175000017500000000000012243326566016460 5ustar kentkentTest-File-ShareDir-0.4.1/t/06_files/share/afile0000644000175000017500000000001112243326566017453 0ustar kentkentContents Test-File-ShareDir-0.4.1/t/02_distdir.t0000644000175000017500000000077612243326566016111 0ustar kentkent use strict; use warnings; use Test::More 0.96; use Test::Fatal; use FindBin; use Test::File::ShareDir -root => "$FindBin::Bin/02_files", -share => { -dist => { 'Example-Dist' => 'share', } }; use File::ShareDir qw( dist_dir dist_file ); is( exception { note dist_dir('Example-Dist'); }, undef, 'dist_dir doesn\'t bail as it finds the dir' ); is( exception { note dist_file( 'Example-Dist', 'afile' ); }, undef, 'dist_file doesn\'t bail as it finds the file' ); done_testing; Test-File-ShareDir-0.4.1/t/01_files/0000755000175000017500000000000012243326566015351 5ustar kentkentTest-File-ShareDir-0.4.1/t/01_files/lib/0000755000175000017500000000000012243326566016117 5ustar kentkentTest-File-ShareDir-0.4.1/t/01_files/lib/Example.pm0000644000175000017500000000020412243326566020044 0ustar kentkent# #=============================================================================== use strict; use warnings; package Example; 1; Test-File-ShareDir-0.4.1/t/01_files/share/0000755000175000017500000000000012243326566016453 5ustar kentkentTest-File-ShareDir-0.4.1/t/01_files/share/afile0000644000175000017500000000001112243326566017446 0ustar kentkentContents Test-File-ShareDir-0.4.1/.travis.yml0000644000175000017500000000201112243326566015607 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.8" env: STERILIZE_ENV=1 - perl: "5.10" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "master" - "build/master" - "releases" Test-File-ShareDir-0.4.1/README0000644000175000017500000001220712243326566014366 0ustar kentkentNAME Test::File::ShareDir - Create a Fake ShareDir for your modules for testing. VERSION version 0.4.1 SYNOPSIS use Test::More; # use FindBin; optional use Test::File::ShareDir # -root => "$FindBin::Bin/../" # optional, -share => { -module => { 'My::Module' => 'share/MyModule' } -dist => { 'My-Dist' => 'share/somefolder' } }; use My::Module; use File::ShareDir qw( module_dir dist_dir ); module_dir( 'My::Module' ) # dir with files from $dist/share/MyModule dist_dir( 'My-Dist' ) # dir with files from $dist/share/somefolder DESCRIPTION This module only has support for creating 'new' style share dirs and are NOT compatible with old File::ShareDirs. For this reason, unless you have File::ShareDir 1.00 or later installed, this module will not be usable by you. SIMPLE INTERFACE Starting with version 0.4.0, there are a few extra interfaces you can use. These will probably be more useful, and easier to grok, because they don't have a layer of indirection in order to simultaneously support both "Module" and "Dist" "ShareDir"'s. Simple Exporter Interfaces "Test::File::ShareDir::Dist" "Test::File::ShareDir::Dist" provides a simple export interface for making "TempDir" "ShareDir"'s from a given path: use Test::File::ShareDir::Dist { "Dist-Name" => "share/" }; This will automatically create a "ShareDir" for "Dist-Name" in a "TempDir" based on the contents of "CWD/share/" See "Test::File::ShareDir::Dist" for details. "Test::File::ShareDir::Module" "Test::File::ShareDir::Module" provides a simple export interface for making "TempDir" "ShareDir"'s from a given path: use Test::File::ShareDir::Module { "Module::Name" => "share/" }; This will automatically create a "ShareDir" for "Module::Name" in a "TempDir" based on the contents of "CWD/share/" See "Test::File::ShareDir::Module" for details. Simple Object Oriented Interfaces "Test::File::ShareDir::Object::Dist" "Test::File::ShareDir::Object::Dist" provides a simple object oriented interface for making "TempDir" "ShareDir"'s from a given path: use Test::File::ShareDir::Object::Dist; my $obj = Test::File::ShareDir::Object::Dist->new( dists => { "Dist-Name" => "share/" } ); $obj->install_all_dists; $obj->add_to_inc; This will automatically create a "ShareDir" for "Dist-Name" in a "TempDir" based on the contents of "CWD/share/" See "Test::File::ShareDir::Object::Dist" for details. "Test::File::ShareDir::Object::Module" "Test::File::ShareDir::Object::Module" provides a simple object oriented interface for making "TempDir" "ShareDir"'s from a given path: use Test::File::ShareDir::Object::Module; my $obj = Test::File::ShareDir::Object::Module->new( modules => { "Module::Name" => "share/" } ); $obj->install_all_modules; $obj->add_to_inc; This will automatically create a "ShareDir" for "Module::Name" in a "TempDir" based on the contents of "CWD/share/" See "Test::File::ShareDir::Object::Module" for details. IMPORTING -root This parameter is the prefix the other paths are relative to. If this parameter is not specified, it defaults to the Current Working Directory ( "CWD" ). In versions prior to 0.3.0, this value was mandatory. The rationale behind using "CWD" as the default value is as follows. * Most users of this module are likely to be using it to test distributions * Most users of this module will be using it in "$project/t/" to load files from "$project/share/" * Most "CPAN" tools run tests with "CWD" = $project Therefor, defaulting to "CWD" is a reasonably sane default for most people, but where it is not it can still be overridden. -root => "$FindBin::Bin/../" # resolves to project root from t/ regardless of Cwd. -share This parameter is mandatory, and contains a "hashref" containing the data that explains what directories you want shared. -share => { ..... } -module "-module" contains a "hashref" mapping Module names to path names for module_dir style share dirs. -share => { -module => { 'My::Module' => 'share/mymodule/', } } ... module_dir('My::Module') Notedly, it is a "hashref", which means there is a limitation of one share dir per module. This is simply because having more than one share dir per module makes no sense at all. -dist "-dist" contains a "hashref" mapping Distribution names to path names for dist_dir style share dirs. The same limitation applied to "-module" applies here. -share => { -dist => { 'My-Dist' => 'share/mydist' } } ... dist_dir('My-Dist') AUTHOR Kent Fredric COPYRIGHT AND LICENSE This software is copyright (c) 2013 by Kent Fredric . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. Test-File-ShareDir-0.4.1/layout/0000755000175000017500000000000012243326566015021 5ustar kentkentTest-File-ShareDir-0.4.1/layout/self_structure.png0000644000175000017500000005351212243326566020606 0ustar kentkentPNG  IHDR+g辞WIDATxyPpf$8%r[wV @QZ}6X EkNr%rD  C[X],"$N~{{?~OL$ 0YPT[UeچLgthhE_Q{ H9qg}`%Q@/U{R6K O&weoQ 0(T;,̍[c `$Уgg+ӟ rXq q6G9O` et9Ny 'PEr]t O.("@)~/z-'M`|A<2o[,ցyS?.V6pkyfqv+^VWc5<϶޼9,'W-2.`wݷj-iO\B1VqsAq(c/22[-LJTQ%"xkR]|@1G2FJEdr=yO,kI h)/$UW}]&&?綋;YsJP&nI+\;4b\&Ma}򑈌/h"y&%ɏ}fonw l)+u"MN!- G ~g>wZYT`)uޜ:E~N;;D'0Af'ՙάWlj7c;t?ŵ3Lgq[ezvE 2 Kc^jDU$wsIG@Κfg뢶,a1qwquU~اcM;x::hCǪ:젭K{ɶ  35mm  +͌kS=l>S}h8^|HZuR|`3@CLRTqV+H$k&j~q>tOa nA﯎AU=1c%(,PDx隟\F@,L_0LKzSacگB" ́`%PMg31QyZWȹQ1w]޻jTx˸ߊEonv+\Sy͘VJZv*D9Pt^w1;#}rNshP\'Mv52Q-haL:x *ox4E?uW= ?#u-xfb7i\#Q&lKUR\SEY!a4CBfi YsFdVur@0HV~OaJ/}@|׍C MWk]‚cK5 (WέߕH2HmR6`' zO[)&W8^as86BV|otK=DCd+Q(l0 Нkmz;ۙ1x|];2^҆#kLZR*P"UuښzR~tJ 87[J)X{'''.t2{ȑ# !13 j Ejj*+@@3$z@3^+5fk@, qBkJC:xFiC]ɘE>,_;@Fugf$69c1?j$5<8`@_i^#k<={"u5=tӢI`lw"_:JܑU2%(3%* DoK`b3>=׎^;Jڰ`]Yz ]c@Fw'nr/~M7Qd5 /l_ݏx!KY=0xNeכBi56x9Jb% $v( dp}Elf1$ ./ܺ@<ݝ5 f=eR;w1Д׬& kN9#}銶1Ol0]uoKo:y=:D';[kpZkS/"MFߋ #. Җv$9pJ dl.'Ɠai$ 9tO "յ #!=s.DUL opvm(@^@\IoYb~C7jHoٷ'p'^ojKa194[ }ᕛi~4qK*.fĘIչÈ'J/L[yn銦**;vD4z&{3p8MEv҆@d匨iֽ$ٵӳX /K&޸=ezOR@oďW gNS}Vzw 9M\[VmZ'bl /;T(:ge:2o $*$aЀݷT3TI{A%_&4i #M4W #rn-^q,wuZx:1sbN&rKPJsLjBx8/Mʸ?ԅhHxnho}ecJ?#w-Ҕm|l<R@S/\>RH D@H-I 6; [y>ro53+bI0NOVJ XuEًF]Λ]Y/EEln}|>w՘aLd@gVGEKo!O@I>°soĆA"I CK!•}q6X:P< $@=nG|5(ƽmΒ8%qBBgbm7N~:N `kJQn[ʲf?3Fi#ogu"5jN 5@DWmBO̭¤`{dz|QXf~$n~{x{v-(ѐu5&.SH19>;@$^{vwbSVWYx2 g %ћ@R bs AιbkW{v@'ti{_c0B{%^50 j/N'y/CVS>D2_y/LH hO|%PYYYbb"1vg,hbsD'+ٮ8sk]U:KQDcyY*YXח'П+<HSZet_,7m}2n2k"k"7& L3GH5u/CzJn4l͚hO\VE%_0|q}ׂꇈZVޕ!# }TnLdKDi; 4tYG$%K]zX@3)aD٬8_<HHbһH/[sWP58J}sV}sG(2ΚEV$?E "Σ)YJY&=kRr1mszuM3vZZʯp~[hj-dZ*tbaNIrldgk۱Uov SƿQgtQ?rIi NJ؇w-?L'O G|`zbYpU4sf8/>2wÿ _8>2dTQiٵdGp,_KC䏠3T,SW.C7ԙ]W3cbf'SLvX8xƼW*|g(Is2bH Jpss. 8PUMGJ~!ɎQ?$w [I >h8Td5|0 LZ=؟8sO>7"?7)ʟ#n.m<" >l2*O? )H@ ʕ+,L ~@MMM D$@H  p& ?*..V, p&}JL5uC۴i$]JJJP>N V[QQm۶DF"o2sQ>IX$@@ H s1Uq&Y"a&ltrf:&jzZŵ,NRZ=[YC3fZ@zhbLD˽{Ȯgzgye@@ P (@ @4[4)2 g@@&b0~g۶mb?>Z337()PA '+1V(b999 '̛yK1w"(SݔaC>5DzӒ-tĺӦ?um?tnAtu0iQe_Thy&.~;6yP}.93@kkEf ݠŅ״ j;{e˥P1ʷ&E}ygEVSj.ϵ"3w\(uʇݭgs0G  fzP;; i d%ѳ7hh>[WfR7aDFc£"DYZj<>Ѱ4o<[8hx/ET@uRE70ic%Oت}l@+v-z鞰hj{[㺊[uu^9+f-f8rBdLJ-5?0 SiFn3NpP[,(P .4 'HyB$2K^{܁__sJhփ CTH_Pt@MUN!g@.߆jWmOwf-3ٺ]3++p}D؜sN(%J,BNkͦ9Cc+>ﳋN@È̎mw {x?Y=m SԒTS-e%"BN;@7H1YqQVYo r%O*>hus1[\,ZrtLf~cb($в%hFFnbNJT sqvrtOLD~$j!;@̙ u$;B1qb?K.d"y $@;RO沙 mzHTT/mcU.Ի K sE`=@ꅄ;@l 1y q<$vr mM)17bI&o:EWӆ $Ϫk.|yD$P}en؎w&z:OD7Oy̷\{⵪}u<EӮĿHfӲ#v,@/ `67:/';?5cWܾ??j_qB[ՂaqDNtw'cbGc!ԏ[RJcݲ7h٩1R4@!bn9aFYLGpV=RC(m{՗hǭ(e_ |\Ϛ&:GDK3Pd>Ld>&LG.7&j Sˁy)jsV8fZ)hb7wo?~v E~}}@ P (@ @ P (=fY Ġ_Zb0w<z^l6ՠnj/SvA=z~[8X @1A(;"( P l P ((pg{{ك&u¥<5'-Q7uߊe?X=ݓ'Vkuu@zgI()VSݢq(pYߕ=/`)kV-dz&Bd䊓.ˇ_GMͻӟ)9/Ĉu9mQ"D40g|©]șAS:oSDdΫwdmbM˩ {Tg8d 2$T5g6wyGbW ]+\vw먩WKrx[ kb@YD>vQPwhWnܕQ-U(X CKN5ۡ5Y2vNp-_ BnӮ~79P\Q Ϲ@D74u78lCʝ)Q"_]uKt@7ŊD.WKBIy:J3Fe)"n/T.WGS7||O%{wԕ,@%, Qq ҅RՎVRŭSVڲj#DeU a_ܼIXbӞ!`޽<}-0&}s.\hzT*T@aӝ6Td֟+M Յ5K;NzkW]?K)$d3^Q&ӇT7':p3<­/&* _  K D-'NHȼoӉz+E6 e0~y sZ{\43n)FIДZj@36a\#̲崈q{^Ӑn{3 TѕG;*gHH)_a#L⤿F1z8} HnB⶜_hPW)$tGnt Z6ןO_/T 9ћ'/oL0UyєG{1L,>$M nrx,+MibDr\JH}.QH@޻3U~>HNAut+Outql1PpA8^l!C'Bv%9~{PyUy +XrV4' nAJ)8c:n|Q%~Op* {$ﴓtˍn ? 0%&,@*sGⓎ3G@oKsO6\?uJ+t1...YYY 4J U{O#eףIg(  Q$.PIvG%_;ެ 6w."cdӕGv%zN&W<.>HΊ:G1l> x&`%) b83a'|mgKSxMe brS]#Lܜ6xUHـJ/ijRީK:nTy#Bh@yaSyeln);ҁ4?$-!GD2vW/FDO/i03֙dWPyn\bh{6Hh͜05]?j@tȾ;20K[DxL|Xd$->Th*'~1@ׯWdR T"03$1>d9|~!Z)3Z=W?7"ӛU兠ސ2>R窻o&$\< zG=.8b?-s6,:xFc_o)U`헷LVՋYԕ!'OWHѡ-7Bρʒjh=y]Eihh@(Xn?!!!$=Y! qL Xr۽:fXo+=1D|ԛ2u9Lj#i hx6td~vLa y&zo'I$i3-Y/ *-?Bj C JzVϡX-jUnr-G߾KbHDjhwVԝal9KxmXPva9!Dog~BSXPlߎ&JxM |7|jsK3s}/)ӛH́ul|#Om&wH jӖ' y[ ~ح6>}uvp~Abd& 4},rv/V@kV=H.x׽p*G.TwPo!/ZufWGR}7G[.Ųbn>m- ݲ|/EJ"@1ohm/7?Ro,B# kE&Ds_Ԟ^ {y\~i{i Ň}qop`gl;Mz,A$,/% ؙtu'xJW˞N'* n8Fx-jnt̚dջWuaX} xHT1^P0ӯ76kɫKZ7i曥M.&u7 ![`dYOa;MM#%amp6'֟4  QUg_!bd6[_wl}4#3bPüq GR¡?!+]@_b\+% *;ȿiL?/2,&BB\ RQh&Զ\<18*+ypKo. >{f K(5L zY^rh;nⴿ~S:ߎcW'}d4M ,F^ +rHĭMBkNU,$dRFL tL z;1 mV'Ǻ ea9lyZCE7Vx}Q  L Pwk^6SHӖ9䕨_Ky8 +"l꼄ǧpƾ'jߟT)9ɯ-} eqؚ͌/xr5l\) D*j\e*؜[/q0B=5g̢G ?W@$H6$pqEc5eS4 0zڟ  Tv;5aۀ"L saX.?JIoIl:#L sQjyju@&BU\pa|t5@ ]@:o \eN LnH-++ :H HmؾN쓰I.8aل 6!\ ov܊.!#ju@|1N { KQC;aa&Bj{.Cp7[ΉP_H H}o.J^7?EB@"&B@ua!+&ÂX Bqo B@=/46 CC_6gSrR8|v;`UOݳ)o&`!L ~yu&zFM5[\up1V oW)JK Nɀ~[q kKIVKo+QnIg-'BH C>ڢ=RS*GkLz%)@v,.Hyzlk}UY+еG:5k[#@FІwit$9ޯ@5%Nzit)Ӄt' w<+-Mٻ&/S8ކ2PզfÜa5 ۵ݟzTGY>l WMJ?#*А]vE /cGMܐ+ԓTaHq;" u>-8ͳUt O^6YD?K >[0zn͑sIiN+pz(T;ljfN(Xi .V@a2bE- p(O~9]j`츩՝6c c<"z؉W||òQ} '|*$x9x8ޚ bF^j* $KC#:y7(uVn}|,@:H٪"q w?e%hbE)S[ÊcP)o}_ c*} 9EI_P+_o^8IC Aݗ@l3 n*Pڵfv^)T{i˜Jԯ%<|OpdsT6u^BS w8?ycߓ 5OV_ז@>8fFlMS>Gr+h1ȌKHsRypa*\Z؂w~@v1o^yQ DHUۿk˂euE<7߅?2]q6OѶnO~)$Ƈ@xơZ@H/MךH-`GMVQLT(P]Tv+ʲpC]‡,0V%)}T3_7G^tx{Hb+υ5TUG| Л(!e vyR@4?s<65WGCyb5Pw._yq݈Cgǂ*rٿ٬{ͧfin#>%R~al$O9Q h̿ɹfn< D1jIK: Y@yH_222_~)F̣!m!NG TS/*ڢ5*;஠*EjVR Tb[>TZ@((P6$ZEYٗΛn4Vwr8|Tgӝ#k;@R7h]ovAZc bWL5牫ZFΥ^L>CֿKj.ՓB4b JOݦ*RZ3RXR:4jZxUCjֈۏ[5@Avb|1^(DC?"lÌs |權'ODVm9MTn)+C(uiӭ>k{&Uۣ.FjjrV,J Fj2AqՅ(QjMGQG4e;qiNbam Y|X r&PJo3VoLpXt~h3}|EˢjĈQ=[c Z%p/NLZPTG*xoǥ4w(8PC  p:U?oU'4\I}vVlӚz0]P 7w6~W-MQ5u> i@9|ESGHõm|n}H~7z܀Nm案{(8GW# SuwXzAbtzur6$(9}lHKq15 6qۚjy&Wpo&-bt6ٞ͑kHLH:AZ;@CKcmit~ hɧbqUl9\1&tOo4ʄ3IEq NЖ +~[d |?iG?RO*nS#30PcgII?Aj Qmͻu"Drz/Ф<(:B'?#6L9en_= w]+5mp֒KsxwՒdk8ޢ Qm?.ׄD~\&Q8२nEJh6ʯWF%!q(Gv´ØBq#[[.N zk&٫$'T,xYkDUt_S$YsFu6CWWr]QAG.,PcQ_L}XZ.5x.$D/J ;tJ$v7 J#64oXA+B/?Kk-Ͼ4a_O_E}>pbu $Orr='Rq[o5#,4hW.\NEӤ ~%| H{1ܳ"HD*>MCTdOTR=<@1~,scτ[gҏP1>us {59'qIE[;Б7 hoMoC29X}Nw3 ^Ȗe<:_kvP>A؜ފd#vkʎ[` Uy̮Uy*YUy@} VKLtyf?E1/+/2TjeRإO@T ֝niIQ[-Wc?vSr zH؝pq{2ާ]Ȗ/'UB\>޴C]u=KwK9M]{= -qn'Sb"PJYvu5<"Ut,Go{"N珼*A<x]=!A`W̧I#j"DЉGIk%m+z֑l>zX2+е"tB),Rtn=AU 5sX =o 'x1BTBZV{ET(0Sf4t"]~eTmul` x?_^KRi-td=bƶt\`v@ۭ @@"_":XnE|˨Z:K5>b4NcThAL &y&.P+=i0}hr6t΂@` KɊKe͔^/v3%D7;Jo8wfoOk. 8JK T^dwEu^RI@s#+ڬQ ` %ZK?i+~7y""QuJԝǒt@?uH)<5ԛɧl;3Nn_]A };]?wR-Pm_M:v1c?{$7BXQ [%ZKoq<>ډac߯IIIAi/!^I[@+$9rDI&##)" ZR^򓄗k I0R@zI~ =%6/)z0ox/ ]٤Z1x #%œj! ꗜTR q) /)Mթ[W^򓆗L-mB%s=e!  `Pi3{n Lt2wh-LEsAJK!A\ւޝEqqe(KftFh@AILxⱺ1+3J Q"( rMA;ʀ"0f~Tpd5US7U~  PM'oFIu(T=jg rN_Fa)/kB V!C'#=[|=y#n{sLB=ݐ@a0!\=Aw1g;D@w;BH>i0)lTچx,_Zx]ctJI$,}Mv<>S_@7gsQH@-*MՒkA!nrhVFyaS ԐI`$ٙ@me6DC tdB޻zTeus)㫟O&+锉|N]i=if_tT..2s_{oa ҩԅo4I*uPAe6tbLovc%e?HMŹ} հPܰfoP>gygVr11[,F чC T܈АRp[.3}*%L{Z4%,qMі Փg[<44O D1GkܓOro#㗞f}P9NKZv:]̯V3(R3M?9p˦ Dm4Ru$g$گ uĹQ]Dx[oTĹZ.uo"Qe!GlaQ,nQ\jVHOyl?)@-fTcSY\R<=߈Q?buM`]OS.hCH N&>lW}t[#rJMRڕgu2 !O81 =R0gb`_ z3<U{1p yֆM^hœ: ξ@&ۢ'*U{2#bA9ϷV&}x*n NJ}MI{>/2 'Pob$g[xf?eYo:o$3 2û\HtOBɹ}=&6*4hz mݷJ#% ɅP߆5"7_4+rNnK,t(#ȓr OVz6~umeFsdd8wrvw\)>F_W*!LTd)u7oo|l5ρuN3@7p^M d &.;4kvyXcs\B 3q8cnn6iMhS ƌGLs+C';JoYc CșFRp2`z axښ1>}(oc4sO !V-27ڜ-zUțB 9;NUu6z9&mn|G|1G*n:dɥG‡s&ShSn!J4!$-I )JYV Lۅ\DYo4ⳓFM.ނh~V?&FSw D9|TI3Δ@({z8R/-+`-)uǩaA~ ]p=?/^jT%z#0l-AxV~s^`EE|Ci(Qԥ}_\o ;E;lV1qAэrօ72ϖڄ $ o<IENDB`Test-File-ShareDir-0.4.1/layout/self_structure.dot0000644000175000017500000000325712243326566020611 0ustar kentkentstrict digraph Perl { graph [compound=1, concentrate=1, overlap=false, rankdir=LR, ranksep=1, smoothing=triangle, splines=spline]; node [label="\N", shape=record, style=dotted]; edge [minlen=1]; "Class::Tiny::Object" [label="Class::Tiny::Object"]; "Test::File::ShareDir" [label="Test::File::ShareDir"]; "Test::File::ShareDir::Dist" [label="Test::File::ShareDir::Dist"]; "Test::File::ShareDir::Module" [label="Test::File::ShareDir::Module"]; "Test::File::ShareDir::Object::Dist" [label="Test::File::ShareDir::Object::Dist", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"]; "Test::File::ShareDir::Object::Inc" [label="Test::File::ShareDir::Object::Inc", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"]; "Test::File::ShareDir::Object::Module" [label="Test::File::ShareDir::Object::Module", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"]; "Test::File::ShareDir::TempDirObject" [label="Test::File::ShareDir::TempDirObject", shape=Mrecord, style=solid, color="#7e1e9c", fontsize=7, height="0.1"]; "Class::Tiny::Object" -> "Test::File::ShareDir::Object::Dist" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10]; "Class::Tiny::Object" -> "Test::File::ShareDir::Object::Inc" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10]; "Class::Tiny::Object" -> "Test::File::ShareDir::Object::Module" [arrowhead=open, arrowsize="0.5", color="#ff81c0", dir=forward, fontsize=6, headclip=1, label="inherited by", samehead=head, tailclip=1, weight=10]; } Test-File-ShareDir-0.4.1/META.yml0000644000175000017500000003716512243326566014771 0ustar kentkent--- abstract: 'Create a Fake ShareDir for your modules for testing.' author: - 'Kent Fredric ' build_requires: Cwd: 0 FindBin: 0 Module::Build: 0.4202 Test::Fatal: 0 Test::More: 1.001002 lib: 0 configure_requires: Module::Build: 0.4202 dynamic_config: 0 generated_by: 'Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: 1.4 name: Test-File-ShareDir no_index: directory: - t/tlib provides: Test::File::ShareDir: file: lib/Test/File/ShareDir.pm version: v0.4.1 Test::File::ShareDir::Dist: file: lib/Test/File/ShareDir/Dist.pm version: v0.4.1 Test::File::ShareDir::Module: file: lib/Test/File/ShareDir/Module.pm version: v0.4.1 Test::File::ShareDir::Object::Dist: file: lib/Test/File/ShareDir/Object/Dist.pm version: v0.4.1 Test::File::ShareDir::Object::Inc: file: lib/Test/File/ShareDir/Object/Inc.pm version: v0.4.1 Test::File::ShareDir::Object::Module: file: lib/Test/File/ShareDir/Object/Module.pm version: v0.4.1 Test::File::ShareDir::TempDirObject: file: lib/Test/File/ShareDir/TempDirObject.pm version: v0.4.1 requires: Carp: 0 Class::Tiny: 0 File::Copy::Recursive: 0 File::ShareDir: 1.00 File::Temp: 0 Path::Tiny: 0 perl: 5.006 strict: 0 warnings: 0 resources: bugtracker: https://github.com/kentfredric/Test-File-ShareDir/issues homepage: https://github.com/kentfredric/Test-File-ShareDir repository: https://github.com/kentfredric/Test-File-ShareDir.git version: 0.4.1 x_BuiltWith: modules: Carp: 1.32 Class::Tiny: 0.012 Cwd: 3.45 Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl: 2.002001 Dist::Zilla::Plugin::Authority: 1.006 Dist::Zilla::Plugin::AutoPrereqs: 5.006 Dist::Zilla::Plugin::CheckExtraTests: 0.016 Dist::Zilla::Plugin::ConfirmRelease: 5.006 Dist::Zilla::Plugin::EOLTests: 0.02 Dist::Zilla::Plugin::Git::Check: 2.017 Dist::Zilla::Plugin::Git::Commit: 2.017 Dist::Zilla::Plugin::Git::CommitBuild: 2.017 Dist::Zilla::Plugin::Git::GatherDir: 2.017 Dist::Zilla::Plugin::Git::NextVersion: 2.017 Dist::Zilla::Plugin::Git::Tag: 2.017 Dist::Zilla::Plugin::GithubMeta: 0.42 Dist::Zilla::Plugin::License: 5.006 Dist::Zilla::Plugin::Manifest: 5.006 Dist::Zilla::Plugin::ManifestSkip: 5.006 Dist::Zilla::Plugin::MetaConfig: 5.006 Dist::Zilla::Plugin::MetaData::BuiltWith: 0.04000000 Dist::Zilla::Plugin::MetaJSON: 5.006 Dist::Zilla::Plugin::MetaProvides::Package: 1.15000000 Dist::Zilla::Plugin::MetaTests: 5.006 Dist::Zilla::Plugin::MetaYAML: 5.006 Dist::Zilla::Plugin::ModuleBuild: 5.006 Dist::Zilla::Plugin::NextRelease: 5.006 Dist::Zilla::Plugin::PkgVersion: 5.006 Dist::Zilla::Plugin::PodCoverageTests: 5.006 Dist::Zilla::Plugin::PodSyntaxTests: 5.006 Dist::Zilla::Plugin::PodWeaver: 4.002 Dist::Zilla::Plugin::Prereqs: 5.006 Dist::Zilla::Plugin::Prereqs::MatchInstalled: 0.1.4 Dist::Zilla::Plugin::PruneCruft: 5.006 Dist::Zilla::Plugin::ReadmeAnyFromPod: 0.133060 Dist::Zilla::Plugin::ReadmeFromPod: 0.21 Dist::Zilla::Plugin::ReportVersions::Tiny: 1.10 Dist::Zilla::Plugin::Test::CPAN::Changes: 0.008 Dist::Zilla::Plugin::Test::Compile::PerFile: 0.001001 Dist::Zilla::Plugin::Test::Kwalitee: 2.07 Dist::Zilla::Plugin::Test::MinimumVersion: 2.000005 Dist::Zilla::Plugin::Test::Perl::Critic: 2.112410 Dist::Zilla::Plugin::TestRelease: 5.006 Dist::Zilla::Plugin::Twitter: 0.023 Dist::Zilla::Plugin::UploadToCPAN: 5.006 Dist::Zilla::PluginBundle::Author::KENTNL: 2.002001 Dist::Zilla::PluginBundle::Author::KENTNL::Lite: 1.7.2 File::Copy::Recursive: 0.38 File::ShareDir: 1.03 File::Temp: 0.2304 FindBin: 1.51 Module::Build: 0.4202 Path::Tiny: 0.044 Pod::Coverage::TrustPod: 0.100003 Test::CPAN::Changes: 0.25 Test::CPAN::Meta: 0.23 Test::Fatal: 0.013 Test::Kwalitee: 1.17 Test::More: 1.001002 Test::Pod: 1.48 Test::Pod::Coverage: 1.08 lib: 0.63 strict: 1.08 version: 0.9904 warnings: 1.20 perl: original: v5.19.5 qv: 1 version: - 5 - 19 - 5 perl-config: gccversion: 4.7.3 myarchname: x86_64-linux osname: linux platform: linux uname: 'Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux' x_Dist_Zilla: perl: version: 5.019005 plugins: - class: Dist::Zilla::Plugin::Git::NextVersion name: '@Author::KENTNL/Git::NextVersion' version: 2.017 - class: Dist::Zilla::Plugin::MetaConfig name: '@Author::KENTNL/MetaConfig' version: 5.006 - class: Dist::Zilla::Plugin::GithubMeta name: '@Author::KENTNL/GithubMeta' version: 0.42 - class: Dist::Zilla::Plugin::FinderCode name: '@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM' version: 5.006 - class: Dist::Zilla::Plugin::MetaProvides::Package config: Dist::Zilla::Plugin::MetaProvides::Package: {} Dist::Zilla::Role::MetaProvider::Provider: inherit_missing: 1 inherit_version: 1 meta_noindex: 1 name: '@Author::KENTNL/MetaProvides::Package' version: 1.15000000 - class: Dist::Zilla::Plugin::MetaData::BuiltWith config: Dist::Zilla::Plugin::MetaData::BuiltWith: _stash_key: x_BuiltWith show_config: 1 show_uname: 1 uname: uname_args: - '-s' - '-o' - '-r' - '-m' - '-i' uname_call: uname name: '@Author::KENTNL/MetaData::BuiltWith' version: 0.04000000 - class: Dist::Zilla::Plugin::Git::GatherDir name: '@Author::KENTNL/Git::GatherDir' version: 2.017 - class: Dist::Zilla::Plugin::License name: '@Author::KENTNL/License' version: 5.006 - class: Dist::Zilla::Plugin::MetaJSON name: '@Author::KENTNL/MetaJSON' version: 5.006 - class: Dist::Zilla::Plugin::MetaYAML name: '@Author::KENTNL/MetaYAML' version: 5.006 - class: Dist::Zilla::Plugin::Manifest name: '@Author::KENTNL/Manifest' version: 5.006 - class: Dist::Zilla::Plugin::MetaTests name: '@Author::KENTNL/MetaTests' version: 5.006 - class: Dist::Zilla::Plugin::PodCoverageTests name: '@Author::KENTNL/PodCoverageTests' version: 5.006 - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Author::KENTNL/PodSyntaxTests' version: 5.006 - class: Dist::Zilla::Plugin::ReportVersions::Tiny name: '@Author::KENTNL/ReportVersions::Tiny' version: 1.10 - class: Dist::Zilla::Plugin::Test::Kwalitee name: '@Author::KENTNL/Test::Kwalitee' version: 2.07 - class: Dist::Zilla::Plugin::EOLTests name: '@Author::KENTNL/EOLTests' version: 0.02 - class: Dist::Zilla::Plugin::Test::MinimumVersion name: '@Author::KENTNL/Test::MinimumVersion' version: 2.000005 - class: Dist::Zilla::Plugin::FinderCode name: '@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM' version: 5.006 - class: Dist::Zilla::Plugin::Test::Compile::PerFile config: Dist::Zilla::Plugin::Test::Compile::PerFile: file: - lib/Test/File/ShareDir.pm - lib/Test/File/ShareDir/Dist.pm - lib/Test/File/ShareDir/Module.pm - lib/Test/File/ShareDir/Object/Dist.pm - lib/Test/File/ShareDir/Object/Inc.pm - lib/Test/File/ShareDir/Object/Module.pm - lib/Test/File/ShareDir/TempDirObject.pm path_translator: base64_filter prefix: t/00-compile skip: [] test_template: 01-basic.t.tpl xt_mode: ~ name: '@Author::KENTNL/Test::Compile::PerFile' version: 0.001001 - class: Dist::Zilla::Plugin::Test::Perl::Critic name: '@Author::KENTNL/Test::Perl::Critic' version: 2.112410 - class: Dist::Zilla::Plugin::PruneCruft name: '@Author::KENTNL/PruneCruft' version: 5.006 - class: Dist::Zilla::Plugin::ManifestSkip name: '@Author::KENTNL/ManifestSkip' version: 5.006 - class: Dist::Zilla::Plugin::PkgVersion name: '@Author::KENTNL/PkgVersion' version: 5.006 - class: Dist::Zilla::Plugin::PodWeaver config: Dist::Zilla::Plugin::PodWeaver: finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@CorePrep/EnsurePod5' version: 4.004 - class: Pod::Weaver::Plugin::H1Nester name: '@CorePrep/H1Nester' version: 4.004 - class: Pod::Weaver::Plugin::SingleEncoding name: '-SingleEncoding' version: 4.004 - class: Pod::Weaver::Section::Name name: Name version: 4.004 - class: Pod::Weaver::Section::Version name: Version version: 4.004 - class: Pod::Weaver::Section::Region name: prelude version: 4.004 - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: 4.004 - class: Pod::Weaver::Section::Generic name: DESCRIPTION version: 4.004 - class: Pod::Weaver::Section::Generic name: OVERVIEW version: 4.004 - class: Pod::Weaver::Section::Generic name: 'SIMPLE INTERFACE' version: 4.004 - class: Pod::Weaver::Section::Collect name: METHODS version: 4.004 - class: Pod::Weaver::Section::Collect name: ATTRIBUTES version: 4.004 - class: Pod::Weaver::Section::Collect name: PRIVATE_ATTRIBUTES version: 4.004 - class: Pod::Weaver::Section::Collect name: PRIVATE_METHODS version: 4.004 - class: Pod::Weaver::Section::Leftovers name: Leftovers version: 4.004 - class: Pod::Weaver::Section::Region name: postlude version: 4.004 - class: Pod::Weaver::Section::Authors name: Authors version: 4.004 - class: Pod::Weaver::Section::Legal name: Legal version: 4.004 name: '@Author::KENTNL/PodWeaver' version: 4.002 - class: Dist::Zilla::Plugin::NextRelease name: '@Author::KENTNL/NextRelease' version: 5.006 - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Author::KENTNL/AutoPrereqs' version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: suggests name: '@Author::KENTNL/Prereqs/BundleDevelSuggests' version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@Author::KENTNL/Prereqs/BundleDevelRequires' version: 5.006 - class: Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl name: '@Author::KENTNL/Author::KENTNL::MinimumPerl' version: 2.002001 - class: Dist::Zilla::Plugin::Authority name: '@Author::KENTNL/Authority' version: 1.006 - class: Dist::Zilla::Plugin::ModuleBuild name: '@Author::KENTNL/ModuleBuild' version: 5.006 - class: Dist::Zilla::Plugin::ReadmeFromPod name: '@Author::KENTNL/ReadmeFromPod' version: 0.21 - class: Dist::Zilla::Plugin::ReadmeAnyFromPod name: '@Author::KENTNL/ReadmeAnyFromPod' version: 0.133060 - class: Dist::Zilla::Plugin::Test::CPAN::Changes name: '@Author::KENTNL/Test::CPAN::Changes' version: 0.008 - class: Dist::Zilla::Plugin::CheckExtraTests name: '@Author::KENTNL/CheckExtraTests' version: 0.016 - class: Dist::Zilla::Plugin::TestRelease name: '@Author::KENTNL/TestRelease' version: 5.006 - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Author::KENTNL/ConfirmRelease' version: 5.006 - class: Dist::Zilla::Plugin::Git::Check name: '@Author::KENTNL/Git::Check' version: 2.017 - class: Dist::Zilla::Plugin::Git::Tag name: '@Author::KENTNL/Git::Tag/tag_master' version: 2.017 - class: Dist::Zilla::Plugin::Git::Commit name: '@Author::KENTNL/Git::Commit' version: 2.017 - class: Dist::Zilla::Plugin::Git::CommitBuild name: '@Author::KENTNL/Git::CommitBuild' version: 2.017 - class: Dist::Zilla::Plugin::Git::Tag name: '@Author::KENTNL/Git::Tag/tag_release' version: 2.017 - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Author::KENTNL/UploadToCPAN' version: 5.006 - class: Dist::Zilla::Plugin::Twitter name: '@Author::KENTNL/Twitter' version: 0.023 - class: Dist::Zilla::Plugin::Prereqs::MatchInstalled config: Dist::Zilla::Plugin::Prereqs::MatchInstalled: applyto: - build.requires - build.recommends - build.suggests - test.requires - test.recommends - test.suggests - runtime.requires - runtime.recommends - runtime.suggests - configure.requires - configure.recommends - configure.suggests - develop.requires - develop.recommends - develop.suggests applyto_phase: - build - test - runtime - configure - develop applyto_relation: - requires - recommends - suggests modules: - Module::Build - Test::More - Dist::Zilla::PluginBundle::Author::KENTNL name: '@Author::KENTNL/Prereqs::MatchInstalled' version: 0.1.4 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: '@Author::KENTNL/::Role::BundleDeps' version: 5.006 - class: Dist::Zilla::Plugin::MetaNoIndex name: MetaNoIndex version: 5.006 - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: runtime type: requires name: Prereqs version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: 5.006 - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: 5.006 zilla: class: Dist::Zilla::Dist::Builder config: is_trial: 0 version: 5.006 x_authority: cpan:KENTNL Test-File-ShareDir-0.4.1/perlcritic.rc0000644000175000017500000000123712243326566016175 0ustar kentkentseverity = 1 exclude = RequireTidyCode RequirePodSections ProhibitPostfixControls RequireRcsKeywords RequireExplicitPackage include = Moose::ProhibitMultipleWiths Moose::ProhibitNewMethod Moose::RequireCleanNamespace Moose::RequireMakeImmutable color = 1 verbose = 9 [BuiltinFunctions::ProhibitStringyEval] allow_includes = 1 [CodeLayout::ProhibitTrailingWhitespace] [Documentation::PodSpelling] stop_words = ShareDir sharedirs dir dirs Notedly [Subroutines::ProhibitUnusedPrivateSubroutines] private_name_regex = _(?!build_)\w [TestingAndDebugging::RequireUseStrict] equivalent_modules = Moose [TestingAndDebugging::RequireUseWarnings] equivalent_modules = Moose Test-File-ShareDir-0.4.1/dist.ini0000644000175000017500000000133012243326566015145 0ustar kentkent; Generated by Dist::Zilla::Plugin::Author::KENTNL::DistINI version 1.0.2 at Tue Feb 22 00:49:00 2011 name = Test-File-ShareDir author = Kent Fredric license = Perl_5 copyright_holder = Kent Fredric ; Uncomment this to bootstrap via self ; [Bootstrap::lib] [@Author::KENTNL] git_versions = 1 ;version_major = 0 ;version_minor = 1 ; the following data denotes when this minor was minted ;version_rel_year = 2011 ;version_rel_month = 2 ;version_rel_day = 22 ;version_rel_hour = 0 ;version_rel_time_zone = Pacific/Auckland no_fiveten = 1 twitter_hash_tags = #perl #cpan auto_prereqs_skip = ^Example$ [MetaNoIndex] directory = t/tlib [Prereqs] Test-File-ShareDir-0.4.1/maint-travis-ci/0000755000175000017500000000000012243326566016513 5ustar kentkentTest-File-ShareDir-0.4.1/maint-travis-ci/lib/0000755000175000017500000000000012243326566017261 5ustar kentkentTest-File-ShareDir-0.4.1/maint-travis-ci/lib/tools.pm0000644000175000017500000000730212243326566020761 0ustar kentkentuse strict; use warnings; package tools; use Cwd qw(cwd); use Config; sub diag { my $handle = \*STDERR; for (@_) { print {$handle} $_; } print {$handle} "\n"; } sub env_exists { return exists $ENV{ $_[0] }; } sub env_true { return ( env_exists( $_[0] ) and $ENV{ $_[0] } ); } sub env_is { return ( env_exists( $_[0] ) and $ENV{ $_[0] } eq $_[1] ) } sub safe_exec_nonfatal { my ( $command, @params ) = @_; diag("running $command @params"); my $exit = system( $command, @params ); if ( $exit != 0 ) { my $low = $exit & 0b11111111; my $high = $exit >> 8; warn "$command failed: $? $! and exit = $high , flags = $low"; if ( $high != 0 ) { return $high; } else { return 1; } } return 0; } sub safe_exec { my ( $command, @params ) = @_; my $exit_code = safe_exec_nonfatal( $command, @params ); if ( $exit_code != 0 ) { exit $exit_code; } return 1; } sub cpanm { my (@params) = @_; my $exit_code = safe_exec_nonfatal( 'cpanm', @params ); if ( $exit_code != 0 ) { safe_exec( 'tail', '-n', '200', '/home/travis/.cpanm/build.log' ); exit $exit_code; } return 1; } sub git { my (@params) = @_; safe_exec( 'git', @params ); } my $got_fixes; sub get_fixes { return if $got_fixes; my $cwd = cwd(); chdir '/tmp'; safe_exec( 'git', 'clone', 'https://github.com/kentfredric/cpan-fixes.git' ); chdir $cwd; $got_fixes = 1; } my $got_sterile; sub get_sterile { return if $got_sterile; my $cwd = cwd(); chdir '/tmp'; my $version = $]; safe_exec( 'git', 'clone', '--depth=1', '--branch=' . $version, 'https://github.com/kentfredric/perl5-sterile.git', 'perl5-sterile' ); chdir $cwd; $got_sterile = 1; } my $fixed_up; sub fixup_sterile { return if $fixed_up; get_sterile(); my $cwd = cwd(); chdir '/tmp/perl5-sterile'; safe_exec( 'bash', 'patch_fixlist.sh', '/home/travis/perl5/perlbrew/perls/' . $ENV{TRAVIS_PERL_VERSION} ); chdir $cwd; $fixed_up = 1; } my $sterile_deployed; sub deploy_sterile { return if $sterile_deployed; fixup_sterile(); for my $key ( keys %Config ) { next unless $key =~ /(lib|arch)exp$/; my $value = $Config{$key}; next unless defined $value; next unless length $value; my $clean_path = '/tmp/perl5-sterile/' . $key; diag("\e[32m?$clean_path\e[0m"); if ( -e $clean_path and -d $clean_path ) { diag("\e[31mRsyncing over $value\e[0m"); $clean_path =~ s{/?$}{/}; $value =~ s{/?$}{/}; safe_exec( 'rsync', '-a', '--delete-delay', $clean_path, $value ); } } } sub cpanm_fix { my (@params) = @_; get_fixes(); my $cwd = cwd(); chdir '/tmp/cpan-fixes'; cpanm(@params); chdir $cwd; } sub parse_meta_json { $_[0] ||= 'META.json'; require CPAN::Meta; return CPAN::Meta->load_file( $_[0] ); } sub capture_stdout(&) { require Capture::Tiny; goto &Capture::Tiny::capture_stdout; } sub import { my ( $self, @args ) = @_; my $caller = [caller]->[0]; my $caller_stash = do { no strict 'refs'; *{ $caller . '::' }; }; $caller_stash->{diag} = *diag; $caller_stash->{env_exists} = *env_exists; $caller_stash->{env_true} = *env_true; $caller_stash->{env_is} = *env_is; $caller_stash->{safe_exec_nonfatal} = *safe_exec_nonfatal; $caller_stash->{safe_exec} = *safe_exec; $caller_stash->{cpanm} = *cpanm; $caller_stash->{git} = *git; $caller_stash->{get_fixes} = *get_fixes; $caller_stash->{cpanm_fix} = *cpanm_fix; $caller_stash->{parse_meta_json} = *parse_meta_json; $caller_stash->{capture_stdout} = *capture_stdout; $caller_stash->{deploy_sterile} = *deploy_sterile; } 1; Test-File-ShareDir-0.4.1/maint-travis-ci/README.mkdn0000644000175000017500000000261712243326566020331 0ustar kentkent# ABOUT This repository contains a directory full of utilities to bolt on to CPAN-targeting distributions, to add useful `travis-ci` features to those dists. # PREREQS All that is needed at present to get started, is a copy of `git` that provides `git subtree`, and a copy of `Path::FindDev` from `CPAN`. You don't need `Path::FindDev` during deployment, its just used to streamline automated patching. # INSTALLING First, check out a copy of these scripts, it can be a temporary directory, and you'll only need to do this once. ```shell $ mkdir /tmp/tci-scripts $ cd /tmp/tci-scripts $ git clone https://github.com/kentfredric/travis-scripts.git ``` Then, chdir to the root of your project ```shell $ chdir $PROJECT ``` And lastly, execute the installer ```shell $ /tmp/tci-scripts/sync_tree.pl ``` This will create the folder called `maint-travis-ci` within your distribution, with a tree installed by `git subtree`, which will track this distribution. To update your copy of `/maint-travis-ci` to the latest, simply execute ```shell $ $PROJECT/maint-travis-ci/sync_tree.pl ``` While somewhere in your project. # CAVEATS Note, this tool uses `Path::FindDev`, and by proxy, `Path::IsDev` to find a development root directory somewhere in the ancestry of `$CWD`. As such, you will likely need to appease `Path::IsDev` by having a file of some description that marks the root of the development tree. Test-File-ShareDir-0.4.1/maint-travis-ci/before_script.pl0000644000175000017500000000104512243326566021676 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31mSTERILIZE_ENV \e[32munset\e[0m, skipping"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { diag("before_script skipped, TRAVIS_BRANCH=master"); exit 0; } else { if ( -e './Build.PL' ) { safe_exec( $^X, './Build.PL' ); safe_exec("./Build"); exit 0; } if ( -e './Makefile.PL' ) { safe_exec( $^X, './Makefile.PL' ); safe_exec("make"); exit 0; } } Test-File-ShareDir-0.4.1/maint-travis-ci/install_deps.pl0000644000175000017500000000403712243326566021535 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) { diag("\e[31minstalldeps skipped on 5.8 on master, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m"); exit 0; } my (@params) = qw[ --quiet --notest --mirror http://cpan.metacpan.org/ --no-man-pages ]; if ( env_true('DEVELOPER_DEPS') ) { push @params, '--dev'; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { cpanm( @params, 'Dist::Zilla', 'Capture::Tiny', 'Pod::Weaver' ); cpanm( @params, '--dev', 'Dist::Zilla~>5.002', 'Pod::Weaver' ); safe_exec( 'git', 'config', '--global', 'user.email', 'kentfredric+travisci@gmail.com' ); safe_exec( 'git', 'config', '--global', 'user.name', 'Travis CI ( On behalf of Kent Fredric )' ); my $stdout = capture_stdout { safe_exec( 'dzil', 'authordeps', '--missing' ); }; if ( $stdout !~ /^\s*$/msx ) { cpanm( @params, split /\n/, $stdout ); } $stdout = capture_stdout { safe_exec( 'dzil', 'listdeps', '--missing' ); }; if ( $stdout !~ /^\s*$/msx ) { cpanm( @params, split /\n/, $stdout ); } } else { cpanm( @params, '--installdeps', '.' ); if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) { my $prereqs = parse_meta_json()->effective_prereqs; my $reqs = $prereqs->requirements_for( 'develop', 'requires' ); my @wanted; for my $want ( $reqs->required_modules ) { my $module_requirement = $reqs->requirements_for_module($want); if ( $module_requirement =~ /^\d/ ) { push @wanted, $want . '~>=' . $module_requirement; next; } push @wanted, $want . '~' . $module_requirement; } cpanm( @params, @wanted ); } } exit 0; Test-File-ShareDir-0.4.1/maint-travis-ci/sync_tree.pl0000755000175000017500000000107312243326566021047 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; use Path::FindDev qw( find_dev ); my $root = find_dev('./'); chdir "$root"; sub git_subtree { safe_exec( 'git', 'subtree', @_ ); } my $travis = 'https://github.com/kentfredric/travis-scripts.git'; my $prefix = 'maint-travis-ci'; if ( not -d -e $root->child($prefix) ) { git_subtree( 'add', '--prefix=' . $prefix, $travis, 'master' ); } else { git_subtree( 'pull', '-m', 'Synchronise git subtree maint-travis-ci', '--prefix=' . $prefix, $travis, 'master' ); } Test-File-ShareDir-0.4.1/maint-travis-ci/yamls/0000755000175000017500000000000012243326566017640 5ustar kentkentTest-File-ShareDir-0.4.1/maint-travis-ci/yamls/sterile.yaml0000644000175000017500000000171412243326566022176 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "build/master" - "releases" Test-File-ShareDir-0.4.1/maint-travis-ci/yamls/sterile2.yaml0000644000175000017500000000201112243326566022247 0ustar kentkentlanguage: perl matrix: include: - perl: "5.8" env: STERILIZE_ENV=0 - perl: "5.10" env: STERILIZE_ENV=0 - perl: "5.12" env: STERILIZE_ENV=0 - perl: "5.14" env: STERILIZE_ENV=0 - perl: "5.16" env: STERILIZE_ENV=0 - perl: "5.18" env: STERILIZE_ENV=0 - perl: "5.19" env: STERILIZE_ENV=0 - perl: "5.8" env: STERILIZE_ENV=1 - perl: "5.10" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=1 - perl: "5.19" env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 - perl: "5.19" env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 before_install: - perlbrew list - time perl ./maint-travis-ci/sterilize_env.pl install: - time perl ./maint-travis-ci/install_deps.pl before_script: - time perl ./maint-travis-ci/before_script.pl script: - time perl ./maint-travis-ci/script.pl after_failure: - perl ./maint-travis-ci/report_fail_ctx.pl branches: only: - "master" - "build/master" - "releases" Test-File-ShareDir-0.4.1/maint-travis-ci/yamls/sterile.mkdn0000644000175000017500000000314312243326566022163 0ustar kentkent## ABOUT sterile.yaml ## Tests ### Version conformance tests Every version of Perl that can be tested on travis is tested. - perl: env: STERILIZE_ENV=0 This is to test simply that the code works on that platform ### Installable tests This tests both the maximum and minimum perls on travis to ensure that: a. All dependencies are installable on all versions of Perl b. No dependencies are inherently required by the code which are not specified. - perl: env: STERILIZE_ENV=1 Tree sterilization occurs here to ensure that only the versions of things that are provided by that version of perl exists prior to installing dependencies. ### Pending upstream breakage This tests that of all the listed direct dependencies, that the code works as expected after upgrading to the latest version of all direct dependencies. Presently this only runs on the newest `perl` on travis, because it is seemed that if "-dev" versions are going to be a problem, they'll exhibit the same problems on all perls. Tree sterilization is not performed here, though may be in future, because that will reveal breakages between downstream dependencies. - perl: env: STERILIZE_ENV=0 DEVELOPER_DEPS=1 ### Author Testing This is the most dependency expensive method, as this mode pulls in all dependencies listed in `develop.requires`, and additionally runs `xt/*` This is presently only performed on the latest perl due to the time expensiveness of this, requiring significantly more dependencies to perform tests. - perl: env: STERILIZE_ENV=0 RELEASE_TESTING=1 AUTHOR_TESTING=1 Test-File-ShareDir-0.4.1/maint-travis-ci/sterilize_env.pl0000644000175000017500000000326612243326566021741 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use FindBin; use lib "$FindBin::Bin/lib"; use tools; my $corelists = "$FindBin::Bin/corelist-data"; sub no_sterile_warning { if ( env_is( 'TRAVIS_PERL_VERSION', '5.8' ) or env_is( 'TRAVIS_PERL_VERSION', '5.10' ) ) { diag("\e[31m TREE STERILIZATION IMPOSSIBLE <= 5.10\e[0m"); diag("\e[32m ... because prior to 5.11.*, dual-life installed to \e[33mprivlib\e[0m"); diag("\e[32m ... because prior to 5.11.*, \e[33m\@INC\e[32m order was \e[33mprivlib,sitelib\e[0m"); diag("\e[32m ... whereas after to 5.11.*, \e[33m\@INC\e[32m order is \e[33msitelib,privlib\e[0m"); diag("\e[32m ... and now most dual-life things simply install to \e[33msitelib\e[0m"); diag("\e[34m ( However, there are still a few naughty CPAN modules that install to \e[33mprivlib\e[34m )"); diag( "\e[32m but the net effect of this is that installing \e[33mModule::Build 0.4007\e[32m which pulls \e[33mPerl::OSType\e[0m" ); diag("\e[32m and results in \e[33mPerl::OSType\e[32m being later removed \e[0m"); diag("\e[32m leaving behind a broken \e[33mModule::Build 0.4007\e[32m\e[0m"); diag("\e[34m Set \e[35m MAYBE_BREAK_MODULE_BUILD=1\e[34m if this is ok\e[0m"); exit 0 unless env_true('MAYBE_BREAK_MODULE_BUILD'); diag("\e[35m PROCEEDING\e[0m"); } } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31STERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( not env_true('STERILIZE_ENV') ) { diag('STERILIZE_ENV unset or false, not sterilizing'); exit 0; } if ( not env_true('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } deploy_sterile(); Test-File-ShareDir-0.4.1/maint-travis-ci/script.pl0000644000175000017500000000207212243326566020355 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; if ( not env_exists('TRAVIS') ) { diag('Is not running under travis!'); exit 1; } if ( not env_exists('STERILIZE_ENV') ) { diag("\e[31mSTERILIZE_ENV is not set, skipping, because this is probably Travis's Default ( and unwanted ) target"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) and env_is( 'TRAVIS_PERL_VERSION', '5.8' ) ) { diag("\e[31mscript skipped on 5.8 on master\e[32m, because \@Git, a dependency of \@Author::KENTNL, is unavailble on 5.8\e[0m"); exit 0; } if ( env_is( 'TRAVIS_BRANCH', 'master' ) ) { my $xtest = safe_exec_nonfatal( 'dzil', 'xtest' ); my $test = safe_exec_nonfatal( 'dzil', 'test' ); if ( $test != 0 ) { exit $test; } if ( $xtest != 0 ) { exit $xtest; } exit 0; } else { my @paths = './t'; if ( env_true('AUTHOR_TESTING') or env_true('RELEASE_TESTING') ) { push @paths, './xt'; } safe_exec( 'prove', '--blib', '--shuffle', '--color', '--recurse', '--timer', '--jobs', 30, @paths ); } Test-File-ShareDir-0.4.1/maint-travis-ci/merge_travis_yml.pl0000644000175000017500000000122012243326566022413 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use Path::FindDev qw( find_dev ); my $hashref = {}; my $template = find_dev('./')->child('.travis-template.yml'); my $target = find_dev('./')->child('.travis.yml'); if ( -f -e $template ) { require YAML::Loader; my $loader = YAML::Loader->new(); $hashref = $loader->load( $template->slurp ); } if ( not exists $hashref->{language} ) { $hashref->{language} = 'perl'; } if ( not exists $hashref->{perl} ) { $hashref->{perl} = [ '5.18', '5.19' ]; } use Data::Dump qw(pp); pp($hashref); require YAML::Dumper; my $dumper = YAML::Dumper->new(); $target->spew( $dumper->dump($hashref) ); Test-File-ShareDir-0.4.1/maint-travis-ci/report_fail_ctx.pl0000644000175000017500000000035512243326566022237 0ustar kentkent#!/usr/bin/env perl use strict; use warnings; use utf8; use FindBin; use lib "$FindBin::Bin/lib"; use tools; diag("\e[31mLast 1000 lines of cpanm build log\e[0m"); safe_exec( 'tail', '-n', '1000', $ENV{HOME} . '/.cpanm/build.log' ); Test-File-ShareDir-0.4.1/.perltidyrc0000644000175000017500000000001412243326566015661 0ustar kentkent-i 2 -l 130 Test-File-ShareDir-0.4.1/META.json0000644000175000017500000006410312243326566015131 0ustar kentkent{ "abstract" : "Create a Fake ShareDir for your modules for testing.", "author" : [ "Kent Fredric " ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : "2" }, "name" : "Test-File-ShareDir", "no_index" : { "directory" : [ "t/tlib" ] }, "prereqs" : { "build" : { "requires" : { "Module::Build" : "0.4202" } }, "configure" : { "requires" : { "Module::Build" : "0.4202" } }, "develop" : { "requires" : { "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "0", "Dist::Zilla::Plugin::Authority" : "1.006", "Dist::Zilla::Plugin::AutoPrereqs" : "0", "Dist::Zilla::Plugin::CheckExtraTests" : "0", "Dist::Zilla::Plugin::ConfirmRelease" : "0", "Dist::Zilla::Plugin::EOLTests" : "0", "Dist::Zilla::Plugin::Git::Check" : "0", "Dist::Zilla::Plugin::Git::Commit" : "0", "Dist::Zilla::Plugin::Git::CommitBuild" : "0", "Dist::Zilla::Plugin::Git::GatherDir" : "0", "Dist::Zilla::Plugin::Git::NextVersion" : "0", "Dist::Zilla::Plugin::Git::Tag" : "0", "Dist::Zilla::Plugin::GithubMeta" : "0", "Dist::Zilla::Plugin::License" : "0", "Dist::Zilla::Plugin::Manifest" : "0", "Dist::Zilla::Plugin::ManifestSkip" : "0", "Dist::Zilla::Plugin::MetaConfig" : "0", "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0", "Dist::Zilla::Plugin::MetaJSON" : "0", "Dist::Zilla::Plugin::MetaProvides::Package" : "1.14000001", "Dist::Zilla::Plugin::MetaTests" : "0", "Dist::Zilla::Plugin::MetaYAML" : "0", "Dist::Zilla::Plugin::ModuleBuild" : "0", "Dist::Zilla::Plugin::NextRelease" : "0", "Dist::Zilla::Plugin::PkgVersion" : "0", "Dist::Zilla::Plugin::PodCoverageTests" : "0", "Dist::Zilla::Plugin::PodSyntaxTests" : "0", "Dist::Zilla::Plugin::PodWeaver" : "0", "Dist::Zilla::Plugin::Prereqs" : "0", "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0", "Dist::Zilla::Plugin::PruneCruft" : "0", "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0", "Dist::Zilla::Plugin::ReadmeFromPod" : "0", "Dist::Zilla::Plugin::ReportVersions::Tiny" : "0", "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0", "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0", "Dist::Zilla::Plugin::Test::Kwalitee" : "0", "Dist::Zilla::Plugin::Test::MinimumVersion" : "0", "Dist::Zilla::Plugin::Test::Perl::Critic" : "0", "Dist::Zilla::Plugin::TestRelease" : "0", "Dist::Zilla::Plugin::Twitter" : "0", "Dist::Zilla::Plugin::UploadToCPAN" : "0", "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001", "Pod::Coverage::TrustPod" : "0", "Test::CPAN::Changes" : "0.19", "Test::CPAN::Meta" : "0", "Test::Kwalitee" : "1.12", "Test::Pod" : "1.41", "Test::Pod::Coverage" : "1.08", "version" : "0.9901" }, "suggests" : { "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "v1.3.0" } }, "runtime" : { "requires" : { "Carp" : "0", "Class::Tiny" : "0", "File::Copy::Recursive" : "0", "File::ShareDir" : "1.00", "File::Temp" : "0", "Path::Tiny" : "0", "perl" : "5.006", "strict" : "0", "warnings" : "0" } }, "test" : { "requires" : { "Cwd" : "0", "FindBin" : "0", "Test::Fatal" : "0", "Test::More" : "1.001002", "lib" : "0" } } }, "provides" : { "Test::File::ShareDir" : { "file" : "lib/Test/File/ShareDir.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::Dist" : { "file" : "lib/Test/File/ShareDir/Dist.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::Module" : { "file" : "lib/Test/File/ShareDir/Module.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::Object::Dist" : { "file" : "lib/Test/File/ShareDir/Object/Dist.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::Object::Inc" : { "file" : "lib/Test/File/ShareDir/Object/Inc.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::Object::Module" : { "file" : "lib/Test/File/ShareDir/Object/Module.pm", "version" : "v0.4.1" }, "Test::File::ShareDir::TempDirObject" : { "file" : "lib/Test/File/ShareDir/TempDirObject.pm", "version" : "v0.4.1" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "web" : "https://github.com/kentfredric/Test-File-ShareDir/issues" }, "homepage" : "https://github.com/kentfredric/Test-File-ShareDir", "repository" : { "type" : "git", "url" : "https://github.com/kentfredric/Test-File-ShareDir.git", "web" : "https://github.com/kentfredric/Test-File-ShareDir" } }, "version" : "0.4.1", "x_BuiltWith" : { "modules" : { "Carp" : "1.32", "Class::Tiny" : "0.012", "Cwd" : "3.45", "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl" : "2.002001", "Dist::Zilla::Plugin::Authority" : "1.006", "Dist::Zilla::Plugin::AutoPrereqs" : "5.006", "Dist::Zilla::Plugin::CheckExtraTests" : "0.016", "Dist::Zilla::Plugin::ConfirmRelease" : "5.006", "Dist::Zilla::Plugin::EOLTests" : "0.02", "Dist::Zilla::Plugin::Git::Check" : "2.017", "Dist::Zilla::Plugin::Git::Commit" : "2.017", "Dist::Zilla::Plugin::Git::CommitBuild" : "2.017", "Dist::Zilla::Plugin::Git::GatherDir" : "2.017", "Dist::Zilla::Plugin::Git::NextVersion" : "2.017", "Dist::Zilla::Plugin::Git::Tag" : "2.017", "Dist::Zilla::Plugin::GithubMeta" : "0.42", "Dist::Zilla::Plugin::License" : "5.006", "Dist::Zilla::Plugin::Manifest" : "5.006", "Dist::Zilla::Plugin::ManifestSkip" : "5.006", "Dist::Zilla::Plugin::MetaConfig" : "5.006", "Dist::Zilla::Plugin::MetaData::BuiltWith" : "0.04000000", "Dist::Zilla::Plugin::MetaJSON" : "5.006", "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000000", "Dist::Zilla::Plugin::MetaTests" : "5.006", "Dist::Zilla::Plugin::MetaYAML" : "5.006", "Dist::Zilla::Plugin::ModuleBuild" : "5.006", "Dist::Zilla::Plugin::NextRelease" : "5.006", "Dist::Zilla::Plugin::PkgVersion" : "5.006", "Dist::Zilla::Plugin::PodCoverageTests" : "5.006", "Dist::Zilla::Plugin::PodSyntaxTests" : "5.006", "Dist::Zilla::Plugin::PodWeaver" : "4.002", "Dist::Zilla::Plugin::Prereqs" : "5.006", "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : "0.1.4", "Dist::Zilla::Plugin::PruneCruft" : "5.006", "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.133060", "Dist::Zilla::Plugin::ReadmeFromPod" : "0.21", "Dist::Zilla::Plugin::ReportVersions::Tiny" : "1.10", "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.008", "Dist::Zilla::Plugin::Test::Compile::PerFile" : "0.001001", "Dist::Zilla::Plugin::Test::Kwalitee" : "2.07", "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000005", "Dist::Zilla::Plugin::Test::Perl::Critic" : "2.112410", "Dist::Zilla::Plugin::TestRelease" : "5.006", "Dist::Zilla::Plugin::Twitter" : "0.023", "Dist::Zilla::Plugin::UploadToCPAN" : "5.006", "Dist::Zilla::PluginBundle::Author::KENTNL" : "2.002001", "Dist::Zilla::PluginBundle::Author::KENTNL::Lite" : "1.7.2", "File::Copy::Recursive" : "0.38", "File::ShareDir" : "1.03", "File::Temp" : "0.2304", "FindBin" : "1.51", "Module::Build" : "0.4202", "Path::Tiny" : "0.044", "Pod::Coverage::TrustPod" : "0.100003", "Test::CPAN::Changes" : "0.25", "Test::CPAN::Meta" : "0.23", "Test::Fatal" : "0.013", "Test::Kwalitee" : "1.17", "Test::More" : "1.001002", "Test::Pod" : "1.48", "Test::Pod::Coverage" : "1.08", "lib" : "0.63", "strict" : "1.08", "version" : "0.9904", "warnings" : "1.20" }, "perl" : { "original" : "v5.19.5", "qv" : 1, "version" : [ 5, 19, 5 ] }, "perl-config" : { "gccversion" : "4.7.3", "myarchname" : "x86_64-linux", "osname" : "linux" }, "platform" : "linux", "uname" : "Linux 3.12.0-gentoo x86_64 GenuineIntel GNU/Linux" }, "x_Dist_Zilla" : { "perl" : { "version" : "5.019005" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::Git::NextVersion", "name" : "@Author::KENTNL/Git::NextVersion", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Author::KENTNL/MetaConfig", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@Author::KENTNL/GithubMeta", "version" : "0.42" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@Author::KENTNL/MetaProvides::Package/AUTOVIV/:InstallModulesPM", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Package", "config" : { "Dist::Zilla::Plugin::MetaProvides::Package" : {}, "Dist::Zilla::Role::MetaProvider::Provider" : { "inherit_missing" : "1", "inherit_version" : "1", "meta_noindex" : "1" } }, "name" : "@Author::KENTNL/MetaProvides::Package", "version" : "1.15000000" }, { "class" : "Dist::Zilla::Plugin::MetaData::BuiltWith", "config" : { "Dist::Zilla::Plugin::MetaData::BuiltWith" : { "_stash_key" : "x_BuiltWith", "show_config" : "1", "show_uname" : "1", "uname" : { "uname_args" : [ "-s", "-o", "-r", "-m", "-i" ], "uname_call" : "uname" } } }, "name" : "@Author::KENTNL/MetaData::BuiltWith", "version" : "0.04000000" }, { "class" : "Dist::Zilla::Plugin::Git::GatherDir", "name" : "@Author::KENTNL/Git::GatherDir", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Author::KENTNL/License", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Author::KENTNL/MetaJSON", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Author::KENTNL/MetaYAML", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Author::KENTNL/Manifest", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaTests", "name" : "@Author::KENTNL/MetaTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodCoverageTests", "name" : "@Author::KENTNL/PodCoverageTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Author::KENTNL/PodSyntaxTests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ReportVersions::Tiny", "name" : "@Author::KENTNL/ReportVersions::Tiny", "version" : "1.10" }, { "class" : "Dist::Zilla::Plugin::Test::Kwalitee", "name" : "@Author::KENTNL/Test::Kwalitee", "version" : "2.07" }, { "class" : "Dist::Zilla::Plugin::EOLTests", "name" : "@Author::KENTNL/EOLTests", "version" : "0.02" }, { "class" : "Dist::Zilla::Plugin::Test::MinimumVersion", "name" : "@Author::KENTNL/Test::MinimumVersion", "version" : "2.000005" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : "@Author::KENTNL/Test::Compile::PerFile/AUTOVIV/:InstallModulesPM", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Test::Compile::PerFile", "config" : { "Dist::Zilla::Plugin::Test::Compile::PerFile" : { "file" : [ "lib/Test/File/ShareDir.pm", "lib/Test/File/ShareDir/Dist.pm", "lib/Test/File/ShareDir/Module.pm", "lib/Test/File/ShareDir/Object/Dist.pm", "lib/Test/File/ShareDir/Object/Inc.pm", "lib/Test/File/ShareDir/Object/Module.pm", "lib/Test/File/ShareDir/TempDirObject.pm" ], "path_translator" : "base64_filter", "prefix" : "t/00-compile", "skip" : [], "test_template" : "01-basic.t.tpl", "xt_mode" : null } }, "name" : "@Author::KENTNL/Test::Compile::PerFile", "version" : "0.001001" }, { "class" : "Dist::Zilla::Plugin::Test::Perl::Critic", "name" : "@Author::KENTNL/Test::Perl::Critic", "version" : "2.112410" }, { "class" : "Dist::Zilla::Plugin::PruneCruft", "name" : "@Author::KENTNL/PruneCruft", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ManifestSkip", "name" : "@Author::KENTNL/ManifestSkip", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PkgVersion", "name" : "@Author::KENTNL/PkgVersion", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::PodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@CorePrep/EnsurePod5", "version" : "4.004" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@CorePrep/H1Nester", "version" : "4.004" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "-SingleEncoding", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Name", "name" : "Name", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Version", "name" : "Version", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Region", "name" : "prelude", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "DESCRIPTION", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "OVERVIEW", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SIMPLE INTERFACE", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "METHODS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "ATTRIBUTES", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "PRIVATE_ATTRIBUTES", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "PRIVATE_METHODS", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "Leftovers", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Region", "name" : "postlude", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "Authors", "version" : "4.004" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "Legal", "version" : "4.004" } ] } }, "name" : "@Author::KENTNL/PodWeaver", "version" : "4.002" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@Author::KENTNL/NextRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@Author::KENTNL/AutoPrereqs", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "suggests" } }, "name" : "@Author::KENTNL/Prereqs/BundleDevelSuggests", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@Author::KENTNL/Prereqs/BundleDevelRequires", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Author::KENTNL::MinimumPerl", "name" : "@Author::KENTNL/Author::KENTNL::MinimumPerl", "version" : "2.002001" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@Author::KENTNL/Authority", "version" : "1.006" }, { "class" : "Dist::Zilla::Plugin::ModuleBuild", "name" : "@Author::KENTNL/ModuleBuild", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ReadmeFromPod", "name" : "@Author::KENTNL/ReadmeFromPod", "version" : "0.21" }, { "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", "name" : "@Author::KENTNL/ReadmeAnyFromPod", "version" : "0.133060" }, { "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes", "name" : "@Author::KENTNL/Test::CPAN::Changes", "version" : "0.008" }, { "class" : "Dist::Zilla::Plugin::CheckExtraTests", "name" : "@Author::KENTNL/CheckExtraTests", "version" : "0.016" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Author::KENTNL/TestRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Author::KENTNL/ConfirmRelease", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "name" : "@Author::KENTNL/Git::Check", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "name" : "@Author::KENTNL/Git::Tag/tag_master", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "name" : "@Author::KENTNL/Git::Commit", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::CommitBuild", "name" : "@Author::KENTNL/Git::CommitBuild", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "name" : "@Author::KENTNL/Git::Tag/tag_release", "version" : "2.017" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Author::KENTNL/UploadToCPAN", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Twitter", "name" : "@Author::KENTNL/Twitter", "version" : "0.023" }, { "class" : "Dist::Zilla::Plugin::Prereqs::MatchInstalled", "config" : { "Dist::Zilla::Plugin::Prereqs::MatchInstalled" : { "applyto" : [ "build.requires", "build.recommends", "build.suggests", "test.requires", "test.recommends", "test.suggests", "runtime.requires", "runtime.recommends", "runtime.suggests", "configure.requires", "configure.recommends", "configure.suggests", "develop.requires", "develop.recommends", "develop.suggests" ], "applyto_phase" : [ "build", "test", "runtime", "configure", "develop" ], "applyto_relation" : [ "requires", "recommends", "suggests" ], "modules" : [ "Module::Build", "Test::More", "Dist::Zilla::PluginBundle::Author::KENTNL" ] } }, "name" : "@Author::KENTNL/Prereqs::MatchInstalled", "version" : "0.1.4" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "@Author::KENTNL/::Role::BundleDeps", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::MetaNoIndex", "name" : "MetaNoIndex", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "runtime", "type" : "requires" } }, "name" : "Prereqs", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "5.006" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "5.006" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : "0" }, "version" : "5.006" } }, "x_authority" : "cpan:KENTNL" } Test-File-ShareDir-0.4.1/weaver.ini0000644000175000017500000000135012243326566015475 0ustar kentkent[@CorePrep] [-SingleEncoding] [Name] [Version] [Region / prelude] [Generic / SYNOPSIS] [Generic / DESCRIPTION] [Generic / OVERVIEW] [Generic / SIMPLE INTERFACE] ;[Generic / METHODS] ;[Collect / METHODS] [Collect / METHODS] command = method [Collect / ATTRIBUTES] command = attr ;[Collect / FILTER_METHODS] ;header = FILTER METHODS ;command = filter ;[Collect / TERMINATOR_LIST_METHODS] ;header = TERMINATOR LIST METHODS ;command = terminator ;[Collect / MIRROR_LIST_METHODS] ;header = MIRROR LIST METHODS ;command = mirrorlist [Collect / PRIVATE_ATTRIBUTES] header = PRIVATE ATTRIBUTES command = p_attr [Collect / PRIVATE_METHODS] header = PRIVATE METHODS command = p_method [Leftovers] [Region / postlude] [Authors] [Legal] Test-File-ShareDir-0.4.1/MANIFEST0000644000175000017500000000325412243326566014641 0ustar kentkent.perltidyrc .travis.yml Build.PL Changes LICENSE MANIFEST META.json META.yml README dist.ini layout/self_structure.dot layout/self_structure.png lib/Test/File/ShareDir.pm lib/Test/File/ShareDir/Dist.pm lib/Test/File/ShareDir/Module.pm lib/Test/File/ShareDir/Object/Dist.pm lib/Test/File/ShareDir/Object/Inc.pm lib/Test/File/ShareDir/Object/Module.pm lib/Test/File/ShareDir/TempDirObject.pm maint-travis-ci/README.mkdn maint-travis-ci/before_script.pl maint-travis-ci/install_deps.pl maint-travis-ci/lib/tools.pm maint-travis-ci/merge_travis_yml.pl maint-travis-ci/report_fail_ctx.pl maint-travis-ci/script.pl maint-travis-ci/sterilize_env.pl maint-travis-ci/sync_tree.pl maint-travis-ci/yamls/sterile.mkdn maint-travis-ci/yamls/sterile.yaml maint-travis-ci/yamls/sterile2.yaml perlcritic.rc t/00-compile/lib_Test_File_ShareDir_Dist_pm.t t/00-compile/lib_Test_File_ShareDir_Module_pm.t t/00-compile/lib_Test_File_ShareDir_Object_Dist_pm.t t/00-compile/lib_Test_File_ShareDir_Object_Inc_pm.t t/00-compile/lib_Test_File_ShareDir_Object_Module_pm.t t/00-compile/lib_Test_File_ShareDir_TempDirObject_pm.t t/00-compile/lib_Test_File_ShareDir_pm.t t/000-report-versions-tiny.t t/01_basic.t t/01_files/lib/Example.pm t/01_files/share/afile t/02_distdir.t t/02_files/share/afile t/03_cwd.t t/03_files/lib/Example.pm t/03_files/share/afile t/04_basic_simple.t t/04_files/lib/Example.pm t/04_files/share/afile t/05_dist_dir_simple.t t/05_files/share/afile t/06_cwd_simple.t t/06_files/lib/Example.pm t/06_files/share/afile weaver.ini xt/author/critic.t xt/release/cpan-changes.t xt/release/distmeta.t xt/release/eol.t xt/release/kwalitee.t xt/release/minimum-version.t xt/release/pod-coverage.t xt/release/pod-syntax.t