Dist-Zilla-Plugin-Run-0.048/000700 000766 000024 00000000000 13427437602 015750 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/Build.PL000644 000766 000024 00000011311 13427437602 017253 0ustar00etherstaff000000 000000 # This Build.PL for Dist-Zilla-Plugin-Run was generated by # Dist::Zilla::Plugin::ModuleBuildTiny::Fallback 0.025 use strict; use warnings; my %configure_requires = ( 'ExtUtils::MakeMaker' => '0', 'Module::Build::Tiny' => '0.034', ); my %errors = map { eval "require $_; $_->VERSION($configure_requires{$_}); 1"; $_ => $@, } keys %configure_requires; if (!grep { $_ } values %errors) { # This section for Dist-Zilla-Plugin-Run was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.015. use strict; use warnings; use 5.006; # use Module::Build::Tiny 0.034; Module::Build::Tiny::Build_PL(); } else { if (not $ENV{PERL_MB_FALLBACK_SILENCE_WARNING}) { warn <<'EOW' *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** If you're seeing this warning, your toolchain is really, really old* and you'll almost certainly have problems installing CPAN modules from this century. But never fear, dear user, for we have the technology to fix this! If you're using CPAN.pm to install things, then you can upgrade it using: cpan CPAN If you're using CPANPLUS to install things, then you can upgrade it using: cpanp CPANPLUS If you're using cpanminus, you shouldn't be seeing this message in the first place, so please file an issue on github. This public service announcement was brought to you by the Perl Toolchain Gang, the irc.perl.org #toolchain IRC channel, and the number 42. ---- * Alternatively, you are running this file manually, in which case you need to learn to first fulfill all configure requires prerequisites listed in META.yml or META.json -- or use a cpan client to install this distribution. You can also silence this warning for future installations by setting the PERL_MB_FALLBACK_SILENCE_WARNING environment variable, but please don't do that until you fix your toolchain as described above. Errors from configure prereqs: EOW . do { require Data::Dumper; Data::Dumper->new([ \%errors ])->Indent(2)->Terse(1)->Sortkeys(1)->Dump; }; sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)); } # This section was automatically generated by Dist::Zilla::Plugin::ModuleBuild v6.012. use strict; use warnings; require Module::Build; Module::Build->VERSION(0.28); my %module_build_args = ( "configure_requires" => { "ExtUtils::MakeMaker" => 0, "Module::Build::Tiny" => "0.034", "perl" => "5.006" }, "dist_abstract" => "Run external commands and code at specific phases of Dist::Zilla", "dist_author" => [ "Torsten Raudssus L" ], "dist_name" => "Dist-Zilla-Plugin-Run", "dist_version" => "0.048", "license" => "perl", "module_name" => "Dist::Zilla::Plugin::Run", "recursive_test_files" => 1, "requires" => { "Dist::Zilla::Dist::Builder" => 0, "Dist::Zilla::Role::AfterBuild" => 0, "Dist::Zilla::Role::AfterMint" => 0, "Dist::Zilla::Role::AfterRelease" => 0, "Dist::Zilla::Role::BeforeArchive" => 0, "Dist::Zilla::Role::BeforeBuild" => 0, "Dist::Zilla::Role::BeforeRelease" => 0, "Dist::Zilla::Role::Plugin" => 0, "Dist::Zilla::Role::Releaser" => 0, "Dist::Zilla::Role::TestRunner" => 0, "File::Spec" => 0, "IPC::Open3" => 0, "Moose" => 0, "Moose::Role" => 0, "Moose::Util" => 0, "Path::Tiny" => 0, "String::Formatter" => "0.102082", "namespace::autoclean" => 0, "perl" => "5.006", "strict" => 0, "warnings" => 0 }, "test_requires" => { "Dist::Zilla" => 0, "Dist::Zilla::Role::VersionProvider" => 0, "File::Spec" => 0, "File::pushd" => 0, "Module::Metadata" => 0, "Test::DZil" => 0, "Test::Deep" => 0, "Test::Fatal" => 0, "Test::File::ShareDir" => 0, "Test::More" => "0.88", "if" => 0, "lib" => 0, "perl" => "5.006" } ); my %fallback_build_requires = ( "Dist::Zilla" => 0, "Dist::Zilla::Role::VersionProvider" => 0, "File::Spec" => 0, "File::pushd" => 0, "Module::Metadata" => 0, "Test::DZil" => 0, "Test::Deep" => 0, "Test::Fatal" => 0, "Test::File::ShareDir" => 0, "Test::More" => "0.88", "if" => 0, "lib" => 0, "perl" => "5.006" ); 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; } Dist-Zilla-Plugin-Run-0.048/Changes000600 000766 000024 00000013705 13427437602 017253 0ustar00etherstaff000000 000000 Revision history for Dist-Zilla-Plugin-Run 0.048 2019-02-09 02:48:27Z - more fixes for MSWin path canonicalization 0.047 2018-05-01 01:39:08Z - added new formatting code %o to represent the source dir 0.046 2017-07-24 02:08:24Z - now logging a warning when using %d in [Run::BeforeBuild], or %a in a non-release plugin, where these values are not yet defined 0.045 2017-05-30 00:04:46Z - fix MSWin32 test failures where path separators do not come out as expected 0.044 2017-03-29 00:14:00Z - once again streaming command output as each line is produced, rather than buffering until the process ends (this behaviour was changed in 0.040) 0.043 2016-02-15 04:20:20Z - new [Run::BeforeArchive] plugin 0.042 2015-08-04 03:44:33Z - properly chomp carriage returns from output on MSWin32 0.041 2015-08-03 02:18:18Z - fix logic used for extra diagnostics during quiet fatal errors (0.040) 0.040 2015-08-02 02:20:25Z - drop use of Path::Class, when Dist::Zilla is new enough - if a dying command causes the build to fail and the command diagnostics were not shown, show them before dying, to aid debugging (reverted in 0.044, as it did not behave as intended) 0.039 2015-06-18 05:59:06Z - fix test failures when using a perl with whitespace in its path - document the execution order of the various command options - guard plugin variables from leaking into the eval string's scope 0.038 2015-05-22 04:01:27Z - new 'quiet' configuration option 0.037 2015-05-14 07:04:34Z - resolve failures on Dist::Zilla 5.035 caused by the release_status code still being in flux at that time 0.036 2015-05-08 21:48:32Z - fix unintended consequence of changes in Dist::Zilla 5.035 where asking for the distribution's trial status might cause other plugins to run prematurely - prevent tests from failing when TRIAL or RELEASE_STATUS is set in the environment 0.035 2015-03-31 03:09:04Z - fix tests to avoid setting a newly-immutable config variable directly (David Golden, PR#11) 0.034 2015-02-09 04:56:26Z - better [Run::Clean] implementation that does not run afoul of MSWin32's poor garbage collection habits 0.033 2015-02-07 23:18:03Z - new [Run::Clean] plugin 0.032 2015-01-13 21:42:01Z - work around test failures with OSX system perl (RT#101483; see also perldoc perlmacosx) 0.031 2015-01-13 02:18:53Z - switch to using $^X for %x, rather than $Config{perlpath}, to avoid mismatches for OSX system perl (RT#101483) 0.030 2015-01-10 21:04:59Z - fix failures in new fatal_errors test on MSWin32 by avoiding executing bash 0.029 2015-01-05 01:59:05Z - added new "fatal_errors" option (defaults to true, as always) 0.028 2014-11-24 02:35:12Z - now properly evaluating formatting codes inside 'eval' lines 0.027 2014-11-12 01:41:50Z - new formatter code added: "%t", for indicating a trial release (PR#9, Thomas Sibley) 0.026 2014-09-06 06:42:06Z - all test reports are green! release the hounds! 0.025 2014-08-18 03:36:32Z (TRIAL RELEASE) - fix use of path separator in test to avoid more failures on MSWin32 - fix use of :crlf mode in test to avoid yet more failures on MSWin32 0.024 2014-08-16 00:36:01Z (TRIAL RELEASE) - fix use of path separator in test to avoid failure on MSWin32 - new "eval" option, for executing Perl code 0.023 2014-08-06 05:33:20Z - convert uses of Path::Class to Path::Tiny - dump config into metadata when [MetaConfig] used, but the 'censor_commands' option can be used to avoid this 0.022 2014-07-24 15:36:32Z - more complete metadata and author tests 0.021 2014-02-23 23:31:47Z - Lazy load runtime dependencies. Thanks Olivier Mengué! - unroll author pluginbundle, to remove some unneeded and broken prerequisites 0.020 2013-04-21 00:02:21Z - Switching to [@Author::GETTY] dzil bundle - Adding .travis.yml for travis-ci 0.019 2013-04-15 14:52:25Z - Delay evaluation of some vars (like dist version) until needed. Thanks, Tatsuhiko Miyagawa! 0.018 2013-03-02 17:46:39Z - Added new options, cleaned up documentation 0.017 2013-02-17 04:20:54Z - Fix silly bug in tests for non-unix platforms 0.016 2013-02-13 14:49:47Z - Add 'run_no_trial' option for running commands only when it is not a trial build/release. 0.015 2013-02-04 00:25:50Z - Copy examples for all runners to Synposis on main page 0.014 2013-01-19 03:21:24Z - Add Run::AfterMint plugin for running commands after making a new dist. 0.013 2011-11-09 13:23:08Z - Fix Pod spelling error pointed out by Debian Perl Group (rt-72278). 0.012 2011-11-06 00:30:03Z - Add '%x' for perl path (similar to $^X) - Use strict and warnings in each module - Test fixes 0.011 2011-10-28 15:25:04Z - Explicitly stringify '%a' to keep String::Formatter happy. Make sure it's tested. Closes rt-72008. Thanks to Olivier Mengué (dolmen) for reporting. 0.010 2011-09-10 18:06:33Z - Define '%p' as the OS path separator in case anybody ever needs cross-platform dist.ini commands - Enable the tests for the Run::Test plugin - Make tests cross-platform 0.009 2011-09-07 14:34:14Z - added the [Run::Test] plugin 0.008 2011-08-09 16:31:33Z - Stream command output incrementally instead of waiting until the command is done. (RWSTAUNER) Closes gh-4. Thanks to SamuraiJack for the suggestion. - Show correct exit status on command failure. 0.007 2011-08-08 03:30:39Z - Define other (constant) string format conversions (%n, %v); Retain positional %s for backward compatibility. (RWSTAUNER) 0.006 2011-05-21 00:58:17Z - Fixed wrong bangpath 0.005 2011-04-29 20:54:18Z 0.005 2011-01-21 10:21:08Z 0.004 2010-12-14 20:19:54Z - Minimal pod changes 0.003 2010-12-14 02:18:00Z - Complete Change of API 0.002 2010-12-13 17:07:27Z 0.001 2010-12-12 03:14:54Z - First release Dist-Zilla-Plugin-Run-0.048/CONTRIBUTING000644 000766 000024 00000007752 13427437602 017627 0ustar00etherstaff000000 000000 CONTRIBUTING Thank you for considering contributing to this distribution. This file contains instructions that will help you work with the source code. PLEASE NOTE that if you have any questions or difficulties, you can reach the maintainer(s) through the bug queue described later in this document (preferred), or by emailing the releaser directly. You are not required to follow any of the steps in this document to submit a patch or bug report; these are just recommendations, intended to help you (and help us help you faster). The distribution is managed with Dist::Zilla (https://metacpan.org/release/Dist-Zilla). This means than many of the usual files you might expect are not in the repository, but are generated at release time (e.g. Makefile.PL). However, you can run tests directly using the 'prove' tool: $ prove -l $ prove -lv t/some_test_file.t $ prove -lvr t/ In most cases, 'prove' is entirely sufficient for you to test any patches you have. You may need to satisfy some dependencies. The easiest way to satisfy dependencies is to install the last release -- this is available at https://metacpan.org/release/Dist-Zilla-Plugin-Run If you use cpanminus, you can do it without downloading the tarball first: $ cpanm --reinstall --installdeps --with-recommends Dist::Zilla::Plugin::Run Dist::Zilla is a very powerful authoring tool, but requires a number of author-specific plugins. If you would like to use it for contributing, install it from CPAN, then run one of the following commands, depending on your CPAN client: $ cpan `dzil authordeps --missing` or $ dzil authordeps --missing | cpanm You should then also install any additional requirements not needed by the dzil build but may be needed by tests or other development: $ cpan `dzil listdeps --author --missing` or $ dzil listdeps --author --missing | cpanm Or, you can use the 'dzil stale' command to install all requirements at once: $ cpan Dist::Zilla::App::Command::stale $ cpan `dzil stale --all` or $ cpanm Dist::Zilla::App::Command::stale $ dzil stale --all | cpanm You can also do this via cpanm directly: $ cpanm --reinstall --installdeps --with-develop --with-recommends Dist::Zilla::Plugin::Run Once installed, here are some dzil commands you might try: $ dzil build $ dzil test $ dzil test --release $ dzil xtest $ dzil listdeps --json $ dzil build --notgz You can learn more about Dist::Zilla at http://dzil.org/. The code for this distribution is hosted at GitHub. The repository is: https://github.com/Getty/p5-dist-zilla-plugin-run You can submit code changes by forking the repository, pushing your code changes to your clone, and then submitting a pull request. Detailed instructions for doing that is available here: https://help.github.com/articles/creating-a-pull-request All pull requests for this distribution will be automatically tested on Linux by Travis at: https://travis-ci.com/Getty/p5-dist-zilla-plugin-run All results will be visible in the pull request on GitHub. Follow the appropriate links for details when tests fail. If you have found a bug, but do not have an accompanying patch to fix it, you can submit an issue report here: https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run or via email: bug-Dist-Zilla-Plugin-Run@rt.cpan.org There is also a mailing list available for users of this distribution, at http://dzil.org/#mailing-list There is also an irc channel available for users of this distribution, at irc://irc.perl.org/#distzilla If you send me a patch or pull request, your name and email address will be included in the documentation as a contributor (using the attribution on the commit or patch), unless you specifically request for it not to be. If you wish to be listed under a different name or address, you should submit a pull request to the .mailmap file to contain the correct mapping. This file was generated via Dist::Zilla::Plugin::GenerateFile::FromShareDir 0.014 from a template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.145. Dist-Zilla-Plugin-Run-0.048/dist.ini000600 000766 000024 00000002301 13427437602 017412 0ustar00etherstaff000000 000000 name = Dist-Zilla-Plugin-Run author = Torsten Raudssus L license = Perl_5 copyright_holder = L copyright_year = 2010 [Bootstrap::lib] [@Author::ETHER] :version = 0.117 surgical_podweaver = 1 authority = cpan:GETTY Git::Tag.tag_format = %v%t Test::MinimumVersion.max_target_perl = 5.008003 StaticInstall.dry_run = 0 ; we can safely set this here -remove = PodCoverageTests -remove = Test::Pod::No404s ; 500 Can't connect to raudss.us:443 ; authordep Dist::Zilla::Plugin::SurgicalPodWeaver [MetaResources] x_IRC = irc://irc.perl.org/#distzilla x_MailingList = http://dzil.org/#mailing-list [Prereqs / DevelopRequires] Test::Warnings = 0 [RemovePrereqs] remove = Path::Class ; if needed, Dist::Zilla already brought it in [Test::CheckBreaks] :version = 0.017 conflicts_module = Moose::Conflicts conflicts_module = Module::Runtime::Conflicts ; print a little extra output so we know it's working as expected [Run::AfterBuild] quiet = 1 run = echo "Built version %v in %d... So far so good" [Run::AfterRelease] quiet = 1 eval = print "Congratulations, %v is out! Now just sit back and wait for the bug reports :-)\n" Dist-Zilla-Plugin-Run-0.048/INSTALL000644 000766 000024 00000004534 13427437602 017021 0ustar00etherstaff000000 000000 This is the Perl distribution Dist-Zilla-Plugin-Run. Installing Dist-Zilla-Plugin-Run is straightforward. ## Installation with cpanm If you have cpanm, you only need one line: % cpanm Dist::Zilla::Plugin::Run If it does not have permission to install modules to the current perl, cpanm will automatically set up and install to a local::lib in your home directory. See the local::lib documentation (https://metacpan.org/pod/local::lib) for details on enabling it in your environment. ## Installing with the CPAN shell Alternatively, if your CPAN shell is set up, you should just be able to do: % cpan Dist::Zilla::Plugin::Run ## Manual installation As a last resort, you can manually install it. Download the tarball, untar it, install configure prerequisites (see below), then build it: % perl Build.PL % ./Build && ./Build test Then install it: % ./Build install Or the more portable variation: % perl Build.PL % perl Build % perl Build test % perl Build install If your perl is system-managed, you can create a local::lib in your home directory to install modules to. For details, see the local::lib documentation: https://metacpan.org/pod/local::lib The prerequisites of this distribution will also have to be installed manually. The prerequisites are listed in one of the files: `MYMETA.yml` or `MYMETA.json` generated by running the manual build process described above. ## Configure Prerequisites This distribution requires other modules to be installed before this distribution's installer can be run. They can be found under the "configure_requires" key of META.yml or the "{prereqs}{configure}{requires}" key of META.json. ## Other Prerequisites This distribution may require additional modules to be installed after running Build.PL or Makefile.PL. Look for prerequisites in the following phases: * to run ./Build or make, PHASE = build * to use the module code itself, PHASE = runtime * to run tests, PHASE = test They can all be found in the "PHASE_requires" key of MYMETA.yml or the "{prereqs}{PHASE}{requires}" key of MYMETA.json. ## Documentation Dist-Zilla-Plugin-Run documentation is available as POD. You can run `perldoc` from a shell to read the documentation: % perldoc Dist::Zilla::Plugin::Run For more information on installing Perl modules via CPAN, please see: https://www.cpan.org/modules/INSTALL.html Dist-Zilla-Plugin-Run-0.048/lib/000700 000766 000024 00000000000 13427437602 016516 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/LICENCE000644 000766 000024 00000044023 13427437602 016752 0ustar00etherstaff000000 000000 This software is copyright (c) 2010 by L. 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) 2010 by L. 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, Fifth Floor, Boston, MA 02110-1301 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) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/Makefile.PL000644 000766 000024 00000011640 13427437602 017736 0ustar00etherstaff000000 000000 # This Makefile.PL for Dist-Zilla-Plugin-Run was generated by # Dist::Zilla::Plugin::MakeMaker::Fallback 0.030 # and Dist::Zilla::Plugin::MakeMaker::Awesome 0.47. # Don't edit it but the dist.ini and plugins used to construct it. use strict; use warnings; use 5.006; use ExtUtils::MakeMaker; BEGIN { my %configure_requires = ( 'ExtUtils::MakeMaker' => '0', 'Module::Build::Tiny' => '0.034', ); my %errors = map { eval "require $_; $_->VERSION($configure_requires{$_}); 1"; $_ => $@, } keys %configure_requires; if (grep { $_ } values %errors) { warn "Errors from configure prereqs:\n" . do { require Data::Dumper; Data::Dumper->new([ \%errors ])->Indent(2)->Terse(1)->Sortkeys(1)->Dump; }; } if (not $ENV{PERL_MM_FALLBACK_SILENCE_WARNING}) { warn <<'EOW'; *** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING *** If you're seeing this warning, your toolchain is really, really old* and you'll almost certainly have problems installing CPAN modules from this century. But never fear, dear user, for we have the technology to fix this! If you're using CPAN.pm to install things, then you can upgrade it using: cpan CPAN If you're using CPANPLUS to install things, then you can upgrade it using: cpanp CPANPLUS If you're using cpanminus, you shouldn't be seeing this message in the first place, so please file an issue on github. If you're using a packaging tool through a unix distribution, this issue should be reported to the package manager. If you're installing manually, please retrain your fingers to run Build.PL when present instead of Makefile.PL. This public service announcement was brought to you by the Perl Toolchain Gang, the irc.perl.org #toolchain IRC channel, and the number 42. ---- * Alternatively, you are doing something overly clever, in which case you should consider setting the 'prefer_installer' config option in CPAN.pm, or 'prefer_makefile' in CPANPLUS, to 'mb" and '0' respectively. You can also silence this warning for future installations by setting the PERL_MM_FALLBACK_SILENCE_WARNING environment variable. EOW sleep 10 if -t STDIN && (-t STDOUT || !(-f STDOUT || -c STDOUT)); } } # end BEGIN my %WriteMakefileArgs = ( "ABSTRACT" => "Run external commands and code at specific phases of Dist::Zilla", "AUTHOR" => "Torsten Raudssus L", "CONFIGURE_REQUIRES" => { "ExtUtils::MakeMaker" => 0, "Module::Build::Tiny" => "0.034" }, "DISTNAME" => "Dist-Zilla-Plugin-Run", "LICENSE" => "perl", "MIN_PERL_VERSION" => "5.006", "NAME" => "Dist::Zilla::Plugin::Run", "PL_FILES" => {}, "PREREQ_PM" => { "Dist::Zilla::Dist::Builder" => 0, "Dist::Zilla::Role::AfterBuild" => 0, "Dist::Zilla::Role::AfterMint" => 0, "Dist::Zilla::Role::AfterRelease" => 0, "Dist::Zilla::Role::BeforeArchive" => 0, "Dist::Zilla::Role::BeforeBuild" => 0, "Dist::Zilla::Role::BeforeRelease" => 0, "Dist::Zilla::Role::Plugin" => 0, "Dist::Zilla::Role::Releaser" => 0, "Dist::Zilla::Role::TestRunner" => 0, "File::Spec" => 0, "IPC::Open3" => 0, "Moose" => 0, "Moose::Role" => 0, "Moose::Util" => 0, "Path::Tiny" => 0, "String::Formatter" => "0.102082", "namespace::autoclean" => 0, "strict" => 0, "warnings" => 0 }, "TEST_REQUIRES" => { "Dist::Zilla" => 0, "Dist::Zilla::Role::VersionProvider" => 0, "File::Spec" => 0, "File::pushd" => 0, "Module::Metadata" => 0, "Test::DZil" => 0, "Test::Deep" => 0, "Test::Fatal" => 0, "Test::File::ShareDir" => 0, "Test::More" => "0.88", "if" => 0, "lib" => 0 }, "VERSION" => "0.048", "test" => { "TESTS" => "t/*.t" } ); my %FallbackPrereqs = ( "Dist::Zilla" => 0, "Dist::Zilla::Dist::Builder" => 0, "Dist::Zilla::Role::AfterBuild" => 0, "Dist::Zilla::Role::AfterMint" => 0, "Dist::Zilla::Role::AfterRelease" => 0, "Dist::Zilla::Role::BeforeArchive" => 0, "Dist::Zilla::Role::BeforeBuild" => 0, "Dist::Zilla::Role::BeforeRelease" => 0, "Dist::Zilla::Role::Plugin" => 0, "Dist::Zilla::Role::Releaser" => 0, "Dist::Zilla::Role::TestRunner" => 0, "Dist::Zilla::Role::VersionProvider" => 0, "File::Spec" => 0, "File::pushd" => 0, "IPC::Open3" => 0, "Module::Metadata" => 0, "Moose" => 0, "Moose::Role" => 0, "Moose::Util" => 0, "Path::Tiny" => 0, "String::Formatter" => "0.102082", "Test::DZil" => 0, "Test::Deep" => 0, "Test::Fatal" => 0, "Test::File::ShareDir" => 0, "Test::More" => "0.88", "if" => 0, "lib" => 0, "namespace::autoclean" => 0, "strict" => 0, "warnings" => 0 ); unless ( eval { ExtUtils::MakeMaker->VERSION('6.63_03') } ) { delete $WriteMakefileArgs{TEST_REQUIRES}; delete $WriteMakefileArgs{BUILD_REQUIRES}; $WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs; } delete $WriteMakefileArgs{CONFIGURE_REQUIRES} unless eval { ExtUtils::MakeMaker->VERSION(6.52) }; WriteMakefile(%WriteMakefileArgs); Dist-Zilla-Plugin-Run-0.048/MANIFEST000644 000766 000024 00000002447 13427437602 017122 0ustar00etherstaff000000 000000 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.012. Build.PL CONTRIBUTING Changes INSTALL LICENCE MANIFEST META.json META.yml Makefile.PL README dist.ini lib/Dist/Zilla/Plugin/Run.pm lib/Dist/Zilla/Plugin/Run/AfterBuild.pm lib/Dist/Zilla/Plugin/Run/AfterMint.pm lib/Dist/Zilla/Plugin/Run/AfterRelease.pm lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm lib/Dist/Zilla/Plugin/Run/Clean.pm lib/Dist/Zilla/Plugin/Run/Release.pm lib/Dist/Zilla/Plugin/Run/Role/Runner.pm lib/Dist/Zilla/Plugin/Run/Test.pm t/00-load.t t/00-report-prereqs.dd t/00-report-prereqs.t t/10_build_phase.t t/20_formatter.t t/30_all_phases.t t/40_test_phase.t t/50_mint.t t/60_redacted_configs.t t/70-eval.t t/80-fatal-errors.t t/90-clean.t t/91-release-status.t t/92-quiet.t t/93-eval-scopes.t t/lib/TestHelper.pm t/zzz-check-breaks.t test_data/global/config.ini test_data/profiles/default/profile.ini xt/author/00-compile.t xt/author/changes_has_content.t xt/author/clean-namespaces.t xt/author/eol.t xt/author/kwalitee.t xt/author/minimum-version.t xt/author/mojibake.t xt/author/no-tabs.t xt/author/pod-spell.t xt/author/pod-syntax.t xt/author/portability.t xt/release/changes_has_content.t xt/release/cpan-changes.t xt/release/distmeta.t Dist-Zilla-Plugin-Run-0.048/META.json000644 000766 000024 00000150721 13427437602 017411 0ustar00etherstaff000000 000000 { "abstract" : "Run external commands and code at specific phases of Dist::Zilla", "author" : [ "Torsten Raudssus L" ], "dynamic_config" : 0, "generated_by" : "Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010", "keywords" : [ "plugin", "tool", "distribution", "build", "release", "run", "command", "shell", "execute" ], "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", "version" : 2 }, "name" : "Dist-Zilla-Plugin-Run", "no_index" : { "directory" : [ "t", "xt" ] }, "prereqs" : { "configure" : { "requires" : { "ExtUtils::MakeMaker" : "0", "Module::Build::Tiny" : "0.034", "perl" : "5.006" } }, "develop" : { "recommends" : { "Dist::Zilla::PluginBundle::Author::ETHER" : "0.145", "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007" }, "requires" : { "Encode" : "0", "File::Spec" : "0", "IO::Handle" : "0", "IPC::Open3" : "0", "Pod::Wordlist" : "0", "Test::CPAN::Changes" : "0.19", "Test::CPAN::Meta" : "0", "Test::CleanNamespaces" : "0.15", "Test::EOL" : "0", "Test::Kwalitee" : "1.21", "Test::MinimumVersion" : "0", "Test::Mojibake" : "0", "Test::More" : "0.96", "Test::NoTabs" : "0", "Test::Pod" : "1.41", "Test::Portability::Files" : "0", "Test::Spelling" : "0.12", "Test::Warnings" : "0", "perl" : "5.006" } }, "runtime" : { "requires" : { "Dist::Zilla::Dist::Builder" : "0", "Dist::Zilla::Role::AfterBuild" : "0", "Dist::Zilla::Role::AfterMint" : "0", "Dist::Zilla::Role::AfterRelease" : "0", "Dist::Zilla::Role::BeforeArchive" : "0", "Dist::Zilla::Role::BeforeBuild" : "0", "Dist::Zilla::Role::BeforeRelease" : "0", "Dist::Zilla::Role::Plugin" : "0", "Dist::Zilla::Role::Releaser" : "0", "Dist::Zilla::Role::TestRunner" : "0", "File::Spec" : "0", "IPC::Open3" : "0", "Moose" : "0", "Moose::Role" : "0", "Moose::Util" : "0", "Path::Tiny" : "0", "String::Formatter" : "0.102082", "namespace::autoclean" : "0", "perl" : "5.006", "strict" : "0", "warnings" : "0" } }, "test" : { "recommends" : { "CPAN::Meta" : "2.120900" }, "requires" : { "Dist::Zilla" : "0", "Dist::Zilla::Role::VersionProvider" : "0", "File::Spec" : "0", "File::pushd" : "0", "Module::Metadata" : "0", "Test::DZil" : "0", "Test::Deep" : "0", "Test::Fatal" : "0", "Test::File::ShareDir" : "0", "Test::More" : "0.88", "if" : "0", "lib" : "0", "perl" : "5.006" } }, "x_Dist_Zilla" : { "requires" : { "Dist::Zilla" : "5", "Dist::Zilla::Plugin::Authority" : "1.009", "Dist::Zilla::Plugin::AutoMetaResources" : "0", "Dist::Zilla::Plugin::AutoPrereqs" : "5.038", "Dist::Zilla::Plugin::Bootstrap::lib" : "0", "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : "0.004", "Dist::Zilla::Plugin::CheckIssues" : "0", "Dist::Zilla::Plugin::CheckMetaResources" : "0", "Dist::Zilla::Plugin::CheckPrereqsIndexed" : "0.019", "Dist::Zilla::Plugin::CheckSelfDependency" : "0", "Dist::Zilla::Plugin::CheckStrictVersion" : "0", "Dist::Zilla::Plugin::ConfirmRelease" : "0", "Dist::Zilla::Plugin::CopyFilesFromRelease" : "0", "Dist::Zilla::Plugin::EnsureLatestPerl" : "0", "Dist::Zilla::Plugin::FileFinder::ByName" : "0", "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : "0", "Dist::Zilla::Plugin::Git::Check" : "0", "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch" : "0.004", "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts" : "0", "Dist::Zilla::Plugin::Git::Commit" : "2.020", "Dist::Zilla::Plugin::Git::Contributors" : "0.029", "Dist::Zilla::Plugin::Git::Describe" : "0.004", "Dist::Zilla::Plugin::Git::GatherDir" : "2.016", "Dist::Zilla::Plugin::Git::Push" : "0", "Dist::Zilla::Plugin::Git::Remote::Check" : "0", "Dist::Zilla::Plugin::Git::Tag" : "0", "Dist::Zilla::Plugin::GitHub::Update" : "0.40", "Dist::Zilla::Plugin::GithubMeta" : "0.54", "Dist::Zilla::Plugin::InstallGuide" : "1.200005", "Dist::Zilla::Plugin::Keywords" : "0.004", "Dist::Zilla::Plugin::License" : "5.038", "Dist::Zilla::Plugin::MakeMaker::Fallback" : "0.029", "Dist::Zilla::Plugin::Manifest" : "0", "Dist::Zilla::Plugin::MetaConfig" : "0", "Dist::Zilla::Plugin::MetaJSON" : "0", "Dist::Zilla::Plugin::MetaNoIndex" : "0", "Dist::Zilla::Plugin::MetaProvides::Package" : "1.15000002", "Dist::Zilla::Plugin::MetaResources" : "0", "Dist::Zilla::Plugin::MetaTests" : "0", "Dist::Zilla::Plugin::MetaYAML" : "0", "Dist::Zilla::Plugin::MinimumPerl" : "1.006", "Dist::Zilla::Plugin::ModuleBuildTiny::Fallback" : "0.018", "Dist::Zilla::Plugin::MojibakeTests" : "0.8", "Dist::Zilla::Plugin::NextRelease" : "5.033", "Dist::Zilla::Plugin::PodSyntaxTests" : "5.040", "Dist::Zilla::Plugin::Prereqs" : "0", "Dist::Zilla::Plugin::Prereqs::AuthorDeps" : "0.006", "Dist::Zilla::Plugin::PromptIfStale" : "0", "Dist::Zilla::Plugin::Readme" : "0", "Dist::Zilla::Plugin::ReadmeAnyFromPod" : "0.142180", "Dist::Zilla::Plugin::RemovePrereqs" : "0", "Dist::Zilla::Plugin::RewriteVersion::Transitional" : "0.004", "Dist::Zilla::Plugin::Run::AfterBuild" : "0.041", "Dist::Zilla::Plugin::Run::AfterRelease" : "0.038", "Dist::Zilla::Plugin::RunExtraTests" : "0.024", "Dist::Zilla::Plugin::StaticInstall" : "0.005", "Dist::Zilla::Plugin::SurgicalPodWeaver" : "0", "Dist::Zilla::Plugin::Test::CPAN::Changes" : "0.012", "Dist::Zilla::Plugin::Test::ChangesHasContent" : "0", "Dist::Zilla::Plugin::Test::CheckBreaks" : "0.017", "Dist::Zilla::Plugin::Test::CleanNamespaces" : "0.006", "Dist::Zilla::Plugin::Test::Compile" : "2.039", "Dist::Zilla::Plugin::Test::EOL" : "0.17", "Dist::Zilla::Plugin::Test::Kwalitee" : "2.10", "Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000008", "Dist::Zilla::Plugin::Test::NoTabs" : "0.08", "Dist::Zilla::Plugin::Test::PodSpelling" : "2.006003", "Dist::Zilla::Plugin::Test::Portability" : "2.000007", "Dist::Zilla::Plugin::Test::ReportPrereqs" : "0.022", "Dist::Zilla::Plugin::TestRelease" : "0", "Dist::Zilla::Plugin::UploadToCPAN" : "0", "Dist::Zilla::Plugin::UseUnsafeInc" : "0", "Dist::Zilla::PluginBundle::Author::ETHER" : "0.117", "Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007", "Software::License::Perl_5" : "0" } } }, "provides" : { "Dist::Zilla::Plugin::Run" : { "file" : "lib/Dist/Zilla/Plugin/Run.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::AfterBuild" : { "file" : "lib/Dist/Zilla/Plugin/Run/AfterBuild.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::AfterMint" : { "file" : "lib/Dist/Zilla/Plugin/Run/AfterMint.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::AfterRelease" : { "file" : "lib/Dist/Zilla/Plugin/Run/AfterRelease.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::BeforeArchive" : { "file" : "lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::BeforeBuild" : { "file" : "lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::BeforeRelease" : { "file" : "lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::Clean" : { "file" : "lib/Dist/Zilla/Plugin/Run/Clean.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::Release" : { "file" : "lib/Dist/Zilla/Plugin/Run/Release.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::Role::Runner" : { "file" : "lib/Dist/Zilla/Plugin/Run/Role/Runner.pm", "version" : "0.048" }, "Dist::Zilla::Plugin::Run::Test" : { "file" : "lib/Dist/Zilla/Plugin/Run/Test.pm", "version" : "0.048" } }, "release_status" : "stable", "resources" : { "bugtracker" : { "mailto" : "bug-Dist-Zilla-Plugin-Run@rt.cpan.org", "web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run" }, "homepage" : "https://github.com/Getty/p5-dist-zilla-plugin-run", "repository" : { "type" : "git", "url" : "https://github.com/Getty/p5-dist-zilla-plugin-run.git", "web" : "https://github.com/Getty/p5-dist-zilla-plugin-run" }, "x_IRC" : "irc://irc.perl.org/#distzilla", "x_MailingList" : "http://dzil.org/#mailing-list" }, "version" : "0.048", "x_Dist_Zilla" : { "perl" : { "version" : "5.029007" }, "plugins" : [ { "class" : "Dist::Zilla::Plugin::Bootstrap::lib", "config" : { "Dist::Zilla::Role::Bootstrap" : { "$Dist::Zilla::Role::Bootstrap::VERSION" : "1.001004", "distname" : "Dist-Zilla-Plugin-Run", "fallback" : 1, "try_built" : null, "try_built_method" : "mtime" } }, "name" : "Bootstrap::lib", "version" : "1.001002" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "recommends" } }, "name" : "@Author::ETHER/pluginbundle version", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 0, "check_all_prereqs" : 0, "modules" : [ "Dist::Zilla::PluginBundle::Author::ETHER" ], "phase" : "build", "run_under_travis" : 0, "skip" : [] } }, "name" : "@Author::ETHER/stale modules, build", "version" : "0.055" }, { "class" : "Dist::Zilla::Plugin::FileFinder::ByName", "name" : "@Author::ETHER/Examples", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::GatherDir", "config" : { "Dist::Zilla::Plugin::GatherDir" : { "exclude_filename" : [ "CONTRIBUTING", "INSTALL", "LICENCE", "README.pod" ], "exclude_match" : [], "follow_symlinks" : 0, "include_dotfiles" : 0, "prefix" : "", "prune_directory" : [], "root" : "." }, "Dist::Zilla::Plugin::Git::GatherDir" : { "include_untracked" : 0 } }, "name" : "@Author::ETHER/Git::GatherDir", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::MetaYAML", "name" : "@Author::ETHER/MetaYAML", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaJSON", "name" : "@Author::ETHER/MetaJSON", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Readme", "name" : "@Author::ETHER/Readme", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Manifest", "name" : "@Author::ETHER/Manifest", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::License", "name" : "@Author::ETHER/License", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir", "config" : { "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : { "destination_filename" : "CONTRIBUTING", "dist" : "Dist-Zilla-PluginBundle-Author-ETHER", "encoding" : "UTF-8", "has_xs" : 0, "location" : "build", "source_filename" : "CONTRIBUTING" }, "Dist::Zilla::Role::RepoFileInjector" : { "allow_overwrite" : 1, "repo_root" : ".", "version" : "0.009" } }, "name" : "@Author::ETHER/generate CONTRIBUTING", "version" : "0.014" }, { "class" : "Dist::Zilla::Plugin::InstallGuide", "name" : "@Author::ETHER/InstallGuide", "version" : "1.200012" }, { "class" : "Dist::Zilla::Plugin::Test::Compile", "config" : { "Dist::Zilla::Plugin::Test::Compile" : { "bail_out_on_fail" : 1, "fail_on_warning" : "author", "fake_home" : 0, "filename" : "xt/author/00-compile.t", "module_finder" : [ ":InstallModules" ], "needs_display" : 0, "phase" : "develop", "script_finder" : [ ":PerlExecFiles", "@Author::ETHER/Examples" ], "skips" : [], "switch" : [] } }, "name" : "@Author::ETHER/Test::Compile", "version" : "2.058" }, { "class" : "Dist::Zilla::Plugin::Test::NoTabs", "config" : { "Dist::Zilla::Plugin::Test::NoTabs" : { "filename" : "xt/author/no-tabs.t", "finder" : [ ":InstallModules", ":ExecFiles", "@Author::ETHER/Examples", ":TestFiles", ":ExtraTestFiles" ] } }, "name" : "@Author::ETHER/Test::NoTabs", "version" : "0.15" }, { "class" : "Dist::Zilla::Plugin::Test::EOL", "config" : { "Dist::Zilla::Plugin::Test::EOL" : { "filename" : "xt/author/eol.t", "finder" : [ ":ExecFiles", ":ExtraTestFiles", ":InstallModules", ":TestFiles", "@Author::ETHER/Examples" ], "trailing_whitespace" : 1 } }, "name" : "@Author::ETHER/Test::EOL", "version" : "0.19" }, { "class" : "Dist::Zilla::Plugin::MetaTests", "name" : "@Author::ETHER/MetaTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::CPAN::Changes", "config" : { "Dist::Zilla::Plugin::Test::CPAN::Changes" : { "changelog" : "Changes" } }, "name" : "@Author::ETHER/Test::CPAN::Changes", "version" : "0.012" }, { "class" : "Dist::Zilla::Plugin::GenerateFile::FromShareDir", "config" : { "Dist::Zilla::Plugin::GenerateFile::FromShareDir" : { "destination_filename" : "xt/author/changes_has_content.t", "dist" : "Dist-Zilla-PluginBundle-Author-ETHER", "encoding" : "UTF-8", "location" : "build", "source_filename" : "changes_has_content.t" }, "Dist::Zilla::Role::RepoFileInjector" : { "allow_overwrite" : 1, "repo_root" : ".", "version" : "0.009" } }, "name" : "@Author::ETHER/generate xt/author/changes_has_content.t", "version" : "0.014" }, { "class" : "Dist::Zilla::Plugin::Test::ChangesHasContent", "name" : "@Author::ETHER/Test::ChangesHasContent", "version" : "0.011" }, { "class" : "Dist::Zilla::Plugin::Test::MinimumVersion", "name" : "@Author::ETHER/Test::MinimumVersion", "version" : "2.000008" }, { "class" : "Dist::Zilla::Plugin::PodSyntaxTests", "name" : "@Author::ETHER/PodSyntaxTests", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::PodSpelling", "config" : { "Dist::Zilla::Plugin::Test::PodSpelling" : { "directories" : [ "examples", "lib", "script", "t", "xt" ], "spell_cmd" : "", "stopwords" : [ "irc" ], "wordlist" : "Pod::Wordlist" } }, "name" : "@Author::ETHER/Test::PodSpelling", "version" : "2.007005" }, { "class" : "Dist::Zilla::Plugin::Test::Kwalitee", "config" : { "Dist::Zilla::Plugin::Test::Kwalitee" : { "filename" : "xt/author/kwalitee.t", "skiptest" : [] } }, "name" : "@Author::ETHER/Test::Kwalitee", "version" : "2.12" }, { "class" : "Dist::Zilla::Plugin::MojibakeTests", "name" : "@Author::ETHER/MojibakeTests", "version" : "0.8" }, { "class" : "Dist::Zilla::Plugin::Test::ReportPrereqs", "name" : "@Author::ETHER/Test::ReportPrereqs", "version" : "0.027" }, { "class" : "Dist::Zilla::Plugin::Test::Portability", "config" : { "Dist::Zilla::Plugin::Test::Portability" : { "options" : "" } }, "name" : "@Author::ETHER/Test::Portability", "version" : "2.001000" }, { "class" : "Dist::Zilla::Plugin::Test::CleanNamespaces", "config" : { "Dist::Zilla::Plugin::Test::CleanNamespaces" : { "filename" : "xt/author/clean-namespaces.t", "skips" : [] } }, "name" : "@Author::ETHER/Test::CleanNamespaces", "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::Git::Describe", "name" : "@Author::ETHER/Git::Describe", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::SurgicalPodWeaver", "config" : { "Dist::Zilla::Plugin::PodWeaver" : { "config_plugins" : [ "@Author::ETHER" ], "finder" : [ ":InstallModules", ":ExecFiles" ], "plugins" : [ { "class" : "Pod::Weaver::Plugin::EnsurePod5", "name" : "@Author::ETHER/EnsurePod5", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::H1Nester", "name" : "@Author::ETHER/H1Nester", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::SingleEncoding", "name" : "@Author::ETHER/SingleEncoding", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@Author::ETHER/List", "version" : "4.015" }, { "class" : "Pod::Weaver::Plugin::Transformer", "name" : "@Author::ETHER/Verbatim", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Author::ETHER/header", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Name", "name" : "@Author::ETHER/Name", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Version", "name" : "@Author::ETHER/Version", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Author::ETHER/prelude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "SYNOPSIS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "DESCRIPTION", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Generic", "name" : "OVERVIEW", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "ATTRIBUTES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "METHODS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "FUNCTIONS", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Collect", "name" : "TYPES", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Leftovers", "name" : "@Author::ETHER/Leftovers", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Author::ETHER/postlude", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::GenerateSection", "name" : "@Author::ETHER/generate SUPPORT", "version" : "1.06" }, { "class" : "Pod::Weaver::Section::AllowOverride", "name" : "@Author::ETHER/allow override SUPPORT", "version" : "0.05" }, { "class" : "Pod::Weaver::Section::Authors", "name" : "@Author::ETHER/Authors", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::AllowOverride", "name" : "@Author::ETHER/allow override AUTHOR", "version" : "0.05" }, { "class" : "Pod::Weaver::Section::Contributors", "name" : "@Author::ETHER/Contributors", "version" : "0.009" }, { "class" : "Pod::Weaver::Section::Legal", "name" : "@Author::ETHER/Legal", "version" : "4.015" }, { "class" : "Pod::Weaver::Section::Region", "name" : "@Author::ETHER/footer", "version" : "4.015" } ] } }, "name" : "@Author::ETHER/SurgicalPodWeaver", "version" : "0.0023" }, { "class" : "Dist::Zilla::Plugin::GithubMeta", "name" : "@Author::ETHER/GithubMeta", "version" : "0.58" }, { "class" : "Dist::Zilla::Plugin::AutoMetaResources", "name" : "@Author::ETHER/AutoMetaResources", "version" : "1.21" }, { "class" : "Dist::Zilla::Plugin::Authority", "name" : "@Author::ETHER/Authority", "version" : "1.009" }, { "class" : "Dist::Zilla::Plugin::MetaNoIndex", "name" : "@Author::ETHER/MetaNoIndex", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Package", "config" : { "Dist::Zilla::Plugin::MetaProvides::Package" : { "finder" : [ ":InstallModules" ], "finder_objects" : [ { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "6.012" } ], "include_underscores" : 0 }, "Dist::Zilla::Role::MetaProvider::Provider" : { "$Dist::Zilla::Role::MetaProvider::Provider::VERSION" : "2.002004", "inherit_missing" : 0, "inherit_version" : 0, "meta_noindex" : 1 }, "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000033", "version" : "0.006" } }, "name" : "@Author::ETHER/MetaProvides::Package", "version" : "2.004003" }, { "class" : "Dist::Zilla::Plugin::MetaConfig", "name" : "@Author::ETHER/MetaConfig", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Keywords", "config" : { "Dist::Zilla::Plugin::Keywords" : { "keywords" : [ "plugin", "tool", "distribution", "build", "release", "run", "command", "shell", "execute" ] } }, "name" : "@Author::ETHER/Keywords", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::UseUnsafeInc", "config" : { "Dist::Zilla::Plugin::UseUnsafeInc" : { "dot_in_INC" : 0 } }, "name" : "@Author::ETHER/UseUnsafeInc", "version" : "0.001" }, { "class" : "Dist::Zilla::Plugin::AutoPrereqs", "name" : "@Author::ETHER/AutoPrereqs", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps", "name" : "@Author::ETHER/Prereqs::AuthorDeps", "version" : "0.006" }, { "class" : "Dist::Zilla::Plugin::MinimumPerl", "name" : "@Author::ETHER/MinimumPerl", "version" : "1.006" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "x_Dist_Zilla", "type" : "requires" } }, "name" : "@Author::ETHER/pod_weaving", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MakeMaker::Fallback", "config" : { "Dist::Zilla::Plugin::MakeMaker" : { "make_path" : "make", "version" : "6.012" }, "Dist::Zilla::Plugin::MakeMaker::Awesome" : { "version" : "0.47" }, "Dist::Zilla::Plugin::MakeMaker::Fallback" : { "skip_release_testing" : 0 }, "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 9, "version" : "6.012" } }, "name" : "@Author::ETHER/MakeMaker::Fallback", "version" : "0.030" }, { "class" : "Dist::Zilla::Plugin::ModuleBuildTiny::Fallback", "config" : { "Dist::Zilla::Plugin::ModuleBuildTiny::Fallback" : { "mb_version" : "0.28", "plugins" : [ { "class" : "Dist::Zilla::Plugin::ModuleBuild", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 9 } }, "name" : "ModuleBuild, via ModuleBuildTiny::Fallback", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::ModuleBuildTiny", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 9 } }, "name" : "ModuleBuildTiny, via ModuleBuildTiny::Fallback", "version" : "0.015" } ] }, "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 9 } }, "name" : "@Author::ETHER/ModuleBuildTiny::Fallback", "version" : "0.025" }, { "class" : "Dist::Zilla::Plugin::Git::Contributors", "config" : { "Dist::Zilla::Plugin::Git::Contributors" : { "git_version" : "2.19.1", "include_authors" : 0, "include_releaser" : 1, "order_by" : "commits", "paths" : [] } }, "name" : "@Author::ETHER/Git::Contributors", "version" : "0.035" }, { "class" : "Dist::Zilla::Plugin::StaticInstall", "config" : { "Dist::Zilla::Plugin::StaticInstall" : { "dry_run" : 0, "mode" : "auto" } }, "name" : "@Author::ETHER/StaticInstall", "version" : "0.012" }, { "class" : "Dist::Zilla::Plugin::RunExtraTests", "config" : { "Dist::Zilla::Role::TestRunner" : { "default_jobs" : 9 } }, "name" : "@Author::ETHER/RunExtraTests", "version" : "0.029" }, { "class" : "Dist::Zilla::Plugin::CheckSelfDependency", "config" : { "Dist::Zilla::Plugin::CheckSelfDependency" : { "finder" : [ ":InstallModules" ] }, "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000033", "version" : "0.006" } }, "name" : "@Author::ETHER/CheckSelfDependency", "version" : "0.011" }, { "class" : "Dist::Zilla::Plugin::Run::AfterBuild", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "fatal_errors" : 1, "quiet" : 1, "run" : [ "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\"" ], "version" : "0.048" } }, "name" : "@Author::ETHER/.ackrc", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::Run::AfterBuild", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "eval" : [ "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }" ], "fatal_errors" : 0, "quiet" : 1, "version" : "0.048" } }, "name" : "@Author::ETHER/.latest", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::CheckStrictVersion", "name" : "@Author::ETHER/CheckStrictVersion", "version" : "0.001" }, { "class" : "Dist::Zilla::Plugin::CheckMetaResources", "name" : "@Author::ETHER/CheckMetaResources", "version" : "0.001" }, { "class" : "Dist::Zilla::Plugin::EnsureLatestPerl", "config" : { "Dist::Zilla::Plugin::EnsureLatestPerl" : { "Module::CoreList" : "5.20190120" } }, "name" : "@Author::ETHER/EnsureLatestPerl", "version" : "0.008" }, { "class" : "Dist::Zilla::Plugin::PromptIfStale", "config" : { "Dist::Zilla::Plugin::PromptIfStale" : { "check_all_plugins" : 1, "check_all_prereqs" : 1, "modules" : [], "phase" : "release", "run_under_travis" : 0, "skip" : [] } }, "name" : "@Author::ETHER/stale modules, release", "version" : "0.055" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "config" : { "Dist::Zilla::Plugin::Git::Check" : { "untracked_files" : "die" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." } }, "name" : "@Author::ETHER/initial check", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts", "config" : { "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." } }, "name" : "@Author::ETHER/Git::CheckFor::MergeConflicts", "version" : "0.014" }, { "class" : "Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch", "config" : { "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." } }, "name" : "@Author::ETHER/Git::CheckFor::CorrectBranch", "version" : "0.014" }, { "class" : "Dist::Zilla::Plugin::Git::Remote::Check", "name" : "@Author::ETHER/Git::Remote::Check", "version" : "0.1.2" }, { "class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed", "name" : "@Author::ETHER/CheckPrereqsIndexed", "version" : "0.020" }, { "class" : "Dist::Zilla::Plugin::TestRelease", "name" : "@Author::ETHER/TestRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::Check", "config" : { "Dist::Zilla::Plugin::Git::Check" : { "untracked_files" : "die" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." } }, "name" : "@Author::ETHER/after tests", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::CheckIssues", "name" : "@Author::ETHER/CheckIssues", "version" : "0.010" }, { "class" : "Dist::Zilla::Plugin::UploadToCPAN", "name" : "@Author::ETHER/UploadToCPAN", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", "config" : { "Dist::Zilla::Plugin::CopyFilesFromRelease" : { "filename" : [ "CONTRIBUTING", "INSTALL", "LICENCE", "LICENSE", "ppport.h" ], "match" : [] } }, "name" : "@Author::ETHER/copy generated files", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::ReadmeAnyFromPod", "config" : { "Dist::Zilla::Role::FileWatcher" : { "version" : "0.006" } }, "name" : "@Author::ETHER/ReadmeAnyFromPod", "version" : "0.163250" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "recommends" } }, "name" : "@Author::ETHER/@Git::VersionManager/pluginbundle version", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::RewriteVersion::Transitional", "config" : { "Dist::Zilla::Plugin::RewriteVersion" : { "add_tarball_name" : 0, "finders" : [ ":ExecFiles", ":InstallModules" ], "global" : 1, "skip_version_provider" : 0 }, "Dist::Zilla::Plugin::RewriteVersion::Transitional" : {} }, "name" : "@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional", "version" : "0.009" }, { "class" : "Dist::Zilla::Plugin::MetaProvides::Update", "name" : "@Author::ETHER/@Git::VersionManager/MetaProvides::Update", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::CopyFilesFromRelease", "config" : { "Dist::Zilla::Plugin::CopyFilesFromRelease" : { "filename" : [ "Changes" ], "match" : [] } }, "name" : "@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease", "version" : "0.007" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [ "." ], "commit_msg" : "%N-%v%t%n%n%c" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "CONTRIBUTING", "Changes", "INSTALL", "LICENCE", "README.pod" ], "allow_dirty_match" : [], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::ETHER/@Git::VersionManager/release snapshot", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::Git::Tag", "config" : { "Dist::Zilla::Plugin::Git::Tag" : { "branch" : null, "changelog" : "Changes", "signed" : 0, "tag" : "0.048", "tag_format" : "%v%t", "tag_message" : "v%v%t" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::ETHER/@Git::VersionManager/Git::Tag", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional", "config" : { "Dist::Zilla::Plugin::BumpVersionAfterRelease" : { "finders" : [ ":ExecFiles", ":InstallModules" ], "global" : 1, "munge_makefile_pl" : 1 }, "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional" : {} }, "name" : "@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional", "version" : "0.009" }, { "class" : "Dist::Zilla::Plugin::NextRelease", "name" : "@Author::ETHER/@Git::VersionManager/NextRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::Commit", "config" : { "Dist::Zilla::Plugin::Git::Commit" : { "add_files_in" : [], "commit_msg" : "increment $VERSION after %v release" }, "Dist::Zilla::Role::Git::DirtyFiles" : { "allow_dirty" : [ "Build.PL", "Changes", "Makefile.PL" ], "allow_dirty_match" : [ "(?^:^lib/.*\\.pm$)" ], "changelog" : "Changes" }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." }, "Dist::Zilla::Role::Git::StringFormatter" : { "time_zone" : "local" } }, "name" : "@Author::ETHER/@Git::VersionManager/post-release commit", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "x_Dist_Zilla", "type" : "requires" } }, "name" : "@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Git::Push", "config" : { "Dist::Zilla::Plugin::Git::Push" : { "push_to" : [ "origin" ], "remotes_must_exist" : 1 }, "Dist::Zilla::Role::Git::Repo" : { "git_version" : "2.19.1", "repo_root" : "." } }, "name" : "@Author::ETHER/Git::Push", "version" : "2.045" }, { "class" : "Dist::Zilla::Plugin::GitHub::Update", "config" : { "Dist::Zilla::Plugin::GitHub::Update" : { "metacpan" : 1 } }, "name" : "@Author::ETHER/GitHub::Update", "version" : "0.47" }, { "class" : "Dist::Zilla::Plugin::Run::AfterRelease", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "fatal_errors" : 0, "quiet" : 0, "run" : [ "REDACTED" ], "version" : "0.048" } }, "name" : "@Author::ETHER/install release", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::Run::AfterRelease", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "eval" : [ "print \"release complete!\\xa\"" ], "fatal_errors" : 1, "quiet" : 1, "version" : "0.048" } }, "name" : "@Author::ETHER/release complete", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::ConfirmRelease", "name" : "@Author::ETHER/ConfirmRelease", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "x_Dist_Zilla", "type" : "requires" } }, "name" : "@Author::ETHER/prereqs for @Author::ETHER", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::MetaResources", "name" : "MetaResources", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Prereqs", "config" : { "Dist::Zilla::Plugin::Prereqs" : { "phase" : "develop", "type" : "requires" } }, "name" : "DevelopRequires", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::RemovePrereqs", "config" : { "Dist::Zilla::Plugin::RemovePrereqs" : { "modules_to_remove" : [ "Path::Class" ] } }, "name" : "RemovePrereqs", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::Test::CheckBreaks", "config" : { "Dist::Zilla::Plugin::Test::CheckBreaks" : { "conflicts_module" : [ "Module::Runtime::Conflicts", "Moose::Conflicts" ], "no_forced_deps" : 0 }, "Dist::Zilla::Role::ModuleMetadata" : { "Module::Metadata" : "1.000033", "version" : "0.006" } }, "name" : "Test::CheckBreaks", "version" : "0.019" }, { "class" : "Dist::Zilla::Plugin::Run::AfterBuild", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "fatal_errors" : 1, "quiet" : 1, "run" : [ "echo \"Built version %v in %d... So far so good\"" ], "version" : "0.048" } }, "name" : "Run::AfterBuild", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::Run::AfterRelease", "config" : { "Dist::Zilla::Plugin::Run::Role::Runner" : { "eval" : [ "print \"Congratulations, %v is out! Now just sit back and wait for the bug reports :-)\\n\"" ], "fatal_errors" : 1, "quiet" : 1, "version" : "0.048" } }, "name" : "Run::AfterRelease", "version" : "0.048" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":InstallModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":IncModules", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":TestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExtraTestFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":PerlExecFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":ShareFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":MainModule", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":AllFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::FinderCode", "name" : ":NoFiles", "version" : "6.012" }, { "class" : "Dist::Zilla::Plugin::VerifyPhases", "name" : "@Author::ETHER/PHASE VERIFICATION", "version" : "0.016" } ], "zilla" : { "class" : "Dist::Zilla::Dist::Builder", "config" : { "is_trial" : 0 }, "version" : "6.012" } }, "x_authority" : "cpan:GETTY", "x_contributors" : [ "Karen Etheridge ", "Randy Stauner ", "Nickolay Platonov ", "Olivier Mengu\u00e9 ", "Al Newkirk ", "Tatsuhiko Miyagawa ", "Thomas Sibley ", "David Golden " ], "x_generated_by_perl" : "v5.29.7", "x_serialization_backend" : "Cpanel::JSON::XS version 4.08", "x_static_install" : 1, "x_use_unsafe_inc" : 0 } Dist-Zilla-Plugin-Run-0.048/META.yml000644 000766 000024 00000076146 13427437602 017251 0ustar00etherstaff000000 000000 --- abstract: 'Run external commands and code at specific phases of Dist::Zilla' author: - 'Torsten Raudssus L' build_requires: Dist::Zilla: '0' Dist::Zilla::Role::VersionProvider: '0' File::Spec: '0' File::pushd: '0' Module::Metadata: '0' Test::DZil: '0' Test::Deep: '0' Test::Fatal: '0' Test::File::ShareDir: '0' Test::More: '0.88' if: '0' lib: '0' perl: '5.006' configure_requires: ExtUtils::MakeMaker: '0' Module::Build::Tiny: '0.034' perl: '5.006' dynamic_config: 0 generated_by: 'Dist::Zilla version 6.012, CPAN::Meta::Converter version 2.150010' keywords: - plugin - tool - distribution - build - release - run - command - shell - execute license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html version: '1.4' name: Dist-Zilla-Plugin-Run no_index: directory: - t - xt provides: Dist::Zilla::Plugin::Run: file: lib/Dist/Zilla/Plugin/Run.pm version: '0.048' Dist::Zilla::Plugin::Run::AfterBuild: file: lib/Dist/Zilla/Plugin/Run/AfterBuild.pm version: '0.048' Dist::Zilla::Plugin::Run::AfterMint: file: lib/Dist/Zilla/Plugin/Run/AfterMint.pm version: '0.048' Dist::Zilla::Plugin::Run::AfterRelease: file: lib/Dist/Zilla/Plugin/Run/AfterRelease.pm version: '0.048' Dist::Zilla::Plugin::Run::BeforeArchive: file: lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm version: '0.048' Dist::Zilla::Plugin::Run::BeforeBuild: file: lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm version: '0.048' Dist::Zilla::Plugin::Run::BeforeRelease: file: lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm version: '0.048' Dist::Zilla::Plugin::Run::Clean: file: lib/Dist/Zilla/Plugin/Run/Clean.pm version: '0.048' Dist::Zilla::Plugin::Run::Release: file: lib/Dist/Zilla/Plugin/Run/Release.pm version: '0.048' Dist::Zilla::Plugin::Run::Role::Runner: file: lib/Dist/Zilla/Plugin/Run/Role/Runner.pm version: '0.048' Dist::Zilla::Plugin::Run::Test: file: lib/Dist/Zilla/Plugin/Run/Test.pm version: '0.048' requires: Dist::Zilla::Dist::Builder: '0' Dist::Zilla::Role::AfterBuild: '0' Dist::Zilla::Role::AfterMint: '0' Dist::Zilla::Role::AfterRelease: '0' Dist::Zilla::Role::BeforeArchive: '0' Dist::Zilla::Role::BeforeBuild: '0' Dist::Zilla::Role::BeforeRelease: '0' Dist::Zilla::Role::Plugin: '0' Dist::Zilla::Role::Releaser: '0' Dist::Zilla::Role::TestRunner: '0' File::Spec: '0' IPC::Open3: '0' Moose: '0' Moose::Role: '0' Moose::Util: '0' Path::Tiny: '0' String::Formatter: '0.102082' namespace::autoclean: '0' perl: '5.006' strict: '0' warnings: '0' resources: IRC: irc://irc.perl.org/#distzilla MailingList: http://dzil.org/#mailing-list bugtracker: https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Run homepage: https://github.com/Getty/p5-dist-zilla-plugin-run repository: https://github.com/Getty/p5-dist-zilla-plugin-run.git version: '0.048' x_Dist_Zilla: perl: version: '5.029007' plugins: - class: Dist::Zilla::Plugin::Bootstrap::lib config: Dist::Zilla::Role::Bootstrap: $Dist::Zilla::Role::Bootstrap::VERSION: '1.001004' distname: Dist-Zilla-Plugin-Run fallback: '1' try_built: ~ try_built_method: mtime name: Bootstrap::lib version: '1.001002' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: recommends name: '@Author::ETHER/pluginbundle version' version: '6.012' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 0 check_all_prereqs: 0 modules: - Dist::Zilla::PluginBundle::Author::ETHER phase: build run_under_travis: 0 skip: [] name: '@Author::ETHER/stale modules, build' version: '0.055' - class: Dist::Zilla::Plugin::FileFinder::ByName name: '@Author::ETHER/Examples' version: '6.012' - class: Dist::Zilla::Plugin::Git::GatherDir config: Dist::Zilla::Plugin::GatherDir: exclude_filename: - CONTRIBUTING - INSTALL - LICENCE - README.pod exclude_match: [] follow_symlinks: 0 include_dotfiles: 0 prefix: '' prune_directory: [] root: . Dist::Zilla::Plugin::Git::GatherDir: include_untracked: 0 name: '@Author::ETHER/Git::GatherDir' version: '2.045' - class: Dist::Zilla::Plugin::MetaYAML name: '@Author::ETHER/MetaYAML' version: '6.012' - class: Dist::Zilla::Plugin::MetaJSON name: '@Author::ETHER/MetaJSON' version: '6.012' - class: Dist::Zilla::Plugin::Readme name: '@Author::ETHER/Readme' version: '6.012' - class: Dist::Zilla::Plugin::Manifest name: '@Author::ETHER/Manifest' version: '6.012' - class: Dist::Zilla::Plugin::License name: '@Author::ETHER/License' version: '6.012' - class: Dist::Zilla::Plugin::GenerateFile::FromShareDir config: Dist::Zilla::Plugin::GenerateFile::FromShareDir: destination_filename: CONTRIBUTING dist: Dist-Zilla-PluginBundle-Author-ETHER encoding: UTF-8 has_xs: 0 location: build source_filename: CONTRIBUTING Dist::Zilla::Role::RepoFileInjector: allow_overwrite: 1 repo_root: . version: '0.009' name: '@Author::ETHER/generate CONTRIBUTING' version: '0.014' - class: Dist::Zilla::Plugin::InstallGuide name: '@Author::ETHER/InstallGuide' version: '1.200012' - class: Dist::Zilla::Plugin::Test::Compile config: Dist::Zilla::Plugin::Test::Compile: bail_out_on_fail: '1' fail_on_warning: author fake_home: 0 filename: xt/author/00-compile.t module_finder: - ':InstallModules' needs_display: 0 phase: develop script_finder: - ':PerlExecFiles' - '@Author::ETHER/Examples' skips: [] switch: [] name: '@Author::ETHER/Test::Compile' version: '2.058' - class: Dist::Zilla::Plugin::Test::NoTabs config: Dist::Zilla::Plugin::Test::NoTabs: filename: xt/author/no-tabs.t finder: - ':InstallModules' - ':ExecFiles' - '@Author::ETHER/Examples' - ':TestFiles' - ':ExtraTestFiles' name: '@Author::ETHER/Test::NoTabs' version: '0.15' - class: Dist::Zilla::Plugin::Test::EOL config: Dist::Zilla::Plugin::Test::EOL: filename: xt/author/eol.t finder: - ':ExecFiles' - ':ExtraTestFiles' - ':InstallModules' - ':TestFiles' - '@Author::ETHER/Examples' trailing_whitespace: 1 name: '@Author::ETHER/Test::EOL' version: '0.19' - class: Dist::Zilla::Plugin::MetaTests name: '@Author::ETHER/MetaTests' version: '6.012' - class: Dist::Zilla::Plugin::Test::CPAN::Changes config: Dist::Zilla::Plugin::Test::CPAN::Changes: changelog: Changes name: '@Author::ETHER/Test::CPAN::Changes' version: '0.012' - class: Dist::Zilla::Plugin::GenerateFile::FromShareDir config: Dist::Zilla::Plugin::GenerateFile::FromShareDir: destination_filename: xt/author/changes_has_content.t dist: Dist-Zilla-PluginBundle-Author-ETHER encoding: UTF-8 location: build source_filename: changes_has_content.t Dist::Zilla::Role::RepoFileInjector: allow_overwrite: 1 repo_root: . version: '0.009' name: '@Author::ETHER/generate xt/author/changes_has_content.t' version: '0.014' - class: Dist::Zilla::Plugin::Test::ChangesHasContent name: '@Author::ETHER/Test::ChangesHasContent' version: '0.011' - class: Dist::Zilla::Plugin::Test::MinimumVersion name: '@Author::ETHER/Test::MinimumVersion' version: '2.000008' - class: Dist::Zilla::Plugin::PodSyntaxTests name: '@Author::ETHER/PodSyntaxTests' version: '6.012' - class: Dist::Zilla::Plugin::Test::PodSpelling config: Dist::Zilla::Plugin::Test::PodSpelling: directories: - examples - lib - script - t - xt spell_cmd: '' stopwords: - irc wordlist: Pod::Wordlist name: '@Author::ETHER/Test::PodSpelling' version: '2.007005' - class: Dist::Zilla::Plugin::Test::Kwalitee config: Dist::Zilla::Plugin::Test::Kwalitee: filename: xt/author/kwalitee.t skiptest: [] name: '@Author::ETHER/Test::Kwalitee' version: '2.12' - class: Dist::Zilla::Plugin::MojibakeTests name: '@Author::ETHER/MojibakeTests' version: '0.8' - class: Dist::Zilla::Plugin::Test::ReportPrereqs name: '@Author::ETHER/Test::ReportPrereqs' version: '0.027' - class: Dist::Zilla::Plugin::Test::Portability config: Dist::Zilla::Plugin::Test::Portability: options: '' name: '@Author::ETHER/Test::Portability' version: '2.001000' - class: Dist::Zilla::Plugin::Test::CleanNamespaces config: Dist::Zilla::Plugin::Test::CleanNamespaces: filename: xt/author/clean-namespaces.t skips: [] name: '@Author::ETHER/Test::CleanNamespaces' version: '0.006' - class: Dist::Zilla::Plugin::Git::Describe name: '@Author::ETHER/Git::Describe' version: '0.007' - class: Dist::Zilla::Plugin::SurgicalPodWeaver config: Dist::Zilla::Plugin::PodWeaver: config_plugins: - '@Author::ETHER' finder: - ':InstallModules' - ':ExecFiles' plugins: - class: Pod::Weaver::Plugin::EnsurePod5 name: '@Author::ETHER/EnsurePod5' version: '4.015' - class: Pod::Weaver::Plugin::H1Nester name: '@Author::ETHER/H1Nester' version: '4.015' - class: Pod::Weaver::Plugin::SingleEncoding name: '@Author::ETHER/SingleEncoding' version: '4.015' - class: Pod::Weaver::Plugin::Transformer name: '@Author::ETHER/List' version: '4.015' - class: Pod::Weaver::Plugin::Transformer name: '@Author::ETHER/Verbatim' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Author::ETHER/header' version: '4.015' - class: Pod::Weaver::Section::Name name: '@Author::ETHER/Name' version: '4.015' - class: Pod::Weaver::Section::Version name: '@Author::ETHER/Version' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Author::ETHER/prelude' version: '4.015' - class: Pod::Weaver::Section::Generic name: SYNOPSIS version: '4.015' - class: Pod::Weaver::Section::Generic name: DESCRIPTION version: '4.015' - class: Pod::Weaver::Section::Generic name: OVERVIEW version: '4.015' - class: Pod::Weaver::Section::Collect name: ATTRIBUTES version: '4.015' - class: Pod::Weaver::Section::Collect name: METHODS version: '4.015' - class: Pod::Weaver::Section::Collect name: FUNCTIONS version: '4.015' - class: Pod::Weaver::Section::Collect name: TYPES version: '4.015' - class: Pod::Weaver::Section::Leftovers name: '@Author::ETHER/Leftovers' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Author::ETHER/postlude' version: '4.015' - class: Pod::Weaver::Section::GenerateSection name: '@Author::ETHER/generate SUPPORT' version: '1.06' - class: Pod::Weaver::Section::AllowOverride name: '@Author::ETHER/allow override SUPPORT' version: '0.05' - class: Pod::Weaver::Section::Authors name: '@Author::ETHER/Authors' version: '4.015' - class: Pod::Weaver::Section::AllowOverride name: '@Author::ETHER/allow override AUTHOR' version: '0.05' - class: Pod::Weaver::Section::Contributors name: '@Author::ETHER/Contributors' version: '0.009' - class: Pod::Weaver::Section::Legal name: '@Author::ETHER/Legal' version: '4.015' - class: Pod::Weaver::Section::Region name: '@Author::ETHER/footer' version: '4.015' name: '@Author::ETHER/SurgicalPodWeaver' version: '0.0023' - class: Dist::Zilla::Plugin::GithubMeta name: '@Author::ETHER/GithubMeta' version: '0.58' - class: Dist::Zilla::Plugin::AutoMetaResources name: '@Author::ETHER/AutoMetaResources' version: '1.21' - class: Dist::Zilla::Plugin::Authority name: '@Author::ETHER/Authority' version: '1.009' - class: Dist::Zilla::Plugin::MetaNoIndex name: '@Author::ETHER/MetaNoIndex' version: '6.012' - class: Dist::Zilla::Plugin::MetaProvides::Package config: Dist::Zilla::Plugin::MetaProvides::Package: finder: - ':InstallModules' finder_objects: - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: '6.012' include_underscores: 0 Dist::Zilla::Role::MetaProvider::Provider: $Dist::Zilla::Role::MetaProvider::Provider::VERSION: '2.002004' inherit_missing: '0' inherit_version: '0' meta_noindex: '1' Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000033' version: '0.006' name: '@Author::ETHER/MetaProvides::Package' version: '2.004003' - class: Dist::Zilla::Plugin::MetaConfig name: '@Author::ETHER/MetaConfig' version: '6.012' - class: Dist::Zilla::Plugin::Keywords config: Dist::Zilla::Plugin::Keywords: keywords: - plugin - tool - distribution - build - release - run - command - shell - execute name: '@Author::ETHER/Keywords' version: '0.007' - class: Dist::Zilla::Plugin::UseUnsafeInc config: Dist::Zilla::Plugin::UseUnsafeInc: dot_in_INC: 0 name: '@Author::ETHER/UseUnsafeInc' version: '0.001' - class: Dist::Zilla::Plugin::AutoPrereqs name: '@Author::ETHER/AutoPrereqs' version: '6.012' - class: Dist::Zilla::Plugin::Prereqs::AuthorDeps name: '@Author::ETHER/Prereqs::AuthorDeps' version: '0.006' - class: Dist::Zilla::Plugin::MinimumPerl name: '@Author::ETHER/MinimumPerl' version: '1.006' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: x_Dist_Zilla type: requires name: '@Author::ETHER/pod_weaving' version: '6.012' - class: Dist::Zilla::Plugin::MakeMaker::Fallback config: Dist::Zilla::Plugin::MakeMaker: make_path: make version: '6.012' Dist::Zilla::Plugin::MakeMaker::Awesome: version: '0.47' Dist::Zilla::Plugin::MakeMaker::Fallback: skip_release_testing: 0 Dist::Zilla::Role::TestRunner: default_jobs: 9 version: '6.012' name: '@Author::ETHER/MakeMaker::Fallback' version: '0.030' - class: Dist::Zilla::Plugin::ModuleBuildTiny::Fallback config: Dist::Zilla::Plugin::ModuleBuildTiny::Fallback: mb_version: '0.28' plugins: - class: Dist::Zilla::Plugin::ModuleBuild config: Dist::Zilla::Role::TestRunner: default_jobs: 9 name: 'ModuleBuild, via ModuleBuildTiny::Fallback' version: '6.012' - class: Dist::Zilla::Plugin::ModuleBuildTiny config: Dist::Zilla::Role::TestRunner: default_jobs: 9 name: 'ModuleBuildTiny, via ModuleBuildTiny::Fallback' version: '0.015' Dist::Zilla::Role::TestRunner: default_jobs: 9 name: '@Author::ETHER/ModuleBuildTiny::Fallback' version: '0.025' - class: Dist::Zilla::Plugin::Git::Contributors config: Dist::Zilla::Plugin::Git::Contributors: git_version: 2.19.1 include_authors: 0 include_releaser: 1 order_by: commits paths: [] name: '@Author::ETHER/Git::Contributors' version: '0.035' - class: Dist::Zilla::Plugin::StaticInstall config: Dist::Zilla::Plugin::StaticInstall: dry_run: 0 mode: auto name: '@Author::ETHER/StaticInstall' version: '0.012' - class: Dist::Zilla::Plugin::RunExtraTests config: Dist::Zilla::Role::TestRunner: default_jobs: 9 name: '@Author::ETHER/RunExtraTests' version: '0.029' - class: Dist::Zilla::Plugin::CheckSelfDependency config: Dist::Zilla::Plugin::CheckSelfDependency: finder: - ':InstallModules' Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000033' version: '0.006' name: '@Author::ETHER/CheckSelfDependency' version: '0.011' - class: Dist::Zilla::Plugin::Run::AfterBuild config: Dist::Zilla::Plugin::Run::Role::Runner: fatal_errors: 1 quiet: 1 run: - "bash -c \"test -e .ackrc && grep -q -- '--ignore-dir=.latest' .ackrc || echo '--ignore-dir=.latest' >> .ackrc; if [[ `dirname '%d'` != .build ]]; then test -e .ackrc && grep -q -- '--ignore-dir=%d' .ackrc || echo '--ignore-dir=%d' >> .ackrc; fi\"" version: '0.048' name: '@Author::ETHER/.ackrc' version: '0.048' - class: Dist::Zilla::Plugin::Run::AfterBuild config: Dist::Zilla::Plugin::Run::Role::Runner: eval: - "if ('%d' =~ /^%n-[.[:xdigit:]]+$/) { unlink '.latest'; symlink '%d', '.latest'; }" fatal_errors: 0 quiet: 1 version: '0.048' name: '@Author::ETHER/.latest' version: '0.048' - class: Dist::Zilla::Plugin::CheckStrictVersion name: '@Author::ETHER/CheckStrictVersion' version: '0.001' - class: Dist::Zilla::Plugin::CheckMetaResources name: '@Author::ETHER/CheckMetaResources' version: '0.001' - class: Dist::Zilla::Plugin::EnsureLatestPerl config: Dist::Zilla::Plugin::EnsureLatestPerl: Module::CoreList: '5.20190120' name: '@Author::ETHER/EnsureLatestPerl' version: '0.008' - class: Dist::Zilla::Plugin::PromptIfStale config: Dist::Zilla::Plugin::PromptIfStale: check_all_plugins: 1 check_all_prereqs: 1 modules: [] phase: release run_under_travis: 0 skip: [] name: '@Author::ETHER/stale modules, release' version: '0.055' - class: Dist::Zilla::Plugin::Git::Check config: Dist::Zilla::Plugin::Git::Check: untracked_files: die Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: [] allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . name: '@Author::ETHER/initial check' version: '2.045' - class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts config: Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . name: '@Author::ETHER/Git::CheckFor::MergeConflicts' version: '0.014' - class: Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch config: Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . name: '@Author::ETHER/Git::CheckFor::CorrectBranch' version: '0.014' - class: Dist::Zilla::Plugin::Git::Remote::Check name: '@Author::ETHER/Git::Remote::Check' version: 0.1.2 - class: Dist::Zilla::Plugin::CheckPrereqsIndexed name: '@Author::ETHER/CheckPrereqsIndexed' version: '0.020' - class: Dist::Zilla::Plugin::TestRelease name: '@Author::ETHER/TestRelease' version: '6.012' - class: Dist::Zilla::Plugin::Git::Check config: Dist::Zilla::Plugin::Git::Check: untracked_files: die Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: [] allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . name: '@Author::ETHER/after tests' version: '2.045' - class: Dist::Zilla::Plugin::CheckIssues name: '@Author::ETHER/CheckIssues' version: '0.010' - class: Dist::Zilla::Plugin::UploadToCPAN name: '@Author::ETHER/UploadToCPAN' version: '6.012' - class: Dist::Zilla::Plugin::CopyFilesFromRelease config: Dist::Zilla::Plugin::CopyFilesFromRelease: filename: - CONTRIBUTING - INSTALL - LICENCE - LICENSE - ppport.h match: [] name: '@Author::ETHER/copy generated files' version: '0.007' - class: Dist::Zilla::Plugin::ReadmeAnyFromPod config: Dist::Zilla::Role::FileWatcher: version: '0.006' name: '@Author::ETHER/ReadmeAnyFromPod' version: '0.163250' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: recommends name: '@Author::ETHER/@Git::VersionManager/pluginbundle version' version: '6.012' - class: Dist::Zilla::Plugin::RewriteVersion::Transitional config: Dist::Zilla::Plugin::RewriteVersion: add_tarball_name: 0 finders: - ':ExecFiles' - ':InstallModules' global: 1 skip_version_provider: 0 Dist::Zilla::Plugin::RewriteVersion::Transitional: {} name: '@Author::ETHER/@Git::VersionManager/RewriteVersion::Transitional' version: '0.009' - class: Dist::Zilla::Plugin::MetaProvides::Update name: '@Author::ETHER/@Git::VersionManager/MetaProvides::Update' version: '0.007' - class: Dist::Zilla::Plugin::CopyFilesFromRelease config: Dist::Zilla::Plugin::CopyFilesFromRelease: filename: - Changes match: [] name: '@Author::ETHER/@Git::VersionManager/CopyFilesFromRelease' version: '0.007' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: - . commit_msg: '%N-%v%t%n%n%c' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - CONTRIBUTING - Changes - INSTALL - LICENCE - README.pod allow_dirty_match: [] changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::ETHER/@Git::VersionManager/release snapshot' version: '2.045' - class: Dist::Zilla::Plugin::Git::Tag config: Dist::Zilla::Plugin::Git::Tag: branch: ~ changelog: Changes signed: 0 tag: '0.048' tag_format: '%v%t' tag_message: v%v%t Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::ETHER/@Git::VersionManager/Git::Tag' version: '2.045' - class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional config: Dist::Zilla::Plugin::BumpVersionAfterRelease: finders: - ':ExecFiles' - ':InstallModules' global: 1 munge_makefile_pl: 1 Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional: {} name: '@Author::ETHER/@Git::VersionManager/BumpVersionAfterRelease::Transitional' version: '0.009' - class: Dist::Zilla::Plugin::NextRelease name: '@Author::ETHER/@Git::VersionManager/NextRelease' version: '6.012' - class: Dist::Zilla::Plugin::Git::Commit config: Dist::Zilla::Plugin::Git::Commit: add_files_in: [] commit_msg: 'increment $VERSION after %v release' Dist::Zilla::Role::Git::DirtyFiles: allow_dirty: - Build.PL - Changes - Makefile.PL allow_dirty_match: - (?^:^lib/.*\.pm$) changelog: Changes Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . Dist::Zilla::Role::Git::StringFormatter: time_zone: local name: '@Author::ETHER/@Git::VersionManager/post-release commit' version: '2.045' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: x_Dist_Zilla type: requires name: '@Author::ETHER/@Git::VersionManager/prereqs for @Git::VersionManager' version: '6.012' - class: Dist::Zilla::Plugin::Git::Push config: Dist::Zilla::Plugin::Git::Push: push_to: - origin remotes_must_exist: 1 Dist::Zilla::Role::Git::Repo: git_version: 2.19.1 repo_root: . name: '@Author::ETHER/Git::Push' version: '2.045' - class: Dist::Zilla::Plugin::GitHub::Update config: Dist::Zilla::Plugin::GitHub::Update: metacpan: 1 name: '@Author::ETHER/GitHub::Update' version: '0.47' - class: Dist::Zilla::Plugin::Run::AfterRelease config: Dist::Zilla::Plugin::Run::Role::Runner: fatal_errors: 0 quiet: 0 run: - REDACTED version: '0.048' name: '@Author::ETHER/install release' version: '0.048' - class: Dist::Zilla::Plugin::Run::AfterRelease config: Dist::Zilla::Plugin::Run::Role::Runner: eval: - 'print "release complete!\xa"' fatal_errors: 1 quiet: 1 version: '0.048' name: '@Author::ETHER/release complete' version: '0.048' - class: Dist::Zilla::Plugin::ConfirmRelease name: '@Author::ETHER/ConfirmRelease' version: '6.012' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: x_Dist_Zilla type: requires name: '@Author::ETHER/prereqs for @Author::ETHER' version: '6.012' - class: Dist::Zilla::Plugin::MetaResources name: MetaResources version: '6.012' - class: Dist::Zilla::Plugin::Prereqs config: Dist::Zilla::Plugin::Prereqs: phase: develop type: requires name: DevelopRequires version: '6.012' - class: Dist::Zilla::Plugin::RemovePrereqs config: Dist::Zilla::Plugin::RemovePrereqs: modules_to_remove: - Path::Class name: RemovePrereqs version: '6.012' - class: Dist::Zilla::Plugin::Test::CheckBreaks config: Dist::Zilla::Plugin::Test::CheckBreaks: conflicts_module: - Module::Runtime::Conflicts - Moose::Conflicts no_forced_deps: 0 Dist::Zilla::Role::ModuleMetadata: Module::Metadata: '1.000033' version: '0.006' name: Test::CheckBreaks version: '0.019' - class: Dist::Zilla::Plugin::Run::AfterBuild config: Dist::Zilla::Plugin::Run::Role::Runner: fatal_errors: 1 quiet: 1 run: - 'echo "Built version %v in %d... So far so good"' version: '0.048' name: Run::AfterBuild version: '0.048' - class: Dist::Zilla::Plugin::Run::AfterRelease config: Dist::Zilla::Plugin::Run::Role::Runner: eval: - 'print "Congratulations, %v is out! Now just sit back and wait for the bug reports :-)\n"' fatal_errors: 1 quiet: 1 version: '0.048' name: Run::AfterRelease version: '0.048' - class: Dist::Zilla::Plugin::FinderCode name: ':InstallModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':IncModules' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':TestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExtraTestFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':PerlExecFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':ShareFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':MainModule' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':AllFiles' version: '6.012' - class: Dist::Zilla::Plugin::FinderCode name: ':NoFiles' version: '6.012' - class: Dist::Zilla::Plugin::VerifyPhases name: '@Author::ETHER/PHASE VERIFICATION' version: '0.016' zilla: class: Dist::Zilla::Dist::Builder config: is_trial: '0' version: '6.012' x_authority: cpan:GETTY x_contributors: - 'Karen Etheridge ' - 'Randy Stauner ' - 'Nickolay Platonov ' - 'Olivier Mengué ' - 'Al Newkirk ' - 'Tatsuhiko Miyagawa ' - 'Thomas Sibley ' - 'David Golden ' x_generated_by_perl: v5.29.7 x_serialization_backend: 'YAML::Tiny version 1.73' x_static_install: 1 x_use_unsafe_inc: 0 Dist-Zilla-Plugin-Run-0.048/README000644 000766 000024 00000000671 13427437602 016646 0ustar00etherstaff000000 000000 This archive contains the distribution Dist-Zilla-Plugin-Run, version 0.048: Run external commands and code at specific phases of Dist::Zilla This software is copyright (c) 2010 by L. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. This README file was generated by Dist::Zilla::Plugin::Readme v6.012. Dist-Zilla-Plugin-Run-0.048/t/000700 000766 000024 00000000000 13427437602 016213 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/test_data/000700 000766 000024 00000000000 13427437602 017720 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/xt/000700 000766 000024 00000000000 13427437602 016403 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/xt/author/000700 000766 000024 00000000000 13427437602 017705 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/xt/release/000700 000766 000024 00000000000 13427437602 020023 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/xt/release/changes_has_content.t000644 000766 000024 00000002101 13427437602 024211 0ustar00etherstaff000000 000000 use Test::More tests => 2; note 'Checking Changes'; my $changes_file = 'Changes'; my $newver = '0.048'; my $trial_token = '-TRIAL'; my $encoding = 'UTF-8'; SKIP: { ok(-e $changes_file, "$changes_file file exists") or skip 'Changes is missing', 1; ok(_get_changes($newver), "$changes_file has content for $newver"); } done_testing; sub _get_changes { my $newver = shift; # parse changelog to find commit message open(my $fh, '<', $changes_file) or die "cannot open $changes_file: $!"; my $changelog = join('', <$fh>); if ($encoding) { require Encode; $changelog = Encode::decode($encoding, $changelog, Encode::FB_CROAK()); } close $fh; my @content = grep { /^$newver(?:$trial_token)?(?:\s+|$)/ ... /^\S/ } # from newver to un-indented split /\n/, $changelog; shift @content; # drop the version line # drop unindented last line and trailing blank lines pop @content while ( @content && $content[-1] =~ /^(?:\S|\s*$)/ ); # return number of non-blank lines return scalar @content; } Dist-Zilla-Plugin-Run-0.048/xt/release/cpan-changes.t000644 000766 000024 00000000344 13427437602 022552 0ustar00etherstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.012 use Test::More 0.96 tests => 1; use Test::CPAN::Changes; subtest 'changes_ok' => sub { changes_file_ok('Changes'); }; Dist-Zilla-Plugin-Run-0.048/xt/release/distmeta.t000644 000766 000024 00000000172 13427437602 022034 0ustar00etherstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::MetaTests. use Test::CPAN::Meta; meta_yaml_ok(); Dist-Zilla-Plugin-Run-0.048/xt/author/00-compile.t000644 000766 000024 00000003430 13427437602 021751 0ustar00etherstaff000000 000000 use 5.006; use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::Compile 2.058 use Test::More 0.94; plan tests => 12; my @module_files = ( 'Dist/Zilla/Plugin/Run.pm', 'Dist/Zilla/Plugin/Run/AfterBuild.pm', 'Dist/Zilla/Plugin/Run/AfterMint.pm', 'Dist/Zilla/Plugin/Run/AfterRelease.pm', 'Dist/Zilla/Plugin/Run/BeforeArchive.pm', 'Dist/Zilla/Plugin/Run/BeforeBuild.pm', 'Dist/Zilla/Plugin/Run/BeforeRelease.pm', 'Dist/Zilla/Plugin/Run/Clean.pm', 'Dist/Zilla/Plugin/Run/Release.pm', 'Dist/Zilla/Plugin/Run/Role/Runner.pm', 'Dist/Zilla/Plugin/Run/Test.pm' ); # no fake home requested my @switches = ( -d 'blib' ? '-Mblib' : '-Ilib', ); use File::Spec; use IPC::Open3; use IO::Handle; open my $stdin, '<', File::Spec->devnull or die "can't open devnull: $!"; my @warnings; for my $lib (@module_files) { # see L my $stderr = IO::Handle->new; diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'} . $str . q{'} } $^X, @switches, '-e', "require q[$lib]")) if $ENV{PERL_COMPILE_TEST_DEBUG}; my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-e', "require q[$lib]"); binmode $stderr, ':crlf' if $^O eq 'MSWin32'; my @_warnings = <$stderr>; waitpid($pid, 0); is($?, 0, "$lib loaded ok"); shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/ and not eval { +require blib; blib->VERSION('1.01') }; if (@_warnings) { warn @_warnings; push @warnings, @_warnings; } } is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', explain(\@warnings); BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing; Dist-Zilla-Plugin-Run-0.048/xt/author/changes_has_content.t000644 000766 000024 00000001032 13427437602 024075 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More; plan skip_all => 'xt/release/changes_has_content.t is missing' if not -e 'xt/release/changes_has_content.t'; # skip for master branch, only for travis if (($ENV{TRAVIS_PULL_REQUEST} || '') eq 'false') { chomp(my $branch_name = ($ENV{TRAVIS_BRANCH} || `git rev-parse --abbrev-ref HEAD`)); $TODO = 'Changes need not have content for this release yet if this is only the master branch' if ($branch_name || '') eq 'master'; } do './xt/release/changes_has_content.t'; die $@ if $@; Dist-Zilla-Plugin-Run-0.048/xt/author/clean-namespaces.t000644 000766 000024 00000000361 13427437602 023303 0ustar00etherstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::CleanNamespaces 0.006 use Test::More 0.94; use Test::CleanNamespaces 0.15; subtest all_namespaces_clean => sub { all_namespaces_clean() }; done_testing; Dist-Zilla-Plugin-Run-0.048/xt/author/eol.t000644 000766 000024 00000003064 13427437602 020666 0ustar00etherstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::EOL 0.19 use Test::More 0.88; use Test::EOL; my @files = ( 'lib/Dist/Zilla/Plugin/Run.pm', 'lib/Dist/Zilla/Plugin/Run/AfterBuild.pm', 'lib/Dist/Zilla/Plugin/Run/AfterMint.pm', 'lib/Dist/Zilla/Plugin/Run/AfterRelease.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm', 'lib/Dist/Zilla/Plugin/Run/Clean.pm', 'lib/Dist/Zilla/Plugin/Run/Release.pm', 'lib/Dist/Zilla/Plugin/Run/Role/Runner.pm', 'lib/Dist/Zilla/Plugin/Run/Test.pm', 't/00-load.t', 't/00-report-prereqs.dd', 't/00-report-prereqs.t', 't/10_build_phase.t', 't/20_formatter.t', 't/30_all_phases.t', 't/40_test_phase.t', 't/50_mint.t', 't/60_redacted_configs.t', 't/70-eval.t', 't/80-fatal-errors.t', 't/90-clean.t', 't/91-release-status.t', 't/92-quiet.t', 't/93-eval-scopes.t', 't/lib/TestHelper.pm', 't/zzz-check-breaks.t', 'xt/author/00-compile.t', 'xt/author/changes_has_content.t', 'xt/author/clean-namespaces.t', 'xt/author/eol.t', 'xt/author/kwalitee.t', 'xt/author/minimum-version.t', 'xt/author/mojibake.t', 'xt/author/no-tabs.t', 'xt/author/pod-spell.t', 'xt/author/pod-syntax.t', 'xt/author/portability.t', 'xt/release/changes_has_content.t', 'xt/release/cpan-changes.t', 'xt/release/distmeta.t' ); eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files; done_testing; Dist-Zilla-Plugin-Run-0.048/xt/author/kwalitee.t000644 000766 000024 00000000275 13427437602 021715 0ustar00etherstaff000000 000000 # this test was generated with Dist::Zilla::Plugin::Test::Kwalitee 2.12 use strict; use warnings; use Test::More 0.88; use Test::Kwalitee 1.21 'kwalitee_ok'; kwalitee_ok(); done_testing; Dist-Zilla-Plugin-Run-0.048/xt/author/minimum-version.t000644 000766 000024 00000000133 13427437602 023237 0ustar00etherstaff000000 000000 #!perl use Test::More; use Test::MinimumVersion; all_minimum_version_ok( qq{5.008003} ); Dist-Zilla-Plugin-Run-0.048/xt/author/mojibake.t000644 000766 000024 00000000151 13427437602 021662 0ustar00etherstaff000000 000000 #!perl use strict; use warnings qw(all); use Test::More; use Test::Mojibake; all_files_encoding_ok(); Dist-Zilla-Plugin-Run-0.048/xt/author/no-tabs.t000644 000766 000024 00000003032 13427437602 021445 0ustar00etherstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::NoTabs 0.15 use Test::More 0.88; use Test::NoTabs; my @files = ( 'lib/Dist/Zilla/Plugin/Run.pm', 'lib/Dist/Zilla/Plugin/Run/AfterBuild.pm', 'lib/Dist/Zilla/Plugin/Run/AfterMint.pm', 'lib/Dist/Zilla/Plugin/Run/AfterRelease.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm', 'lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm', 'lib/Dist/Zilla/Plugin/Run/Clean.pm', 'lib/Dist/Zilla/Plugin/Run/Release.pm', 'lib/Dist/Zilla/Plugin/Run/Role/Runner.pm', 'lib/Dist/Zilla/Plugin/Run/Test.pm', 't/00-load.t', 't/00-report-prereqs.dd', 't/00-report-prereqs.t', 't/10_build_phase.t', 't/20_formatter.t', 't/30_all_phases.t', 't/40_test_phase.t', 't/50_mint.t', 't/60_redacted_configs.t', 't/70-eval.t', 't/80-fatal-errors.t', 't/90-clean.t', 't/91-release-status.t', 't/92-quiet.t', 't/93-eval-scopes.t', 't/lib/TestHelper.pm', 't/zzz-check-breaks.t', 'xt/author/00-compile.t', 'xt/author/changes_has_content.t', 'xt/author/clean-namespaces.t', 'xt/author/eol.t', 'xt/author/kwalitee.t', 'xt/author/minimum-version.t', 'xt/author/mojibake.t', 'xt/author/no-tabs.t', 'xt/author/pod-spell.t', 'xt/author/pod-syntax.t', 'xt/author/portability.t', 'xt/release/changes_has_content.t', 'xt/release/cpan-changes.t', 'xt/release/distmeta.t' ); notabs_ok($_) foreach @files; done_testing; Dist-Zilla-Plugin-Run-0.048/xt/author/pod-spell.t000644 000766 000024 00000001146 13427437602 022005 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More; # generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007005 use Test::Spelling 0.12; use Pod::Wordlist; add_stopwords(); all_pod_files_spelling_ok( qw( examples lib script t xt ) ); __DATA__ AfterBuild AfterMint AfterRelease Al BeforeArchive BeforeBuild BeforeRelease Clean David Dist Etheridge Golden Karen Mengué Miyagawa Newkirk Nickolay Olivier Platonov Plugin Randy Raudssus Release Role Run Runner Sibley Social Software Stauner Tatsuhiko Test Thomas Torsten Zilla dagolden dolmen ether github https irc lib miyagawa nplatonov rwstauner torsten tsibley Dist-Zilla-Plugin-Run-0.048/xt/author/pod-syntax.t000644 000766 000024 00000000252 13427437602 022211 0ustar00etherstaff000000 000000 #!perl # This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests. use strict; use warnings; use Test::More; use Test::Pod 1.41; all_pod_files_ok(); Dist-Zilla-Plugin-Run-0.048/xt/author/portability.t000644 000766 000024 00000000267 13427437602 022453 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More; eval 'use Test::Portability::Files'; plan skip_all => 'Test::Portability::Files required for testing portability' if $@; run_tests(); Dist-Zilla-Plugin-Run-0.048/test_data/global/000700 000766 000024 00000000000 13427437602 021160 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/test_data/profiles/000700 000766 000024 00000000000 13427437602 021543 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/test_data/profiles/default/000700 000766 000024 00000000000 13427437602 023167 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/test_data/profiles/default/profile.ini000600 000766 000024 00000000177 13427437602 025337 0ustar00etherstaff000000 000000 [Run::AfterMint] run = mkdir "%d%pempty_dir" run = "%x" -e "print join q[ ], @ARGV, time" "%n" minted at > "%d%pminted_at.txt" Dist-Zilla-Plugin-Run-0.048/test_data/global/config.ini000644 000766 000024 00000000164 13427437602 023141 0ustar00etherstaff000000 000000 [%User] name = Command Runner email = run@example.com [%Rights] license_class = Perl_5 copyright_holder = Any Body Dist-Zilla-Plugin-Run-0.048/t/00-load.t000644 000766 000024 00000000150 13427437602 017542 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More tests => 1; BEGIN { use_ok('Dist::Zilla::Plugin::Run'); } Dist-Zilla-Plugin-Run-0.048/t/00-report-prereqs.dd000644 000766 000024 00000026465 13427437602 021762 0ustar00etherstaff000000 000000 do { my $x = { 'configure' => { 'requires' => { 'ExtUtils::MakeMaker' => '0', 'Module::Build::Tiny' => '0.034', 'perl' => '5.006' } }, 'develop' => { 'recommends' => { 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.145', 'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007' }, 'requires' => { 'Encode' => '0', 'File::Spec' => '0', 'IO::Handle' => '0', 'IPC::Open3' => '0', 'Pod::Wordlist' => '0', 'Test::CPAN::Changes' => '0.19', 'Test::CPAN::Meta' => '0', 'Test::CleanNamespaces' => '0.15', 'Test::EOL' => '0', 'Test::Kwalitee' => '1.21', 'Test::MinimumVersion' => '0', 'Test::Mojibake' => '0', 'Test::More' => '0.96', 'Test::NoTabs' => '0', 'Test::Pod' => '1.41', 'Test::Portability::Files' => '0', 'Test::Spelling' => '0.12', 'Test::Warnings' => '0', 'perl' => '5.006' } }, 'runtime' => { 'requires' => { 'Dist::Zilla::Dist::Builder' => '0', 'Dist::Zilla::Role::AfterBuild' => '0', 'Dist::Zilla::Role::AfterMint' => '0', 'Dist::Zilla::Role::AfterRelease' => '0', 'Dist::Zilla::Role::BeforeArchive' => '0', 'Dist::Zilla::Role::BeforeBuild' => '0', 'Dist::Zilla::Role::BeforeRelease' => '0', 'Dist::Zilla::Role::Plugin' => '0', 'Dist::Zilla::Role::Releaser' => '0', 'Dist::Zilla::Role::TestRunner' => '0', 'File::Spec' => '0', 'IPC::Open3' => '0', 'Moose' => '0', 'Moose::Role' => '0', 'Moose::Util' => '0', 'Path::Tiny' => '0', 'String::Formatter' => '0.102082', 'namespace::autoclean' => '0', 'perl' => '5.006', 'strict' => '0', 'warnings' => '0' } }, 'test' => { 'recommends' => { 'CPAN::Meta' => '2.120900' }, 'requires' => { 'Dist::Zilla' => '0', 'Dist::Zilla::Role::VersionProvider' => '0', 'File::Spec' => '0', 'File::pushd' => '0', 'Module::Metadata' => '0', 'Test::DZil' => '0', 'Test::Deep' => '0', 'Test::Fatal' => '0', 'Test::File::ShareDir' => '0', 'Test::More' => '0.88', 'if' => '0', 'lib' => '0', 'perl' => '5.006' } }, 'x_Dist_Zilla' => { 'requires' => { 'Dist::Zilla' => '5', 'Dist::Zilla::Plugin::Authority' => '1.009', 'Dist::Zilla::Plugin::AutoMetaResources' => '0', 'Dist::Zilla::Plugin::AutoPrereqs' => '5.038', 'Dist::Zilla::Plugin::Bootstrap::lib' => '0', 'Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional' => '0.004', 'Dist::Zilla::Plugin::CheckIssues' => '0', 'Dist::Zilla::Plugin::CheckMetaResources' => '0', 'Dist::Zilla::Plugin::CheckPrereqsIndexed' => '0.019', 'Dist::Zilla::Plugin::CheckSelfDependency' => '0', 'Dist::Zilla::Plugin::CheckStrictVersion' => '0', 'Dist::Zilla::Plugin::ConfirmRelease' => '0', 'Dist::Zilla::Plugin::CopyFilesFromRelease' => '0', 'Dist::Zilla::Plugin::EnsureLatestPerl' => '0', 'Dist::Zilla::Plugin::FileFinder::ByName' => '0', 'Dist::Zilla::Plugin::GenerateFile::FromShareDir' => '0', 'Dist::Zilla::Plugin::Git::Check' => '0', 'Dist::Zilla::Plugin::Git::CheckFor::CorrectBranch' => '0.004', 'Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts' => '0', 'Dist::Zilla::Plugin::Git::Commit' => '2.020', 'Dist::Zilla::Plugin::Git::Contributors' => '0.029', 'Dist::Zilla::Plugin::Git::Describe' => '0.004', 'Dist::Zilla::Plugin::Git::GatherDir' => '2.016', 'Dist::Zilla::Plugin::Git::Push' => '0', 'Dist::Zilla::Plugin::Git::Remote::Check' => '0', 'Dist::Zilla::Plugin::Git::Tag' => '0', 'Dist::Zilla::Plugin::GitHub::Update' => '0.40', 'Dist::Zilla::Plugin::GithubMeta' => '0.54', 'Dist::Zilla::Plugin::InstallGuide' => '1.200005', 'Dist::Zilla::Plugin::Keywords' => '0.004', 'Dist::Zilla::Plugin::License' => '5.038', 'Dist::Zilla::Plugin::MakeMaker::Fallback' => '0.029', 'Dist::Zilla::Plugin::Manifest' => '0', 'Dist::Zilla::Plugin::MetaConfig' => '0', 'Dist::Zilla::Plugin::MetaJSON' => '0', 'Dist::Zilla::Plugin::MetaNoIndex' => '0', 'Dist::Zilla::Plugin::MetaProvides::Package' => '1.15000002', 'Dist::Zilla::Plugin::MetaResources' => '0', 'Dist::Zilla::Plugin::MetaTests' => '0', 'Dist::Zilla::Plugin::MetaYAML' => '0', 'Dist::Zilla::Plugin::MinimumPerl' => '1.006', 'Dist::Zilla::Plugin::ModuleBuildTiny::Fallback' => '0.018', 'Dist::Zilla::Plugin::MojibakeTests' => '0.8', 'Dist::Zilla::Plugin::NextRelease' => '5.033', 'Dist::Zilla::Plugin::PodSyntaxTests' => '5.040', 'Dist::Zilla::Plugin::Prereqs' => '0', 'Dist::Zilla::Plugin::Prereqs::AuthorDeps' => '0.006', 'Dist::Zilla::Plugin::PromptIfStale' => '0', 'Dist::Zilla::Plugin::Readme' => '0', 'Dist::Zilla::Plugin::ReadmeAnyFromPod' => '0.142180', 'Dist::Zilla::Plugin::RemovePrereqs' => '0', 'Dist::Zilla::Plugin::RewriteVersion::Transitional' => '0.004', 'Dist::Zilla::Plugin::Run::AfterBuild' => '0.041', 'Dist::Zilla::Plugin::Run::AfterRelease' => '0.038', 'Dist::Zilla::Plugin::RunExtraTests' => '0.024', 'Dist::Zilla::Plugin::StaticInstall' => '0.005', 'Dist::Zilla::Plugin::SurgicalPodWeaver' => '0', 'Dist::Zilla::Plugin::Test::CPAN::Changes' => '0.012', 'Dist::Zilla::Plugin::Test::ChangesHasContent' => '0', 'Dist::Zilla::Plugin::Test::CheckBreaks' => '0.017', 'Dist::Zilla::Plugin::Test::CleanNamespaces' => '0.006', 'Dist::Zilla::Plugin::Test::Compile' => '2.039', 'Dist::Zilla::Plugin::Test::EOL' => '0.17', 'Dist::Zilla::Plugin::Test::Kwalitee' => '2.10', 'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000008', 'Dist::Zilla::Plugin::Test::NoTabs' => '0.08', 'Dist::Zilla::Plugin::Test::PodSpelling' => '2.006003', 'Dist::Zilla::Plugin::Test::Portability' => '2.000007', 'Dist::Zilla::Plugin::Test::ReportPrereqs' => '0.022', 'Dist::Zilla::Plugin::TestRelease' => '0', 'Dist::Zilla::Plugin::UploadToCPAN' => '0', 'Dist::Zilla::Plugin::UseUnsafeInc' => '0', 'Dist::Zilla::PluginBundle::Author::ETHER' => '0.117', 'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007', 'Software::License::Perl_5' => '0' } } }; $x; }Dist-Zilla-Plugin-Run-0.048/t/00-report-prereqs.t000644 000766 000024 00000013571 13427437602 021630 0ustar00etherstaff000000 000000 #!perl use strict; use warnings; # This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.027 use Test::More tests => 1; use Module::Metadata; use File::Spec; # from $version::LAX my $lax_version_re = qr/(?: undef | (?: (?:[0-9]+) (?: \. | (?:\.[0-9]+) (?:_[0-9]+)? )? | (?:\.[0-9]+) (?:_[0-9]+)? ) | (?: v (?:[0-9]+) (?: (?:\.[0-9]+)+ (?:_[0-9]+)? )? | (?:[0-9]+)? (?:\.[0-9]+){2,} (?:_[0-9]+)? ) )/x; # hide optional CPAN::Meta modules from prereq scanner # and check if they are available my $cpan_meta = "CPAN::Meta"; my $cpan_meta_pre = "CPAN::Meta::Prereqs"; my $HAS_CPAN_META = eval "require $cpan_meta; $cpan_meta->VERSION('2.120900')" && eval "require $cpan_meta_pre"; ## no critic # Verify requirements? my $DO_VERIFY_PREREQS = 1; sub _max { my $max = shift; $max = ( $_ > $max ) ? $_ : $max for @_; return $max; } sub _merge_prereqs { my ($collector, $prereqs) = @_; # CPAN::Meta::Prereqs object if (ref $collector eq $cpan_meta_pre) { return $collector->with_merged_prereqs( CPAN::Meta::Prereqs->new( $prereqs ) ); } # Raw hashrefs for my $phase ( keys %$prereqs ) { for my $type ( keys %{ $prereqs->{$phase} } ) { for my $module ( keys %{ $prereqs->{$phase}{$type} } ) { $collector->{$phase}{$type}{$module} = $prereqs->{$phase}{$type}{$module}; } } } return $collector; } my @include = qw( Encode File::Temp JSON::PP Module::Runtime Sub::Name YAML autodie ); my @exclude = qw( ); # Add static prereqs to the included modules list my $static_prereqs = do './t/00-report-prereqs.dd'; # Merge all prereqs (either with ::Prereqs or a hashref) my $full_prereqs = _merge_prereqs( ( $HAS_CPAN_META ? $cpan_meta_pre->new : {} ), $static_prereqs ); # Add dynamic prereqs to the included modules list (if we can) my ($source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; my $cpan_meta_error; if ( $source && $HAS_CPAN_META && (my $meta = eval { CPAN::Meta->load_file($source) } ) ) { $full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs); } else { $cpan_meta_error = $@; # capture error from CPAN::Meta->load_file($source) $source = 'static metadata'; } my @full_reports; my @dep_errors; my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs; # Add static includes into a fake section for my $mod (@include) { $req_hash->{other}{modules}{$mod} = 0; } for my $phase ( qw(configure build test runtime develop other) ) { next unless $req_hash->{$phase}; next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING}); for my $type ( qw(requires recommends suggests conflicts modules) ) { next unless $req_hash->{$phase}{$type}; my $title = ucfirst($phase).' '.ucfirst($type); my @reports = [qw/Module Want Have/]; for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) { next if $mod eq 'perl'; next if grep { $_ eq $mod } @exclude; my $file = $mod; $file =~ s{::}{/}g; $file .= ".pm"; my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC; my $want = $req_hash->{$phase}{$type}{$mod}; $want = "undef" unless defined $want; $want = "any" if !$want && $want == 0; my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required"; if ($prefix) { my $have = Module::Metadata->new_from_file( File::Spec->catfile($prefix, $file) )->version; $have = "undef" unless defined $have; push @reports, [$mod, $want, $have]; if ( $DO_VERIFY_PREREQS && $HAS_CPAN_META && $type eq 'requires' ) { if ( $have !~ /\A$lax_version_re\z/ ) { push @dep_errors, "$mod version '$have' cannot be parsed ($req_string)"; } elsif ( ! $full_prereqs->requirements_for( $phase, $type )->accepts_module( $mod => $have ) ) { push @dep_errors, "$mod version '$have' is not in required range '$want'"; } } } else { push @reports, [$mod, $want, "missing"]; if ( $DO_VERIFY_PREREQS && $type eq 'requires' ) { push @dep_errors, "$mod is not installed ($req_string)"; } } } if ( @reports ) { push @full_reports, "=== $title ===\n\n"; my $ml = _max( map { length $_->[0] } @reports ); my $wl = _max( map { length $_->[1] } @reports ); my $hl = _max( map { length $_->[2] } @reports ); if ($type eq 'modules') { splice @reports, 1, 0, ["-" x $ml, "", "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s\n", -$ml, $_->[0], $hl, $_->[2]) } @reports; } else { splice @reports, 1, 0, ["-" x $ml, "-" x $wl, "-" x $hl]; push @full_reports, map { sprintf(" %*s %*s %*s\n", -$ml, $_->[0], $wl, $_->[1], $hl, $_->[2]) } @reports; } push @full_reports, "\n"; } } } if ( @full_reports ) { diag "\nVersions for all modules listed in $source (including optional ones):\n\n", @full_reports; } if ( $cpan_meta_error || @dep_errors ) { diag "\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n"; } if ( $cpan_meta_error ) { my ($orig_source) = grep { -f } 'MYMETA.json', 'MYMETA.yml'; diag "\nCPAN::Meta->load_file('$orig_source') failed with: $cpan_meta_error\n"; } if ( @dep_errors ) { diag join("\n", "\nThe following REQUIRED prerequisites were not satisfied:\n", @dep_errors, "\n" ); } pass; # vim: ts=4 sts=4 sw=4 et: Dist-Zilla-Plugin-Run-0.048/t/10_build_phase.t000600 000766 000024 00000011314 13427437602 021161 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::Deep; # protect from external environment local $ENV{TRIAL}; local $ENV{RELEASE_STATUS}; sub test_build { my %test = @_; local $ENV{TRIAL} = 1 if $test{trial}; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { run => [ '"%x" %o%pscript%pbefore_build.pl "%o"' ] } ], [ 'Run::AfterBuild' => { run => [ '"%x" %d%pscript%pafter_build.pl "%s"' ], run_no_trial => [ '"%x" %d%pscript%pno_trial.pl "%s"' ], } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script before_build.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path($ARGV[ 0 ], "BEFORE_BUILD.txt")->touch(); SCRIPT path(qw(source script after_build.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path($ARGV[ 0 ], 'lib', 'AFTER_BUILD.txt')->spew_raw("after_build"); SCRIPT path(qw(source script no_trial.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path($ARGV[0], 'lib', 'NO_TRIAL.txt')->spew_raw(":-P"); SCRIPT }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->build; my $source_dir = path($tzil->tempdir)->child('source'); my $build_dir = path($tzil->tempdir)->child('build'); my $before_build_result = $source_dir->child('BEFORE_BUILD.txt'); ok(-f $before_build_result, 'before-build script has been run'); my $after_build_result = $build_dir->child(qw(lib AFTER_BUILD.txt))->slurp_raw; ok($after_build_result eq 'after_build', 'Correct `after_build` result'); my $no_trial_file = $build_dir->child(qw(lib NO_TRIAL.txt)); if( $test{trial} ){ ok( (! -e $no_trial_file), 'is trial - file not written' ); like $tzil->log_messages->[-1], qr{\[Run::AfterBuild\] not executing, because trial: "%x" %d%pscript%pno_trial.pl "%s"}, 'logged skipping of non-trial command'; } else { ok( ( -f $no_trial_file), 'non-trial - file present' ); is $no_trial_file->slurp_raw, ':-P', 'non-trial content'; my $script = $build_dir->child('script','no_trial.pl')->canonpath; # use OS-specific path separators like $tzil->log_messages->[-2], qr{\[Run::AfterBuild\] executing: .+ \Q$script\E .+}, 'logged execution'; like $tzil->log_messages->[-1], qr{\[Run::AfterBuild\] command executed successfully}, 'logged command status'; } cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%pbefore_build.pl "%o"' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::AfterBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %d%pscript%pafter_build.pl "%s"' ], run_no_trial => [ '"%x" %d%pscript%pno_trial.pl "%s"' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterBuild', version => Dist::Zilla::Plugin::Run::AfterBuild->VERSION, }, ), }), }), 'dumped configs are good', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } test_build(); test_build(trial => 1); done_testing; Dist-Zilla-Plugin-Run-0.048/t/20_formatter.t000600 000766 000024 00000015506 13427437602 020715 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Test::Deep; use Path::Tiny; for my $trial (0, 1) { local $ENV{TRIAL} = $trial; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { run => [ '"%x" %o%pscript%prun.pl before_build %s %n %v%t %o.%d.%a. %x' ] } ], [ 'Run::AfterBuild' => { run => [ '"%x" %o%pscript%prun.pl after_build %n %v%t %o %d %s %s %v%t .%a. %x' ] } ], [ 'Run::BeforeArchive' => { run => [ '"%x" %o%pscript%prun.pl before_archive %o %d %v%t %n %a %x' ] } ], [ 'Run::BeforeRelease' => { run => [ '"%x" %o%pscript%prun.pl before_release %n -d %o %d %s -v %v%t .%a. %x' ] } ], [ 'Run::Release' => { run => [ '"%x" %o%pscript%prun.pl release %s %n %v%t %o %d/a %d/b %a %x' ] } ], [ 'Run::AfterRelease' => { run => [ '"%x" %o%pscript%prun.pl after_release %o %d %v%t %s %s %n %a %x' ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script run.pl)) => <<'SCRIPT', use strict; use warnings; # I do nothing! SCRIPT }, }, ); my $source_dir = 'fakesource'; my $build_dir = 'fakebuild'; my %f = ( a => 'DZT-Sample-0.001.tar.gz', n => 'DZT-Sample', o => $source_dir, d => $build_dir, v => '0.001', t => $tzil->is_trial ? '-TRIAL' : '', ); my $formatter = $tzil->plugin_named('Run::AfterRelease')->build_formatter({ archive => $f{a}, source_dir => $source_dir, dir => $build_dir, pos => [qw(run run reindeer)] }); is $formatter->format('snowflakes/%v%t|%n\\%s,%s,%s,%s in %o %d(%a)'), "snowflakes/$f{v}$f{t}|$f{n}\\run,run,reindeer, in $f{o} $f{d}($f{a})", 'correct formatting'; is $formatter->format('%v%t%s%n'), "$f{v}$f{t}$f{n}", 'ran out of %s (but not the constants)'; $tzil->chrome->logger->set_debug(1); $tzil->release; cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl before_build %s %n %v%t %o.%d.%a. %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::AfterBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl after_build %n %v%t %o %d %s %s %v%t .%a. %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterBuild', version => Dist::Zilla::Plugin::Run::AfterBuild->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::BeforeArchive', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl before_archive %o %d %v%t %n %a %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeArchive', version => Dist::Zilla::Plugin::Run::BeforeArchive->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::BeforeRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl before_release %n -d %o %d %s -v %v%t .%a. %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeRelease', version => Dist::Zilla::Plugin::Run::BeforeRelease->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::Release', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl release %s %n %v%t %o %d/a %d/b %a %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::Release', version => Dist::Zilla::Plugin::Run::Release->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::AfterRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ '"%x" %o%pscript%prun.pl after_release %o %d %v%t %s %s %n %a %x' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterRelease', version => Dist::Zilla::Plugin::Run::AfterRelease->VERSION, }, ), }), }), 'dumped configs are good', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/30_all_phases.t000600 000766 000024 00000005574 13427437602 021032 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use lib 't/lib'; use TestHelper; # protect from external environment local $ENV{TRIAL}; local $ENV{RELEASE_STATUS}; { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], # NOTE: We prepend "x:" to %x to work around Mac Perl's # "versioner" voodoo which rewrites @ARGV elements of # "/usr/bin/perl" to "/usr/bin/perl5.18" (rt-101483). [ 'Run::BeforeBuild' => { run => [ '"%x" %o%pscript%prun.pl %o before_build %s %n %v .%d.%a. x:%x' ] } ], [ 'Run::AfterBuild' => { run => [ '"%x" %o%pscript%prun.pl %o after_build %n %v %d %s %s %v .%a. x:%x' ] } ], [ 'Run::BeforeArchive' => { run => [ '"%x" %o%pscript%prun.pl %o before_archive %n %v %d .%a. x:%x' ] } ], [ 'Run::BeforeRelease' => { run => [ '"%x" %o%pscript%prun.pl %o before_release %n -d %d %s -v %v .%a. x:%x' ] } ], [ 'Run::Release' => { run => [ '"%x" %o%pscript%prun.pl %o release %s %n %v %d/a %d/b %a x:%x' ] } ], [ 'Run::AfterRelease' => { run => [ '"%x" %o%pscript%prun.pl %o after_release %d %v %s %s %n %a x:%x' ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script run.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path(shift)->child('phases.txt')->append_raw(join(' ', @ARGV) . "\n"); SCRIPT }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->release; my $source_dir = path($tzil->tempdir)->child('source'); my $build_dir = path($tzil->tempdir)->child('build'); my %f = ( a => 'DZT-Sample-0.001.tar.gz', n => 'DZT-Sample', o => $source_dir, d => $build_dir, v => '0.001', x => do { my $path = Dist::Zilla::Plugin::Run::Role::Runner->current_perl_path; $path =~ s{\\}{/}g; $path }, ); # test constant conversions as well as positional %s for backward compatibility my $expected = <tempdir)->child(qw(source phases.txt))->slurp_raw, $expected, 'got expected output for all five phases', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/40_test_phase.t000600 000766 000024 00000002470 13427437602 021047 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Path::Tiny; use Test::DZil; { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ 'Run::Test' => { run => [ '"%x" script%ptest.pl "%d" %n-%v' ] } ], [ FakeRelease => ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script test.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path($ARGV[ 0 ], 'test.txt')->spew_raw(join(' ', test => @ARGV)); SCRIPT }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->build(); my $build_dir = path($tzil->tempdir)->child('build'); $tzil->run_tests_in($build_dir); my $test_file = $build_dir->child('test.txt'); ok(-f $test_file, 'Test script has been run'); my $content = path($tzil->tempdir)->child(qw(build test.txt))->slurp_raw; my $build_dir_canonical = $build_dir->canonpath; is($content, "test $build_dir_canonical DZT-Sample-0.001", 'Correct `test` result'); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/50_mint.t000600 000766 000024 00000002505 13427437602 017657 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::File::ShareDir -share => { -module => { 'Dist::Zilla::MintingProfile::Default' => 'test_data/profiles' }, }; { my $tzil = Minter->_new_from_profile( [ Default => 'default' ], { name => 'DZT-Minty' ,}, { global_config_root => eval 'require Dist::Zilla::Dist::Minter; Dist::Zilla::Dist::Minter->VERSION("5.038"); 1' ? 'test_data/global' # older DZ requires this to quack like a Path::Class : do { require Path::Class; Path::Class::dir('test_data/global')->absolute }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->mint_dist(); my $dir = path($tzil->tempdir)->child(qw(mint empty_dir)); ok -d $dir, 'created directory in mint dir'; # extra protection for spaces - see perldoc -f glob my $children = $dir->child('*'); is_deeply [glob(qq{"$children"})], [], 'dir is empty but exists'; like path($tzil->tempdir)->child(qw(mint lib DZT Minty.pm))->slurp_utf8, qr/package DZT::Minty;/, 'minted regular file'; like path($tzil->tempdir)->child('mint/minted_at.txt')->slurp_utf8, qr/DZT-Minty minted at \d+/, 'created file the hard way'; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/60_redacted_configs.t000600 000766 000024 00000007426 13427437602 022203 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use Test::DZil; use Path::Tiny; use Test::Deep; { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::AfterRelease' => { run => 'echo hello world', censor_commands => 1 } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->build; cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::AfterRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ 'REDACTED' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterRelease', version => Dist::Zilla::Plugin::Run::AfterRelease->VERSION, }, ), }), }), 'dumped configs censor all commands on request', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $username = 'ETHER'; my $password = 'sekritpassword'; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::AfterRelease' => 'install release' => { run => [ 'cpanm http://' . $username . ':' . $password . '@pause.perl.org/pub/PAUSE/authors/id/E/ET/ETHER/%a', 'echo hello world', ], } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); $tzil->build; cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::AfterRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ 'REDACTED', 'echo hello world', ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'install release', version => Dist::Zilla::Plugin::Run::AfterRelease->VERSION, }, ), }), }), 'censored the config that contains my password; other commands shown as normal', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/70-eval.t000600 000766 000024 00000021032 13427437602 017553 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use Test::DZil; use Test::Fatal; use Test::Deep; use Path::Tiny; use lib 't/lib'; use TestHelper; # protect from external environment local $ENV{TRIAL}; local $ENV{RELEASE_STATUS}; my $command = 'Path::Tiny::path(\'%o\', \'eval_out.txt\')->append_raw('; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ FakeRelease => ], [ 'Run::BeforeBuild' => { eval => [ $command . '\'before_build for [\' . $_[0]->plugin_name . \'], %s %n %v .%d.%a. %x\' . qq{\\n});' ] } ], [ 'Run::AfterBuild' => { eval => [ $command . '\'after_build for [\' . $_[0]->plugin_name . \'], %n %v %d %s %s %v .%a. %x\' . qq{\\n});' ] } ], [ 'Run::BeforeArchive' => { eval => [ $command . '\'before_archive for [\' . $_[0]->plugin_name . \'], %n %v %d .%a. %x\' . qq{\\n});' ] } ], [ 'Run::BeforeRelease' => { eval => [ $command . '\'before_release for [\' . $_[0]->plugin_name . \'], %n -d %d %s -v %v .%a. %x\' . qq{\\n});' ] } ], [ 'Run::Release' => { eval => [ $command . '\'release for [\' . $_[0]->plugin_name . \'], %s %n %v %d/a %d/b %a %x\' . qq{\\n});' ] } ], [ 'Run::AfterRelease' => { eval => [ $command . '\'after_release for [\' . $_[0]->plugin_name . \'], %d %v %s %s %n %a %x\' . qq{\\n});' ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); is( exception { $tzil->release }, undef, 'build proceeds normally', ); my $build_dir = path($tzil->tempdir)->child('build'); my $source_dir = path($tzil->tempdir)->child('source'); my %f = ( a => 'DZT-Sample-0.001.tar.gz', n => 'DZT-Sample', o => $source_dir, d => $build_dir, v => '0.001', x => do { my $path = Dist::Zilla::Plugin::Run::Role::Runner->current_perl_path; $path =~ s{\\}{/}g; $path }, ); # test constant conversions as well as positional %s for backward compatibility my $expected = <child('eval_out.txt')->slurp_raw, $expected, 'all phases evaluate their code directly', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'before_build for [\' . $_[0]->plugin_name . \'], %s %n %v .%d.%a. %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::AfterBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'after_build for [\' . $_[0]->plugin_name . \'], %n %v %d %s %s %v .%a. %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterBuild', version => Dist::Zilla::Plugin::Run::AfterBuild->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::BeforeArchive', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'before_archive for [\' . $_[0]->plugin_name . \'], %n %v %d .%a. %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeArchive', version => Dist::Zilla::Plugin::Run::BeforeArchive->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::BeforeRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'before_release for [\' . $_[0]->plugin_name . \'], %n -d %d %s -v %v .%a. %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeRelease', version => Dist::Zilla::Plugin::Run::BeforeRelease->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::Release', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'release for [\' . $_[0]->plugin_name . \'], %s %n %v %d/a %d/b %a %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::Release', version => Dist::Zilla::Plugin::Run::Release->VERSION, }, { class => 'Dist::Zilla::Plugin::Run::AfterRelease', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ $command . '\'after_release for [\' . $_[0]->plugin_name . \'], %d %v %s %s %n %a %x\' . qq{\\n});' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::AfterRelease', version => Dist::Zilla::Plugin::Run::AfterRelease->VERSION, }, ), }), }), 'dumped configs are good', ) or diag 'got distmeta: ', explain $tzil->distmeta; cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ '[Run::BeforeBuild] attempting to use %d in before_build', '[Run::BeforeBuild] attempting to use %a in a non-Release plugin', re(qr/^\Q[Run::BeforeBuild] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('before_build \E/), '[Run::AfterBuild] attempting to use %a in a non-Release plugin', re(qr/^\Q[Run::AfterBuild] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('after_build \E/), '[Run::BeforeArchive] attempting to use %a in a non-Release plugin', re(qr/^\Q[Run::BeforeArchive] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('before_archive \E/), re(qr/^\Q[Run::BeforeRelease] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('before_release \E/), re(qr/^\Q[Run::Release] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('release \E/), re(qr/^\Q[Run::AfterRelease] evaluating: Path::Tiny::path('$source_dir', 'eval_out.txt')->append_raw('after_release \E/), ], 'got diagnostics when code is evaluated', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; done_testing; Dist-Zilla-Plugin-Run-0.048/t/80-fatal-errors.t000600 000766 000024 00000020131 13427437602 021225 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::Deep; use Test::Fatal; { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { run => [ qq{"$^X" -le"exit 42"} ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); like( exception { $tzil->build }, qr/command exited with status 42 \(10752\)/, 'build failed, reporting the error from the run command', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ qq{[Run::BeforeBuild] executing: "$^X" -le"exit 42"}, '[Run::BeforeBuild] command exited with status 42 (10752)', ], 'log messages list what happened', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ qq{"$^X" -le"exit 42"} ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs include fatal_errors default', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ FakeRelease => ], [ 'Run::BeforeBuild' => { eval => [ 'die "oh noes"' ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); like( exception { $tzil->build }, qr/evaluation died: oh noes/, 'build failed, reporting the error from the eval command', ); cmp_deeply( $tzil->log_messages, [ '[Run::BeforeBuild] evaluating: die "oh noes"', re(qr/^\[Run::BeforeBuild\] evaluation died: oh noes/), ], 'log messages list what happened', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ 'die "oh noes"' ], fatal_errors => 1, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs include fatal_errors default', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { run => [ qq{"$^X" -le"exit 42"} ], fatal_errors => 0, } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); is( exception { $tzil->build }, undef, 'build succeeded, despite the run command failing', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ qq{[Run::BeforeBuild] executing: "$^X" -le"exit 42"}, '[Run::BeforeBuild] command exited with status 42 (10752)', ], 'log messages list what happened', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ qq{"$^X" -le"exit 42"} ], fatal_errors => 0, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs include fatal_errors override', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ FakeRelease => ], [ 'Run::BeforeBuild' => { eval => [ 'die "oh noes"' ], fatal_errors => 0, } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); is( exception { $tzil->build }, undef, 'build succeeded, despite the eval command failing', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ '[Run::BeforeBuild] evaluating: die "oh noes"', re(qr/^\[Run::BeforeBuild\] evaluation died: oh noes/), ], 'log messages list what happened', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ 'die "oh noes"' ], fatal_errors => 0, quiet => 0, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs include fatal_errors override', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/90-clean.t000600 000766 000024 00000006155 13427437602 017721 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::Deep; use File::pushd 'pushd'; local $ENV{DZIL_GLOBAL_CONFIG_ROOT} = 'does-not-exist'; sub tzil { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::Clean' => { run => [ '"%x" script%pclean.pl' ], eval => [ 'use Path::Tiny; path(\'CLEAN.txt\')->append_utf8("eval command\n");' ], } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script clean.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path('CLEAN.txt')->append_utf8("run command\n"); SCRIPT }, }, ); $tzil->chrome->logger->set_debug(1); return $tzil; } { my $tzil = tzil(); $tzil->build; my $clean_result = path($tzil->tempdir, qw(source CLEAN.txt)); ok(!-f $clean_result, 'clean script was not run from a build'); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $tzil = tzil(); # since we are not doing a build, we never changed directories my $wd = pushd $tzil->root; # instead of setting up a full dist.ini on disk and calling test_dzil, # we simply call the method that Dist::Zilla::App::Command::clean::execute does. $tzil->clean('this is the dry run flag'); my $clean_result = path($tzil->tempdir, qw(source CLEAN.txt)); ok(!-f $clean_result, 'clean script was not run from a clean --dry-run'); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ '[Run::Clean] dry run, would run: "%x" script%pclean.pl', '[Run::Clean] dry run, would evaluate: use Path::Tiny; path(\'CLEAN.txt\')->append_utf8("eval command\n");', ], 'we logged the command we would run', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } { my $tzil = tzil(); # since we are not doing a build, we never changed directories my $wd = pushd $tzil->root; $tzil->clean(); my $clean_result = path($tzil->tempdir, qw(source CLEAN.txt)); ok(-f $clean_result, 'clean script was run from a clean command'); is( $clean_result->slurp_utf8, "run command\neval command\n", 'both the run and eval commands executed', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ re(qr/^\[Run::Clean\] executing: /), '[Run::Clean] command executed successfully', '[Run::Clean] evaluating: use Path::Tiny; path(\'CLEAN.txt\')->append_utf8("eval command\n");', ], 'we logged the commands we ran', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/91-release-status.t000600 000766 000024 00000007700 13427437602 021576 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::Deep; use Test::Fatal; use Dist::Zilla; # protect from external environment local $ENV{TRIAL}; local $ENV{RELEASE_STATUS}; { package MyVersionProvider; use Moose; with 'Dist::Zilla::Role::VersionProvider'; sub provide_version { my $self = shift; return '0.001' if $self->zilla->main_module; } } foreach my $trial (undef, 1) { foreach my $release_status (undef, 'stable', 'unstable') { SKIP: { # When no environment variables are set, this test would fail with # Dist::Zilla >= 5.035, without our own adjustments to how we # calculate is_trial, because release_status is determined (by # default, when there are no ReleaseStatusProvider plugins) by # examining the distribution version, and calculating the version may # call VersionProvider plugins, which may require a main_module to be # present -- which is not the case if this is all happening before any # files have been gathered. local $ENV{TRIAL} = $trial if $trial; local $ENV{RELEASE_STATUS} = $release_status if $release_status; note 'TRIAL=' . ($ENV{TRIAL} || '') . '; RELEASE_STATUS=' . ($ENV{RELEASE_STATUS} || ''); skip('inconsistent state; avoid trying to predict behaviour', 2) if $ENV{RELEASE_STATUS} and $ENV{TRIAL}; skip('Dist::Zilla < 5.035 did not support this environment variable', 2) if $ENV{RELEASE_STATUS} and not eval { Dist::Zilla->VERSION('5.035') }; skip('Dist::Zilla = 5.035 did not implement _release_status_from_env either', 2) if ($ENV{RELEASE_STATUS} or $ENV{TRIAL}) and Dist::Zilla->VERSION eq '5.035'; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => dist_ini( { # standard fields except no version name => 'DZT-Sample', abstract => 'Sample DZ Dist', author => 'E. Xavier Ample ', license => 'Perl_5', copyright_holder => 'E. Xavier Ample', }, [ GatherDir => ], [ '=MyVersionProvider' ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { run => [ '"%x" %o%pscript%pbefore_build.pl %o both' ], run_if_trial => [ '"%x" %o%pscript%pbefore_build.pl %o trial' ], run_no_trial => [ '"%x" %o%pscript%pbefore_build.pl %o notrial' ], } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", path(qw(source script before_build.pl)) => <<'SCRIPT', use strict; use warnings; use Path::Tiny; path(shift, 'BEFORE_BUILD.txt')->append_utf8(shift, "\n"); SCRIPT }, }, ); $tzil->chrome->logger->set_debug(1); is( exception { $tzil->build }, undef, (join(' ', ( $ENV{RELEASE_STATUS} ? ('RELEASE_STATUS=' . $ENV{RELEASE_STATUS} ) : () ), ( $ENV{TRIAL} ? 'TRIAL=1' : () ), ) || 'normal') . ' build proceeded normally', ); my $before_build_result = path($tzil->tempdir, qw(source BEFORE_BUILD.txt)); is( $before_build_result->slurp_utf8, $ENV{TRIAL} || ($ENV{RELEASE_STATUS} || '') eq 'unstable' ? "both\ntrial\n" : "both\nnotrial\n", 'before-build script was run at the right times', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } } } done_testing; Dist-Zilla-Plugin-Run-0.048/t/92-quiet.t000600 000766 000024 00000020673 13427437602 017771 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use Test::DZil; use Path::Tiny; use Test::Deep; use Test::Fatal; my @configs = ( { run => [ qq{"$^X" -le"print q(# hello this is a run command)"} ], eval => [ qq{die "oh noes"} ], }, { run => [ qq{"$^X" -le"exit 42"} ], eval => [ qq{print "# hello this is an eval command\\xa"} ], } ); foreach my $quiet (0, 1) { foreach my $verbose (0, 1) { note "\nquiet = $quiet, verbose logging = $verbose"; my $plugin_count = 0; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], map { [ 'Run::BeforeBuild' => 'plugin ' . $plugin_count++ => { quiet => $quiet, fatal_errors => 0, %$_, } ] } @configs, ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug($verbose); is( exception { $tzil->build }, undef, 'build completed successfully', ); my @run_messages = ( map { my $num = $_; map { my $key = $_; map { "[plugin $num] " . ( $key eq 'run' ? 'executing: ' : 'evaluating: ') . $_ } @{$configs[$num]->{$_}} } keys %{ $configs[$num] } } 0 .. $#configs ); if ($quiet and not $verbose) { foreach my $message (@run_messages) { ok(!( grep { $_ eq $message } @{$tzil->log_messages} ), 'did not see log message when running command'); } } else { cmp_deeply( [ grep { /^\[plugin [01]\]/ } @{ $tzil->log_messages } ], bag( @run_messages, $quiet && !$verbose ? () : ( '[plugin 0] # hello this is a run command' ), $verbose ? ( '[plugin 0] command executed successfully' ) : (), re(qr/^\[plugin 0\] evaluation died: oh noes/), '[plugin 1] command exited with status 42 (10752)', ), "saw expected log messages when quiet=$quiet, verbose=$verbose", ); } cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( map { { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { %{ $configs[$_] }, fatal_errors => 0, quiet => $quiet, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => "plugin $_", version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, } } (0 .. $#configs) ), }), }), 'dumped configs are good', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } } note ''; foreach my $quiet (0, 1) { foreach my $verbose (0, 1) { note "\nquiet = $quiet, verbose logging = $verbose"; my $command = qq{"$^X" -le"print q/hi/; exit 42"}; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { quiet => $quiet, run => [ $command ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug($verbose); like( exception { $tzil->build }, qr/command exited with status 42 \(10752\)/, 'build failed, reporting the error from the run command', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ !$quiet || $verbose ? ( "[Run::BeforeBuild] executing: $command", '[Run::BeforeBuild] hi', ) : (), '[Run::BeforeBuild] command exited with status 42 (10752)', ], 'log messages list what happened', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { run => [ $command ], fatal_errors => 1, quiet => $quiet, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs to metadata', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } } { my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ MetaConfig => ], [ 'Run::BeforeBuild' => { quiet => 1, eval => [ 'die "oh noes"' ] } ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(0); # explicitly *not* --verbose mode! like( exception { $tzil->build }, qr/evaluation died: oh noes/, 'build failed, reporting the error from the eval command', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ '[Run::BeforeBuild] evaluated: die "oh noes"', re(qr/^\[Run::BeforeBuild\] evaluation died: oh noes/), ], 'log messages list what happened, after the fact', ); cmp_deeply( $tzil->distmeta, superhashof({ x_Dist_Zilla => superhashof({ plugins => supersetof( { class => 'Dist::Zilla::Plugin::Run::BeforeBuild', config => { 'Dist::Zilla::Plugin::Run::Role::Runner' => { eval => [ 'die "oh noes"' ], fatal_errors => 1, quiet => 1, version => Dist::Zilla::Plugin::Run::Role::Runner->VERSION, }, }, name => 'Run::BeforeBuild', version => Dist::Zilla::Plugin::Run::BeforeBuild->VERSION, }, ), }), }), 'dumped configs to metadata', ) or diag 'got distmeta: ', explain $tzil->distmeta; diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; } done_testing; Dist-Zilla-Plugin-Run-0.048/t/93-eval-scopes.t000600 000766 000024 00000002304 13427437602 021053 0ustar00etherstaff000000 000000 use strict; use warnings; use Test::More 0.88; use if $ENV{AUTHOR_TESTING}, 'Test::Warnings'; use Test::DZil; use Test::Fatal; use Test::Deep; use Path::Tiny; # protect from external environment local $ENV{TRIAL}; local $ENV{RELEASE_STATUS}; my $tzil = Builder->from_config( { dist_root => 'does-not-exist' }, { add_files => { path(qw(source dist.ini)) => simple_ini( [ GatherDir => ], [ 'Run::BeforeBuild' => { fatal_errors => 0, eval => [ "\$self" ], }, ], ), path(qw(source lib Foo.pm)) => "package Foo;\n1;\n", }, }, ); $tzil->chrome->logger->set_debug(1); is( exception { $tzil->build }, undef, 'build proceeds normally', ); cmp_deeply( [ grep { /^\[Run::[^]]+\]/ } @{ $tzil->log_messages } ], [ '[Run::BeforeBuild] evaluating: $self', re(qr/^\[Run::BeforeBuild\] evaluation died: Global symbol "\$self" requires explicit package name/), ], '$self is inaccessable to eval code', ); diag 'got log messages: ', explain $tzil->log_messages if not Test::Builder->new->is_passing; done_testing; Dist-Zilla-Plugin-Run-0.048/t/lib/000700 000766 000024 00000000000 13427437602 016761 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/t/zzz-check-breaks.t000644 000766 000024 00000001267 13427437602 021575 0ustar00etherstaff000000 000000 use strict; use warnings; # this test was generated with Dist::Zilla::Plugin::Test::CheckBreaks 0.019 use Test::More tests => 3; SKIP: { eval { +require Module::Runtime::Conflicts; Module::Runtime::Conflicts->check_conflicts }; skip('no Module::Runtime::Conflicts module found', 1) if not $INC{'Module/Runtime/Conflicts.pm'}; diag $@ if $@; pass 'conflicts checked via Module::Runtime::Conflicts'; } SKIP: { eval { +require Moose::Conflicts; Moose::Conflicts->check_conflicts }; skip('no Moose::Conflicts module found', 1) if not $INC{'Moose/Conflicts.pm'}; diag $@ if $@; pass 'conflicts checked via Moose::Conflicts'; } pass 'no x_breaks data to check'; Dist-Zilla-Plugin-Run-0.048/t/lib/TestHelper.pm000644 000766 000024 00000001473 13427437602 021415 0ustar00etherstaff000000 000000 use strict; use warnings; # compare pathnames for equality - / and \ are treated identically sub is_path { goto \&Test::More::is if $^O ne 'MSWin32'; my ($got, $want, $test_name) = @_; $got =~ s{\\}{/}g; $test_name ||= 'path name matches'; $test_name .= ' (where / and \\ are considered identical)'; local $Test::Builder::Level = $Test::Builder::Level + 1; is($got, $want, $test_name); } # compare pathname to regex - / and \ are treated identically sub like_path { goto \&Test::More::like if $^O ne 'MSWin32'; my ($got, $want_re, $test_name) = @_; $got =~ s{\\}{/}g; $test_name ||= 'path name matches'; $test_name .= ' (where / and \\ are considered identical)'; local $Test::Builder::Level = $Test::Builder::Level + 1; like($got, $want_re, $test_name); } 1; Dist-Zilla-Plugin-Run-0.048/lib/Dist/000700 000766 000024 00000000000 13427437602 017421 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/000700 000766 000024 00000000000 13427437602 020474 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/000700 000766 000024 00000000000 13427437602 021732 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/000700 000766 000024 00000000000 13427437602 022476 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run.pm000600 000766 000024 00000016452 13427437602 023046 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run; # git description: 0.047-5-gcc22469 # ABSTRACT: Run external commands and code at specific phases of Dist::Zilla # KEYWORDS: plugin tool distribution build release run command shell execute our $VERSION = '0.048'; 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run - Run external commands and code at specific phases of Dist::Zilla =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::AfterBuild] run = script/do_this.pl --dir %d --version %v run = script/do_that.pl eval = unlink scratch.dat [Run::BeforeBuild] fatal_errors = 0 run = script/do_this.pl --version %v run = script/do_that_crashy_thing.pl eval = if ($ENV{SOMETHING}) { eval = $_[0]->log('some message') eval = } [Run::BeforeArchive] run = script/myapp_before1.pl %d %v run = script/myapp_before2.pl %n %v run_no_trial = script/no_execution_on_trial.pl %n %v [Run::BeforeRelease] run = script/myapp_before1.pl %a run = script/myapp_before2.pl %n %v run_no_trial = script/no_execution_on_trial.pl %n %v [Run::Release] run = script/myapp_deploy1.pl %a run = deployer.pl --dir %d --tgz %a --name %n --version %v run_no_trial = script/no_execution_on_trial.pl --dir %d --tgz %a --name %n --version %v [Run::AfterRelease] run = script/myapp_after.pl --archive %a --dir %d --version %v ; %p can be used as the path separator if you have contributors on a different OS run = script%pmyapp_after.pl --archive %a --dir %d --version %v [Run::AfterRelease / MyAppAfter] run = script/myapp_after.pl --archive %a --dir %d --version %v [Run::Test] run = script/tester.pl --name %n --version %v some_file.ext run_if_release = ./Build install run_if_release = make install [Run::AfterMint] run = some command %d eval = unlink scratch.dat eval = print "I just minted %n for you. Have a nice day!\n"; =head1 DESCRIPTION Run arbitrary commands and code at various L phases. =head1 PARAMETERS =head2 run Run the specific command at the specific L phase given by the plugin. For example, C<[Run::Release]> runs during the release phase. =head2 run_if_trial Only run the given command if this is a I build or release. =head2 run_no_trial Only run the given command if this isn't a I build or release. =head2 run_if_release Only run the given command if this is a release. =head2 run_no_release Only run a given command if this isn't a release. =head2 eval Treats the input as a list of lines of Perl code; the code is evaluated at the specific L phase given by the plugin. The code is executed in its own C scope, within a subroutine body; C<@_> contains the instance of the plugin executing the code. (Remember that C in an C actually operates on C<@ARGV>, not C<@_>, so to access the plugin instance, use C<$_[0]>.) =head2 censor_commands Normally, C commands are included in distribution metadata when used with the L<[MetaConfig]|Dist::Zilla::Plugin::MetaConfig> plugin. To bypass this, set C. Additionally, this command is set to true automatically when a URL with embedded password is present. Defaults to false. =head2 fatal_errors When true, if the C command returns a non-zero exit status or the C command dies, the build will fail. Defaults to true. =head2 quiet When true, diagnostic messages are not printed (except in C<--verbose> mode). Defaults to false. =head1 EXECUTION ORDER All commands for a given option name are executed together, in the order in which they are documented above. Within commands of the same option name, order is preserved (from the order provided in F). =head1 ENVIRONMENT =for stopwords subshell For executed commands, L is used -- there is no subshell. Consequently environment variables may or may not be available depending on the individual architecture used. For Perl strings that are evaluated, they are done in the dzil process, so all current global variables and other state is available for use. The current working directory is undefined, and may vary depending on the version of Dist::Zilla being used. If the state of the filesystem is important, explicitly change directories first, or base your relative paths off of the build root (available as C<%d>, see below). =head1 CONVERSIONS The following conversions/format specifiers are defined for passing as arguments to the specified commands and eval strings (though not all values are available at all phases). =over 4 =item * C<%a> the archive of the release (only available to all C<*Release> phases), as documented to be passed to BeforeRelease, Release, AfterRelease plugins =item * C<%o> the directory in which the distribution source originated =item * C<%d> the directory in which the distribution was built (or minted) (not available in C) =item * C<%n> the distribution name =item * C<%p> path separator ('/' on Unix, '\\' on Win32... useful for cross-platform F files) =item * C<%v> the distribution version, if available (depending on the phase, the C plugin may not be able to return a version) =item * C<%t> C<-TRIAL> if the release is a trial release, otherwise the empty string =item * C<%x> full path to the current perl interpreter (like C<$^X> but from L) =back Additionally C<%s> is retained for backward compatibility (for those plugins that existed when it was documented). Each occurrence is replaced by a different value (like the regular C function). Individual plugins define their own values for the positional replacement of C<%s>. B: when using filenames (e.g. C<%d>, C<%n> and C<%x>), be mindful that these paths could contain special characters or whitespace, so if they are to be used in a shell command, take care to use quotes or escapes! =head1 DANGER! SECURITY RISK! The very nature of these plugins is to execute code. Be mindful that your code may run on someone else's machine and don't be a jerk! =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 CONTRIBUTORS =for stopwords Karen Etheridge Randy Stauner Nickolay Platonov Olivier Mengué Al Newkirk Tatsuhiko Miyagawa Thomas Sibley David Golden =over 4 =item * Karen Etheridge =item * Randy Stauner =item * Nickolay Platonov =item * Olivier Mengué =item * Al Newkirk =item * Tatsuhiko Miyagawa =item * Thomas Sibley =item * David Golden =back =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/AfterBuild.pm000600 000766 000024 00000005226 13427437602 025064 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::AfterBuild; # ABSTRACT: execute a command of the distribution after build our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::AfterBuild Dist::Zilla::Plugin::Run::Role::Runner ); use Path::Tiny 'path'; use namespace::autoclean; sub after_build { my ($self, $param) = @_; $self->_call_script({ dir => $param->{ build_root }, pos => [path($param->{ build_root })->canonpath, sub { $self->zilla->version }] }); } #pod =head1 SYNOPSIS #pod #pod [Run::AfterBuild] #pod run = script/do_this.pl --dir %d --version %v #pod run = script/do_that.pl #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command after building the distribution. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod For backward compatibility: #pod #pod =for :list #pod * The 1st C<%s> will be replaced by the directory in which the distribution was built. #pod * The 2nd C<%s> will be replaced by the distribution version. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::AfterBuild - execute a command of the distribution after build =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::AfterBuild] run = script/do_this.pl --dir %d --version %v run = script/do_that.pl =head1 DESCRIPTION This plugin executes the specified command after building the distribution. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. For backward compatibility: =over 4 =item * The 1st C<%s> will be replaced by the directory in which the distribution was built. =item * The 2nd C<%s> will be replaced by the distribution version. =back =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/AfterMint.pm000600 000766 000024 00000004026 13427437602 024731 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::AfterMint; # ABSTRACT: Execute a command after a new distribution is minted our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::AfterMint Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub after_mint { my ($self, $param) = @_; $self->_call_script({ dir => $param->{mint_root}, minting => 1, }); } #pod =head1 SYNOPSIS #pod #pod [Run::AfterMint] #pod run = some command %d #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command after minting a new distribution. #pod #pod =head1 CONVERSIONS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::AfterMint - Execute a command after a new distribution is minted =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::AfterMint] run = some command %d =head1 DESCRIPTION This plugin executes the specified command after minting a new distribution. =head1 CONVERSIONS See L for the list of common formatting variables available to all plugins. =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/AfterRelease.pm000600 000766 000024 00000005276 13427437602 025412 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::AfterRelease; # ABSTRACT: execute a command of the distribution after release our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::AfterRelease Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub after_release { my ( $self, $archive ) = @_; $self->_call_script({ archive => $archive, pos => [$archive, sub { $self->zilla->version }] }); } #pod =head1 SYNOPSIS #pod #pod [Run::AfterRelease] #pod run = script/myapp_after.pl --archive %a --dir %d --version %v #pod #pod or #pod #pod [Run::AfterRelease / MyAppAfter] #pod run = script/myapp_after.pl %a %d %v #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command after releasing. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod For backward compatibility: #pod #pod =for :list #pod * The 1st C<%s> will be replaced by the archive of the release. #pod * The 2nd C<%s> will be replaced by the distribution version. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::AfterRelease - execute a command of the distribution after release =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::AfterRelease] run = script/myapp_after.pl --archive %a --dir %d --version %v or [Run::AfterRelease / MyAppAfter] run = script/myapp_after.pl %a %d %v =head1 DESCRIPTION This plugin executes the specified command after releasing. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. For backward compatibility: =over 4 =item * The 1st C<%s> will be replaced by the archive of the release. =item * The 2nd C<%s> will be replaced by the distribution version. =back =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/BeforeArchive.pm000600 000766 000024 00000004204 13427437602 025542 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::BeforeArchive; # ABSTRACT: execute a command of the distribution before creating the archive our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::BeforeArchive Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub before_archive { my ($self) = @_; $self->_call_script({}); } #pod =head1 SYNOPSIS #pod #pod [Run::BeforeArchive] #pod run = script/do_this.pl --dir %d --version %v #pod run = script/do_that.pl #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command before the archive file is built. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::BeforeArchive - execute a command of the distribution before creating the archive =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::BeforeArchive] run = script/do_this.pl --dir %d --version %v run = script/do_that.pl =head1 DESCRIPTION This plugin executes the specified command before the archive file is built. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/BeforeBuild.pm000600 000766 000024 00000004547 13427437602 025232 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::BeforeBuild; # ABSTRACT: execute a command of the distribution before build our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::BeforeBuild Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub before_build { my ($self) = @_; $self->_call_script({ pos => [sub { $self->zilla->version }] }); } #pod =head1 SYNOPSIS #pod #pod [Run::BeforeBuild] #pod run = script/do_this.pl --version %v #pod run = script/do_that.pl #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command before building the distribution. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod For backward compatibility: #pod #pod =for :list #pod * The 1st C<%s> will be replaced by the distribution version. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::BeforeBuild - execute a command of the distribution before build =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::BeforeBuild] run = script/do_this.pl --version %v run = script/do_that.pl =head1 DESCRIPTION This plugin executes the specified command before building the distribution. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. For backward compatibility: =over 4 =item * The 1st C<%s> will be replaced by the distribution version. =back =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/BeforeRelease.pm000600 000766 000024 00000004750 13427437602 025547 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::BeforeRelease; # ABSTRACT: execute a command of the distribution before release our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::BeforeRelease Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub before_release { my ( $self, $archive ) = @_; $self->_call_script({ archive => $archive, pos => [$archive] }); } #pod =head1 SYNOPSIS #pod #pod [Run::BeforeRelease] #pod run = script/myapp_before.pl %v %d #pod #pod or #pod #pod [Run::BeforeRelease / MyAppBefore] #pod run = script/myapp_before.pl %v %d #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command before releasing. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod For backward compatibility: #pod #pod =for :list #pod * The 1st C<%s> will be replaced by the archive of the release. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::BeforeRelease - execute a command of the distribution before release =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::BeforeRelease] run = script/myapp_before.pl %v %d or [Run::BeforeRelease / MyAppBefore] run = script/myapp_before.pl %v %d =head1 DESCRIPTION This plugin executes the specified command before releasing. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. For backward compatibility: =over 4 =item * The 1st C<%s> will be replaced by the archive of the release. =back =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/Clean.pm000600 000766 000024 00000005375 13427437602 024072 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::Clean; # ABSTRACT: execute a command of the distribution on 'dzil clean' # vim: set ts=8 sts=4 sw=4 tw=115 et : our $VERSION = '0.048'; use Moose; with 'Dist::Zilla::Role::Plugin', 'Dist::Zilla::Plugin::Run::Role::Runner'; use Moose::Util (); use namespace::autoclean; { use Dist::Zilla::Dist::Builder; my $meta = Moose::Util::find_meta('Dist::Zilla::Dist::Builder'); $meta->make_mutable; Moose::Util::add_method_modifier($meta, 'after', [ clean => sub { my ($zilla, $dry_run) = @_; foreach my $plugin (grep { $_->isa(__PACKAGE__) } @{ $zilla->plugins }) { # Dist::Zilla really ought to have a -CleanerProvider hook... $plugin->clean($dry_run); } }, ], ); $meta->make_immutable; } sub clean { my ($self, $dry_run) = @_; # may need some subrefs for positional parameters? my $params = {}; foreach my $run_cmd (@{$self->run}) { $self->_run_cmd($run_cmd, $params, $dry_run); } if (my @code = @{ $self->eval }) { my $code = join "\n", @code; $self->_eval_cmd($code, $params, $dry_run); } } __PACKAGE__->meta->make_immutable; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::Clean - execute a command of the distribution on 'dzil clean' =head1 VERSION version 0.048 =head1 SYNOPSIS In your F: [Run::Clean] run = script/do_that.pl eval = unlink scratch.dat =head1 DESCRIPTION This plugin executes the specified command(s) when cleaning the distribution. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. (Some of them may not work properly, because the distribution is not built when running the clean command. These are not tested yet - patches welcome!) =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/Release.pm000600 000766 000024 00000005211 13427437602 024415 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::Release; # ABSTRACT: execute a command of the distribution on release our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::Releaser Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub release { my ( $self, $archive ) = @_; $self->_call_script({ archive => $archive, pos => [$archive] }); } #pod =head1 SYNOPSIS #pod #pod [Run::Release] #pod run = script/myapp_deploy.pl %d %v #pod #pod or #pod #pod [Run::Release / MyAppDeploy] #pod run = script/myapp_deploy.pl %d %v #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command for the release process. #pod #pod This way you can specify a custom release command without needing any other C plugin. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod For backward compatibility: #pod #pod =for :list #pod * The 1st C<%s> will be replaced by the archive of the release. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::Release - execute a command of the distribution on release =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::Release] run = script/myapp_deploy.pl %d %v or [Run::Release / MyAppDeploy] run = script/myapp_deploy.pl %d %v =head1 DESCRIPTION This plugin executes the specified command for the release process. This way you can specify a custom release command without needing any other C plugin. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. For backward compatibility: =over 4 =item * The 1st C<%s> will be replaced by the archive of the release. =back =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/Role/000700 000766 000024 00000000000 13427437602 023377 5ustar00etherstaff000000 000000 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/Test.pm000600 000766 000024 00000005076 13427437602 023765 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::Test; # ABSTRACT: execute a command of the distribution after build our $VERSION = '0.048'; use Moose; with qw( Dist::Zilla::Role::TestRunner Dist::Zilla::Plugin::Run::Role::Runner ); use namespace::autoclean; sub test { my ($self, $dir) = @_; $self->_call_script({ dir => $dir }); } #pod =head1 SYNOPSIS #pod #pod [Run::Test] #pod run = script/tester.pl --name %n --version %v some_file.ext #pod #pod =head1 DESCRIPTION #pod #pod This plugin executes the specified command during the test phase. #pod #pod =head1 CAVEAT #pod #pod Unlike the other [Run::*] plugins, when running the scripts, the #pod current working directory will be the directory with #pod newly built distribution. This is the way Dist::Zilla works. #pod #pod =head1 POSITIONAL PARAMETERS #pod #pod See L #pod for the list of common formatting variables available to all plugins. #pod #pod There are no positional parameters for this plugin. #pod #pod =cut 1; __END__ =pod =encoding UTF-8 =head1 NAME Dist::Zilla::Plugin::Run::Test - execute a command of the distribution after build =head1 VERSION version 0.048 =head1 SYNOPSIS [Run::Test] run = script/tester.pl --name %n --version %v some_file.ext =head1 DESCRIPTION This plugin executes the specified command during the test phase. =head1 CAVEAT Unlike the other [Run::*] plugins, when running the scripts, the current working directory will be the directory with newly built distribution. This is the way Dist::Zilla works. =head1 POSITIONAL PARAMETERS See L for the list of common formatting variables available to all plugins. There are no positional parameters for this plugin. =head1 SUPPORT Bugs may be submitted through L (or L). There is also a mailing list available for users of this distribution, at L. There is also an irc channel available for users of this distribution, at L on C|irc://irc.perl.org/#distzilla>. =head1 AUTHOR Torsten Raudssus L =head1 COPYRIGHT AND LICENCE This software is copyright (c) 2010 by L. 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 Dist-Zilla-Plugin-Run-0.048/lib/Dist/Zilla/Plugin/Run/Role/Runner.pm000600 000766 000024 00000017204 13427437602 025214 0ustar00etherstaff000000 000000 use strict; use warnings; package Dist::Zilla::Plugin::Run::Role::Runner; # vim: set ts=8 sts=4 sw=4 tw=115 et : our $VERSION = '0.048'; use Moose::Role; use namespace::autoclean; use File::Spec (); # core use Config (); # core use Moose::Util 'find_meta'; has perlpath => ( is => 'ro', isa => 'Str', lazy => 1, builder => 'current_perl_path', ); has censor_commands => ( is => 'ro', isa => 'Bool', default => 0, ); has [ qw(run run_if_trial run_no_trial run_if_release run_no_release) ] => ( is => 'ro', isa => 'ArrayRef[Str]', default => sub { [] }, ); has eval => ( is => 'ro', isa => 'ArrayRef[Str]', default => sub { [] }, ); has fatal_errors => ( is => 'ro', isa => 'Bool', default => 1, ); has quiet => ( is => 'ro', isa => 'Bool', default => 0, ); around dump_config => sub { my ($orig, $self) = @_; my $config = $self->$orig; $config->{+__PACKAGE__} = { version => $VERSION, (map { $_ => $self->$_ ? 1 : 0 } qw(fatal_errors quiet)), map { @{ $self->$_ } # look for user:password URIs ? ( $_ => [ map { $self->censor_commands || /\b\w+:[^@]+@\b/ ? 'REDACTED' : $_ } @{ $self->$_ } ] ) : () } qw(run run_if_trial run_no_trial run_if_release run_no_release eval), }; return $config; }; around BUILDARGS => sub { my ( $orig, $class, @args ) = @_; my $built = $class->$orig(@args); foreach my $dep (qw( notexist_fatal )) { if ( exists $built->{$dep} ) { warn(" !\n ! $class attribute '$dep' is deprecated and has no effect.\n !\n"); delete $built->{$dep}; } } return $built; }; sub _is_trial { my $self = shift; # we want to avoid provoking other plugins prematurely, but also be as # accurate as we can with this status my $release_status_attr = find_meta($self->zilla)->find_attribute_by_name('release_status'); return ( $self->zilla->is_trial ? 1 : 0 ) if not $release_status_attr # legacy (before Dist::Zilla 5.035) or $release_status_attr->has_value($self->zilla); # otherwise, only use the logic that does not require zilla->version # before Dist::Zilla 5.035, this is what $zilla->is_trial returned return eval { $self->zilla->_release_status_from_env =~ /\A(?:testing|unstable)\z/ } ? 1 : 0; } sub _call_script { my ( $self, $params ) = @_; foreach my $run_cmd (@{$self->run}) { $self->_run_cmd($run_cmd, $params); } foreach my $run_cmd (@{$self->run_if_trial}) { if ($self->_is_trial) { $self->_run_cmd($run_cmd, $params); } else { $self->log_debug([ 'not executing, because no trial: %s', $run_cmd ]); } } foreach my $run_cmd (@{$self->run_no_trial}) { if ($self->_is_trial) { $self->log_debug([ 'not executing, because trial: %s', $run_cmd ]); } else { $self->_run_cmd($run_cmd, $params); } } my $is_release = defined $ENV{'DZIL_RELEASING'} && $ENV{'DZIL_RELEASING'} == 1 ? 1 : 0; foreach my $run_cmd (@{$self->run_if_release}) { if ($is_release) { $self->_run_cmd($run_cmd, $params); } else { $self->log_debug([ 'not executing, because no release: %s', $run_cmd ]); } } foreach my $run_cmd (@{$self->run_no_release}) { if ($is_release) { $self->log_debug([ 'not executing, because release: %s', $run_cmd ]); } else { $self->_run_cmd($run_cmd, $params); } } if (my @code = @{ $self->eval }) { my $code = join "\n", @code; $self->_eval_cmd($code, $params); } } sub _run_cmd { my ( $self, $run_cmd, $params, $dry_run ) = @_; if ($dry_run) { $self->log_debug([ 'dry run, would run: %s', $run_cmd ]); return; } return if not $run_cmd; require IPC::Open3; # core my $command = $self->build_formatter($params)->format($run_cmd); $self->${ $self->quiet ? \'log_debug' : \'log' }([ 'executing: %s', $command ]); # autoflush STDOUT so we can see command output right away local $| = 1; # combine STDOUT and STDERR for ease of proxying through the logger my $pid = IPC::Open3::open3(my ($in, $out), undef, $command); binmode $out, ':crlf' if $^O eq 'MSWin32'; while(defined(my $line = <$out>)){ chomp($line); # logger appends its own newline $self->${ $self->quiet ? \'log_debug' : \'log' }($line); } # zombie repellent waitpid($pid, 0); if (my $status = ($? >> 8)) { $self->${ $self->fatal_errors ? \'log_fatal' : $self->quiet ? \'log_debug' : \'log'} ([ 'command exited with status %s (%s)', $status, $? ]); } else { $self->log_debug('command executed successfully'); } } sub _eval_cmd { my ( $self, $code, $params, $dry_run ) = @_; if ($dry_run) { $self->log_debug([ 'dry run, would evaluate: %s', $code ]); return; } $code = $self->build_formatter($params)->format($code); $self->${ $self->quiet ? \'log_debug' : \'log' }([ 'evaluating: %s', $code ]); my $sub = __eval_wrapper($code); $sub->($self); my $error = $@; if (defined $error and $error ne '') { if ($self->fatal_errors and $self->quiet and not $self->zilla->logger->get_debug) { $self->log([ 'evaluated: %s', $code]); } $self->${ $self->fatal_errors ? \'log_fatal' : $self->quiet ? \'log_debug' : \'log'} ([ 'evaluation died: %s', $error ]); } } sub __eval_wrapper { my $code = shift; sub { eval $code }; } around mvp_multivalue_args => sub { my ($original, $self) = @_; my @res = $self->$original(); push @res, qw( run run_no_trial run_if_trial run_if_release run_no_release eval ); @res; }; my $path_separator = (File::Spec->catfile(qw(a b)) =~ m/^a(.+?)b$/)[0]; sub build_formatter { my ( $self, $params ) = @_; require String::Formatter; String::Formatter->VERSION(0.102082); my $codes = { # not always available # explicitly pass a string (not an object) [rt-72008] a => sub { return "$params->{archive}" if defined $params->{archive}; $self->log('attempting to use %a in a non-Release plugin'); ''; }, # source dir o => sub { my $dir = $params->{source_dir} || $self->zilla->root; return $dir ? "$dir" : ''; }, # build dir or mint dir d => sub { require Path::Tiny; # stringify build directory my $dir = $params->{dir} || $self->zilla->built_in; return Path::Tiny::path($dir)->canonpath if $dir; $self->log('attempting to use %d in before_build'); ''; }, # distribution name n => sub { $self->zilla->name }, # backward compatibility (don't error) s => '', # portability p => $path_separator, x => sub { $self->perlpath }, }; # available during build, not mint unless( $params->{minting} ){ $codes->{v} = sub { $self->zilla->version }; $codes->{t} = sub { $self->_is_trial ? '-TRIAL' : '' }; } # positional replacement of %s (backward compatible) if( my @pos = @{ $params->{pos} || [] } ){ # where are you defined-or // operator? $codes->{s} = sub { my $s = shift(@pos); $s = $s->() if ref $s eq 'CODE'; defined($s) ? $s : ''; }; } return String::Formatter->new({ codes => $codes }); } sub current_perl_path { $^X } 1;