Dist-Zilla-Plugin-Test-Compile-2.059 000755 000766 000024 0 15120367741 16646 5 ustar 00ether staff 000000 000000 README 100644 000766 000024 650 15120367741 17570 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 This archive contains the distribution Dist-Zilla-Plugin-Test-Compile,
version 2.059:
Common tests to check syntax of your modules, using only core modules
This software is copyright (c) 2009 by Jérôme Quelin.
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.036.
Changes 100600 000766 000024 33200 15120367741 20230 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 Revision history for Dist-Zilla-Plugin-Test-Compile
2.059 2025-12-16 23:48:46Z
- now also testing scripts that use #!(/usr/bin/)?env perl in their shebangs
2.058 2017-12-20 01:15:23Z
- skip testing a script if -T is seen on the shebang line and $PERL5LIB is
set (which will not be visible in taint mode)
2.057 2017-08-20 00:55:40Z
- load optional modules in generated test in such a way that
Perl::PrereqScanner doesn't think they are required dependencies
(this is only significant on perl 5.7.2 and older)
2.056 2016-10-26 06:15:40Z
- fix test failure on older perls
2.055 2016-10-24 01:39:56Z
- verbose diagnostics can now be enabled in the test with
the PERL_COMPILE_TEST_DEBUG environment variable.
- added "switch" option, for passing additional command-line switches
2.054 2015-08-16 00:17:17Z
- load blib as needed during tests, to check its $VERSION
- use the :PerlExecFiles filefinder, when available (requires Dist::Zilla
5.038)
2.053 2015-06-01 03:33:51Z
- filter out "Using .../lib" warning emitted by older blib when checking for
warnings (reported by preaction)
2.052 2015-03-28 06:09:55Z
- always test for warnings if fail_on_warning=author and the generated test
is in xt/author, without AUTHOR_TESTING having to be set
2.051 2014-10-18 01:51:02Z
- fix needs_display tests failing on MSWin32 since 2.048
2.050 2014-10-15 23:57:04Z
- fix test (in our own test suite) that will break with an upcoming
Test::More release
2.049 2014-10-14 04:46:44Z
- use documented Test::Builder interface to examine test details
2.048 2014-10-11 21:54:16Z
- make tests (and generated test) run when needs_display=1 and $DISPLAY is
not set
2.047 2014-10-10 05:19:20Z
- avoid use of Test::More::explain in generated test when version is too old
2.046 2014-08-20 15:10:15Z
- When warnings occur under fail_on_warning, diag them. (GH #9, Kent Fredric)
2.045 2014-08-07 04:25:14Z
- re-release to remove README.pod from shipped dist
2.044 2014-08-03 01:11:31Z
- clean up dynamic prerequisite calculations
- munge the file properly even if [ExtraTests] has already moved it
2.043 2014-06-13 21:00:24Z
- fix remaining failures on 5.10.0 (due to buggy -C flags) introduced in
2.041
2.042 2014-06-04 02:28:25Z
- fix test failures on older perls introduced in 2.041
2.041 2014-05-30 17:54:57Z
- properly handle scripts with shebang lines with dashes in the path name, or
extra whitespace, or comments (RT#95897)
2.040 2014-04-06 18:54:08Z
- fix bad x_breaks metadata
- line numbers in shipped code are now almost the same (within 3) as the
repository source, for easier debugging
2.039 2013-12-02 05:23:01Z
- fix bad handling of $stderr handle on win32 (from v2.038)
2.038 2013-11-29 18:20:37Z
- test now reuses the same $stdin and $stderr handles across all processes
- now asserting minimum perl version required (5.6) in the generated test
- new 'file' option, for adding extra files to be checked
2.037 2013-10-18 01:18:15Z
- files are loaded from lib/ if blib/ does not exist
- now properly falling back to lib/ for scripts too
2.036 2013-10-12 21:32:51Z
- new "xt_mode" option (thanks, David Golden!)
2.035 2013-10-12 17:35:49Z
- new "phase" option, for selecting how prereqs are injected (thanks, David
Golden!)
2.034 2013-10-06 06:24:12Z
- now checking the full, unshifted value of $? (thanks, ribasushi!)
- fixed incomplete prerequisite specification on Test::Warnings
2.033 2013-09-20 23:52:40Z
- revert to IPC::Open3 implementation from v2.031 and earlier, but with
waitpid ordering fixed so we never hang (thanks haarg!)
- now bootstrapping ourselves so our own compile test is generated with the
version of code we are shipping, rather than version N-1
2.032 2013-09-20 01:02:20Z
- add missing prereq injection for File::Spec, when scripts are being tested
- redo entire implementation, reverting from IPC::Open3 back to a capture{},
using an inlined form of the guts of Capture::Tiny courtesy of David
Golden, to address ongoing occasional hang issues on win32 (see RT#88783
for the longer version)
2.031 2013-09-19 04:49:51Z
- bypass cmd.exe on win32 to try to avoid occasional hang issue (RT#88783)
2.030 2013-09-11 05:01:26Z
- depend on fixed Test::Warnings, where ':no_end_test' also covers the
done_testing case (which turned out to be a red herring)
2.029 2013-09-10 01:19:46Z
- fix test failures for non-authors (oops)
2.028 2013-09-10 01:12:53Z
- fix binmode issue on win32 (introduced in 2.026)
- warnings tests bypassed during installation, to prevent installation issues
in the presence of deprecation warnings from upstream dependencies (in this
case, via Moose 2.1100)
- new 'filename' option, for creating the compile test in a different
location
2.027 2013-09-08 16:36:45Z
- promise in documentation that the generated test requires no non-core
modules, and is compatible with perl 5.6.2
- re-release with properly encoded META.yml
2.026 2013-09-07 00:47:15Z
- more fixes (hopefully the last) for script checking on win32
2.025 2013-09-04 01:32:34Z
- more thoroughly test the generated test that no non-core modules are
required, and syntax does not require a perl later than 5.8.8
- fix use of regex syntax in script checking that required perl 5.9.5
- properly screen out expected warnings from perl -c on older perls
2.024 2013-09-03 00:02:21Z
- update warning regexp in test yet again, due to win32 failures (does not
concern the generated test)
2.023 2013-08-30 01:27:54Z
- now routing subprocesses' stdout to our stderr rather than throwing it
away, for greater visibility into any side effects caused by loading
modules
- removed use of Test::Script entirely for testing scripts - now instead we
call perl -c ourselves
- we can now properly test scripts using special flags such as -T
- now skipping non-perl scripts, by checking shebang lines
- now any version of Test::More can be used (if the bail_out_on_fail option
is not set)
2.022 2013-08-29 02:04:55Z
- documentation fixes and cleanup
- added missing test prereq on Test::Script (but still not injected into the
built dist unless scripts are being shipped)
- stop looking for newlines during install-time testing, to avoid needless
failure on win32 (does not concern the generated test)
2.021 2013-08-27 00:59:49Z
- fix incomplete prereq declaration on Test::Warnings
- work around dubious install-time test failure on win32 with absolute
filenames in tests (does not concern the generated test)
2.020 2013-08-24 18:06:49Z
- fixed test prereq for Module::CoreList (thanks ambs!)
- removed long-deprecated [CompileTests]
2.019 2013-08-24 04:09:07Z
- now properly handling filenames with non-ascii characters
- use IPC::Open3 for each subprocess, rather than Capture::Tiny; test added
to confirm that no non-core prereqs are used (except sometimes
Test::Script)
2.018 2013-08-04 02:25:37Z
- delay inserting the list of modules to check until after all plugins have
had an opportunity to add files (found via RT#87562)
- fail_on_warning setting now also takes into consideration the results of
script compilation checks
2.017 2013-08-03 18:06:44Z
- fix conflicts metadata entry for Test::Kwalitee::Extra (I misinterpreted
the metaspec as to what conflicts actually means!)
2.016 2013-08-02 18:48:44Z
- convert Foo\Bar.pm to Foo/Bar.pm for proper %INC retrieval on win32
(thanks, haarg!)
2.015 2013-08-02 18:22:28Z
- fix double-quoting of file paths in require statement, introduced in v2.006
(thanks, Peter Shangov!)
2.014 2013-08-01 02:37:00Z
- fix install tests on win32, broken since 2.011 (RT#84781)
- properly munge filenames on win32 (broken since 2.013)
2.013 2013-07-30 19:54:52Z
- .pm files are tested with -Mblib again; 2.012 was a mistake.
- now require()ing files without the leading lib/, to avoid potentially
loading files twice (a problem since 2.009) - thanks dolmen and haarg!
2.012 2013-07-30 19:12:53Z
- .pm files are once again tested with -Ilib, instead of -Mblib, to avoid
potentially loading files twice (this was changed in 2.009).
2.011 2013-07-28 22:45:53Z
- .pod files are now always omitted from the list of found modules in the
dist (thanks for the report, Alberto Simões!)
2.010 2013-07-27 00:45:51Z
- add conflicts metadata for Test::Kwalitee::Extra, which does not like the
require() syntax we use
- all changes since 2.002 now as a stable release:
[FEATURES]
- new fail_on_warning option
- the 'skip' option can now be provided multiple times
- calculate the list of files to check at build time, rather than using
File::Find at runtime; the filefinders used are configurable.
[IMPLEMENTATION DETAILS]
- include a comment in the generated test indicating how it was generated
- modules used by the test are injected as test requires dependencies.
- avoid trying to load Test::Script if there are no scripts to check
- we now load the .pm file, rather than attempting to calculate the module
name and then loading that
- if there are scripts to be tested, Test::Script is now mandatory;
accurate prerequisites are injected into the dist in all cases
- properly inject all used modules as test prerequisites
- now using Text::Template to generate the test, for simpler munging code
2.009 2013-07-20 17:40:25Z (TRIAL RELEASE)
- the 'skip' option can now be provided multiple times
- now using Text::Template to generate the test, for simpler munging code
- properly inject all used modules as test prerequisites
2.008 2013-07-20 01:40:11Z (TRIAL RELEASE)
- screen out skipped files at test generation time, rather than at runtime
(and make skips work again - broken in 2.007-TRIAL)
2.007 2013-07-20 01:14:30Z (TRIAL RELEASE)
- if there are scripts to be tested, Test::Script is now mandatory; accurate
prerequisites are injected into the dist in all cases
2.006 2013-07-17 19:38:55Z (TRIAL RELEASE)
- we now load the .pm file, rather than attempting to calculate the module
name and then loading that
- avoid trying to load Test::Script if there are no scripts to check
- calculate the list of files to check at build time, rather than using
File::Find at runtime; the filefinders used are configurable.
- modules used by the test are injected as test requires dependencies.
2.005 2013-07-14 19:54:24Z (TRIAL RELEASE)
- fixed use of quoting in shell command to resolve mswin32 issues (introduced
in 2.003)
- include a comment in the generated test indicating how it was generated
2.004 2013-07-01 05:17:25Z (TRIAL RELEASE)
- fixed typo in fail_on_warning=author
2.003 2013-07-01 04:39:31Z (TRIAL RELEASE)
- new fail_on_warning option (Karen Etheridge)
2.002 2013-04-28 16:19:00Z
- require version of Test::More that added is_passing()
(RT#84904, Karen Etheridge)
2.001 2013-02-12 12:03:37Z
- fix EOL in generated test (Olivier Mengué)
2.000 2013-02-11 12:52:18Z
- new bail_out_on_fail option (Karen Etheridge)
- dzil migrated to @Author::JQUELIN
1.112820 2011-10-09 09:31:56Z
- look for scripts in scripts/ too (chris weyl)
1.112400 2011-08-28 12:41:01Z
- fix breakage introduced by __END__ markers (randy stauner)
- added test suite (randy stauner)
1.112392 2011-08-27 10:56:36Z
- examples/ updated to use new module name
1.112391 2011-08-27 10:50:33Z
- more aggressive deprecation in documentation
- minimum date before DZP::CompileTests removal: 2012-08-27
- github repository renamed to match new dist name
1.112390 2011-08-27 10:40:32Z
- renamed to Dist::Zilla::Plugin::Test::Compile. DZP::CompileTests,
although deprecated, continues to work (fredric kent)
- eliminate multiple phases work (fredric kent)
1.112380 2011-08-26 12:28:44Z
- skip non-perl scripts in bin directory (harley pig)
1.110930 2011-04-03 10:19:08Z
- fix rt#67183 - do not fail if no bin directory exists
1.110870 2011-03-28 11:44:54Z
- allow regex skip of script files (jesse luehrs)
1.103030 2010-10-30 14:00:24Z
- Removed reuse of Test::NeedsDisplay. It fails when DISPLAY is not
set! (ahmad m. zawawi)
1.103010 2010-10-28 16:26:19Z
- no_display is now called needs_display and it reuses
Test::NeedsDisplay (ahmad m. zawawi)
1.103000 2010-10-27 08:16:26Z
- new option no_display to skip tests on non win32 systems when
$ENV{DISPLAY} is not set (ahmad m. zawawi)
1.101800 2010-06-29 17:42:20Z
- skip all if no test are to be run (jesse luehrs)
- require module instead of use, to test only compilation (jesse luehrs)
1.101600 2010-06-09 12:01:21Z
- fix #55957: strip leading white spaces in module output
1.101500 2010-05-30 16:55:12Z
- fix #57974: test::script 1.05 changed its interface
1.100740 2010-03-15 17:29:52Z
- allow PERL5OPT to get a chance to be respected (marcel gruenauer)
1.100220 2010-01-22 15:26:16Z
- new param fake_home to control $ENV{HOME} faking
1.100160 2010-01-16 13:43:14Z
- requiring perl 5.8.x
- faking $ENV{HOME} for cpantesters
1.092870 2009-10-14 09:10:00
- fix: skip did not update test count
1.092840 2009-10-11 19:12:32
- support for skip parameter
1.092460 2009-09-03 17:26:23
- using less magical load test (as kentnl reported)
1.092370 2009-08-25 16:57:16
- using plain File::Find which is core (rjbs)
- moving to autoversion: 1.yydddn
0.1.3 2009-08-11 15:58:19 CEST
- automatically add File::Find::Rule to prereqs (fix #48602)
0.1.2 2009-08-07 10:26:31
- skip script tests if test::script isn't installed
0.1.1 2009-08-06 15:43:34
- fix manifest
0.1.0 2009-08-06 15:34:26
- original release
- basic compilation tests
LICENCE 100644 000766 000024 46312 15120367741 17742 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 This software is copyright (c) 2009 by Jérôme Quelin.
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) 2009 by Jérôme Quelin.
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.
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, see .
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
Moe Ghoul, President of Vice
That's all there is to it!
--- The Perl Artistic License 1.0 ---
This software is Copyright (c) 2009 by Jérôme Quelin.
This is free software, licensed under:
The Perl 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 as specified below.
"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 uunet.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) give non-standard executables non-standard names, and clearly
document 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. You may embed this Package's interpreter within
an executable of yours (by linking); this shall be construed as a mere
form of aggregation, provided that the complete Standard Version of the
interpreter is so embedded.
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 whoever generated
them, and may be sold commercially, and may be aggregated with this
Package. If such scripts or library files are aggregated with this
Package via the so-called "undump" or "unexec" methods of producing a
binary executable image, then distribution of such an image shall
neither be construed as a distribution of this Package nor shall it
fall under the restrictions of Paragraphs 3 and 4, provided that you do
not represent such an executable image as a Standard Version of this
Package.
7. C subroutines (or comparably compiled subroutines in other
languages) supplied by you and linked into this Package in order to
emulate subroutines and variables of the language defined by this
Package shall not be considered part of this Package, but are the
equivalent of input as in Paragraph 6, provided these subroutines do
not change the language in any way that would cause it to fail the
regression tests for the language.
8. Aggregation of this Package with a commercial distribution is always
permitted provided that the use of this Package is embedded; that is,
when no overt attempt is made to make this Package's interfaces visible
to the end user of the commercial distribution. Such use shall not be
construed as a distribution of this Package.
9. The name of the Copyright Holder may not be used to endorse or promote
products derived from this software without specific prior written permission.
10. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
The End
INSTALL 100644 000766 000024 5044 15120367741 17763 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 This is the Perl distribution Dist-Zilla-Plugin-Test-Compile.
Installing Dist-Zilla-Plugin-Test-Compile is straightforward.
## Installation with cpanm
If you have cpanm, you only need one line:
% cpanm Dist::Zilla::Plugin::Test::Compile
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::Test::Compile
## Manual installation
As a last resort, you can manually install it. If you have not already
downloaded the release tarball, you can find the download link on the module's
MetaCPAN page: https://metacpan.org/pod/Dist::Zilla::Plugin::Test::Compile
Untar the tarball, 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.
Look for prerequisites in the following phases:
* to run ./Build, 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-Test-Compile documentation is available as POD.
You can run `perldoc` from a shell to read the documentation:
% perldoc Dist::Zilla::Plugin::Test::Compile
For more information on installing Perl modules via CPAN, please see:
https://www.cpan.org/modules/INSTALL.html
dist.ini 100640 000766 000024 2436 15120367741 20374 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 name = Dist-Zilla-Plugin-Test-Compile
author = Jérôme Quelin
author = Karen Etheridge
license = Perl_5
copyright_holder = Jérôme Quelin
copyright_year = 2009
[Prepender]
:version = 2.002
copyright = 1
skip = INSTALL
[Bootstrap::lib]
[Test::Compile]
fail_on_warning = author
bail_out_on_fail = 1
script_finder = :ExecFiles
[@Author::ETHER]
:version = 0.117
authority = cpan:JQUELIN
-remove = Test::Compile ; added directly, above
Test::ReportPrereqs.include[0] = Dist::CheckConflicts
Test::ReportPrereqs.include[1] = CPAN::Meta::Validator
Test::MinimumVersion.max_target_perl = 5.008003
ModuleBuildTiny::Fallback.:version = 0.016
StaticInstall.dry_run = 0 ; we can safely set this here
Git::GatherDir.exclude_filename = AUTHOR_PLEDGE
copy_file_from_release = AUTHOR_PLEDGE
[Covenant]
[MetaResources]
x_IRC = irc://irc.perl.org/#distzilla
x_MailingList = http://dzil.org/#mailing-list
[Breaks]
Test::Kwalitee::Extra = <= v0.0.8
[Test::CheckBreaks]
:version = 0.017
conflicts_module = Moose::Conflicts
conflicts_module = Module::Runtime::Conflicts
[Prereqs]
Dist::Zilla = 4.300039 ; v2 meta-compliant license field
[Prereqs / DevelopRequires]
Test::Warnings = 0
Dist::Zilla = 5.000
Test::Mojibake = 1.0
perl = 5.014 ; ensure we run all tests
META.yml 100644 000766 000024 71414 15120367741 20227 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 ---
abstract: 'Common tests to check syntax of your modules, using only core modules'
author:
- 'Jérôme Quelin '
- 'Karen Etheridge '
build_requires:
CPAN::Meta::Check: '0.011'
CPAN::Meta::Requirements: '0'
File::Spec: '0'
File::pushd: '1.004'
IO::Handle: '0'
IPC::Open3: '0'
Module::CoreList: '2.77'
Module::Metadata: '0'
Perl::PrereqScanner: '1.016'
Term::ANSIColor: '0'
Test::DZil: '0'
Test::Deep: '0'
Test::MinimumVersion: '0'
Test::More: '0.96'
Test::Warnings: '0.009'
if: '0'
perl: '5.008'
utf8: '0'
version: '0'
configure_requires:
Module::Build::Tiny: '0.034'
perl: '5.006'
dynamic_config: 0
generated_by: 'Dist::Zilla version 6.036, CPAN::Meta::Converter version 2.150010'
keywords:
- plugin
- test
- compile
- verify
- validate
- load
- modules
- scripts
license: perl
meta-spec:
url: http://module-build.sourceforge.net/META-spec-v1.4.html
version: '1.4'
name: Dist-Zilla-Plugin-Test-Compile
no_index:
directory:
- examples
- t
- xt
provides:
Dist::Zilla::Plugin::Test::Compile:
file: lib/Dist/Zilla/Plugin/Test/Compile.pm
version: '2.059'
requires:
Data::Section: '0.004'
Dist::Zilla: '4.300039'
Dist::Zilla::Dist::Builder: '0'
Dist::Zilla::File::InMemory: '0'
Dist::Zilla::Role::FileFinderUser: '0'
Dist::Zilla::Role::FileGatherer: '0'
Dist::Zilla::Role::FileMunger: '0'
Dist::Zilla::Role::PrereqSource: '0'
Dist::Zilla::Role::TextTemplate: '0'
Moose: '0'
Moose::Util::TypeConstraints: '0'
Path::Tiny: '0'
Sub::Exporter::ForMethods: '0'
namespace::autoclean: '0'
perl: '5.008'
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-Test-Compile
homepage: https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile
repository: https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile.git
version: '2.059'
x_Dist_Zilla:
perl:
version: '5.043005'
plugins:
-
class: Dist::Zilla::Plugin::Prepender
name: Prepender
version: '2.004'
-
class: Dist::Zilla::Plugin::Bootstrap::lib
config:
Dist::Zilla::Role::Bootstrap:
$Dist::Zilla::Role::Bootstrap::VERSION: '1.001004'
distname: Dist-Zilla-Plugin-Test-Compile
fallback: 1
try_built: ~
try_built_method: mtime
name: Bootstrap::lib
version: '1.001002'
-
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: t/00-compile.t
module_finder:
- ':InstallModules'
needs_display: 0
phase: test
script_finder:
- ':ExecFiles'
skips: []
switch: []
name: Test::Compile
version: '2.059'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
type: recommends
name: '@Author::ETHER/pluginbundle version'
version: '6.036'
-
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.060'
-
class: Dist::Zilla::Plugin::FileFinder::ByName
name: '@Author::ETHER/Examples'
version: '6.036'
-
class: Dist::Zilla::Plugin::Git::GatherDir
config:
Dist::Zilla::Plugin::GatherDir:
exclude_filename:
- AUTHOR_PLEDGE
- CONTRIBUTING
- INSTALL
- LICENCE
- README.pod
- TODO
exclude_match: []
include_dotfiles: 0
prefix: ''
prune_directory: []
root: .
Dist::Zilla::Plugin::Git::GatherDir:
include_untracked: 0
name: '@Author::ETHER/Git::GatherDir'
version: '2.052'
-
class: Dist::Zilla::Plugin::MetaYAML
name: '@Author::ETHER/MetaYAML'
version: '6.036'
-
class: Dist::Zilla::Plugin::MetaJSON
name: '@Author::ETHER/MetaJSON'
version: '6.036'
-
class: Dist::Zilla::Plugin::Readme
name: '@Author::ETHER/Readme'
version: '6.036'
-
class: Dist::Zilla::Plugin::Manifest
name: '@Author::ETHER/Manifest'
version: '6.036'
-
class: Dist::Zilla::Plugin::License
name: '@Author::ETHER/License'
version: '6.036'
-
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.015'
-
class: Dist::Zilla::Plugin::InstallGuide
config:
Dist::Zilla::Role::ModuleMetadata:
Module::Metadata: '1.000038'
version: '0.006'
name: '@Author::ETHER/InstallGuide'
version: '1.200014'
-
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.036'
-
class: Dist::Zilla::Plugin::Test::CPAN::Changes
config:
Dist::Zilla::Plugin::Test::CPAN::Changes:
changelog: Changes
filename: xt/release/cpan-changes.t
name: '@Author::ETHER/Test::CPAN::Changes'
version: '0.013'
-
class: Dist::Zilla::Plugin::Test::ChangesHasContent
name: '@Author::ETHER/Test::ChangesHasContent'
version: '0.011'
-
class: Dist::Zilla::Plugin::Test::MinimumVersion
config:
Dist::Zilla::Plugin::Test::MinimumVersion:
max_target_perl: '5.008003'
name: '@Author::ETHER/Test::MinimumVersion'
version: '2.000011'
-
class: Dist::Zilla::Plugin::PodSyntaxTests
name: '@Author::ETHER/PodSyntaxTests'
version: '6.036'
-
class: Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe
config:
Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe:
finder:
- ':InstallModules'
name: '@Author::ETHER/Test::Pod::Coverage::TrustMe'
version: v1.0.1
-
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.007006'
-
class: Dist::Zilla::Plugin::Test::Pod::No404s
name: '@Author::ETHER/Test::Pod::No404s'
version: '1.004'
-
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.029'
-
class: Dist::Zilla::Plugin::Test::Portability
config:
Dist::Zilla::Plugin::Test::Portability:
options: ''
name: '@Author::ETHER/Test::Portability'
version: '2.001003'
-
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.008'
-
class: Dist::Zilla::Plugin::PodWeaver
config:
Dist::Zilla::Plugin::PodWeaver:
config_plugins:
- '@Author::ETHER'
finder:
- ':InstallModules'
- ':PerlExecFiles'
plugins:
-
class: Pod::Weaver::Plugin::EnsurePod5
name: '@Author::ETHER/EnsurePod5'
version: '4.020'
-
class: Pod::Weaver::Plugin::H1Nester
name: '@Author::ETHER/H1Nester'
version: '4.020'
-
class: Pod::Weaver::Plugin::SingleEncoding
name: '@Author::ETHER/SingleEncoding'
version: '4.020'
-
class: Pod::Weaver::Plugin::Transformer
name: '@Author::ETHER/List'
version: '4.020'
-
class: Pod::Weaver::Plugin::Transformer
name: '@Author::ETHER/Verbatim'
version: '4.020'
-
class: Pod::Weaver::Section::Region
name: '@Author::ETHER/header'
version: '4.020'
-
class: Pod::Weaver::Section::Name
name: '@Author::ETHER/Name'
version: '4.020'
-
class: Pod::Weaver::Section::Version
name: '@Author::ETHER/Version'
version: '4.020'
-
class: Pod::Weaver::Section::Region
name: '@Author::ETHER/prelude'
version: '4.020'
-
class: Pod::Weaver::Section::Generic
name: SYNOPSIS
version: '4.020'
-
class: Pod::Weaver::Section::Generic
name: DESCRIPTION
version: '4.020'
-
class: Pod::Weaver::Section::Generic
name: OVERVIEW
version: '4.020'
-
class: Pod::Weaver::Section::Collect
name: ATTRIBUTES
version: '4.020'
-
class: Pod::Weaver::Section::Collect
name: METHODS
version: '4.020'
-
class: Pod::Weaver::Section::Collect
name: FUNCTIONS
version: '4.020'
-
class: Pod::Weaver::Section::Collect
name: TYPES
version: '4.020'
-
class: Pod::Weaver::Section::Leftovers
name: '@Author::ETHER/Leftovers'
version: '4.020'
-
class: Pod::Weaver::Section::Region
name: '@Author::ETHER/postlude'
version: '4.020'
-
class: Pod::Weaver::Section::GenerateSection
name: '@Author::ETHER/generate GIVING THANKS'
version: '4.020'
-
class: Pod::Weaver::Section::GenerateSection
name: '@Author::ETHER/generate SUPPORT'
version: '4.020'
-
class: Pod::Weaver::Section::Authors
name: '@Author::ETHER/Authors'
version: '4.020'
-
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.020'
-
class: Pod::Weaver::Section::Region
name: '@Author::ETHER/footer'
version: '4.020'
name: '@Author::ETHER/PodWeaver'
version: '4.010'
-
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.036'
-
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.036'
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.000038'
version: '0.006'
name: '@Author::ETHER/MetaProvides::Package'
version: '2.004003'
-
class: Dist::Zilla::Plugin::MetaConfig
name: '@Author::ETHER/MetaConfig'
version: '6.036'
-
class: Dist::Zilla::Plugin::Keywords
config:
Dist::Zilla::Plugin::Keywords:
keywords:
- plugin
- test
- compile
- verify
- validate
- load
- modules
- scripts
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.002'
-
class: Dist::Zilla::Plugin::AutoPrereqs
name: '@Author::ETHER/AutoPrereqs'
version: '6.036'
-
class: Dist::Zilla::Plugin::Prereqs::AuthorDeps
name: '@Author::ETHER/Prereqs::AuthorDeps'
version: '0.007'
-
class: Dist::Zilla::Plugin::MinimumPerl
name: '@Author::ETHER/MinimumPerl'
version: '1.006'
-
class: Dist::Zilla::Plugin::ModuleBuildTiny
config:
Dist::Zilla::Role::TestRunner:
default_jobs: 9
name: '@Author::ETHER/ModuleBuildTiny'
version: '0.020'
-
class: Dist::Zilla::Plugin::Git::Contributors
config:
Dist::Zilla::Plugin::Git::Contributors:
git_version: 2.52.0
include_authors: 0
include_releaser: 1
order_by: commits
paths: []
name: '@Author::ETHER/Git::Contributors'
version: '0.038'
-
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.000038'
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.050'
name: '@Author::ETHER/.ackrc'
version: '0.050'
-
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.050'
name: '@Author::ETHER/.latest'
version: '0.050'
-
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.20251120'
name: '@Author::ETHER/EnsureLatestPerl'
version: '0.010'
-
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.060'
-
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.52.0
repo_root: .
name: '@Author::ETHER/initial check'
version: '2.052'
-
class: Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts
config:
Dist::Zilla::Role::Git::Repo:
git_version: 2.52.0
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.52.0
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.022'
-
class: Dist::Zilla::Plugin::TestRelease
name: '@Author::ETHER/TestRelease'
version: '6.036'
-
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.52.0
repo_root: .
name: '@Author::ETHER/after tests'
version: '2.052'
-
class: Dist::Zilla::Plugin::CheckIssues
name: '@Author::ETHER/CheckIssues'
version: '0.011'
-
class: Dist::Zilla::Plugin::UploadToCPAN
name: '@Author::ETHER/UploadToCPAN'
version: '6.036'
-
class: Dist::Zilla::Plugin::CopyFilesFromRelease
config:
Dist::Zilla::Plugin::CopyFilesFromRelease:
filename:
- AUTHOR_PLEDGE
- 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.036'
-
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'
signoff: 0
Dist::Zilla::Role::Git::DirtyFiles:
allow_dirty:
- AUTHOR_PLEDGE
- CONTRIBUTING
- Changes
- INSTALL
- LICENCE
- README.pod
allow_dirty_match: []
changelog: Changes
Dist::Zilla::Role::Git::Repo:
git_version: 2.52.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::ETHER/@Git::VersionManager/release snapshot'
version: '2.052'
-
class: Dist::Zilla::Plugin::Git::Tag
config:
Dist::Zilla::Plugin::Git::Tag:
branch: ~
changelog: Changes
signed: 0
tag: v2.059
tag_format: v%V
tag_message: v%v%t
Dist::Zilla::Role::Git::Repo:
git_version: 2.52.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::ETHER/@Git::VersionManager/Git::Tag'
version: '2.052'
-
class: Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional
config:
Dist::Zilla::Plugin::BumpVersionAfterRelease:
finders:
- ':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.036'
-
class: Dist::Zilla::Plugin::Git::Commit
config:
Dist::Zilla::Plugin::Git::Commit:
add_files_in: []
commit_msg: 'increment $VERSION after %v release'
signoff: 0
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.52.0
repo_root: .
Dist::Zilla::Role::Git::StringFormatter:
time_zone: local
name: '@Author::ETHER/@Git::VersionManager/post-release commit'
version: '2.052'
-
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.036'
-
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.52.0
repo_root: .
name: '@Author::ETHER/Git::Push'
version: '2.052'
-
class: Dist::Zilla::Plugin::GitHub::Update
config:
Dist::Zilla::Plugin::GitHub::Update:
metacpan: 1
name: '@Author::ETHER/GitHub::Update'
version: '0.49'
-
class: Dist::Zilla::Plugin::Run::AfterRelease
config:
Dist::Zilla::Plugin::Run::Role::Runner:
fatal_errors: 0
quiet: 0
run:
- REDACTED
version: '0.050'
name: '@Author::ETHER/install release'
version: '0.050'
-
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.050'
name: '@Author::ETHER/release complete'
version: '0.050'
-
class: Dist::Zilla::Plugin::ConfirmRelease
name: '@Author::ETHER/ConfirmRelease'
version: '6.036'
-
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.036'
-
class: Dist::Zilla::Plugin::Covenant
name: Covenant
version: 0.1.3
-
class: Dist::Zilla::Plugin::MetaResources
name: MetaResources
version: '6.036'
-
class: Dist::Zilla::Plugin::Breaks
name: Breaks
version: '0.005'
-
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.000038'
version: '0.006'
name: Test::CheckBreaks
version: '0.020'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: runtime
type: requires
name: Prereqs
version: '6.036'
-
class: Dist::Zilla::Plugin::Prereqs
config:
Dist::Zilla::Plugin::Prereqs:
phase: develop
type: requires
name: DevelopRequires
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':InstallModules'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':IncModules'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':TestFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExtraTestFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ExecFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':PerlExecFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':ShareFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':MainModule'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':AllFiles'
version: '6.036'
-
class: Dist::Zilla::Plugin::FinderCode
name: ':NoFiles'
version: '6.036'
-
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.036'
x_author_pledge:
version: 1
x_authority: cpan:JQUELIN
x_breaks:
Test::Kwalitee::Extra: '<= v0.0.8'
x_contributors:
- 'Ahmad M. Zawawi '
- 'Olivier Mengué '
- 'Kent Fredric '
- 'David Golden '
- 'Graham Knop '
- 'Jesse Luehrs '
- 'Randy Stauner '
- 'Harley Pig '
- 'Chris Weyl '
- 'fayland '
- 'Marcel Gruenauer '
- 'Peter Shangov '
- 'Ricardo SIGNES '
x_generated_by_perl: v5.43.5
x_serialization_backend: 'YAML::Tiny version 1.76'
x_spdx_expression: 'Artistic-1.0-Perl OR GPL-1.0-or-later'
x_static_install: 0
x_use_unsafe_inc: 0
MANIFEST 100644 000766 000024 1726 15120367741 20066 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 # This file was automatically generated by Dist::Zilla::Plugin::Manifest v6.036.
AUTHOR_PLEDGE
Build.PL
CONTRIBUTING
Changes
INSTALL
LICENCE
MANIFEST
META.json
META.yml
README
dist.ini
examples/dist.ini
lib/Dist/Zilla/Plugin/Test/Compile.pm
t/00-compile.t
t/00-report-prereqs.dd
t/00-report-prereqs.t
t/01-basic.t
t/02-warnings.t
t/03-taint.t
t/04-bash.t
t/05-prereqs.t
t/06-filename.t
t/07-prereqs-phase.t
t/08-xt_mode.t
t/09-extra-files.t
t/10-shebang-w.t
t/11-shebang-C.t
t/12-shebang-comment.t
t/13-shebang-dashes.t
t/14-extratests.t
t/15-needs-display.t
t/16-filename-fail-on-warning.t
t/17-switch.t
t/18-shebang-env-perl.t
t/zzz-check-breaks.t
xt/author/clean-namespaces.t
xt/author/distmeta.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-coverage.t
xt/author/pod-no404s.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
Build.PL 100644 000766 000024 706 15120367741 20206 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 #
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# 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 Build.PL for Dist-Zilla-Plugin-Test-Compile was generated by Dist::Zilla::Plugin::ModuleBuildTiny 0.020.
use strict;
use warnings;
use 5.008;
use Module::Build::Tiny 0.034;
Build_PL();
META.json 100644 000766 000024 142262 15120367741 20417 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 {
"abstract" : "Common tests to check syntax of your modules, using only core modules",
"author" : [
"J\u00e9r\u00f4me Quelin ",
"Karen Etheridge "
],
"dynamic_config" : 0,
"generated_by" : "Dist::Zilla version 6.036, CPAN::Meta::Converter version 2.150010",
"keywords" : [
"plugin",
"test",
"compile",
"verify",
"validate",
"load",
"modules",
"scripts"
],
"license" : [
"perl_5"
],
"meta-spec" : {
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
"version" : 2
},
"name" : "Dist-Zilla-Plugin-Test-Compile",
"no_index" : {
"directory" : [
"examples",
"t",
"xt"
]
},
"prereqs" : {
"configure" : {
"requires" : {
"Module::Build::Tiny" : "0.034",
"perl" : "5.006"
}
},
"develop" : {
"recommends" : {
"Dist::Zilla::PluginBundle::Author::ETHER" : "0.170",
"Dist::Zilla::PluginBundle::Git::VersionManager" : "0.007"
},
"requires" : {
"Dist::Zilla" : "5.000",
"Encode" : "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" : "1.0",
"Test::More" : "0.96",
"Test::NoTabs" : "0",
"Test::Pod" : "1.41",
"Test::Pod::Coverage::TrustMe" : "0.002001",
"Test::Pod::No404s" : "0",
"Test::Portability::Files" : "0",
"Test::Spelling" : "0.17",
"Test::Warnings" : "0",
"perl" : "5.014"
}
},
"runtime" : {
"requires" : {
"Data::Section" : "0.004",
"Dist::Zilla" : "4.300039",
"Dist::Zilla::Dist::Builder" : "0",
"Dist::Zilla::File::InMemory" : "0",
"Dist::Zilla::Role::FileFinderUser" : "0",
"Dist::Zilla::Role::FileGatherer" : "0",
"Dist::Zilla::Role::FileMunger" : "0",
"Dist::Zilla::Role::PrereqSource" : "0",
"Dist::Zilla::Role::TextTemplate" : "0",
"Moose" : "0",
"Moose::Util::TypeConstraints" : "0",
"Path::Tiny" : "0",
"Sub::Exporter::ForMethods" : "0",
"namespace::autoclean" : "0",
"perl" : "5.008",
"strict" : "0",
"warnings" : "0"
}
},
"test" : {
"recommends" : {
"CPAN::Meta" : "2.120900"
},
"requires" : {
"CPAN::Meta::Check" : "0.011",
"CPAN::Meta::Requirements" : "0",
"File::Spec" : "0",
"File::pushd" : "1.004",
"IO::Handle" : "0",
"IPC::Open3" : "0",
"Module::CoreList" : "2.77",
"Module::Metadata" : "0",
"Perl::PrereqScanner" : "1.016",
"Term::ANSIColor" : "0",
"Test::DZil" : "0",
"Test::Deep" : "0",
"Test::MinimumVersion" : "0",
"Test::More" : "0.96",
"Test::Warnings" : "0.009",
"if" : "0",
"perl" : "5.008",
"utf8" : "0",
"version" : "0"
}
},
"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::Breaks" : "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::Covenant" : "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::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" : "0.012",
"Dist::Zilla::Plugin::MojibakeTests" : "0.8",
"Dist::Zilla::Plugin::NextRelease" : "5.033",
"Dist::Zilla::Plugin::PodSyntaxTests" : "5.040",
"Dist::Zilla::Plugin::PodWeaver" : "4.008",
"Dist::Zilla::Plugin::Prepender" : "2.002",
"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::RewriteVersion::Transitional" : "0.006",
"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::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" : "0",
"Dist::Zilla::Plugin::Test::EOL" : "0.17",
"Dist::Zilla::Plugin::Test::Kwalitee" : "2.10",
"Dist::Zilla::Plugin::Test::MinimumVersion" : "2.000010",
"Dist::Zilla::Plugin::Test::NoTabs" : "0.08",
"Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe" : "0",
"Dist::Zilla::Plugin::Test::Pod::No404s" : "1.003",
"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::Test::Compile" : {
"file" : "lib/Dist/Zilla/Plugin/Test/Compile.pm",
"version" : "2.059"
}
},
"release_status" : "stable",
"resources" : {
"bugtracker" : {
"mailto" : "bug-Dist-Zilla-Plugin-Test-Compile@rt.cpan.org",
"web" : "https://rt.cpan.org/Public/Dist/Display.html?Name=Dist-Zilla-Plugin-Test-Compile"
},
"homepage" : "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile",
"repository" : {
"type" : "git",
"url" : "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile.git",
"web" : "https://github.com/karenetheridge/Dist-Zilla-Plugin-Test-Compile"
},
"x_IRC" : "irc://irc.perl.org/#distzilla",
"x_MailingList" : "http://dzil.org/#mailing-list"
},
"version" : "2.059",
"x_Dist_Zilla" : {
"perl" : {
"version" : "5.043005"
},
"plugins" : [
{
"class" : "Dist::Zilla::Plugin::Prepender",
"name" : "Prepender",
"version" : "2.004"
},
{
"class" : "Dist::Zilla::Plugin::Bootstrap::lib",
"config" : {
"Dist::Zilla::Role::Bootstrap" : {
"$Dist::Zilla::Role::Bootstrap::VERSION" : "1.001004",
"distname" : "Dist-Zilla-Plugin-Test-Compile",
"fallback" : 1,
"try_built" : null,
"try_built_method" : "mtime"
}
},
"name" : "Bootstrap::lib",
"version" : "1.001002"
},
{
"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" : "t/00-compile.t",
"module_finder" : [
":InstallModules"
],
"needs_display" : 0,
"phase" : "test",
"script_finder" : [
":ExecFiles"
],
"skips" : [],
"switch" : []
}
},
"name" : "Test::Compile",
"version" : "2.059"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
"type" : "recommends"
}
},
"name" : "@Author::ETHER/pluginbundle version",
"version" : "6.036"
},
{
"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.060"
},
{
"class" : "Dist::Zilla::Plugin::FileFinder::ByName",
"name" : "@Author::ETHER/Examples",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
"config" : {
"Dist::Zilla::Plugin::GatherDir" : {
"exclude_filename" : [
"AUTHOR_PLEDGE",
"CONTRIBUTING",
"INSTALL",
"LICENCE",
"README.pod",
"TODO"
],
"exclude_match" : [],
"include_dotfiles" : 0,
"prefix" : "",
"prune_directory" : [],
"root" : "."
},
"Dist::Zilla::Plugin::Git::GatherDir" : {
"include_untracked" : 0
}
},
"name" : "@Author::ETHER/Git::GatherDir",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::MetaYAML",
"name" : "@Author::ETHER/MetaYAML",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::MetaJSON",
"name" : "@Author::ETHER/MetaJSON",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Readme",
"name" : "@Author::ETHER/Readme",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Manifest",
"name" : "@Author::ETHER/Manifest",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::License",
"name" : "@Author::ETHER/License",
"version" : "6.036"
},
{
"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.015"
},
{
"class" : "Dist::Zilla::Plugin::InstallGuide",
"config" : {
"Dist::Zilla::Role::ModuleMetadata" : {
"Module::Metadata" : "1.000038",
"version" : "0.006"
}
},
"name" : "@Author::ETHER/InstallGuide",
"version" : "1.200014"
},
{
"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.036"
},
{
"class" : "Dist::Zilla::Plugin::Test::CPAN::Changes",
"config" : {
"Dist::Zilla::Plugin::Test::CPAN::Changes" : {
"changelog" : "Changes",
"filename" : "xt/release/cpan-changes.t"
}
},
"name" : "@Author::ETHER/Test::CPAN::Changes",
"version" : "0.013"
},
{
"class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
"name" : "@Author::ETHER/Test::ChangesHasContent",
"version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::Test::MinimumVersion",
"config" : {
"Dist::Zilla::Plugin::Test::MinimumVersion" : {
"max_target_perl" : 5.008003
}
},
"name" : "@Author::ETHER/Test::MinimumVersion",
"version" : "2.000011"
},
{
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
"name" : "@Author::ETHER/PodSyntaxTests",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe",
"config" : {
"Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe" : {
"finder" : [
":InstallModules"
]
}
},
"name" : "@Author::ETHER/Test::Pod::Coverage::TrustMe",
"version" : "v1.0.1"
},
{
"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.007006"
},
{
"class" : "Dist::Zilla::Plugin::Test::Pod::No404s",
"name" : "@Author::ETHER/Test::Pod::No404s",
"version" : "1.004"
},
{
"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.029"
},
{
"class" : "Dist::Zilla::Plugin::Test::Portability",
"config" : {
"Dist::Zilla::Plugin::Test::Portability" : {
"options" : ""
}
},
"name" : "@Author::ETHER/Test::Portability",
"version" : "2.001003"
},
{
"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.008"
},
{
"class" : "Dist::Zilla::Plugin::PodWeaver",
"config" : {
"Dist::Zilla::Plugin::PodWeaver" : {
"config_plugins" : [
"@Author::ETHER"
],
"finder" : [
":InstallModules",
":PerlExecFiles"
],
"plugins" : [
{
"class" : "Pod::Weaver::Plugin::EnsurePod5",
"name" : "@Author::ETHER/EnsurePod5",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Plugin::H1Nester",
"name" : "@Author::ETHER/H1Nester",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Plugin::SingleEncoding",
"name" : "@Author::ETHER/SingleEncoding",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Plugin::Transformer",
"name" : "@Author::ETHER/List",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Plugin::Transformer",
"name" : "@Author::ETHER/Verbatim",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Author::ETHER/header",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Name",
"name" : "@Author::ETHER/Name",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Version",
"name" : "@Author::ETHER/Version",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Author::ETHER/prelude",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "SYNOPSIS",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "DESCRIPTION",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Generic",
"name" : "OVERVIEW",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "ATTRIBUTES",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "METHODS",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "FUNCTIONS",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Collect",
"name" : "TYPES",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Leftovers",
"name" : "@Author::ETHER/Leftovers",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Author::ETHER/postlude",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::GenerateSection",
"name" : "@Author::ETHER/generate GIVING THANKS",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::GenerateSection",
"name" : "@Author::ETHER/generate SUPPORT",
"version" : "4.020"
},
{
"class" : "Pod::Weaver::Section::Authors",
"name" : "@Author::ETHER/Authors",
"version" : "4.020"
},
{
"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.020"
},
{
"class" : "Pod::Weaver::Section::Region",
"name" : "@Author::ETHER/footer",
"version" : "4.020"
}
]
}
},
"name" : "@Author::ETHER/PodWeaver",
"version" : "4.010"
},
{
"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.036"
},
{
"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.036"
}
],
"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.000038",
"version" : "0.006"
}
},
"name" : "@Author::ETHER/MetaProvides::Package",
"version" : "2.004003"
},
{
"class" : "Dist::Zilla::Plugin::MetaConfig",
"name" : "@Author::ETHER/MetaConfig",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Keywords",
"config" : {
"Dist::Zilla::Plugin::Keywords" : {
"keywords" : [
"plugin",
"test",
"compile",
"verify",
"validate",
"load",
"modules",
"scripts"
]
}
},
"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.002"
},
{
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
"name" : "@Author::ETHER/AutoPrereqs",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs::AuthorDeps",
"name" : "@Author::ETHER/Prereqs::AuthorDeps",
"version" : "0.007"
},
{
"class" : "Dist::Zilla::Plugin::MinimumPerl",
"name" : "@Author::ETHER/MinimumPerl",
"version" : "1.006"
},
{
"class" : "Dist::Zilla::Plugin::ModuleBuildTiny",
"config" : {
"Dist::Zilla::Role::TestRunner" : {
"default_jobs" : 9
}
},
"name" : "@Author::ETHER/ModuleBuildTiny",
"version" : "0.020"
},
{
"class" : "Dist::Zilla::Plugin::Git::Contributors",
"config" : {
"Dist::Zilla::Plugin::Git::Contributors" : {
"git_version" : "2.52.0",
"include_authors" : 0,
"include_releaser" : 1,
"order_by" : "commits",
"paths" : []
}
},
"name" : "@Author::ETHER/Git::Contributors",
"version" : "0.038"
},
{
"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.000038",
"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.050"
}
},
"name" : "@Author::ETHER/.ackrc",
"version" : "0.050"
},
{
"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.050"
}
},
"name" : "@Author::ETHER/.latest",
"version" : "0.050"
},
{
"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.20251120"
}
},
"name" : "@Author::ETHER/EnsureLatestPerl",
"version" : "0.010"
},
{
"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.060"
},
{
"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.52.0",
"repo_root" : "."
}
},
"name" : "@Author::ETHER/initial check",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::Git::CheckFor::MergeConflicts",
"config" : {
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.52.0",
"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.52.0",
"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.022"
},
{
"class" : "Dist::Zilla::Plugin::TestRelease",
"name" : "@Author::ETHER/TestRelease",
"version" : "6.036"
},
{
"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.52.0",
"repo_root" : "."
}
},
"name" : "@Author::ETHER/after tests",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::CheckIssues",
"name" : "@Author::ETHER/CheckIssues",
"version" : "0.011"
},
{
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
"name" : "@Author::ETHER/UploadToCPAN",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::CopyFilesFromRelease",
"config" : {
"Dist::Zilla::Plugin::CopyFilesFromRelease" : {
"filename" : [
"AUTHOR_PLEDGE",
"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.036"
},
{
"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",
"signoff" : 0
},
"Dist::Zilla::Role::Git::DirtyFiles" : {
"allow_dirty" : [
"AUTHOR_PLEDGE",
"CONTRIBUTING",
"Changes",
"INSTALL",
"LICENCE",
"README.pod"
],
"allow_dirty_match" : [],
"changelog" : "Changes"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.52.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::ETHER/@Git::VersionManager/release snapshot",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::Git::Tag",
"config" : {
"Dist::Zilla::Plugin::Git::Tag" : {
"branch" : null,
"changelog" : "Changes",
"signed" : 0,
"tag" : "v2.059",
"tag_format" : "v%V",
"tag_message" : "v%v%t"
},
"Dist::Zilla::Role::Git::Repo" : {
"git_version" : "2.52.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::ETHER/@Git::VersionManager/Git::Tag",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::BumpVersionAfterRelease::Transitional",
"config" : {
"Dist::Zilla::Plugin::BumpVersionAfterRelease" : {
"finders" : [
":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.036"
},
{
"class" : "Dist::Zilla::Plugin::Git::Commit",
"config" : {
"Dist::Zilla::Plugin::Git::Commit" : {
"add_files_in" : [],
"commit_msg" : "increment $VERSION after %v release",
"signoff" : 0
},
"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.52.0",
"repo_root" : "."
},
"Dist::Zilla::Role::Git::StringFormatter" : {
"time_zone" : "local"
}
},
"name" : "@Author::ETHER/@Git::VersionManager/post-release commit",
"version" : "2.052"
},
{
"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.036"
},
{
"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.52.0",
"repo_root" : "."
}
},
"name" : "@Author::ETHER/Git::Push",
"version" : "2.052"
},
{
"class" : "Dist::Zilla::Plugin::GitHub::Update",
"config" : {
"Dist::Zilla::Plugin::GitHub::Update" : {
"metacpan" : 1
}
},
"name" : "@Author::ETHER/GitHub::Update",
"version" : "0.49"
},
{
"class" : "Dist::Zilla::Plugin::Run::AfterRelease",
"config" : {
"Dist::Zilla::Plugin::Run::Role::Runner" : {
"fatal_errors" : 0,
"quiet" : 0,
"run" : [
"REDACTED"
],
"version" : "0.050"
}
},
"name" : "@Author::ETHER/install release",
"version" : "0.050"
},
{
"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.050"
}
},
"name" : "@Author::ETHER/release complete",
"version" : "0.050"
},
{
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
"name" : "@Author::ETHER/ConfirmRelease",
"version" : "6.036"
},
{
"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.036"
},
{
"class" : "Dist::Zilla::Plugin::Covenant",
"name" : "Covenant",
"version" : "0.1.3"
},
{
"class" : "Dist::Zilla::Plugin::MetaResources",
"name" : "MetaResources",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Breaks",
"name" : "Breaks",
"version" : "0.005"
},
{
"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.000038",
"version" : "0.006"
}
},
"name" : "Test::CheckBreaks",
"version" : "0.020"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "runtime",
"type" : "requires"
}
},
"name" : "Prereqs",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::Prereqs",
"config" : {
"Dist::Zilla::Plugin::Prereqs" : {
"phase" : "develop",
"type" : "requires"
}
},
"name" : "DevelopRequires",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":InstallModules",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":IncModules",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":TestFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExtraTestFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ExecFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":PerlExecFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":ShareFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":MainModule",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":AllFiles",
"version" : "6.036"
},
{
"class" : "Dist::Zilla::Plugin::FinderCode",
"name" : ":NoFiles",
"version" : "6.036"
},
{
"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.036"
}
},
"x_author_pledge" : {
"version" : 1
},
"x_authority" : "cpan:JQUELIN",
"x_breaks" : {
"Test::Kwalitee::Extra" : "<= v0.0.8"
},
"x_contributors" : [
"Ahmad M. Zawawi ",
"Olivier Mengu\u00e9 ",
"Kent Fredric ",
"David Golden ",
"Graham Knop ",
"Jesse Luehrs ",
"Randy Stauner ",
"Harley Pig ",
"Chris Weyl ",
"fayland ",
"Marcel Gruenauer ",
"Peter Shangov ",
"Ricardo SIGNES "
],
"x_generated_by_perl" : "v5.43.5",
"x_serialization_backend" : "Cpanel::JSON::XS version 4.40",
"x_spdx_expression" : "Artistic-1.0-Perl OR GPL-1.0-or-later",
"x_static_install" : 0,
"x_use_unsafe_inc" : 0
}
t 000755 000766 000024 0 15120367741 17032 5 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 04-bash.t 100600 000766 000024 2743 15120367741 20513 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/bin/bash
echo 'this is not perl!';
exit 1;
EXECUTABLE
path(qw(source bin qux)) => qq{#!/usr/bin/perl\nprint "script after foo\n";\n},
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok(-e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
is(@warnings, 0, "no warnings when a script isn't perl")
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
01-basic.t 100600 000766 000024 7710 15120367741 20653 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use File::pushd 'pushd';
use Test::Deep;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ MetaConfig => ],
[ 'Test::Compile' => { bail_out_on_fail => 1, fake_home => 1, } ],
# we generate a new module after we insert the compile test,
# to confirm that this module is picked up too
[ GenerateFile => 'file-from-code' => {
filename => 'lib/Baz.pm',
is_template => 0,
content => [ 'package Baz;', '$VERSION = 0.001;', '1;' ],
},
],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source lib Bar.pod)) => qq{die 'this .pod file is not valid perl!';\n},
path(qw(source lib Baz Quz.pm)) => "package Baz::Quz;\n1;\n",
path(qw(source bin foobar)) => "#!/usr/bin/perl\nprint \"foo\n\";\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok(-e $file, 'test created');
my $content = $file->slurp_utf8;
unlike($content, qr/[^\S\n]\n/, 'no trailing whitespace in generated test');
my @files = (
path(qw(Foo.pm)),
path(qw(Baz.pm)),
path(qw(Baz Quz.pm)),
path(qw(bin foobar)),
);
like($content, qr/'\Q$_\E'/m, "test checks $_") foreach @files;
cmp_deeply(
$tzil->distmeta,
superhashof({
prereqs => {
configure => ignore, # populated by [MakeMaker]
test => {
requires => {
'Test::More' => '0.94',
'File::Spec' => '0',
'IPC::Open3' => '0',
'IO::Handle' => '0',
'File::Temp' => '0',
},
},
},
x_Dist_Zilla => superhashof({
plugins => supersetof(
{
class => 'Dist::Zilla::Plugin::Test::Compile',
config => {
'Dist::Zilla::Plugin::Test::Compile' => {
module_finder => [ ':InstallModules' ],
script_finder => [ eval { Dist::Zilla::Dist::Builder->VERSION('5.038'); 1 }
? ':PerlExecFiles'
: ':ExecFiles'
],
filename => 't/00-compile.t',
fake_home => 1,
needs_display => 0,
fail_on_warning => 'author',
bail_out_on_fail => 1,
phase => 'test',
skips => [],
switch => [],
},
},
name => 'Test::Compile',
version => Dist::Zilla::Plugin::Test::Compile->VERSION,
},
),
}),
}),
'prereqs are properly injected for the test phase; dumped configs are good',
) or diag 'got distmeta: ', explain $tzil->distmeta;
my $num_tests;
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
local $ENV{AUTHOR_TESTING} = 1;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
$num_tests = Test::Builder->new->current_test;
};
is($num_tests, @files + 1, 'correct number of files were tested, plus warnings checked');
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
03-taint.t 100600 000766 000024 3040 15120367741 20703 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/perl -T
print "hello world\n";
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
# normally we'd see:
# "-T" is on the #! line, it must also be used on the command line at ...
# unless we also run perl -c with the -T flag.
is(@warnings, 0, 'no warnings from compiling the executable using -T')
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
CONTRIBUTING 100644 000766 000024 10272 15120367741 20603 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059
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).
This distribution has a TODO file in the repository; you may want to check
there to see if your issue or patch idea is mentioned.
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-Test-Compile
If you use cpanminus, you can do it without downloading the tarball first:
$ cpanm --reinstall --installdeps --with-recommends Dist::Zilla::Plugin::Test::Compile
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::Test::Compile
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/karenetheridge/Dist-Zilla-Plugin-Test-Compile
You can submit code changes by forking the repository, pushing your code
changes to your clone, and then submitting a pull request. Please include a
suitable end-user-oriented entry in the Changes file describing your change.
Detailed instructions for doing that is available here:
https://help.github.com/articles/creating-a-pull-request
Generated files such as README, CONTRIBUTING, Makefile.PL, LICENSE etc should
*not* be included in your pull request, as they will be updated automatically
during the next release.
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-Test-Compile
or via email: bug-Dist-Zilla-Plugin-Test-Compile@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.015
from a template file originating in Dist-Zilla-PluginBundle-Author-ETHER-0.170.
17-switch.t 100640 000766 000024 6660 15120367741 21111 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
use Test::Deep;
my @tests = (
{
test_case => 'warnings enabled -- warning passes through',
switches => [ '-w' ],
expected_warnings => [ 'boo hoo' ],
},
{
test_case => 'deprecation warnings disabled',
switches => [ '-w', '-M-warnings=deprecated' ],
expected_warnings => [],
},
);
subtest $_->{test_case} => sub {
my $test = $_;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ MetaConfig => ],
[ 'Test::Compile' => { fail_on_warning => 'none', switch => $test->{switches} } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\nwarnings::warnif('deprecated','boo hoo');\n1;\n",
path(qw(source bin foobar)) => "#!/usr/bin/perl\nwarnings::warnif('deprecated','boo hoo');\nprint \"foo\n\";\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok(-e $file, 'test created');
my $content = $file->slurp_utf8;
unlike($content, qr/[^\S\n]\n/, 'no trailing whitespace in generated test');
my @files = (
path(qw(Foo.pm)),
path(qw(bin foobar)),
);
like($content, qr/'\Q$_\E'/m, "test checks $_") foreach @files;
cmp_deeply(
$tzil->distmeta,
superhashof({
x_Dist_Zilla => superhashof({
plugins => supersetof(
{
class => 'Dist::Zilla::Plugin::Test::Compile',
config => {
'Dist::Zilla::Plugin::Test::Compile' => superhashof({
fail_on_warning => 'none',
switch => $test->{switches},
}),
},
name => 'Test::Compile',
version => Dist::Zilla::Plugin::Test::Compile->VERSION,
},
),
}),
}),
'dumped configs are good',
) or diag 'got distmeta: ', explain $tzil->distmeta;
my $num_tests;
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
local $ENV{AUTHOR_TESTING} = 1;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
$num_tests = Test::Builder->new->current_test;
};
};
is($num_tests, @files, 'correct number of files were tested');
cmp_deeply(
\@warnings,
[ map re(qr/^$_/), @{ $test->{expected_warnings} } ],
'got expected warnings from compiling a module with a deprecation warning',
)
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
}
foreach @tests;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
AUTHOR_PLEDGE 100644 000766 000024 1163 15120367741 20675 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059
# CPAN Covenant for Dist-Zilla-Plugin-Test-Compile
I, Jérôme Quelin , Karen Etheridge , hereby give modules@perl.org permission to grant co-maintainership
to Dist-Zilla-Plugin-Test-Compile, if all the following conditions are met:
(1) I haven't released the module for a year or more
(2) There are outstanding issues in the module's public bug tracker
(3) Email to my CPAN email address hasn't been answered after a month
(4) The requester wants to make worthwhile changes that will benefit CPAN
In the event of my death, then the time-limits in (1) and (3) do not apply.
00-compile.t 100644 000766 000024 2635 15120367741 21232 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
# this test was generated with Dist::Zilla::Plugin::Test::Compile 2.059
use Test::More 0.94;
plan tests => 1 + ($ENV{AUTHOR_TESTING} ? 1 : 0);
my @module_files = (
'Dist/Zilla/Plugin/Test/Compile.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) if $ENV{AUTHOR_TESTING};
BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing;
05-prereqs.t 100600 000766 000024 6536 15120367741 21264 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use Test::MinimumVersion;
use Perl::PrereqScanner 1.016; # don't skip "lib"
use Module::CoreList 2.77;
use version;
use File::pushd 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { # use ALL the features!
fake_home => 1,
needs_display => 1,
fail_on_warning => 'all',
bail_out_on_fail => 1,
} ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => "#!/usr/bin/perl\nprint qq{hello!\n}\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
# here we perform a static analysis of the file generated:
# - check minimum perl version
# - check prereqs required by this file - analyse for core (against latest perl)
my $minimum_perl = version->parse('5.006002'); # minimum perl for any version of the prereq
my $in_core_perl = version->parse('5.012000'); # minimum perl to contain the version we use
minimum_version_ok($file->stringify, $minimum_perl) or diag `perlver --blame $file`;
my $scanner = Perl::PrereqScanner->new();
my $file_req = $scanner->scan_string(scalar $file->slurp_utf8);
my $req_hash = $file_req->as_string_hash;
# TODO: this code should really be pulled out into its own dist.
foreach my $prereq (keys %$req_hash)
{
next if $prereq eq 'perl';
my $added_in = Module::CoreList->first_release($prereq);
# this code is borrowed ethusiastically from [OnlyCorePrereqs]
ok(defined($added_in), "$prereq is available in core") or next;
ok(
version->parse($added_in) <= $minimum_perl,
"$prereq was available in perl $minimum_perl",
) or note("$prereq was not added until $added_in"), next;
# get the version that was in core for our minimum
my $has = $Module::CoreList::version{$in_core_perl->numify}{$prereq};
$has = version->parse($has); # version.pm XS hates tie() - RT#87983
# see if our req is satisfied
ok(
$file_req->accepts_module($prereq => $has),
"perl $in_core_perl has $prereq $req_hash->{$prereq}",
) or note('detected a dependency on '
. $prereq . ' ' . $req_hash->{$prereq} . ': perl ' . $in_core_perl
. ' only has ' . $has), next;
my $deprecated_in = Module::CoreList->deprecated_in($prereq);
ok(!$deprecated_in, "$prereq has not been ejected from core")
or note 'detected a dependency that was deprecated from core in '
. $deprecated_in . ': '. $prereq;
}
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
# let tests run, rather than skip_all
local $ENV{DISPLAY} = 'something';
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
08-xt_mode.t 100600 000766 000024 3300 15120367741 21227 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use File::pushd 'pushd';
use Test::Deep;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none', xt_mode => 1 } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
ok(!-e $build_dir->child(qw(t 00-compile.t)), 'default test not created');
my $file = $build_dir->child(qw(xt author 00-compile.t));
ok(-e $file, 'test created using new name');
cmp_deeply(
$tzil->distmeta,
superhashof({
prereqs => {
develop => {
requires => {
'Test::More' => '0',
'File::Spec' => '0',
'IPC::Open3' => '0',
'IO::Handle' => '0',
},
},
},
}),
'prereqs are properly injected for the develop phase',
) or diag 'got distmeta: ', explain $tzil->distmeta;
my $num_tests;
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
# intentionally not running Makefile.PL...
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
$num_tests = Test::Builder->new->current_test;
};
is($num_tests, 1, 'correct number of files were tested');
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
02-warnings.t 100600 000766 000024 3231 15120367741 21415 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib LittleKaboom.pm)) => <<'MODULE',
package LittleKaboom;
use strict;
use warnings;
warn 'there was supposed to be a kaboom';
1;
MODULE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my $content = $file->slurp_utf8;
unlike($content, qr/[^\S\n]\n/, 'no trailing whitespace in generated test');
my $num_tests;
my $warning = warning {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
$num_tests = Test::Builder->new->current_test;
};
};
like(
$warning,
qr/^there was supposed to be a kaboom/,
'warnings from compiling LittleKaboom are captured',
) or diag 'got warning(s): ', explain($warning);
is($num_tests, 1, 'correct number of files were tested (no warning checks)');
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
06-filename.t 100600 000766 000024 2571 15120367741 21357 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use File::pushd 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none', filename => 'xt/author/foo.t' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
ok(!-e $build_dir->child(qw(t 00-compile.t)), 'default test not created');
my $file = $build_dir->child(qw(xt author foo.t));
ok(-e $file, 'test created using new name');
my $num_tests;
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
# ensure the variable is *not* set
local $ENV{AUTHOR_TESTING};
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
$num_tests = Test::Builder->new->current_test;
};
is($num_tests, 1, 'correct number of files were tested');
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
author 000755 000766 000024 0 15120367741 20524 5 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt eol.t 100644 000766 000024 2410 15120367741 21625 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author 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 = (
'examples/dist.ini',
'lib/Dist/Zilla/Plugin/Test/Compile.pm',
't/00-compile.t',
't/00-report-prereqs.dd',
't/00-report-prereqs.t',
't/01-basic.t',
't/02-warnings.t',
't/03-taint.t',
't/04-bash.t',
't/05-prereqs.t',
't/06-filename.t',
't/07-prereqs-phase.t',
't/08-xt_mode.t',
't/09-extra-files.t',
't/10-shebang-w.t',
't/11-shebang-C.t',
't/12-shebang-comment.t',
't/13-shebang-dashes.t',
't/14-extratests.t',
't/15-needs-display.t',
't/16-filename-fail-on-warning.t',
't/17-switch.t',
't/18-shebang-env-perl.t',
't/zzz-check-breaks.t',
'xt/author/clean-namespaces.t',
'xt/author/distmeta.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-coverage.t',
'xt/author/pod-no404s.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'
);
eol_unix_ok($_, { trailing_whitespace => 1 }) foreach @files;
done_testing;
10-shebang-w.t 100600 000766 000024 3355 15120367741 21446 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
use Test::Deep;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/perl -w
my $foo = 1;
print "oh noes\n" if $foo = 2;
EXECUTABLE
path(qw(source bin bar)) => <<'EXECUTABLE',
#!/usr/bin/perl
my $bar = 1;
print "oh noes\n" if $bar = 2;
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
my $re = '^' . quotemeta("Found = in conditional, should be == at bin\/foo line 3. at $file line ");
cmp_deeply(
\@warnings,
[
re(qr/^$re/),
],
'got warnings from compiling an executable using -w, not from the one without it',
)
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
11-shebang-C.t 100600 000766 000024 3121 15120367741 21352 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use utf8;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
plan skip_all => 'These tests use options that are only legal in perl 5.14.0 and higher'
if "$]" < 5.014000;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/perl -CS
use utf8;
print "ಠ_ಠ.pm\n";
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
# -c without -CS gives: Too late for "-CS" option at...
is(@warnings, 0, 'no warnings from compiling the executable using -CS')
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
examples 000755 000766 000024 0 15120367741 20405 5 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059 dist.ini 100600 000766 000024 421 15120367741 22156 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/examples ; standard intro section of your dist.ini
name = My-Super-Cool-Dist
author = A. U. Thor
license = Perl_5
copyright_holder = A. U. Thor
copyright_year = 2009
; use the following to add a new 00-compile.t test
[Test::Compile]
; rest of your dist.ini looks the same
14-extratests.t 100600 000766 000024 2604 15120367741 22001 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use File::pushd 'pushd';
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ ExtraTests => ],
[ 'Test::Compile' => { bail_out_on_fail => 1, xt_mode => 1, } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foobar)) => "#!/usr/bin/perl\nprint \"foo\n\";\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t author-00-compile.t));
ok(-e $file, 'test created under xt/ and moved to t/author- by [ExtraTests]');
my $content = $file->slurp_utf8;
unlike($content, qr/[^\S\n]\n/, 'no trailing whitespace in generated test');
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
local $ENV{AUTHOR_TESTING} = 1;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
09-extra-files.t 100600 000766 000024 1556 15120367741 22027 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.88;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none', file => [ 'Bar.pm' ] } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $content = path($tzil->tempdir)->child(qw(build t 00-compile.t))->slurp_utf8;
like($content, qr'
my @module_files = \(
\'Bar\.pm\',
\'Foo\.pm\'
\);
', 'test checks explicitly added file',);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
done_testing;
no-tabs.t 100644 000766 000024 2356 15120367741 22422 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author 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 = (
'examples/dist.ini',
'lib/Dist/Zilla/Plugin/Test/Compile.pm',
't/00-compile.t',
't/00-report-prereqs.dd',
't/00-report-prereqs.t',
't/01-basic.t',
't/02-warnings.t',
't/03-taint.t',
't/04-bash.t',
't/05-prereqs.t',
't/06-filename.t',
't/07-prereqs-phase.t',
't/08-xt_mode.t',
't/09-extra-files.t',
't/10-shebang-w.t',
't/11-shebang-C.t',
't/12-shebang-comment.t',
't/13-shebang-dashes.t',
't/14-extratests.t',
't/15-needs-display.t',
't/16-filename-fail-on-warning.t',
't/17-switch.t',
't/18-shebang-env-perl.t',
't/zzz-check-breaks.t',
'xt/author/clean-namespaces.t',
'xt/author/distmeta.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-coverage.t',
'xt/author/pod-no404s.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'
);
notabs_ok($_) foreach @files;
done_testing;
07-prereqs-phase.t 100600 000766 000024 4354 15120367741 22360 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t 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 => ],
[ 'Test::Compile' => { phase => 'develop' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok(-e $file, 'test created');
cmp_deeply(
$tzil->distmeta,
superhashof({
prereqs => {
develop => {
requires => {
'Test::More' => '0',
'File::Spec' => '0',
'IPC::Open3' => '0',
'IO::Handle' => '0',
},
},
},
}),
'prereqs are properly injected for the develop phase',
) 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 => ],
[ 'Test::Compile' => { phase => '' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok(-e $file, 'test created');
cmp_deeply(
$tzil->distmeta,
superhashof({ prereqs => {} }),
'no prereqs are injected',
) or diag 'got distmeta: ', explain $tzil->distmeta;
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
}
done_testing;
15-needs-display.t 100600 000766 000024 4765 15120367741 22347 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use if $ENV{AUTHOR_TESTING}, 'Test::Warnings';
use Test::DZil;
use Path::Tiny;
use File::pushd 'pushd';
use Test::Deep;
foreach my $display (undef, ':0.0')
{
local $ENV{DISPLAY};
$ENV{DISPLAY} = $display if $display;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { needs_display => 1 } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my $error;
my $display_str = $display || '';
subtest "run the generated test (\$DISPLAY=$display_str)" => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
# I'm not sure why, but if we just 'do $file', we get the
# Test::Builder::Exception object back in $@ that is actually being
# used for flow control in Test::Builder::skip_all -- but if we
# compile the code first and then run it, TB works properly and the
# skip functionality completes
my $test = eval 'sub { ' . $file->slurp_utf8 . ' }';
return $error = $@ if $@;
$test->();
};
if ($error)
{
fail('failed to compile test file: ' . $error);
}
else
{
my $tb = Test::Builder->new;
my $skip = !$ENV{DISPLAY} && $^O ne 'MSWin32';
cmp_deeply(
($tb->details)[$tb->current_test - 1],
superhashof({
ok => 1,
type => !$skip ? '' : 'skip',
reason => !$skip ? '' : 'Needs DISPLAY',
name => !$skip
? "run the generated test (\$DISPLAY=$display_str)"
: any('', "run the generated test (\$DISPLAY=$display_str)"), # older TB handled this oddly
}),
!$skip ? 'test file ran successfully' : 'test file skipped because $DISPLAY was not set',
);
}
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
}
done_testing;
distmeta.t 100644 000766 000024 626 15120367741 22647 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author #!perl
#
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# 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 file was automatically generated by Dist::Zilla::Plugin::MetaTests.
use strict;
use warnings;
use Test::CPAN::Meta;
meta_yaml_ok();
kwalitee.t 100644 000766 000024 275 15120367741 22642 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author # 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;
mojibake.t 100644 000766 000024 554 15120367741 22616 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author #!perl
#
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
use strict;
use warnings qw(all);
use Test::More;
use Test::Mojibake;
all_files_encoding_ok();
zzz-check-breaks.t 100644 000766 000024 2521 15120367741 22534 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
# this test was generated with Dist::Zilla::Plugin::Test::CheckBreaks 0.020
use Test::More tests => 3;
use Term::ANSIColor 'colored';
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';
}
# this data duplicates x_breaks in META.json
my $breaks = {
"Test::Kwalitee::Extra" => "<= v0.0.8"
};
use CPAN::Meta::Requirements;
use CPAN::Meta::Check 0.011;
my $reqs = CPAN::Meta::Requirements->new;
$reqs->add_string_requirement($_, $breaks->{$_}) foreach keys %$breaks;
our $result = CPAN::Meta::Check::check_requirements($reqs, 'conflicts');
if (my @breaks = grep defined $result->{$_}, keys %$result) {
diag colored('Breakages found with Dist-Zilla-Plugin-Test-Compile:', 'yellow');
diag colored("$result->{$_}", 'yellow') for sort @breaks;
diag "\n", colored('You should now update these modules!', 'yellow');
}
pass 'checked x_breaks data';
13-shebang-dashes.t 100600 000766 000024 3466 15120367741 22455 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use utf8;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
use Test::Deep;
plan skip_all => 'These tests use options that are only legal in perl 5.14.0 and higher'
if "$]" < 5.014000;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/perl -CS -w
use utf8;
print "ಠ_ಠ.pm\n";
my $foo = 1;
print "oh noes\n" if $foo = 2;
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
# -c without -CS gives: Too late for "-CS" option at...
my $re = '^' . quotemeta("Found = in conditional, should be == at bin\/foo line 5. at $file line ");
cmp_deeply(
\@warnings,
[
re(qr/^$re/),
],
'got the right warnings, showing we parsed the shebang properly',
)
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
pod-spell.t 100644 000766 000024 1114 15120367741 22745 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author use strict;
use warnings;
use Test::More;
# generated by Dist::Zilla::Plugin::Test::PodSpelling 2.007006
use Test::Spelling 0.17;
use Pod::Wordlist;
add_stopwords();
all_pod_files_spelling_ok( qw( examples lib script t xt ) );
__DATA__
Ahmad
Chris
Compile
David
Dist
Etheridge
Fredric
Golden
Graham
Gruenauer
Harley
Jesse
Jérôme
Karen
Kent
Knop
Luehrs
Marcel
Mengué
Olivier
Peter
Pig
Plugin
Quelin
Randy
Ricardo
SIGNES
Shangov
Stauner
Test
Weyl
Zawawi
Zilla
ahmad
cweyl
dagolden
dolmen
doy
ether
fayland
haarg
hanekomu
harleypig
irc
jquelin
kentnl
lib
pshangov
rjbs
rwstauner
00-report-prereqs.t 100644 000766 000024 14445 15120367741 22616 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t #!perl
#
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
use strict;
use warnings;
# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.029
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::PP
YAML::XS
autodie
Dist::CheckConflicts
CPAN::Meta::Validator
);
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 grep { $_ eq $mod } @exclude;
my $want = $req_hash->{$phase}{$type}{$mod};
$want = "undef" unless defined $want;
$want = "any" if !$want && $want == 0;
if ($mod eq 'perl') {
push @reports, ['perl', $want, $]];
next;
}
my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
my $file = $mod;
$file =~ s{::}{/}g;
$file .= ".pm";
my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
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('Reported prereqs');
# vim: ts=4 sts=4 sw=4 et:
12-shebang-comment.t 100600 000766 000024 3167 15120367741 22645 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
use Test::Deep;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/perl -w # oh hai
my $foo = 1;
print "oh noes\n" if $foo = 2;
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
my $re = '^' . quotemeta("Found = in conditional, should be == at bin\/foo line 3. at $file line ");
cmp_deeply(
\@warnings,
[
re(qr/^$re/),
],
'got warnings from compiling an executable using -w, not from the one without it',
)
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
pod-syntax.t 100644 000766 000024 655 15120367741 23145 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author #!perl
#
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# 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 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();
pod-no404s.t 100644 000766 000024 1132 15120367741 22655 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author #!perl
#
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
use strict;
use warnings;
use Test::More;
foreach my $env_skip ( qw(
SKIP_POD_NO404S
AUTOMATED_TESTING
) ){
plan skip_all => "\$ENV{$env_skip} is set, skipping"
if $ENV{$env_skip};
}
eval "use Test::Pod::No404s";
if ( $@ ) {
plan skip_all => 'Test::Pod::No404s required for testing POD';
}
else {
all_pod_files_ok();
}
00-report-prereqs.dd 100644 000766 000024 27202 15120367741 22735 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t do { my $x = {
'configure' => {
'requires' => {
'Module::Build::Tiny' => '0.034',
'perl' => '5.006'
}
},
'develop' => {
'recommends' => {
'Dist::Zilla::PluginBundle::Author::ETHER' => '0.170',
'Dist::Zilla::PluginBundle::Git::VersionManager' => '0.007'
},
'requires' => {
'Dist::Zilla' => '5.000',
'Encode' => '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' => '1.0',
'Test::More' => '0.96',
'Test::NoTabs' => '0',
'Test::Pod' => '1.41',
'Test::Pod::Coverage::TrustMe' => '0.002001',
'Test::Pod::No404s' => '0',
'Test::Portability::Files' => '0',
'Test::Spelling' => '0.17',
'Test::Warnings' => '0',
'perl' => '5.014'
}
},
'runtime' => {
'requires' => {
'Data::Section' => '0.004',
'Dist::Zilla' => '4.300039',
'Dist::Zilla::Dist::Builder' => '0',
'Dist::Zilla::File::InMemory' => '0',
'Dist::Zilla::Role::FileFinderUser' => '0',
'Dist::Zilla::Role::FileGatherer' => '0',
'Dist::Zilla::Role::FileMunger' => '0',
'Dist::Zilla::Role::PrereqSource' => '0',
'Dist::Zilla::Role::TextTemplate' => '0',
'Moose' => '0',
'Moose::Util::TypeConstraints' => '0',
'Path::Tiny' => '0',
'Sub::Exporter::ForMethods' => '0',
'namespace::autoclean' => '0',
'perl' => '5.008',
'strict' => '0',
'warnings' => '0'
}
},
'test' => {
'recommends' => {
'CPAN::Meta' => '2.120900'
},
'requires' => {
'CPAN::Meta::Check' => '0.011',
'CPAN::Meta::Requirements' => '0',
'File::Spec' => '0',
'File::pushd' => '1.004',
'IO::Handle' => '0',
'IPC::Open3' => '0',
'Module::CoreList' => '2.77',
'Module::Metadata' => '0',
'Perl::PrereqScanner' => '1.016',
'Term::ANSIColor' => '0',
'Test::DZil' => '0',
'Test::Deep' => '0',
'Test::MinimumVersion' => '0',
'Test::More' => '0.96',
'Test::Warnings' => '0.009',
'if' => '0',
'perl' => '5.008',
'utf8' => '0',
'version' => '0'
}
},
'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::Breaks' => '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::Covenant' => '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::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' => '0.012',
'Dist::Zilla::Plugin::MojibakeTests' => '0.8',
'Dist::Zilla::Plugin::NextRelease' => '5.033',
'Dist::Zilla::Plugin::PodSyntaxTests' => '5.040',
'Dist::Zilla::Plugin::PodWeaver' => '4.008',
'Dist::Zilla::Plugin::Prepender' => '2.002',
'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::RewriteVersion::Transitional' => '0.006',
'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::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' => '0',
'Dist::Zilla::Plugin::Test::EOL' => '0.17',
'Dist::Zilla::Plugin::Test::Kwalitee' => '2.10',
'Dist::Zilla::Plugin::Test::MinimumVersion' => '2.000010',
'Dist::Zilla::Plugin::Test::NoTabs' => '0.08',
'Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe' => '0',
'Dist::Zilla::Plugin::Test::Pod::No404s' => '1.003',
'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;
} 18-shebang-env-perl.t 100644 000766 000024 3162 15120367741 22744 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Test::More 0.96;
use Test::Warnings 0.009 ':no_end_test', ':all';
use Test::DZil;
use Path::Tiny;
use File::pushd 1.004 'pushd';
use Test::Deep;
my $tzil = Builder->from_config(
{ dist_root => 'does-not-exist' },
{
add_files => {
path(qw(source dist.ini)) => simple_ini(
[ GatherDir => ],
[ MakeMaker => ],
[ ExecDir => ],
[ 'Test::Compile' => { fail_on_warning => 'none' } ],
),
path(qw(source lib Foo.pm)) => "package Foo;\n1;\n",
path(qw(source bin foo)) => <<'EXECUTABLE',
#!/usr/bin/env perl -w
my $foo = 1;
print "oh noes\n" if $foo = 2;
EXECUTABLE
},
},
);
$tzil->chrome->logger->set_debug(1);
$tzil->build;
my $build_dir = path($tzil->tempdir)->child('build');
my $file = $build_dir->child(qw(t 00-compile.t));
ok( -e $file, 'test created');
my @warnings = warnings {
subtest 'run the generated test' => sub
{
my $wd = pushd $build_dir;
$tzil->plugin_named('MakeMaker')->build;
do $file;
note 'ran tests successfully' if not $@;
fail($@) if $@;
};
};
my $re = '^' . quotemeta("Found = in conditional, should be == at bin\/foo line 3. at $file line ");
cmp_deeply(
\@warnings,
[
re(qr/^$re/),
],
'got the right warnings, showing we tested the script with "#!/usr/bin/env perl"',
)
or diag 'got warning(s): ', explain(\@warnings);
diag 'got log messages: ', explain $tzil->log_messages
if not Test::Builder->new->is_passing;
had_no_warnings if $ENV{AUTHOR_TESTING};
done_testing;
portability.t 100644 000766 000024 130 15120367741 23365 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author use strict;
use warnings;
use Test::More;
use Test::Portability::Files;
run_tests();
pod-coverage.t 100644 000766 000024 564 15120367741 23411 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author # This file was automatically generated by Dist::Zilla::Plugin::Test::Pod::Coverage::TrustMe v1.0.1
use strict;
use warnings;
use Test::More;
use Test::Pod::Coverage::TrustMe;
my $config = {};
my $modules = [
"Dist::Zilla::Plugin::Test::Compile",
];
plan tests => scalar @$modules;
for my $module (@$modules) {
pod_coverage_ok($module, $config);
}
done_testing;
release 000755 000766 000024 0 15120367741 20642 5 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt cpan-changes.t 100644 000766 000024 344 15120367741 23477 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/release use strict;
use warnings;
# this test was generated with Dist::Zilla::Plugin::Test::CPAN::Changes 0.013
use Test::More 0.96 tests => 1;
use Test::CPAN::Changes;
subtest 'changes_ok' => sub {
changes_file_ok('Changes');
};
minimum-version.t 100644 000766 000024 155 15120367741 24170 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author use strict;
use warnings;
use Test::More;
use Test::MinimumVersion;
all_minimum_version_ok( qq{5.008003} );
clean-namespaces.t 100644 000766 000024 361 15120367741 24230 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/author 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;
16-filename-fail-on-warning.t 100600 000766 000024 535 15120367741 24324 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/t use strict;
use warnings;
use Path::Tiny;
my $code = path('t', '06-filename.t')->slurp_utf8;
$code =~ s/fail_on_warning => 'none'/fail_on_warning => 'author'/;
$code =~ s{is\(\$num_tests, 1, 'correct number of files were tested'}
{is\(\$num_tests, 2, 'tested one file, and warnings (via being in xt/author)'};
eval $code;
die $@ if $@;
changes_has_content.t 100644 000766 000024 2101 15120367741 25156 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/xt/release use Test::More tests => 2;
note 'Checking Changes';
my $changes_file = 'Changes';
my $newver = '2.059';
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;
}
Test 000755 000766 000024 0 15120367741 23470 5 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/lib/Dist/Zilla/Plugin Compile.pm 100640 000766 000024 54116 15120367741 25601 0 ustar 00ether staff 000000 000000 Dist-Zilla-Plugin-Test-Compile-2.059/lib/Dist/Zilla/Plugin/Test #
# This file is part of Dist-Zilla-Plugin-Test-Compile
#
# This software is copyright (c) 2009 by Jérôme Quelin.
#
# This is free software; you can redistribute it and/or modify it under
# the same terms as the Perl 5 programming language system itself.
#
use strict;
use warnings;
package Dist::Zilla::Plugin::Test::Compile; # git description: v2.058-19-g3dcf7cb
# vim: set ts=8 sts=2 sw=2 tw=100 et :
# ABSTRACT: Common tests to check syntax of your modules, using only core modules
# KEYWORDS: plugin test compile verify validate load modules scripts
our $VERSION = '2.059';
use Moose;
use Path::Tiny;
use Sub::Exporter::ForMethods 'method_installer'; # method_installer returns a sub.
use Data::Section 0.004 # fixed header_re
{ installer => method_installer }, '-setup';
use Dist::Zilla::Dist::Builder ();
with (
'Dist::Zilla::Role::FileGatherer',
'Dist::Zilla::Role::FileMunger',
'Dist::Zilla::Role::TextTemplate',
'Dist::Zilla::Role::FileFinderUser' => {
method => 'found_module_files',
finder_arg_names => [ 'module_finder' ],
default_finders => [ ':InstallModules' ],
},
'Dist::Zilla::Role::FileFinderUser' => {
method => 'found_script_files',
finder_arg_names => [ 'script_finder' ],
default_finders => [
eval { Dist::Zilla::Dist::Builder->VERSION('5.038'); 1 }
? ':PerlExecFiles'
: ':ExecFiles'
],
},
'Dist::Zilla::Role::PrereqSource',
);
use Moose::Util::TypeConstraints qw(enum role_type);
use namespace::autoclean;
# -- attributes
has fake_home => ( is=>'ro', isa=>'Bool', default=>0 );
has needs_display => ( is=>'ro', isa=>'Bool', default=>0 );
has fail_on_warning => ( is=>'ro', isa=>enum([qw(none author all)]), default=>'author' );
has bail_out_on_fail => ( is=>'ro', isa=>'Bool', default=>0 );
has xt_mode => ( is=>'ro', isa=>'Bool', default=>0 );
has filename => (
is => 'ro', isa => 'Str',
lazy => 1,
default => sub { return ($_[0]->xt_mode ? 'xt/author' : 't').'/00-compile.t' },
);
has phase => (
is => 'ro', isa => 'Str',
lazy => 1,
default => sub { return $_[0]->xt_mode ? 'develop' : 'test' },
);
sub mvp_multivalue_args { qw(skips files switches) }
sub mvp_aliases { return { skip => 'skips', file => 'files', switch => 'switches' } }
has skips => (
isa => 'ArrayRef[Str]',
traits => ['Array'],
handles => { skips => 'sort' },
lazy => 1,
default => sub { [] },
);
has files => (
isa => 'ArrayRef[Str]',
traits => ['Array'],
handles => { files => 'sort' },
lazy => 1,
default => sub { [] },
);
has switches => (
isa => 'ArrayRef[Str]',
traits => ['Array'],
handles => { switches => 'elements' },
lazy => 1,
default => sub { [] },
);
has _test_more_version => (
is => 'ro', isa => 'Str',
init_arg => undef,
lazy => 1,
default => sub { shift->bail_out_on_fail ? '0.94' : '0' },
);
# note that these two attributes could conceivably be settable via dist.ini,
# to avoid us using filefinders at all.
has _module_filenames => (
isa => 'ArrayRef[Str]',
traits => ['Array'],
handles => { _module_filenames => 'sort' },
lazy => 1,
default => sub { [ map $_->name, @{shift->found_module_files} ] },
);
has _script_filenames => (
isa => 'ArrayRef[Str]',
traits => ['Array'],
handles => { _script_filenames => 'sort' },
lazy => 1,
default => sub { [ map $_->name, @{shift->found_script_files} ] },
);
around dump_config => sub
{
my ($orig, $self) = @_;
my $config = $self->$orig;
$config->{+__PACKAGE__} = +{
module_finder => [ sort @{ $self->module_finder } ],
script_finder => [ sort @{ $self->script_finder } ],
skips => [ sort $self->skips ],
(map +($_ => $self->$_ ? 1 : 0), qw(fake_home needs_display bail_out_on_fail)),
(map +($_ => $self->$_), qw(filename fail_on_warning bail_out_on_fail phase)),
switch => [ $self->switches ],
blessed($self) ne __PACKAGE__ ? ( version => $VERSION ) : (),
};
return $config;
};
sub register_prereqs
{
my $self = shift;
return unless $self->phase;
$self->zilla->register_prereqs(
{
phase => $self->phase,
type => 'requires',
},
'Test::More' => $self->_test_more_version,
'File::Spec' => '0',
'IPC::Open3' => 0,
'IO::Handle' => 0,
$self->fake_home ? ( 'File::Temp' => '0' ) : (),
);
}
has _file => (
is => 'rw', isa => role_type('Dist::Zilla::Role::File'),
);
sub gather_files
{
my $self = shift;
require Dist::Zilla::File::InMemory;
$self->add_file( $self->_file(
Dist::Zilla::File::InMemory->new(
name => $self->filename,
content => ${$self->section_data('test-compile')},
))
);
return;
}
sub munge_file
{
my ($self, $file) = @_;
return unless $file == $self->_file;
my @skips = map qr/$_/, $self->skips;
my @more_files = $self->files;
# we strip the leading lib/, and convert win32 \ to /, so the %INC entry
# is correct - to avoid potentially loading the file again later
my @module_filenames = map path($_)->relative('lib')->stringify, $self->_module_filenames;
push @module_filenames, grep /\.pm/i, @more_files if @more_files;
@module_filenames = grep {
(my $module = $_) =~ s{[/\\]}{::}g;
$module =~ s/\.pm$//;
not grep $module =~ $_, @skips
} @module_filenames if @skips;
# pod never returns true when loaded
@module_filenames = grep !/\.pod$/, @module_filenames;
my @script_filenames = $self->_script_filenames;
push @script_filenames, grep !/\.pm/i, @more_files if @more_files;
$self->log_debug('adding module '.$_) foreach @module_filenames;
$self->log_debug('adding script '.$_) foreach @script_filenames;
$file->content(
$self->fill_in_string(
$file->content,
{
dist => \($self->zilla),
plugin => \$self,
test_more_version => \($self->_test_more_version),
module_filenames => \@module_filenames,
script_filenames => \@script_filenames,
fake_home => \($self->fake_home),
needs_display => \($self->needs_display),
bail_out_on_fail => \($self->bail_out_on_fail),
fail_on_warning => \(
$self->fail_on_warning eq 'author' && $self->filename =~ m{^xt/author/}
? 'all'
: $self->fail_on_warning),
switches => \[$self->switches],
}
)
);
return;
}
__PACKAGE__->meta->make_immutable;
#pod =pod
#pod
#pod =for Pod::Coverage
#pod mvp_multivalue_args
#pod mvp_aliases
#pod register_prereqs
#pod gather_files
#pod munge_file
#pod
#pod =head1 SYNOPSIS
#pod
#pod In your F:
#pod
#pod [Test::Compile]
#pod skip = Test$
#pod fake_home = 1
#pod needs_display = 1
#pod fail_on_warning = author
#pod bail_out_on_fail = 1
#pod switch = -M-warnings=numeric ; like "no warnings 'numeric'
#pod
#pod =head1 DESCRIPTION
#pod
#pod This is a L plugin that runs at the L stage,
#pod providing a test file (configurable, defaulting to F).
#pod
#pod This test will find all modules and scripts in your distribution, and try to
#pod compile them one by one. This means it's a bit slower than loading them
#pod all at once, but it will catch more errors.
#pod
#pod The generated test is guaranteed to only depend on modules that are available
#pod in core. Most options only require perl 5.6.2; the C option
#pod requires the version of L that shipped with perl 5.12 (but the
#pod test still runs on perl 5.6).
#pod
#pod This plugin accepts the following options:
#pod
#pod =head1 CONFIGURATION OPTIONS
#pod
#pod =head2 C
#pod
#pod The name of the generated file. Defaults to F
#pod
#pod =head2 C
#pod
#pod The phase for which to register prerequisites. Defaults
#pod to C. Setting this to a false value will disable prerequisite
#pod registration.
#pod
#pod =head2 C
#pod
#pod A regex to skip compile test for B matching it. The
#pod match is done against the module name (C), not the file path
#pod (F). This option can be repeated to specify multiple regexes.
#pod
#pod =head2 C
#pod
#pod A filename to also test, in addition to any files found
#pod earlier. It will be tested as a module if it ends with C<.pm> or C<.PM>,
#pod and as a script otherwise.
#pod Module filenames should be relative to F; others should be relative to
#pod the base of the repository.
#pod This option can be repeated to specify multiple additional files.
#pod
#pod =head2 C
#pod
#pod =for stopwords cpantesters
#pod
#pod A boolean to indicate whether to fake C<< $ENV{HOME} >>.
#pod This may be needed if your module unilaterally creates stuff in the user's home directory:
#pod indeed, some cpantesters will smoke test your distribution with a read-only home
#pod directory. Defaults to false.
#pod
#pod =head2 C
#pod
#pod A boolean to indicate whether to skip the compile test
#pod on non-Win32 systems when C<< $ENV{DISPLAY} >> is not set. Defaults to false.
#pod
#pod =head2 C
#pod
#pod A string to indicate when to add a test for
#pod warnings during compilation checks. Possible values are:
#pod
#pod =over 4
#pod
#pod =item * C: do not test for warnings
#pod
#pod =item * C: test for warnings only when AUTHOR_TESTING is set
#pod (default, and recommended)
#pod
#pod =item * C: always test for warnings (not recommended, as this can prevent
#pod installation of modules when upstream dependencies exhibit warnings in a new
#pod Perl release)
#pod
#pod =back
#pod
#pod =head2 C
#pod
#pod A boolean to indicate whether the test will BAIL_OUT
#pod of all subsequent tests when compilation failures are encountered. Defaults to false.
#pod
#pod =head2 C
#pod
#pod =for stopwords FileFinder
#pod
#pod This is the name of a L for finding
#pod modules to check. The default value is C<:InstallModules>; this option can be
#pod used more than once. F<.pod> files are always skipped.
#pod
#pod Other predefined finders are listed in
#pod L.
#pod You can define your own with the
#pod L<[FileFinder::ByName]|Dist::Zilla::Plugin::FileFinder::ByName> and
#pod L<[FileFinder::Filter]|Dist::Zilla::Plugin::FileFinder::Filter> plugins.
#pod
#pod =head2 C
#pod
#pod =for stopwords executables
#pod
#pod Just like C, but for finding scripts. The default value is
#pod C<:PerlExecFiles> (when available; otherwise C<:ExecFiles>)
#pod -- see also L, to make sure these
#pod files are properly marked as executables for the installer.
#pod
#pod =head2 C
#pod
#pod When true, the default C becomes F and the
#pod default C phase becomes C.
#pod
#pod =head2 C
#pod
#pod Use this option to pass a command-line switch (e.g. C<-d:Confess>, C<-M-warnings=numeric>) to the command that
#pod tests the module or script. Can be used more than once. See L for more on constructing these switches.
#pod
#pod =head1 RUNTIME ENVIRONMENT OPTIONS
#pod
#pod If the environment variable C<$PERL_COMPILE_TEST_DEBUG> is set to a true option when the test is run, the command
#pod to test each file will be printed as a C.
#pod
#pod =head1 SEE ALSO
#pod
#pod =for :list
#pod * L
#pod * L
#pod
#pod =cut
=pod
=encoding UTF-8
=head1 NAME
Dist::Zilla::Plugin::Test::Compile - Common tests to check syntax of your modules, using only core modules
=head1 VERSION
version 2.059
=head1 SYNOPSIS
In your F:
[Test::Compile]
skip = Test$
fake_home = 1
needs_display = 1
fail_on_warning = author
bail_out_on_fail = 1
switch = -M-warnings=numeric ; like "no warnings 'numeric'
=head1 DESCRIPTION
This is a L plugin that runs at the L stage,
providing a test file (configurable, defaulting to F).
This test will find all modules and scripts in your distribution, and try to
compile them one by one. This means it's a bit slower than loading them
all at once, but it will catch more errors.
The generated test is guaranteed to only depend on modules that are available
in core. Most options only require perl 5.6.2; the C option
requires the version of L that shipped with perl 5.12 (but the
test still runs on perl 5.6).
This plugin accepts the following options:
=for Pod::Coverage mvp_multivalue_args
mvp_aliases
register_prereqs
gather_files
munge_file
=head1 CONFIGURATION OPTIONS
=head2 C
The name of the generated file. Defaults to F
=head2 C
The phase for which to register prerequisites. Defaults
to C. Setting this to a false value will disable prerequisite
registration.
=head2 C
A regex to skip compile test for B matching it. The
match is done against the module name (C), not the file path
(F). This option can be repeated to specify multiple regexes.
=head2 C
A filename to also test, in addition to any files found
earlier. It will be tested as a module if it ends with C<.pm> or C<.PM>,
and as a script otherwise.
Module filenames should be relative to F; others should be relative to
the base of the repository.
This option can be repeated to specify multiple additional files.
=head2 C
=for stopwords cpantesters
A boolean to indicate whether to fake C<< $ENV{HOME} >>.
This may be needed if your module unilaterally creates stuff in the user's home directory:
indeed, some cpantesters will smoke test your distribution with a read-only home
directory. Defaults to false.
=head2 C
A boolean to indicate whether to skip the compile test
on non-Win32 systems when C<< $ENV{DISPLAY} >> is not set. Defaults to false.
=head2 C
A string to indicate when to add a test for
warnings during compilation checks. Possible values are:
=over 4
=item * C: do not test for warnings
=item * C: test for warnings only when AUTHOR_TESTING is set
(default, and recommended)
=item * C: always test for warnings (not recommended, as this can prevent
installation of modules when upstream dependencies exhibit warnings in a new
Perl release)
=back
=head2 C
A boolean to indicate whether the test will BAIL_OUT
of all subsequent tests when compilation failures are encountered. Defaults to false.
=head2 C
=for stopwords FileFinder
This is the name of a L for finding
modules to check. The default value is C<:InstallModules>; this option can be
used more than once. F<.pod> files are always skipped.
Other predefined finders are listed in
L.
You can define your own with the
L<[FileFinder::ByName]|Dist::Zilla::Plugin::FileFinder::ByName> and
L<[FileFinder::Filter]|Dist::Zilla::Plugin::FileFinder::Filter> plugins.
=head2 C
=for stopwords executables
Just like C, but for finding scripts. The default value is
C<:PerlExecFiles> (when available; otherwise C<:ExecFiles>)
-- see also L, to make sure these
files are properly marked as executables for the installer.
=head2 C
When true, the default C becomes F and the
default C phase becomes C.
=head2 C
Use this option to pass a command-line switch (e.g. C<-d:Confess>, C<-M-warnings=numeric>) to the command that
tests the module or script. Can be used more than once. See L for more on constructing these switches.
=head1 RUNTIME ENVIRONMENT OPTIONS
If the environment variable C<$PERL_COMPILE_TEST_DEBUG> is set to a true option when the test is run, the command
to test each file will be printed as a C.
=head1 SEE ALSO
=over 4
=item *
L
=item *
L
=back
=head1 GIVING THANKS
=for stopwords MetaCPAN GitHub
If you found this module to be useful, please show your appreciation by
adding a +1 in L
and a star in L.
=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 AUTHORS
=over 4
=item *
Jérôme Quelin
=item *
Karen Etheridge
=back
=head1 CONTRIBUTORS
=for stopwords Ahmad M. Zawawi Olivier Mengué Kent Fredric David Golden Graham Knop Jesse Luehrs Randy Stauner Harley Pig Chris Weyl fayland Marcel Gruenauer Peter Shangov Ricardo SIGNES
=over 4
=item *
Ahmad M. Zawawi
=item *
Olivier Mengué
=item *
Kent Fredric
=item *
David Golden
=item *
Graham Knop
=item *
Jesse Luehrs
=item *
Randy Stauner
=item *
Harley Pig
=item *
Chris Weyl
=item *
fayland
=item *
Marcel Gruenauer
=item *
Peter Shangov
=item *
Ricardo SIGNES
=back
=head1 COPYRIGHT AND LICENCE
This software is copyright (c) 2009 by Jérôme Quelin.
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
__DATA__
___[ test-compile ]___
use strict;
use warnings;
# this test was generated with {{ ref $plugin }} {{ $plugin->VERSION }}
use Test::More{{ $test_more_version ? " $test_more_version" : '' }};
{{
$needs_display ? <<'CODE' : ''
# Skip all tests if you need a display for this test and $ENV{DISPLAY} is not set
if (not $ENV{DISPLAY} and $^O ne 'MSWin32') {
plan skip_all => 'Needs DISPLAY';
}
CODE
}}
plan tests => {{
my $count = @module_filenames + @script_filenames;
$count += 1 if $fail_on_warning eq 'all';
$count .= ' + ($ENV{AUTHOR_TESTING} ? 1 : 0)' if $fail_on_warning eq 'author';
$count;
}};
my @module_files = (
{{ join(",\n", map { s/'/\\'/g; " '".$_."'" } sort @module_filenames) }}
);
{{
@script_filenames
? 'my @scripts = ('."\n"
.join(",\n", map { s/'/\\'/g; " '".$_."'" } sort @script_filenames)
."\n".');'
: ''
}}
{{
$fake_home ? <<'CODE' : '# no fake home requested';
# fake home for cpan-testers
use File::Temp;
local $ENV{HOME} = File::Temp::tempdir( CLEANUP => 1 );
CODE
}}
my @switches = (
-d 'blib' ? '-Mblib' : '-Ilib',
{{ @$switches ? ' '.join(' ', map q{'}.$_.q{',}, @$switches)."\n" : '' }});
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;
}
}
{{
@script_filenames ? <<'CODE' : '';
foreach my $file (@scripts)
{ SKIP: {
open my $fh, '<', $file or warn("Unable to open $file: $!"), next;
my $line = <$fh>;
close $fh and skip("$file isn't perl", 1) unless $line =~ /^#!\s*(?:\S*(?:env )?perl\S*)((?:\s+-\w*)*)(?:\s*#.*)?$/;
@switches = (@switches, split(' ', $1)) if $1;
close $fh and skip("$file uses -T; not testable with PERL5LIB", 1)
if grep $_ eq '-T', @switches and $ENV{PERL5LIB};
my $stderr = IO::Handle->new;
diag('Running: ', join(', ', map { my $str = $_; $str =~ s/'/\\'/g; q{'}.$str.q{'} }
$^X, @switches, '-c', $file))
if $ENV{PERL_COMPILE_TEST_DEBUG};
my $pid = open3($stdin, '>&STDERR', $stderr, $^X, @switches, '-c', $file);
binmode $stderr, ':crlf' if $^O eq 'MSWin32';
my @_warnings = <$stderr>;
waitpid($pid, 0);
is($?, 0, "$file compiled ok");
shift @_warnings if @_warnings and $_warnings[0] =~ /^Using .*\bblib/
and not eval { +require blib; blib->VERSION('1.01') };
# in older perls, -c output is simply the file portion of the path being tested
if (@_warnings = grep !/\bsyntax OK$/,
grep { chomp; $_ ne (File::Spec->splitpath($file))[2] } @_warnings)
{
warn @_warnings;
push @warnings, @_warnings;
}
} }
CODE
}}
{{
($fail_on_warning ne 'none'
? q{is(scalar(@warnings), 0, 'no warnings found') or diag 'got warnings: ', }
.($test_more_version > 0.82
? q{explain(\@warnings)}
: q{( Test::More->can('explain') ? Test::More::explain(\@warnings) : join("\n", '', @warnings) )}
)
: '# no warning checks')
.
($fail_on_warning eq 'author'
? ' if $ENV{AUTHOR_TESTING};'
: ';')
}}
{{
$bail_out_on_fail
? 'BAIL_OUT("Compilation problems") if !Test::More->builder->is_passing;'
: '';
}}