Import Upstream version 0.101082
This commit is contained in:
commit
57fb9e50bd
|
@ -0,0 +1,58 @@
|
|||
Revision history for Test-MinimumVersion
|
||||
|
||||
0.101082 2015-12-06 23:40:03-05:00 America/New_York
|
||||
- add all_minimum_version_from_mymetayml_ok (thanks, Steve Hay!)
|
||||
- add all_minimum_version_from_mymetajson_ok (thanks, Steve Hay!)
|
||||
|
||||
0.101081 2013-11-30 18:10:02 America/New_York
|
||||
- add a "skip" option to all_minimum_version_ok
|
||||
- use CPAN::Meta for META.* files, which should do a better
|
||||
job at figuring out prereqs
|
||||
|
||||
0.101080 2010-04-18 14:07:08 America/New_York
|
||||
more "comparison to undef" bugs fixed (thanks, Tux)
|
||||
|
||||
0.101050 2010-04-15 15:31:56 America/New_York
|
||||
convert to dzil, fix a prereq num/str conversion stupidity
|
||||
fix bug when comparing versions to undef
|
||||
|
||||
0.013 2010-01-17
|
||||
declare the dependency on YAML::Tiny (thanks, jawnsy)
|
||||
|
||||
0.012 2010-01-16
|
||||
stop inlining YAML::Tiny
|
||||
add a very, very, very basic test
|
||||
|
||||
0.011 2009-06-29
|
||||
update code to behave better with subtests
|
||||
|
||||
0.010 2009-05-31
|
||||
attempt to not croak on empty files
|
||||
|
||||
0.009 2009-04-18
|
||||
display version_markers when syntax requirements are too high
|
||||
|
||||
0.008 2008-05-22
|
||||
change default search locations for code to test
|
||||
update embedded YAML::Tiny
|
||||
packaging updates
|
||||
|
||||
0.007 2007-09-17
|
||||
fix t/pod-coverage.t; numerous stupid bugs!
|
||||
|
||||
0.006 2007-08-24
|
||||
all_version_* methods only plan, now, if there is no plan
|
||||
added no_plan option to all_version_* methods
|
||||
|
||||
0.005 2007-07-03
|
||||
quash some warnings
|
||||
added all_version_from_metayml_ok
|
||||
|
||||
0.004 2007-04-04
|
||||
add prereq for File::Find::Rule::Perl
|
||||
|
||||
0.003 2007-04-03
|
||||
change how it all interfaces with the programmer
|
||||
|
||||
0.001 2007-04-02
|
||||
initial release
|
|
@ -0,0 +1,379 @@
|
|||
This software is copyright (c) 2007 by Ricardo Signes.
|
||||
|
||||
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) 2007 by Ricardo Signes.
|
||||
|
||||
This is free software, licensed under:
|
||||
|
||||
The GNU General Public License, Version 1, February 1989
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 1, February 1989
|
||||
|
||||
Copyright (C) 1989 Free Software Foundation, Inc.
|
||||
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The license agreements of most software companies try to keep users
|
||||
at the mercy of those companies. By contrast, our General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. The
|
||||
General Public License applies to the Free Software Foundation's
|
||||
software and to any other program whose authors commit to using it.
|
||||
You can use it for your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Specifically, the General Public License is designed to make
|
||||
sure that you have the freedom to give away or sell copies of free
|
||||
software, that you receive source code or can get it if you want it,
|
||||
that you can change the software or use pieces of it in new free
|
||||
programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of a such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must tell them their rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License Agreement applies to any program or other work which
|
||||
contains a notice placed by the copyright holder saying it may be
|
||||
distributed under the terms of this General Public License. The
|
||||
"Program", below, refers to any such program or work, and a "work based
|
||||
on the Program" means either the Program or any work containing the
|
||||
Program or a portion of it, either verbatim or with modifications. Each
|
||||
licensee is addressed as "you".
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's source
|
||||
code as you receive it, in any medium, provided that you conspicuously and
|
||||
appropriately publish on each copy an appropriate copyright notice and
|
||||
disclaimer of warranty; keep intact all the notices that refer to this
|
||||
General Public License and to the absence of any warranty; and give any
|
||||
other recipients of the Program a copy of this General Public License
|
||||
along with the Program. You may charge a fee for the physical act of
|
||||
transferring a copy.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion of
|
||||
it, and copy and distribute such modifications under the terms of Paragraph
|
||||
1 above, provided that you also do the following:
|
||||
|
||||
a) cause the modified files to carry prominent notices stating that
|
||||
you changed the files and the date of any change; and
|
||||
|
||||
b) cause the whole of any work that you distribute or publish, that
|
||||
in whole or in part contains the Program or any part thereof, either
|
||||
with or without modifications, to be licensed at no charge to all
|
||||
third parties under the terms of this General Public License (except
|
||||
that you may choose to grant warranty protection to some or all
|
||||
third parties, at your option).
|
||||
|
||||
c) If the modified program normally reads commands interactively when
|
||||
run, you must cause it, when started running for such interactive use
|
||||
in the simplest and most usual way, to print or display an
|
||||
announcement including an appropriate copyright notice and a notice
|
||||
that there is no warranty (or else, saying that you provide a
|
||||
warranty) and that users may redistribute the program under these
|
||||
conditions, and telling the user how to view a copy of this General
|
||||
Public License.
|
||||
|
||||
d) You may charge a fee for the physical act of transferring a
|
||||
copy, and you may at your option offer warranty protection in
|
||||
exchange for a fee.
|
||||
|
||||
Mere aggregation of another independent work with the Program (or its
|
||||
derivative) on a volume of a storage or distribution medium does not bring
|
||||
the other work under the scope of these terms.
|
||||
|
||||
3. You may copy and distribute the Program (or a portion or derivative of
|
||||
it, under Paragraph 2) in object code or executable form under the terms of
|
||||
Paragraphs 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of
|
||||
Paragraphs 1 and 2 above; or,
|
||||
|
||||
b) accompany it with a written offer, valid for at least three
|
||||
years, to give any third party free (except for a nominal charge
|
||||
for the cost of distribution) a complete machine-readable copy of the
|
||||
corresponding source code, to be distributed under the terms of
|
||||
Paragraphs 1 and 2 above; or,
|
||||
|
||||
c) accompany it with the information you received as to where the
|
||||
corresponding source code may be obtained. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form alone.)
|
||||
|
||||
Source code for a work means the preferred form of the work for making
|
||||
modifications to it. For an executable file, complete source code means
|
||||
all the source code for all modules it contains; but, as a special
|
||||
exception, it need not include source code for modules which are standard
|
||||
libraries that accompany the operating system on which the executable
|
||||
file runs, or for standard header files or definitions files that
|
||||
accompany that operating system.
|
||||
|
||||
4. You may not copy, modify, sublicense, distribute or transfer the
|
||||
Program except as expressly provided under this General Public License.
|
||||
Any attempt otherwise to copy, modify, sublicense, distribute or transfer
|
||||
the Program is void, and will automatically terminate your rights to use
|
||||
the Program under this License. However, parties who have received
|
||||
copies, or rights to use copies, from you under this General Public
|
||||
License will not have their licenses terminated so long as such parties
|
||||
remain in full compliance.
|
||||
|
||||
5. By copying, distributing or modifying the Program (or any work based
|
||||
on the Program) you indicate your acceptance of this license to do so,
|
||||
and all its terms and conditions.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the original
|
||||
licensor to copy, distribute or modify the Program subject to these
|
||||
terms and conditions. You may not impose any further restrictions on the
|
||||
recipients' exercise of the rights granted herein.
|
||||
|
||||
7. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of the license which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
the license, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
8. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
Appendix: How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to humanity, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these
|
||||
terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest to
|
||||
attach them to the start of each source file to most effectively convey
|
||||
the exclusion of warranty; and each file should have at least the
|
||||
"copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) 19yy <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 1, or (at your option)
|
||||
any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
|
||||
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) 19xx name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the
|
||||
appropriate parts of the General Public License. Of course, the
|
||||
commands you use may be called something other than `show w' and `show
|
||||
c'; they could even be mouse-clicks or menu items--whatever suits your
|
||||
program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the
|
||||
program `Gnomovision' (a program to direct compilers to make passes
|
||||
at assemblers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
That's all there is to it!
|
||||
|
||||
|
||||
--- The Artistic License 1.0 ---
|
||||
|
||||
This software is Copyright (c) 2007 by Ricardo Signes.
|
||||
|
||||
This is free software, licensed under:
|
||||
|
||||
The Artistic License 1.0
|
||||
|
||||
The Artistic License
|
||||
|
||||
Preamble
|
||||
|
||||
The intent of this document is to state the conditions under which a Package
|
||||
may be copied, such that the Copyright Holder maintains some semblance of
|
||||
artistic control over the development of the package, while giving the users of
|
||||
the package the right to use and distribute the Package in a more-or-less
|
||||
customary fashion, plus the right to make reasonable modifications.
|
||||
|
||||
Definitions:
|
||||
|
||||
- "Package" refers to the collection of files distributed by the Copyright
|
||||
Holder, and derivatives of that collection of files created through
|
||||
textual modification.
|
||||
- "Standard Version" refers to such a Package if it has not been modified,
|
||||
or has been modified in accordance with the wishes of the Copyright
|
||||
Holder.
|
||||
- "Copyright Holder" is whoever is named in the copyright or copyrights for
|
||||
the package.
|
||||
- "You" is you, if you're thinking about copying or distributing this Package.
|
||||
- "Reasonable copying fee" is whatever you can justify on the basis of media
|
||||
cost, duplication charges, time of people involved, and so on. (You will
|
||||
not be required to justify it to the Copyright Holder, but only to the
|
||||
computing community at large as a market that must bear the fee.)
|
||||
- "Freely Available" means that no fee is charged for the item itself, though
|
||||
there may be fees involved in handling the item. It also means that
|
||||
recipients of the item may redistribute it under the same conditions they
|
||||
received it.
|
||||
|
||||
1. You may make and give away verbatim copies of the source form of the
|
||||
Standard Version of this Package without restriction, provided that you
|
||||
duplicate all of the original copyright notices and associated disclaimers.
|
||||
|
||||
2. You may apply bug fixes, portability fixes and other modifications derived
|
||||
from the Public Domain or from the Copyright Holder. A Package modified in such
|
||||
a way shall still be considered the Standard Version.
|
||||
|
||||
3. You may otherwise modify your copy of this Package in any way, provided that
|
||||
you insert a prominent notice in each changed file stating how and when you
|
||||
changed that file, and provided that you do at least ONE of the following:
|
||||
|
||||
a) place your modifications in the Public Domain or otherwise make them
|
||||
Freely Available, such as by posting said modifications to Usenet or an
|
||||
equivalent medium, or placing the modifications on a major archive site
|
||||
such as ftp.uu.net, or by allowing the Copyright Holder to include your
|
||||
modifications in the Standard Version of the Package.
|
||||
|
||||
b) use the modified Package only within your corporation or organization.
|
||||
|
||||
c) rename any non-standard executables so the names do not conflict with
|
||||
standard executables, which must also be provided, and provide a separate
|
||||
manual page for each non-standard executable that clearly documents how it
|
||||
differs from the Standard Version.
|
||||
|
||||
d) make other distribution arrangements with the Copyright Holder.
|
||||
|
||||
4. You may distribute the programs of this Package in object code or executable
|
||||
form, provided that you do at least ONE of the following:
|
||||
|
||||
a) distribute a Standard Version of the executables and library files,
|
||||
together with instructions (in the manual page or equivalent) on where to
|
||||
get the Standard Version.
|
||||
|
||||
b) accompany the distribution with the machine-readable source of the Package
|
||||
with your modifications.
|
||||
|
||||
c) accompany any non-standard executables with their corresponding Standard
|
||||
Version executables, giving the non-standard executables non-standard
|
||||
names, and clearly documenting the differences in manual pages (or
|
||||
equivalent), together with instructions on where to get the Standard
|
||||
Version.
|
||||
|
||||
d) make other distribution arrangements with the Copyright Holder.
|
||||
|
||||
5. You may charge a reasonable copying fee for any distribution of this
|
||||
Package. You may charge any fee you choose for support of this Package. You
|
||||
may not charge a fee for this Package itself. However, you may distribute this
|
||||
Package in aggregate with other (possibly commercial) programs as part of a
|
||||
larger (possibly commercial) software distribution provided that you do not
|
||||
advertise this Package as a product of your own.
|
||||
|
||||
6. The scripts and library files supplied as input to or produced as output
|
||||
from the programs of this Package do not automatically fall under the copyright
|
||||
of this Package, but belong to whomever generated them, and may be sold
|
||||
commercially, and may be aggregated with this Package.
|
||||
|
||||
7. C or perl subroutines supplied by you and linked into this Package shall not
|
||||
be considered part of this Package.
|
||||
|
||||
8. The name of the Copyright Holder may not be used to endorse or promote
|
||||
products derived from this software without specific prior written permission.
|
||||
|
||||
9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
|
||||
The End
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# This file was automatically generated by Dist::Zilla::Plugin::Manifest v5.042.
|
||||
Changes
|
||||
LICENSE
|
||||
MANIFEST
|
||||
META.json
|
||||
META.yml
|
||||
Makefile.PL
|
||||
README
|
||||
dist.ini
|
||||
lib/Test/MinimumVersion.pm
|
||||
t/00-report-prereqs.dd
|
||||
t/00-report-prereqs.t
|
||||
t/basic.t
|
||||
t/eg/META.json
|
||||
t/eg/META.yml
|
||||
t/eg/bin/5.6-warnings.pl
|
||||
t/eg/bin/explicit-5.8.pl
|
||||
xt/author/pod-syntax.t
|
||||
xt/release/changes_has_content.t
|
|
@ -0,0 +1,546 @@
|
|||
{
|
||||
"abstract" : "does your code require newer perl than you think?",
|
||||
"author" : [
|
||||
"Ricardo Signes"
|
||||
],
|
||||
"dynamic_config" : 0,
|
||||
"generated_by" : "Dist::Zilla version 5.042, CPAN::Meta::Converter version 2.150005",
|
||||
"license" : [
|
||||
"perl_5"
|
||||
],
|
||||
"meta-spec" : {
|
||||
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
|
||||
"version" : 2
|
||||
},
|
||||
"name" : "Test-MinimumVersion",
|
||||
"prereqs" : {
|
||||
"configure" : {
|
||||
"requires" : {
|
||||
"ExtUtils::MakeMaker" : "0"
|
||||
}
|
||||
},
|
||||
"develop" : {
|
||||
"requires" : {
|
||||
"Test::More" : "0",
|
||||
"Test::Pod" : "1.41"
|
||||
}
|
||||
},
|
||||
"runtime" : {
|
||||
"requires" : {
|
||||
"CPAN::Meta" : "0",
|
||||
"Exporter" : "0",
|
||||
"File::Find::Rule" : "0",
|
||||
"File::Find::Rule::Perl" : "0",
|
||||
"Perl::MinimumVersion" : "1.32",
|
||||
"Test::Builder" : "0",
|
||||
"base" : "0",
|
||||
"perl" : "v5.8.0",
|
||||
"strict" : "0",
|
||||
"version" : "0.70",
|
||||
"warnings" : "0"
|
||||
}
|
||||
},
|
||||
"test" : {
|
||||
"recommends" : {
|
||||
"CPAN::Meta" : "2.120900"
|
||||
},
|
||||
"requires" : {
|
||||
"ExtUtils::MakeMaker" : "0",
|
||||
"File::Spec" : "0",
|
||||
"Test::More" : "0.96",
|
||||
"Test::Tester" : "0",
|
||||
"perl" : "v5.8.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"release_status" : "stable",
|
||||
"resources" : {
|
||||
"bugtracker" : {
|
||||
"web" : "https://github.com/rjbs/Test-MinimumVersion/issues"
|
||||
},
|
||||
"homepage" : "https://github.com/rjbs/Test-MinimumVersion",
|
||||
"repository" : {
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/rjbs/Test-MinimumVersion.git",
|
||||
"web" : "https://github.com/rjbs/Test-MinimumVersion"
|
||||
}
|
||||
},
|
||||
"version" : "0.101082",
|
||||
"x_Dist_Zilla" : {
|
||||
"perl" : {
|
||||
"version" : "5.023003"
|
||||
},
|
||||
"plugins" : [
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::GatherDir",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::GatherDir" : {
|
||||
"exclude_filename" : [],
|
||||
"exclude_match" : [],
|
||||
"follow_symlinks" : 0,
|
||||
"include_dotfiles" : 0,
|
||||
"prefix" : "",
|
||||
"prune_directory" : [],
|
||||
"root" : "."
|
||||
},
|
||||
"Dist::Zilla::Plugin::Git::GatherDir" : {
|
||||
"include_untracked" : 0
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/Git::GatherDir",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::CheckPrereqsIndexed",
|
||||
"name" : "@RJBS/CheckPrereqsIndexed",
|
||||
"version" : "0.017"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::CheckExtraTests",
|
||||
"name" : "@RJBS/CheckExtraTests",
|
||||
"version" : "0.028"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PromptIfStale",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::PromptIfStale" : {
|
||||
"check_all_plugins" : 0,
|
||||
"check_all_prereqs" : 0,
|
||||
"modules" : [
|
||||
"Dist::Zilla::PluginBundle::RJBS"
|
||||
],
|
||||
"phase" : "build",
|
||||
"skip" : []
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/RJBS-Outdated",
|
||||
"version" : "0.047"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PromptIfStale",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::PromptIfStale" : {
|
||||
"check_all_plugins" : 1,
|
||||
"check_all_prereqs" : 0,
|
||||
"modules" : [],
|
||||
"phase" : "release",
|
||||
"skip" : []
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/CPAN-Outdated",
|
||||
"version" : "0.047"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PruneCruft",
|
||||
"name" : "@RJBS/@Filter/PruneCruft",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::ManifestSkip",
|
||||
"name" : "@RJBS/@Filter/ManifestSkip",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::MetaYAML",
|
||||
"name" : "@RJBS/@Filter/MetaYAML",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::License",
|
||||
"name" : "@RJBS/@Filter/License",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Readme",
|
||||
"name" : "@RJBS/@Filter/Readme",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::ExecDir",
|
||||
"name" : "@RJBS/@Filter/ExecDir",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::ShareDir",
|
||||
"name" : "@RJBS/@Filter/ShareDir",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Manifest",
|
||||
"name" : "@RJBS/@Filter/Manifest",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::TestRelease",
|
||||
"name" : "@RJBS/@Filter/TestRelease",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::ConfirmRelease",
|
||||
"name" : "@RJBS/@Filter/ConfirmRelease",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::UploadToCPAN",
|
||||
"name" : "@RJBS/@Filter/UploadToCPAN",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::MakeMaker",
|
||||
"config" : {
|
||||
"Dist::Zilla::Role::TestRunner" : {
|
||||
"default_jobs" : 9
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/MakeMaker",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::AutoPrereqs",
|
||||
"name" : "@RJBS/AutoPrereqs",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::NextVersion",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::NextVersion" : {
|
||||
"first_version" : "0.001",
|
||||
"version_by_branch" : 0,
|
||||
"version_regexp" : "(?^:^([0-9]+\\.[0-9]+)$)"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::Repo" : {
|
||||
"repo_root" : "."
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/Git::NextVersion",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PkgVersion",
|
||||
"name" : "@RJBS/PkgVersion",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::MetaConfig",
|
||||
"name" : "@RJBS/MetaConfig",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::MetaJSON",
|
||||
"name" : "@RJBS/MetaJSON",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::NextRelease",
|
||||
"name" : "@RJBS/NextRelease",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Test::ChangesHasContent",
|
||||
"name" : "@RJBS/Test::ChangesHasContent",
|
||||
"version" : "0.008"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PodSyntaxTests",
|
||||
"name" : "@RJBS/PodSyntaxTests",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Test::ReportPrereqs",
|
||||
"name" : "@RJBS/Test::ReportPrereqs",
|
||||
"version" : "0.021"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Prereqs",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Prereqs" : {
|
||||
"phase" : "test",
|
||||
"type" : "requires"
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/TestMoreWithSubtests",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::PodWeaver",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::PodWeaver" : {
|
||||
"config_plugins" : [
|
||||
"@RJBS"
|
||||
],
|
||||
"finder" : [
|
||||
":InstallModules",
|
||||
":ExecFiles"
|
||||
],
|
||||
"plugins" : [
|
||||
{
|
||||
"class" : "Pod::Weaver::Plugin::EnsurePod5",
|
||||
"name" : "@CorePrep/EnsurePod5",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Plugin::H1Nester",
|
||||
"name" : "@CorePrep/H1Nester",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Plugin::SingleEncoding",
|
||||
"name" : "@RJBS/SingleEncoding",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Name",
|
||||
"name" : "@RJBS/Name",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Version",
|
||||
"name" : "@RJBS/Version",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Region",
|
||||
"name" : "@RJBS/Prelude",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Generic",
|
||||
"name" : "@RJBS/Synopsis",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Generic",
|
||||
"name" : "@RJBS/Description",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Generic",
|
||||
"name" : "@RJBS/Overview",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Generic",
|
||||
"name" : "@RJBS/Stability",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Collect",
|
||||
"name" : "Attributes",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Collect",
|
||||
"name" : "Methods",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Collect",
|
||||
"name" : "Functions",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Leftovers",
|
||||
"name" : "@RJBS/Leftovers",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Region",
|
||||
"name" : "@RJBS/postlude",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Authors",
|
||||
"name" : "@RJBS/Authors",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Contributors",
|
||||
"name" : "@RJBS/Contributors",
|
||||
"version" : "0.009"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Section::Legal",
|
||||
"name" : "@RJBS/Legal",
|
||||
"version" : "4.012"
|
||||
},
|
||||
{
|
||||
"class" : "Pod::Weaver::Plugin::Transformer",
|
||||
"name" : "@RJBS/List",
|
||||
"version" : "4.012"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/PodWeaver",
|
||||
"version" : "4.006"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::GithubMeta",
|
||||
"name" : "@RJBS/GithubMeta",
|
||||
"version" : "0.54"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::Check",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::Check" : {
|
||||
"untracked_files" : "die"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::DirtyFiles" : {
|
||||
"allow_dirty" : [
|
||||
"Changes",
|
||||
"dist.ini"
|
||||
],
|
||||
"allow_dirty_match" : [],
|
||||
"changelog" : "Changes"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::Repo" : {
|
||||
"repo_root" : "."
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/@Git/Check",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::Commit",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::Commit" : {
|
||||
"add_files_in" : [],
|
||||
"commit_msg" : "v%v%n%n%c"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::DirtyFiles" : {
|
||||
"allow_dirty" : [
|
||||
"Changes",
|
||||
"dist.ini"
|
||||
],
|
||||
"allow_dirty_match" : [],
|
||||
"changelog" : "Changes"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::Repo" : {
|
||||
"repo_root" : "."
|
||||
},
|
||||
"Dist::Zilla::Role::Git::StringFormatter" : {
|
||||
"time_zone" : "local"
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/@Git/Commit",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::Tag",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::Tag" : {
|
||||
"branch" : null,
|
||||
"changelog" : "Changes",
|
||||
"signed" : 0,
|
||||
"tag" : "0.101082",
|
||||
"tag_format" : "%v",
|
||||
"tag_message" : "v%v"
|
||||
},
|
||||
"Dist::Zilla::Role::Git::Repo" : {
|
||||
"repo_root" : "."
|
||||
},
|
||||
"Dist::Zilla::Role::Git::StringFormatter" : {
|
||||
"time_zone" : "local"
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/@Git/Tag",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::Push",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::Push" : {
|
||||
"push_to" : [
|
||||
"origin :",
|
||||
"github :"
|
||||
],
|
||||
"remotes_must_exist" : 0
|
||||
},
|
||||
"Dist::Zilla::Role::Git::Repo" : {
|
||||
"repo_root" : "."
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/@Git/Push",
|
||||
"version" : "2.036"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::Git::Contributors",
|
||||
"config" : {
|
||||
"Dist::Zilla::Plugin::Git::Contributors" : {
|
||||
"include_authors" : 0,
|
||||
"include_releaser" : 1,
|
||||
"order_by" : "name",
|
||||
"paths" : [
|
||||
"."
|
||||
]
|
||||
}
|
||||
},
|
||||
"name" : "@RJBS/Git::Contributors",
|
||||
"version" : "0.015"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":InstallModules",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":IncModules",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":TestFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":ExtraTestFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":ExecFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":PerlExecFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":ShareFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":MainModule",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":AllFiles",
|
||||
"version" : "5.042"
|
||||
},
|
||||
{
|
||||
"class" : "Dist::Zilla::Plugin::FinderCode",
|
||||
"name" : ":NoFiles",
|
||||
"version" : "5.042"
|
||||
}
|
||||
],
|
||||
"zilla" : {
|
||||
"class" : "Dist::Zilla::Dist::Builder",
|
||||
"config" : {
|
||||
"is_trial" : "0"
|
||||
},
|
||||
"version" : "5.042"
|
||||
}
|
||||
},
|
||||
"x_contributors" : [
|
||||
"Ricardo SIGNES <rjbs@codesimply.com>",
|
||||
"Ricardo SIGNES <rjbs@cpan.org>",
|
||||
"Steve Hay <steve.m.hay@googlemail.com>"
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,401 @@
|
|||
---
|
||||
abstract: 'does your code require newer perl than you think?'
|
||||
author:
|
||||
- 'Ricardo Signes'
|
||||
build_requires:
|
||||
ExtUtils::MakeMaker: '0'
|
||||
File::Spec: '0'
|
||||
Test::More: '0.96'
|
||||
Test::Tester: '0'
|
||||
perl: v5.8.0
|
||||
configure_requires:
|
||||
ExtUtils::MakeMaker: '0'
|
||||
dynamic_config: 0
|
||||
generated_by: 'Dist::Zilla version 5.042, CPAN::Meta::Converter version 2.150005'
|
||||
license: perl
|
||||
meta-spec:
|
||||
url: http://module-build.sourceforge.net/META-spec-v1.4.html
|
||||
version: '1.4'
|
||||
name: Test-MinimumVersion
|
||||
requires:
|
||||
CPAN::Meta: '0'
|
||||
Exporter: '0'
|
||||
File::Find::Rule: '0'
|
||||
File::Find::Rule::Perl: '0'
|
||||
Perl::MinimumVersion: '1.32'
|
||||
Test::Builder: '0'
|
||||
base: '0'
|
||||
perl: v5.8.0
|
||||
strict: '0'
|
||||
version: '0.70'
|
||||
warnings: '0'
|
||||
resources:
|
||||
bugtracker: https://github.com/rjbs/Test-MinimumVersion/issues
|
||||
homepage: https://github.com/rjbs/Test-MinimumVersion
|
||||
repository: https://github.com/rjbs/Test-MinimumVersion.git
|
||||
version: '0.101082'
|
||||
x_Dist_Zilla:
|
||||
perl:
|
||||
version: '5.023003'
|
||||
plugins:
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::GatherDir
|
||||
config:
|
||||
Dist::Zilla::Plugin::GatherDir:
|
||||
exclude_filename: []
|
||||
exclude_match: []
|
||||
follow_symlinks: 0
|
||||
include_dotfiles: 0
|
||||
prefix: ''
|
||||
prune_directory: []
|
||||
root: .
|
||||
Dist::Zilla::Plugin::Git::GatherDir:
|
||||
include_untracked: 0
|
||||
name: '@RJBS/Git::GatherDir'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::CheckPrereqsIndexed
|
||||
name: '@RJBS/CheckPrereqsIndexed'
|
||||
version: '0.017'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::CheckExtraTests
|
||||
name: '@RJBS/CheckExtraTests'
|
||||
version: '0.028'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PromptIfStale
|
||||
config:
|
||||
Dist::Zilla::Plugin::PromptIfStale:
|
||||
check_all_plugins: 0
|
||||
check_all_prereqs: 0
|
||||
modules:
|
||||
- Dist::Zilla::PluginBundle::RJBS
|
||||
phase: build
|
||||
skip: []
|
||||
name: '@RJBS/RJBS-Outdated'
|
||||
version: '0.047'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PromptIfStale
|
||||
config:
|
||||
Dist::Zilla::Plugin::PromptIfStale:
|
||||
check_all_plugins: 1
|
||||
check_all_prereqs: 0
|
||||
modules: []
|
||||
phase: release
|
||||
skip: []
|
||||
name: '@RJBS/CPAN-Outdated'
|
||||
version: '0.047'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PruneCruft
|
||||
name: '@RJBS/@Filter/PruneCruft'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::ManifestSkip
|
||||
name: '@RJBS/@Filter/ManifestSkip'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::MetaYAML
|
||||
name: '@RJBS/@Filter/MetaYAML'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::License
|
||||
name: '@RJBS/@Filter/License'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Readme
|
||||
name: '@RJBS/@Filter/Readme'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::ExecDir
|
||||
name: '@RJBS/@Filter/ExecDir'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::ShareDir
|
||||
name: '@RJBS/@Filter/ShareDir'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Manifest
|
||||
name: '@RJBS/@Filter/Manifest'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::TestRelease
|
||||
name: '@RJBS/@Filter/TestRelease'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::ConfirmRelease
|
||||
name: '@RJBS/@Filter/ConfirmRelease'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::UploadToCPAN
|
||||
name: '@RJBS/@Filter/UploadToCPAN'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::MakeMaker
|
||||
config:
|
||||
Dist::Zilla::Role::TestRunner:
|
||||
default_jobs: 9
|
||||
name: '@RJBS/MakeMaker'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::AutoPrereqs
|
||||
name: '@RJBS/AutoPrereqs'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::NextVersion
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::NextVersion:
|
||||
first_version: '0.001'
|
||||
version_by_branch: 0
|
||||
version_regexp: (?^:^([0-9]+\.[0-9]+)$)
|
||||
Dist::Zilla::Role::Git::Repo:
|
||||
repo_root: .
|
||||
name: '@RJBS/Git::NextVersion'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PkgVersion
|
||||
name: '@RJBS/PkgVersion'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::MetaConfig
|
||||
name: '@RJBS/MetaConfig'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::MetaJSON
|
||||
name: '@RJBS/MetaJSON'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::NextRelease
|
||||
name: '@RJBS/NextRelease'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Test::ChangesHasContent
|
||||
name: '@RJBS/Test::ChangesHasContent'
|
||||
version: '0.008'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PodSyntaxTests
|
||||
name: '@RJBS/PodSyntaxTests'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Test::ReportPrereqs
|
||||
name: '@RJBS/Test::ReportPrereqs'
|
||||
version: '0.021'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Prereqs
|
||||
config:
|
||||
Dist::Zilla::Plugin::Prereqs:
|
||||
phase: test
|
||||
type: requires
|
||||
name: '@RJBS/TestMoreWithSubtests'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::PodWeaver
|
||||
config:
|
||||
Dist::Zilla::Plugin::PodWeaver:
|
||||
config_plugins:
|
||||
- '@RJBS'
|
||||
finder:
|
||||
- ':InstallModules'
|
||||
- ':ExecFiles'
|
||||
plugins:
|
||||
-
|
||||
class: Pod::Weaver::Plugin::EnsurePod5
|
||||
name: '@CorePrep/EnsurePod5'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Plugin::H1Nester
|
||||
name: '@CorePrep/H1Nester'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Plugin::SingleEncoding
|
||||
name: '@RJBS/SingleEncoding'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Name
|
||||
name: '@RJBS/Name'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Version
|
||||
name: '@RJBS/Version'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Region
|
||||
name: '@RJBS/Prelude'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Generic
|
||||
name: '@RJBS/Synopsis'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Generic
|
||||
name: '@RJBS/Description'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Generic
|
||||
name: '@RJBS/Overview'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Generic
|
||||
name: '@RJBS/Stability'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Collect
|
||||
name: Attributes
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Collect
|
||||
name: Methods
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Collect
|
||||
name: Functions
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Leftovers
|
||||
name: '@RJBS/Leftovers'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Region
|
||||
name: '@RJBS/postlude'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Authors
|
||||
name: '@RJBS/Authors'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Section::Contributors
|
||||
name: '@RJBS/Contributors'
|
||||
version: '0.009'
|
||||
-
|
||||
class: Pod::Weaver::Section::Legal
|
||||
name: '@RJBS/Legal'
|
||||
version: '4.012'
|
||||
-
|
||||
class: Pod::Weaver::Plugin::Transformer
|
||||
name: '@RJBS/List'
|
||||
version: '4.012'
|
||||
name: '@RJBS/PodWeaver'
|
||||
version: '4.006'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::GithubMeta
|
||||
name: '@RJBS/GithubMeta'
|
||||
version: '0.54'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::Check
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::Check:
|
||||
untracked_files: die
|
||||
Dist::Zilla::Role::Git::DirtyFiles:
|
||||
allow_dirty:
|
||||
- Changes
|
||||
- dist.ini
|
||||
allow_dirty_match: []
|
||||
changelog: Changes
|
||||
Dist::Zilla::Role::Git::Repo:
|
||||
repo_root: .
|
||||
name: '@RJBS/@Git/Check'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::Commit
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::Commit:
|
||||
add_files_in: []
|
||||
commit_msg: v%v%n%n%c
|
||||
Dist::Zilla::Role::Git::DirtyFiles:
|
||||
allow_dirty:
|
||||
- Changes
|
||||
- dist.ini
|
||||
allow_dirty_match: []
|
||||
changelog: Changes
|
||||
Dist::Zilla::Role::Git::Repo:
|
||||
repo_root: .
|
||||
Dist::Zilla::Role::Git::StringFormatter:
|
||||
time_zone: local
|
||||
name: '@RJBS/@Git/Commit'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::Tag
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::Tag:
|
||||
branch: ~
|
||||
changelog: Changes
|
||||
signed: 0
|
||||
tag: '0.101082'
|
||||
tag_format: '%v'
|
||||
tag_message: v%v
|
||||
Dist::Zilla::Role::Git::Repo:
|
||||
repo_root: .
|
||||
Dist::Zilla::Role::Git::StringFormatter:
|
||||
time_zone: local
|
||||
name: '@RJBS/@Git/Tag'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::Push
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::Push:
|
||||
push_to:
|
||||
- 'origin :'
|
||||
- 'github :'
|
||||
remotes_must_exist: 0
|
||||
Dist::Zilla::Role::Git::Repo:
|
||||
repo_root: .
|
||||
name: '@RJBS/@Git/Push'
|
||||
version: '2.036'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::Git::Contributors
|
||||
config:
|
||||
Dist::Zilla::Plugin::Git::Contributors:
|
||||
include_authors: 0
|
||||
include_releaser: 1
|
||||
order_by: name
|
||||
paths:
|
||||
- .
|
||||
name: '@RJBS/Git::Contributors'
|
||||
version: '0.015'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':InstallModules'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':IncModules'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':TestFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':ExtraTestFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':ExecFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':PerlExecFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':ShareFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':MainModule'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':AllFiles'
|
||||
version: '5.042'
|
||||
-
|
||||
class: Dist::Zilla::Plugin::FinderCode
|
||||
name: ':NoFiles'
|
||||
version: '5.042'
|
||||
zilla:
|
||||
class: Dist::Zilla::Dist::Builder
|
||||
config:
|
||||
is_trial: '0'
|
||||
version: '5.042'
|
||||
x_contributors:
|
||||
- 'Ricardo SIGNES <rjbs@codesimply.com>'
|
||||
- 'Ricardo SIGNES <rjbs@cpan.org>'
|
||||
- 'Steve Hay <steve.m.hay@googlemail.com>'
|
|
@ -0,0 +1,71 @@
|
|||
# This file was automatically generated by Dist::Zilla::Plugin::MakeMaker v5.042.
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
use 5.008000;
|
||||
|
||||
use ExtUtils::MakeMaker;
|
||||
|
||||
my %WriteMakefileArgs = (
|
||||
"ABSTRACT" => "does your code require newer perl than you think?",
|
||||
"AUTHOR" => "Ricardo Signes",
|
||||
"CONFIGURE_REQUIRES" => {
|
||||
"ExtUtils::MakeMaker" => 0
|
||||
},
|
||||
"DISTNAME" => "Test-MinimumVersion",
|
||||
"LICENSE" => "perl",
|
||||
"MIN_PERL_VERSION" => "5.008000",
|
||||
"NAME" => "Test::MinimumVersion",
|
||||
"PREREQ_PM" => {
|
||||
"CPAN::Meta" => 0,
|
||||
"Exporter" => 0,
|
||||
"File::Find::Rule" => 0,
|
||||
"File::Find::Rule::Perl" => 0,
|
||||
"Perl::MinimumVersion" => "1.32",
|
||||
"Test::Builder" => 0,
|
||||
"base" => 0,
|
||||
"strict" => 0,
|
||||
"version" => "0.70",
|
||||
"warnings" => 0
|
||||
},
|
||||
"TEST_REQUIRES" => {
|
||||
"ExtUtils::MakeMaker" => 0,
|
||||
"File::Spec" => 0,
|
||||
"Test::More" => "0.96",
|
||||
"Test::Tester" => 0
|
||||
},
|
||||
"VERSION" => "0.101082",
|
||||
"test" => {
|
||||
"TESTS" => "t/*.t"
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
my %FallbackPrereqs = (
|
||||
"CPAN::Meta" => 0,
|
||||
"Exporter" => 0,
|
||||
"ExtUtils::MakeMaker" => 0,
|
||||
"File::Find::Rule" => 0,
|
||||
"File::Find::Rule::Perl" => 0,
|
||||
"File::Spec" => 0,
|
||||
"Perl::MinimumVersion" => "1.32",
|
||||
"Test::Builder" => 0,
|
||||
"Test::More" => "0.96",
|
||||
"Test::Tester" => 0,
|
||||
"base" => 0,
|
||||
"strict" => 0,
|
||||
"version" => "0.70",
|
||||
"warnings" => 0
|
||||
);
|
||||
|
||||
|
||||
unless ( eval { ExtUtils::MakeMaker->VERSION(6.63_03) } ) {
|
||||
delete $WriteMakefileArgs{TEST_REQUIRES};
|
||||
delete $WriteMakefileArgs{BUILD_REQUIRES};
|
||||
$WriteMakefileArgs{PREREQ_PM} = \%FallbackPrereqs;
|
||||
}
|
||||
|
||||
delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
|
||||
unless eval { ExtUtils::MakeMaker->VERSION(6.52) };
|
||||
|
||||
WriteMakefile(%WriteMakefileArgs);
|
|
@ -0,0 +1,15 @@
|
|||
|
||||
|
||||
This archive contains the distribution Test-MinimumVersion,
|
||||
version 0.101082:
|
||||
|
||||
does your code require newer perl than you think?
|
||||
|
||||
This software is copyright (c) 2007 by Ricardo Signes.
|
||||
|
||||
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 v5.042.
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
name = Test-MinimumVersion
|
||||
author = Ricardo Signes
|
||||
license = Perl_5
|
||||
copyright_year = 2007
|
||||
copyright_holder = Ricardo Signes
|
||||
|
||||
[@RJBS]
|
|
@ -0,0 +1,361 @@
|
|||
use 5.006;
|
||||
use strict;
|
||||
use warnings;
|
||||
package Test::MinimumVersion;
|
||||
$Test::MinimumVersion::VERSION = '0.101082';
|
||||
# ABSTRACT: does your code require newer perl than you think?
|
||||
use base 'Exporter';
|
||||
|
||||
#pod =head1 SYNOPSIS
|
||||
#pod
|
||||
#pod Example F<minimum-perl.t>:
|
||||
#pod
|
||||
#pod #!perl
|
||||
#pod use Test::MinimumVersion;
|
||||
#pod all_minimum_version_ok('5.008');
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
use CPAN::Meta;
|
||||
use File::Find::Rule;
|
||||
use File::Find::Rule::Perl;
|
||||
use Perl::MinimumVersion 1.32; # numerous bugfies
|
||||
use version 0.70;
|
||||
|
||||
use Test::Builder;
|
||||
@Test::MinimumVersion::EXPORT = qw(
|
||||
minimum_version_ok
|
||||
all_minimum_version_ok
|
||||
all_minimum_version_from_metayml_ok
|
||||
all_minimum_version_from_metajson_ok
|
||||
all_minimum_version_from_mymetayml_ok
|
||||
all_minimum_version_from_mymetajson_ok
|
||||
);
|
||||
|
||||
sub import {
|
||||
my($self) = shift;
|
||||
my $pack = caller;
|
||||
|
||||
my $Test = Test::Builder->new;
|
||||
|
||||
$Test->exported_to($pack);
|
||||
$Test->plan(@_);
|
||||
|
||||
$self->export_to_level(1, $self, @Test::MinimumVersion::EXPORT);
|
||||
}
|
||||
|
||||
sub _objectify_version {
|
||||
my ($version) = @_;
|
||||
$version = eval { $version->isa('version') }
|
||||
? $version
|
||||
: version->new($version);
|
||||
}
|
||||
|
||||
#pod =func minimum_version_ok
|
||||
#pod
|
||||
#pod minimum_version_ok($file, $version);
|
||||
#pod
|
||||
#pod This test passes if the given file does not seem to require any version of perl
|
||||
#pod newer than C<$version>, which may be given as a version string or a version
|
||||
#pod object.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub minimum_version_ok {
|
||||
my ($file, $version) = @_;
|
||||
|
||||
my $Test = Test::Builder->new;
|
||||
|
||||
$version = _objectify_version($version);
|
||||
|
||||
my $pmv = Perl::MinimumVersion->new($file);
|
||||
|
||||
unless (defined $pmv) {
|
||||
$Test->ok(0, $file);
|
||||
$Test->diag(
|
||||
"$file could not be parsed: " . PPI::Document->errstr
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
my $explicit_minimum = $pmv->minimum_explicit_version || 0;
|
||||
my $minimum = $pmv->minimum_syntax_version($explicit_minimum) || 0;
|
||||
|
||||
my $is_syntax = 1
|
||||
if $minimum and $minimum > $explicit_minimum;
|
||||
|
||||
$minimum = $explicit_minimum
|
||||
if $explicit_minimum and $explicit_minimum > $minimum;
|
||||
|
||||
my %min = $pmv->version_markers;
|
||||
|
||||
if ($minimum <= $version) {
|
||||
$Test->ok(1, $file);
|
||||
} else {
|
||||
$Test->ok(0, $file);
|
||||
$Test->diag(
|
||||
"$file requires $minimum "
|
||||
. ($is_syntax ? 'due to syntax' : 'due to explicit requirement')
|
||||
);
|
||||
|
||||
if ($is_syntax and my $markers = $min{ $minimum }) {
|
||||
$Test->diag("version markers for $minimum:");
|
||||
$Test->diag("- $_ ") for @$markers;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#pod =func all_minimum_version_ok
|
||||
#pod
|
||||
#pod all_minimum_version_ok($version, \%arg);
|
||||
#pod
|
||||
#pod Given either a version string or a L<version> object, this routine produces a
|
||||
#pod test plan (if there is no plan) and tests each relevant file with
|
||||
#pod C<minimum_version_ok>.
|
||||
#pod
|
||||
#pod Relevant files are found by L<File::Find::Rule::Perl>.
|
||||
#pod
|
||||
#pod C<\%arg> is optional. Valid arguments are:
|
||||
#pod
|
||||
#pod paths - in what paths to look for files; defaults to (bin, script, t, lib,
|
||||
#pod xt/smoke, and any .pm or .PL files in the current working
|
||||
#pod directory) if it contains files, they will be checked
|
||||
#pod no_plan - do not plan the tests about to be run
|
||||
#pod skip - files to skip; this can be useful in weird cases like gigantic
|
||||
#pod files, files falsely detected as Perl, or code that uses
|
||||
#pod a source filter; this should be an arrayref of filenames
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub all_minimum_version_ok {
|
||||
my ($version, $arg) = @_;
|
||||
$arg ||= {};
|
||||
$arg->{paths} ||= [
|
||||
qw(bin script lib t xt/smoke),
|
||||
glob("*.pm"),
|
||||
glob("*.PL"),
|
||||
];
|
||||
|
||||
$arg->{skip} ||= [];
|
||||
|
||||
my $Test = Test::Builder->new;
|
||||
|
||||
$version = _objectify_version($version);
|
||||
|
||||
my @perl_files;
|
||||
for my $path (@{ $arg->{paths} }) {
|
||||
if (-f $path and -s $path) {
|
||||
push @perl_files, $path;
|
||||
} elsif (-d $path) {
|
||||
push @perl_files, File::Find::Rule->perl_file->in($path);
|
||||
}
|
||||
}
|
||||
|
||||
my %skip = map {; $_ => 1 } @{ $arg->{skip} };
|
||||
@perl_files = grep {; ! $skip{$_} } @perl_files;
|
||||
|
||||
unless ($Test->has_plan or $arg->{no_plan}) {
|
||||
$Test->plan(tests => scalar @perl_files);
|
||||
}
|
||||
|
||||
minimum_version_ok($_, $version) for @perl_files;
|
||||
}
|
||||
|
||||
#pod =func all_minimum_version_from_metayml_ok
|
||||
#pod
|
||||
#pod all_minimum_version_from_metayml_ok(\%arg);
|
||||
#pod
|
||||
#pod This routine checks F<META.yml> for an entry in F<requires> for F<perl>. If no
|
||||
#pod META.yml file or no perl version is found, all tests are skipped. If a version
|
||||
#pod is found, the test proceeds as if C<all_minimum_version_ok> had been called
|
||||
#pod with that version.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub __version_from_meta {
|
||||
my ($fn) = @_;
|
||||
|
||||
my $meta = CPAN::Meta->load_file($fn, { lazy_validation => 1 })->as_struct;
|
||||
my $version = $meta->{prereqs}{runtime}{requires}{perl};
|
||||
}
|
||||
|
||||
sub __from_meta {
|
||||
my ($fn, $arg) = @_;
|
||||
$arg ||= {};
|
||||
|
||||
my $Test = Test::Builder->new;
|
||||
|
||||
$Test->plan(skip_all => "$fn could not be found")
|
||||
unless -f $fn and -r _;
|
||||
|
||||
$Test->plan(skip_all => "no minimum perl version could be determined")
|
||||
unless my $version = __version_from_meta($fn);
|
||||
|
||||
all_minimum_version_ok($version, $arg);
|
||||
}
|
||||
|
||||
sub all_minimum_version_from_metayml_ok {
|
||||
__from_meta('META.yml', @_);
|
||||
}
|
||||
|
||||
#pod =func all_minimum_version_from_metajson_ok
|
||||
#pod
|
||||
#pod all_minimum_version_from_metajson_ok(\%arg);
|
||||
#pod
|
||||
#pod This routine checks F<META.json> for an entry in F<requires> for F<perl>. If
|
||||
#pod no META.json file or no perl version is found, all tests are skipped. If a
|
||||
#pod version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
#pod called with that version.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub all_minimum_version_from_metajson_ok { __from_meta('META.json', @_); }
|
||||
|
||||
#pod =func all_minimum_version_from_mymetayml_ok
|
||||
#pod
|
||||
#pod all_minimum_version_from_mymetayml_ok(\%arg);
|
||||
#pod
|
||||
#pod This routine checks F<MYMETA.yml> for an entry in F<requires> for F<perl>. If
|
||||
#pod no MYMETA.yml file or no perl version is found, all tests are skipped. If a
|
||||
#pod version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
#pod called with that version.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub all_minimum_version_from_mymetayml_ok { __from_meta('MYMETA.yml', @_); }
|
||||
|
||||
#pod =func all_minimum_version_from_mymetajson_ok
|
||||
#pod
|
||||
#pod all_minimum_version_from_mymetajson_ok(\%arg);
|
||||
#pod
|
||||
#pod This routine checks F<MYMETA.json> for an entry in F<requires> for F<perl>. If
|
||||
#pod no MYMETA.json file or no perl version is found, all tests are skipped. If a
|
||||
#pod version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
#pod called with that version.
|
||||
#pod
|
||||
#pod =cut
|
||||
|
||||
sub all_minimum_version_from_mymetajson_ok { __from_meta('MYMETA.json', @_); }
|
||||
|
||||
1;
|
||||
|
||||
__END__
|
||||
|
||||
=pod
|
||||
|
||||
=encoding UTF-8
|
||||
|
||||
=head1 NAME
|
||||
|
||||
Test::MinimumVersion - does your code require newer perl than you think?
|
||||
|
||||
=head1 VERSION
|
||||
|
||||
version 0.101082
|
||||
|
||||
=head1 SYNOPSIS
|
||||
|
||||
Example F<minimum-perl.t>:
|
||||
|
||||
#!perl
|
||||
use Test::MinimumVersion;
|
||||
all_minimum_version_ok('5.008');
|
||||
|
||||
=head1 FUNCTIONS
|
||||
|
||||
=head2 minimum_version_ok
|
||||
|
||||
minimum_version_ok($file, $version);
|
||||
|
||||
This test passes if the given file does not seem to require any version of perl
|
||||
newer than C<$version>, which may be given as a version string or a version
|
||||
object.
|
||||
|
||||
=head2 all_minimum_version_ok
|
||||
|
||||
all_minimum_version_ok($version, \%arg);
|
||||
|
||||
Given either a version string or a L<version> object, this routine produces a
|
||||
test plan (if there is no plan) and tests each relevant file with
|
||||
C<minimum_version_ok>.
|
||||
|
||||
Relevant files are found by L<File::Find::Rule::Perl>.
|
||||
|
||||
C<\%arg> is optional. Valid arguments are:
|
||||
|
||||
paths - in what paths to look for files; defaults to (bin, script, t, lib,
|
||||
xt/smoke, and any .pm or .PL files in the current working
|
||||
directory) if it contains files, they will be checked
|
||||
no_plan - do not plan the tests about to be run
|
||||
skip - files to skip; this can be useful in weird cases like gigantic
|
||||
files, files falsely detected as Perl, or code that uses
|
||||
a source filter; this should be an arrayref of filenames
|
||||
|
||||
=head2 all_minimum_version_from_metayml_ok
|
||||
|
||||
all_minimum_version_from_metayml_ok(\%arg);
|
||||
|
||||
This routine checks F<META.yml> for an entry in F<requires> for F<perl>. If no
|
||||
META.yml file or no perl version is found, all tests are skipped. If a version
|
||||
is found, the test proceeds as if C<all_minimum_version_ok> had been called
|
||||
with that version.
|
||||
|
||||
=head2 all_minimum_version_from_metajson_ok
|
||||
|
||||
all_minimum_version_from_metajson_ok(\%arg);
|
||||
|
||||
This routine checks F<META.json> for an entry in F<requires> for F<perl>. If
|
||||
no META.json file or no perl version is found, all tests are skipped. If a
|
||||
version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
called with that version.
|
||||
|
||||
=head2 all_minimum_version_from_mymetayml_ok
|
||||
|
||||
all_minimum_version_from_mymetayml_ok(\%arg);
|
||||
|
||||
This routine checks F<MYMETA.yml> for an entry in F<requires> for F<perl>. If
|
||||
no MYMETA.yml file or no perl version is found, all tests are skipped. If a
|
||||
version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
called with that version.
|
||||
|
||||
=head2 all_minimum_version_from_mymetajson_ok
|
||||
|
||||
all_minimum_version_from_mymetajson_ok(\%arg);
|
||||
|
||||
This routine checks F<MYMETA.json> for an entry in F<requires> for F<perl>. If
|
||||
no MYMETA.json file or no perl version is found, all tests are skipped. If a
|
||||
version is found, the test proceeds as if C<all_minimum_version_ok> had been
|
||||
called with that version.
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Ricardo Signes
|
||||
|
||||
=head1 CONTRIBUTORS
|
||||
|
||||
=for stopwords Ricardo SIGNES Steve Hay
|
||||
|
||||
=over 4
|
||||
|
||||
=item *
|
||||
|
||||
Ricardo SIGNES <rjbs@codesimply.com>
|
||||
|
||||
=item *
|
||||
|
||||
Ricardo SIGNES <rjbs@cpan.org>
|
||||
|
||||
=item *
|
||||
|
||||
Steve Hay <steve.m.hay@googlemail.com>
|
||||
|
||||
=back
|
||||
|
||||
=head1 COPYRIGHT AND LICENSE
|
||||
|
||||
This software is copyright (c) 2007 by Ricardo Signes.
|
||||
|
||||
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
|
|
@ -0,0 +1,42 @@
|
|||
do { my $x = {
|
||||
'configure' => {
|
||||
'requires' => {
|
||||
'ExtUtils::MakeMaker' => '0'
|
||||
}
|
||||
},
|
||||
'develop' => {
|
||||
'requires' => {
|
||||
'Test::More' => '0',
|
||||
'Test::Pod' => '1.41'
|
||||
}
|
||||
},
|
||||
'runtime' => {
|
||||
'requires' => {
|
||||
'CPAN::Meta' => '0',
|
||||
'Exporter' => '0',
|
||||
'File::Find::Rule' => '0',
|
||||
'File::Find::Rule::Perl' => '0',
|
||||
'Perl::MinimumVersion' => '1.32',
|
||||
'Test::Builder' => '0',
|
||||
'base' => '0',
|
||||
'perl' => 'v5.8.0',
|
||||
'strict' => '0',
|
||||
'version' => '0.70',
|
||||
'warnings' => '0'
|
||||
}
|
||||
},
|
||||
'test' => {
|
||||
'recommends' => {
|
||||
'CPAN::Meta' => '2.120900'
|
||||
},
|
||||
'requires' => {
|
||||
'ExtUtils::MakeMaker' => '0',
|
||||
'File::Spec' => '0',
|
||||
'Test::More' => '0.96',
|
||||
'Test::Tester' => '0',
|
||||
'perl' => 'v5.8.0'
|
||||
}
|
||||
}
|
||||
};
|
||||
$x;
|
||||
}
|
|
@ -0,0 +1,183 @@
|
|||
#!perl
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# This test was generated by Dist::Zilla::Plugin::Test::ReportPrereqs 0.021
|
||||
|
||||
use Test::More tests => 1;
|
||||
|
||||
use ExtUtils::MakeMaker;
|
||||
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(
|
||||
|
||||
);
|
||||
|
||||
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';
|
||||
if ( $source && $HAS_CPAN_META ) {
|
||||
if ( my $meta = eval { CPAN::Meta->load_file($source) } ) {
|
||||
$full_prereqs = _merge_prereqs($full_prereqs, $meta->prereqs);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$source = 'static metadata';
|
||||
}
|
||||
|
||||
my @full_reports;
|
||||
my @dep_errors;
|
||||
my $req_hash = $HAS_CPAN_META ? $full_prereqs->as_string_hash : $full_prereqs;
|
||||
|
||||
# Add static includes into a fake section
|
||||
for my $mod (@include) {
|
||||
$req_hash->{other}{modules}{$mod} = 0;
|
||||
}
|
||||
|
||||
for my $phase ( qw(configure build test runtime develop other) ) {
|
||||
next unless $req_hash->{$phase};
|
||||
next if ($phase eq 'develop' and not $ENV{AUTHOR_TESTING});
|
||||
|
||||
for my $type ( qw(requires recommends suggests conflicts modules) ) {
|
||||
next unless $req_hash->{$phase}{$type};
|
||||
|
||||
my $title = ucfirst($phase).' '.ucfirst($type);
|
||||
my @reports = [qw/Module Want Have/];
|
||||
|
||||
for my $mod ( sort keys %{ $req_hash->{$phase}{$type} } ) {
|
||||
next if $mod eq 'perl';
|
||||
next if grep { $_ eq $mod } @exclude;
|
||||
|
||||
my $file = $mod;
|
||||
$file =~ s{::}{/}g;
|
||||
$file .= ".pm";
|
||||
my ($prefix) = grep { -e File::Spec->catfile($_, $file) } @INC;
|
||||
|
||||
my $want = $req_hash->{$phase}{$type}{$mod};
|
||||
$want = "undef" unless defined $want;
|
||||
$want = "any" if !$want && $want == 0;
|
||||
|
||||
my $req_string = $want eq 'any' ? 'any version required' : "version '$want' required";
|
||||
|
||||
if ($prefix) {
|
||||
my $have = MM->parse_version( File::Spec->catfile($prefix, $file) );
|
||||
$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 ( @dep_errors ) {
|
||||
diag join("\n",
|
||||
"\n*** WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING ***\n",
|
||||
"The following REQUIRED prerequisites were not satisfied:\n",
|
||||
@dep_errors,
|
||||
"\n"
|
||||
);
|
||||
}
|
||||
|
||||
pass;
|
||||
|
||||
# vim: ts=4 sts=4 sw=4 et:
|
|
@ -0,0 +1,36 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
|
||||
use Test::Tester;
|
||||
use Test::More tests => 10;
|
||||
use Test::MinimumVersion;
|
||||
|
||||
minimum_version_ok('t/eg/bin/5.6-warnings.pl', '5.006');
|
||||
|
||||
check_test(
|
||||
sub {
|
||||
minimum_version_ok('t/eg/bin/5.6-warnings.pl', '5.006');
|
||||
},
|
||||
{
|
||||
ok => 1,
|
||||
name => 't/eg/bin/5.6-warnings.pl',
|
||||
diag => '',
|
||||
},
|
||||
"successful comparison"
|
||||
);
|
||||
|
||||
chdir "t/eg";
|
||||
|
||||
subtest "versions from meta" => sub {
|
||||
my $vy = Test::MinimumVersion::__version_from_meta('META.yml');
|
||||
is($vy, '5.021', "version from YAML");
|
||||
my $vj = Test::MinimumVersion::__version_from_meta('META.json');
|
||||
is($vj, '5.012', "version from JSON");
|
||||
};
|
||||
|
||||
subtest "skip files" => sub {
|
||||
all_minimum_version_ok(
|
||||
'5.006',
|
||||
{ no_test => 1, skip => [ 'bin/explicit-5.8.pl' ] },
|
||||
);
|
||||
};
|
|
@ -0,0 +1,64 @@
|
|||
{
|
||||
"abstract" : "does your code require newer perl than you think?",
|
||||
"author" : [
|
||||
"Ricardo Signes"
|
||||
],
|
||||
"dynamic_config" : 0,
|
||||
"generated_by" : "Dist::Zilla version 5.006, CPAN::Meta::Converter version 2.132830",
|
||||
"license" : [
|
||||
"perl_5"
|
||||
],
|
||||
"meta-spec" : {
|
||||
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
|
||||
"version" : "2"
|
||||
},
|
||||
"name" : "Test-MinimumVersion",
|
||||
"prereqs" : {
|
||||
"configure" : {
|
||||
"requires" : {
|
||||
"ExtUtils::MakeMaker" : "6.30"
|
||||
}
|
||||
},
|
||||
"develop" : {
|
||||
"requires" : {
|
||||
"Test::Pod" : "1.41",
|
||||
"version" : "0.9901"
|
||||
}
|
||||
},
|
||||
"runtime" : {
|
||||
"requires" : {
|
||||
"CPAN::Meta" : "0",
|
||||
"Exporter" : "0",
|
||||
"File::Find::Rule" : "0",
|
||||
"File::Find::Rule::Perl" : "0",
|
||||
"Perl::MinimumVersion" : "1.32",
|
||||
"Test::Builder" : "0",
|
||||
"base" : "0",
|
||||
"perl" : "5.012",
|
||||
"strict" : "0",
|
||||
"version" : "0.70",
|
||||
"warnings" : "0"
|
||||
}
|
||||
},
|
||||
"test" : {
|
||||
"requires" : {
|
||||
"Test::More" : "0.96",
|
||||
"Test::Tester" : "0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"release_status" : "stable",
|
||||
"resources" : {
|
||||
"bugtracker" : {
|
||||
"web" : "https://github.com/rjbs/Test-MinimumVersion/issues"
|
||||
},
|
||||
"homepage" : "https://github.com/rjbs/Test-MinimumVersion",
|
||||
"repository" : {
|
||||
"type" : "git",
|
||||
"url" : "https://github.com/rjbs/Test-MinimumVersion.git",
|
||||
"web" : "https://github.com/rjbs/Test-MinimumVersion"
|
||||
}
|
||||
},
|
||||
"version" : "0.101081"
|
||||
}
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
---
|
||||
abstract: 'does your code require newer perl than you think?'
|
||||
author:
|
||||
- 'Ricardo Signes'
|
||||
build_requires:
|
||||
Test::More: 0
|
||||
Test::Tester: 0
|
||||
configure_requires:
|
||||
ExtUtils::MakeMaker: 6.31
|
||||
generated_by: 'Dist::Zilla version 2.101040'
|
||||
license: perl
|
||||
meta-spec:
|
||||
url: http://module-build.sourceforge.net/META-spec-v1.4.html
|
||||
version: 1.4
|
||||
name: Test-MinimumVersion
|
||||
recommends: {}
|
||||
requires:
|
||||
Exporter: 0
|
||||
File::Find::Rule: 0
|
||||
File::Find::Rule::Perl: 0
|
||||
Perl::MinimumVersion: 1.20
|
||||
Test::Builder: 0
|
||||
YAML::Tiny: 1.40
|
||||
perl: 5.021
|
||||
version: 0.70
|
||||
resources:
|
||||
repository: git://git.codesimply.com/Test-MinimumVersion.git
|
||||
version: 0.101080
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
my $x = 10;
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
use strict;
|
||||
use warnings;
|
||||
use 5.8.0;
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
#!perl
|
||||
# This file was automatically generated by Dist::Zilla::Plugin::PodSyntaxTests.
|
||||
use strict; use warnings;
|
||||
use Test::More;
|
||||
use Test::Pod 1.41;
|
||||
|
||||
all_pod_files_ok();
|
|
@ -0,0 +1,41 @@
|
|||
#!perl
|
||||
|
||||
use Test::More tests => 2;
|
||||
|
||||
note 'Checking Changes';
|
||||
my $changes_file = 'Changes';
|
||||
my $newver = '0.101082';
|
||||
my $trial_token = '-TRIAL';
|
||||
|
||||
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;
|
||||
|
||||
# _get_changes copied and adapted from Dist::Zilla::Plugin::Git::Commit
|
||||
# by Jerome Quelin
|
||||
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>);
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue