Hello community, here is the log from the commit of package perl-Module-Starter for openSUSE:Factory checked in at 2015-04-22 01:17:51 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Module-Starter (Old) and /work/SRC/openSUSE:Factory/.perl-Module-Starter.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Module-Starter" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Module-Starter/perl-Module-Starter.changes 2013-12-11 11:32:06.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.perl-Module-Starter.new/perl-Module-Starter.changes 2015-04-22 01:17:52.000000000 +0200 @@ -1,0 +2,6 @@ +Mon Apr 13 18:43:00 UTC 2015 - co...@suse.com + +- updated to 1.71 + see /usr/share/doc/packages/perl-Module-Starter/Changes + +------------------------------------------------------------------- Old: ---- Module-Starter-1.62.tar.gz New: ---- Module-Starter-1.71.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Module-Starter.spec ++++++ --- /var/tmp/diff_new_pack.ho7QwD/_old 2015-04-22 01:17:52.000000000 +0200 +++ /var/tmp/diff_new_pack.ho7QwD/_new 2015-04-22 01:17:52.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package perl-Module-Starter # -# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: perl-Module-Starter -Version: 1.62 +Version: 1.71 Release: 0 %define cpan_name Module-Starter Summary: a simple starter kit for any module @@ -29,14 +29,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl BuildRequires: perl-macros +BuildRequires: perl(Module::Install::AuthorTests) BuildRequires: perl(Path::Class) BuildRequires: perl(parent) -#BuildRequires: perl(Module::Starter) -#BuildRequires: perl(Module::Starter::BuilderSet) -#BuildRequires: perl(Module::Starter::Simple) -#BuildRequires: perl(-norequire) -#BuildRequires: perl(TestParseFile) -#BuildRequires: perl(version) +Requires: perl(Module::Install::AuthorTests) Requires: perl(Path::Class) Requires: perl(parent) %{perl_requires} ++++++ Module-Starter-1.62.tar.gz -> Module-Starter-1.71.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/Changes new/Module-Starter-1.71/Changes --- old/Module-Starter-1.62/Changes 2013-12-08 11:50:23.000000000 +0100 +++ new/Module-Starter-1.71/Changes 2015-01-30 13:29:24.000000000 +0100 @@ -1,5 +1,18 @@ Revision history for Perl extension Module::Starter +1.71 Fri Jan 30 13:28:31 2015 + * GH #47: create_t breaks plugins. (David Pottage) + +1.70 Tue Jan 20 20:56:31 2015 + * Change the url for issues from rt.cpan.org to GitHub (David Pottage) + * Added a missing module to prerequisites (David Pottage) + * Marked t/pod* test scripts as RELEASE_TESTING (David Pottage) + * Moved boilerplate test to xt/ directory (David Pottage) + * Added a --fatalize option to generate code where warnings are fatal + This changes the default behaviour, as fatal warnings are now considered + unwise for any public module that many others depend on. + See: http://blogs.perl.org/users/peter_rabbitson/2014/01/fatal-warnings-are-a-ticking-time-bomb-via-chromatic.html + 1.62 Sun Dec 8 11:49:21 2013 * Fix regexp in tests to stop failing on 5.8.x (Sawyer X). * Fix FSF address in template block and tests (Brian Manning). diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/META.json new/Module-Starter-1.71/META.json --- old/Module-Starter-1.62/META.json 2013-12-08 11:51:47.000000000 +0100 +++ new/Module-Starter-1.71/META.json 2015-01-30 13:31:44.000000000 +0100 @@ -4,7 +4,7 @@ "Andy Lester <a...@petdance.com>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 6.84, CPAN::Meta::Converter version 2.120921", + "generated_by" : "ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.142690", "license" : [ "perl_5" ], @@ -35,23 +35,25 @@ "ExtUtils::Command" : "0", "File::Spec" : "0", "Getopt::Long" : "0", + "Module::Install::AuthorTests" : "0", "Path::Class" : "0", "Pod::Usage" : "1.21", "Test::Harness" : "0.21", "Test::More" : "0", - "parent" : "0" + "parent" : "0", + "perl" : "5.006001" } } }, "release_status" : "stable", "resources" : { "bugtracker" : { - "web" : "http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Starter" + "web" : "https://github.com/xsawyerx/module-starter/issues" }, "homepage" : "https://github.com/xsawyerx/module-starter", "repository" : { "url" : "https://github.com/xsawyerx/module-starter.git" } }, - "version" : "1.62" + "version" : "1.71" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/META.yml new/Module-Starter-1.71/META.yml --- old/Module-Starter-1.62/META.yml 2013-12-08 11:51:47.000000000 +0100 +++ new/Module-Starter-1.71/META.yml 2015-01-30 13:31:44.000000000 +0100 @@ -3,31 +3,33 @@ author: - 'Andy Lester <a...@petdance.com>' build_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: '0' configure_requires: - ExtUtils::MakeMaker: 0 + ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 6.84, CPAN::Meta::Converter version 2.120921' +generated_by: 'ExtUtils::MakeMaker version 6.66, CPAN::Meta::Converter version 2.142690' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html - version: 1.4 + version: '1.4' name: Module-Starter no_index: directory: - t - inc requires: - ExtUtils::Command: 0 - File::Spec: 0 - Getopt::Long: 0 - Path::Class: 0 - Pod::Usage: 1.21 - Test::Harness: 0.21 - Test::More: 0 - parent: 0 + ExtUtils::Command: '0' + File::Spec: '0' + Getopt::Long: '0' + Module::Install::AuthorTests: '0' + Path::Class: '0' + Pod::Usage: '1.21' + Test::Harness: '0.21' + Test::More: '0' + parent: '0' + perl: '5.006001' resources: - bugtracker: http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Starter + bugtracker: https://github.com/xsawyerx/module-starter/issues homepage: https://github.com/xsawyerx/module-starter repository: https://github.com/xsawyerx/module-starter.git -version: 1.62 +version: '1.71' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/Makefile.PL new/Module-Starter-1.71/Makefile.PL --- old/Module-Starter-1.62/Makefile.PL 2013-03-10 15:21:05.000000000 +0100 +++ new/Module-Starter-1.71/Makefile.PL 2015-01-30 13:15:55.000000000 +0100 @@ -9,24 +9,26 @@ AUTHOR => 'Andy Lester <a...@petdance.com>', VERSION_FROM => 'lib/Module/Starter.pm', (eval { ExtUtils::MakeMaker->VERSION(6.21) } ? (LICENSE => 'perl') : ()), + (eval { ExtUtils::MakeMaker->VERSION(6.48) } ? (MIN_PERL_VERSION => '5.6.1') : ()), ABSTRACT_FROM => 'lib/Module/Starter.pm', EXE_FILES => [ 'bin/module-starter' ], PREREQ_PM => { - 'Test::More' => 0, - 'Test::Harness' => 0.21, - 'ExtUtils::Command' => 0, - 'File::Spec' => 0, - 'Path::Class' => 0, - 'Getopt::Long' => 0, - 'Pod::Usage' => 1.21, - 'parent' => 0, + 'Test::More' => 0, + 'Test::Harness' => 0.21, + 'ExtUtils::Command' => 0, + 'File::Spec' => 0, + 'Path::Class' => 0, + 'Getopt::Long' => 0, + 'Pod::Usage' => 1.21, + 'parent' => 0, + 'Module::Install::AuthorTests' => 0, }, (! eval { ExtUtils::MakeMaker->VERSION(6.46) } ? () : (META_ADD => { resources => { homepage => 'https://github.com/xsawyerx/module-starter', repository => 'https://github.com/xsawyerx/module-starter.git', - bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Starter', + bugtracker => 'https://github.com/xsawyerx/module-starter/issues', }, }) ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/bin/module-starter new/Module-Starter-1.71/bin/module-starter --- old/Module-Starter-1.62/bin/module-starter 2013-03-10 15:21:05.000000000 +0100 +++ new/Module-Starter-1.71/bin/module-starter 2015-01-20 20:50:49.000000000 +0100 @@ -33,10 +33,13 @@ --ignores=type Ignore type files to include (repeatable) --license=type License under which the module will be distributed - (default is the same license as perl) + (default is artistic2) --minperl=ver Minimum Perl version required (optional; default is 5.006) + --fatalize Generate code that causes all warnings to be fatal with: + use warnings FATAL => 'all' + --verbose Print progress messages while working --force Delete pre-existing files if needed @@ -49,7 +52,7 @@ Available Ignore Types: - cvs, git, manifest, generic + cvs, git, hg, manifest, generic (NOTE: If manifest is included, the MANIFEST file will be skipped and only a MANIFEST.SKIP file will be included.) @@ -80,12 +83,14 @@ if the MODULE_STARTER_DIR environment variable is set, module-starter will look for C<config> in that directory. -The configuration file is just a list of names and values, separated by colons. -Values that take lists are just space separated. A sample configuration file -might read: +The configuration file is just a list of names and values, separated by +colons. Values that take lists are just space separated. Note that the +C<--ignores> command line parameter corresponds to the C<ignores_type> +configuration file entry. A sample configuration file might read: author: Ricardo SIGNES email: r...@cpan.org + ignores_type: git plugins: Module::Starter::Simple Module::Starter::Plugin::XYZ xyz_option: red green blue diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/lib/Module/Starter/App.pm new/Module-Starter-1.71/lib/Module/Starter/App.pm --- old/Module-Starter-1.62/lib/Module/Starter/App.pm 2013-12-08 11:51:06.000000000 +0100 +++ new/Module-Starter-1.71/lib/Module/Starter/App.pm 2015-01-30 13:30:03.000000000 +0100 @@ -9,7 +9,7 @@ use warnings; use strict; -our $VERSION = '1.62'; +our $VERSION = '1.71'; use Path::Class; use Getopt::Long; @@ -82,6 +82,8 @@ 'email=s' => \$config{email}, 'license=s' => \$config{license}, 'minperl=s' => \$config{minperl}, + 'fatalize' => \$config{fatalize}, + force => \$config{force}, verbose => \$config{verbose}, version => sub { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/lib/Module/Starter/BuilderSet.pm new/Module-Starter-1.71/lib/Module/Starter/BuilderSet.pm --- old/Module-Starter-1.62/lib/Module/Starter/BuilderSet.pm 2013-12-08 11:51:23.000000000 +0100 +++ new/Module-Starter-1.71/lib/Module/Starter/BuilderSet.pm 2015-01-30 13:30:12.000000000 +0100 @@ -11,11 +11,11 @@ =head1 VERSION -Version 1.62 +Version 1.71 =cut -our $VERSION = '1.62'; +our $VERSION = '1.71'; =head1 SYNOPSIS @@ -272,10 +272,10 @@ =head1 BUGS -Please report any bugs or feature requests to -C<bug-module-starter at rt.cpan.org>, or through the web interface at -L<http://rt.cpan.org>. I will be notified, and then you'll automatically -be notified of progress on your bug as I make changes. +Please report any bugs or feature requests to the bugtracker for this project +on GitHub at: L<https://github.com/xsawyerx/module-starter/issues>. I will be +notified, and then you'll automatically be notified of progress on your bug +as I make changes. =head1 AUTHOR diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/lib/Module/Starter/Plugin/Template.pm new/Module-Starter-1.71/lib/Module/Starter/Plugin/Template.pm --- old/Module-Starter-1.62/lib/Module/Starter/Plugin/Template.pm 2013-12-08 11:51:18.000000000 +0100 +++ new/Module-Starter-1.71/lib/Module/Starter/Plugin/Template.pm 2015-01-30 13:31:03.000000000 +0100 @@ -10,11 +10,11 @@ =head1 VERSION -Version 1.62 +Version 1.71 =cut -our $VERSION = '1.62'; +our $VERSION = '1.71'; =head1 SYNOPSIS @@ -236,10 +236,10 @@ =head1 Bugs -Please report any bugs or feature requests to -C<bug-module-starter at rt.cpan.org>, or through the web interface at -L<http://rt.cpan.org>. I will be notified, and then you'll automatically be -notified of progress on your bug as I make changes. +Please report any bugs or feature requests to the bugtracker for this project +on GitHub at: L<https://github.com/xsawyerx/module-starter/issues>. I will be +notified, and then you'll automatically be notified of progress on your bug +as I make changes. =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/lib/Module/Starter/Simple.pm new/Module-Starter-1.71/lib/Module/Starter/Simple.pm --- old/Module-Starter-1.62/lib/Module/Starter/Simple.pm 2013-12-08 11:51:12.000000000 +0100 +++ new/Module-Starter-1.71/lib/Module/Starter/Simple.pm 2015-01-30 13:31:23.000000000 +0100 @@ -17,11 +17,11 @@ =head1 VERSION -Version 1.62 +Version 1.71 =cut -our $VERSION = '1.62'; +our $VERSION = '1.71'; =head1 SYNOPSIS @@ -228,7 +228,7 @@ our $LICENSES = { perl => { license => 'perl', - slname => 'Perl_5', + slname => 'perl_5', url => 'http://dev.perl.org/licenses/', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -240,7 +240,7 @@ }, artistic => { license => 'artistic', - slname => 'Artistic_1_0', + slname => 'artistic_1', url => 'http://www.perlfoundation.org/artistic_license_1_0', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -266,7 +266,7 @@ }, artistic2 => { license => 'artistic2', - slname => 'Artistic_2_0', + slname => 'artistic_2', url => 'http://www.perlfoundation.org/artistic_license_2_0', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -308,7 +308,7 @@ }, mit => { license => 'mit', - slname => 'MIT', + slname => 'mit', url => 'http://www.opensource.org/licenses/mit-license.php', blurb => <<'EOT', This program is distributed under the MIT (X11) License: @@ -338,7 +338,7 @@ }, mozilla => { license => 'mozilla', - slname => 'Mozilla_1_1', + slname => 'mozilla_1_1', url => 'http://www.mozilla.org/MPL/1.1/', blurb => <<'EOT', The contents of this file are subject to the Mozilla Public License @@ -354,7 +354,7 @@ }, mozilla2 => { license => 'mozilla2', - slname => 'Mozilla_2_0', + slname => 'open_source', url => 'http://www.mozilla.org/MPL/2.0/', blurb => <<'EOT', This Source Code Form is subject to the terms of the Mozilla Public @@ -364,7 +364,7 @@ }, bsd => { license => 'bsd', - slname => 'BSD', + slname => 'bsd', url => 'http://www.opensource.org/licenses/BSD-3-Clause', blurb => <<"EOT", This program is distributed under the (Revised) BSD License: @@ -401,7 +401,7 @@ }, freebsd => { license => 'freebsd', - slname => 'FreeBSD', + slname => 'freebsd', url => 'http://www.opensource.org/licenses/BSD-2-Clause', blurb => <<"EOT", This program is distributed under the (Simplified) BSD License: @@ -433,7 +433,7 @@ }, cc0 => { license => 'cc0', - slname => 'CC0', + slname => 'unrestricted', url => 'http://creativecommons.org/publicdomain/zero/1.0/', blurb => <<'EOT', This program is distributed under the CC0 1.0 Universal License: @@ -465,7 +465,7 @@ }, gpl => { license => 'gpl', - slname => 'GPL_2', + slname => 'gpl_2', url => 'http://www.gnu.org/licenses/gpl-2.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify @@ -485,7 +485,7 @@ }, lgpl => { license => 'lgpl', - slname => 'LGPL_2', + slname => 'lgpl_2_1', url => 'http://www.gnu.org/licenses/lgpl-2.1.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -506,7 +506,7 @@ }, gpl3 => { license => 'gpl3', - slname => 'GPL_3', + slname => 'gpl_3', url => 'http://www.gnu.org/licenses/gpl-3.0.html', blurb => <<'EOT', This program is free software: you can redistribute it and/or modify @@ -525,7 +525,7 @@ }, lgpl3 => { license => 'lgpl3', - slname => 'LGPL_3', + slname => 'lgpl_3_0', url => 'http://www.gnu.org/licenses/lgpl-3.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -545,7 +545,7 @@ }, agpl3 => { license => 'agpl3', - slname => 'AGPL_2', + slname => 'agpl_3', url => 'http://www.gnu.org/licenses/agpl-3.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -565,7 +565,7 @@ }, apache => { license => 'apache', - slname => 'Apache_2_0', + slname => 'apache_2_0', url => 'http://www.apache.org/licenses/LICENSE-2.0', blurb => <<'EOT', Licensed under the Apache License, Version 2.0 (the "License"); @@ -583,7 +583,7 @@ }, qpl => { license => 'qpl', - slname => 'QPL_1_0', + slname => 'qpl_1_0', url => 'http://www.opensource.org/licenses/QPL-1.0', blurb => <<'EOT', This program is distributed under the Q Public License (QPL-1.0): @@ -753,10 +753,12 @@ my $slname = $self->{license_record} ? $self->{license_record}->{slname} : $self->{license}; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + return <<"HERE"; use $self->{minperl}; use strict; -use warnings FATAL => 'all'; +use $warnings use ExtUtils::MakeMaker; WriteMakefile( @@ -802,10 +804,12 @@ my $license_url = $self->{license_record} ? $self->{license_record}->{url} : ''; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + return <<"HERE"; use $self->{minperl}; use strict; -use warnings FATAL => 'all'; +use $warnings use inc::Module::Install; name '$self->{distro}'; @@ -822,6 +826,7 @@ #IRC => 'irc://irc.perl.org/#$self->{distro}', license => '$license_url', #repository => 'git://github.com/$self->{author}/$self->{distro}.git', + #repository => 'https://bitbucket.org/$self->{author}/$self->{distro}', bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=$self->{distro}', ); @@ -890,10 +895,12 @@ my $slname = $self->{license_record} ? $self->{license_record}->{slname} : $self->{license}; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + return <<"HERE"; use $self->{minperl}; use strict; -use warnings FATAL => 'all'; +use $warnings use Module::Build; my \$builder = Module::Build->new( @@ -1073,9 +1080,12 @@ my $self = shift; my @modules = @_; - my %t_files = $self->t_guts(@modules); + my %t_files = $self->t_guts(@modules); + my %xt_files = $self->xt_guts(@modules); - my @files = map { $self->_create_t($_, $t_files{$_}) } keys %t_files; + my @files; + push @files, map { $self->_create_t('t', $_, $t_files{$_}) } keys %t_files; + push @files, map { $self->_create_t('xt', $_, $xt_files{$_}) } keys %xt_files; return @files; } @@ -1096,16 +1106,22 @@ my %t_files; my $minperl = $self->{minperl}; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + my $header = <<"EOH"; #!perl -T use $minperl; use strict; -use warnings FATAL => 'all'; +use $warnings use Test::More; EOH $t_files{'pod.t'} = $header.<<'HERE'; +unless ( $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + # Ensure a recent version of Test::Pod my $min_tp = 1.22; eval "use Test::Pod $min_tp"; @@ -1127,6 +1143,10 @@ HERE $t_files{'pod-coverage.t'} = $header.<<'HERE'; +unless ( $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + # Ensure a recent version of Test::Pod::Coverage my $min_tpc = 1.08; eval "use Test::Pod::Coverage $min_tpc"; @@ -1159,12 +1179,42 @@ diag( "Testing $main_module \$${main_module}::VERSION, Perl \$], \$^X" ); HERE + return %t_files; +} + +=head2 xt_guts( @modules ) + +This method is called by create_t, and returns a description of the author +only *.t files to be created in the xt directory. + +The return value is a hash of test files to create. Each key is a filename and +each value is the contents of that file. + +=cut + +sub xt_guts { + my $self = shift; + my @modules = @_; + + my %xt_files; + my $minperl = $self->{minperl}; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + + my $header = <<"EOH"; +#!perl -T +use $minperl; +use strict; +use $warnings +use Test::More; + +EOH + my $module_boilerplate_tests; $module_boilerplate_tests .= " module_boilerplate_ok('".$self->_module_to_pm_file($_)."');\n" for @modules; my $boilerplate_tests = @modules + 2 + $[; - $t_files{'boilerplate.t'} = $header.<<"HERE"; + $xt_files{'boilerplate.t'} = $header.<<"HERE"; plan tests => $boilerplate_tests; sub not_in_file_ok { @@ -1217,15 +1267,16 @@ HERE - return %t_files; + return %xt_files; } sub _create_t { my $self = shift; + my $directory = shift; # 't' or 'xt' my $filename = shift; my $content = shift; - my @dirparts = ( $self->{basedir}, 't' ); + my @dirparts = ( $self->{basedir}, $directory ); my $tdir = File::Spec->catdir( @dirparts ); if ( not -d $tdir ) { local @ARGV = $tdir; @@ -1237,7 +1288,7 @@ $self->create_file( $fname, $content ); $self->progress( "Created $fname" ); - return "t/$filename"; + return join('/', $directory, $filename ); } =head2 create_MB_MANIFEST @@ -1303,7 +1354,7 @@ $self->$manifest_method(); $self->filter_lines_in_file( $fname, - qr/^t\/boilerplate\.t$/, + qr/^xt\/boilerplate\.t$/, qr/^ignore\.txt$/, ); @@ -1410,6 +1461,7 @@ generic => 'ignore.txt', cvs => '.cvsignore', git => '.gitignore', + hg => '.hgignore', manifest => 'MANIFEST.SKIP', ); @@ -1476,7 +1528,7 @@ ,v$ \B\.svn\b \b_darcs\b -# (.git only in top-level, hence it's blocked above) +# (.git or .hg only in top-level, hence it's blocked above) # Avoid temp and backup files. ~$ @@ -1499,7 +1551,7 @@ \.rej$ EOF }; - $guts->{cvs} = $guts->{git} = $guts->{generic}; + $guts->{hg} = $guts->{cvs} = $guts->{git} = $guts->{generic}; return $guts->{$type}; } @@ -1581,10 +1633,10 @@ =head1 BUGS -Please report any bugs or feature requests to -C<bug-module-starter at rt.cpan.org>, or through the web interface at -L<http://rt.cpan.org>. I will be notified, and then you'll automatically -be notified of progress on your bug as I make changes. +Please report any bugs or feature requests to the bugtracker for this project +on GitHub at: L<https://github.com/xsawyerx/module-starter/issues>. I will be +notified, and then you'll automatically be notified of progress on your bug +as I make changes. =head1 AUTHOR @@ -1612,12 +1664,14 @@ my $self = shift; my $module = shift; my $rtname = shift; + my $warnings = sprintf 'warnings%s;', ($self->{fatalize} ? " FATAL => 'all" : ''); + my $content = <<"HERE"; package $module; use $self->{minperl}; use strict; -use warnings FATAL => 'all'; +use $warnings \=head1 NAME diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/lib/Module/Starter.pm new/Module-Starter-1.71/lib/Module/Starter.pm --- old/Module-Starter-1.62/lib/Module/Starter.pm 2013-12-08 11:51:03.000000000 +0100 +++ new/Module-Starter-1.71/lib/Module/Starter.pm 2015-01-30 13:29:52.000000000 +0100 @@ -10,11 +10,11 @@ =head1 VERSION -Version 1.62 +Version 1.71 =cut -our $VERSION = '1.62'; +our $VERSION = '1.71'; =head1 SYNOPSIS @@ -56,7 +56,8 @@ license => $license, # type of license; defaults to 'perl' author => $author, # author's full name (taken from C<getpwuid> if not provided) email => $email, # author's email address (taken from C<EMAIL> if not provided) - ignores_type => $type, # ignores file type ('generic', 'cvs', 'git', 'manifest' ) + ignores_type => $type, # ignores file type ('generic', 'cvs', 'git', 'hg', 'manifest' ) + fatalize => $fatalize, # generate code that makes warnings fatal verbose => $verbose, # bool: print progress messages; defaults to 0 force => $force # bool: overwrite existing files; defaults to 0 @@ -67,6 +68,7 @@ ignores_type => 'generic' # default, creates 'ignore.txt' ignores_type => 'cvs' # creates .cvsignore ignores_type => 'git' # creates .gitignore + ignores_type => 'hg' # creates .hgignore ignores_type => 'manifest' # creates MANIFEST.SKIP It is also possible to provide an array ref with multiple types wanted: @@ -143,7 +145,7 @@ =item * RT: CPAN's request tracker -L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Module-Starter> +L<https://github.com/xsawyerx/module-starter/issuesr> =item * Search CPAN @@ -153,10 +155,10 @@ =head1 BUGS -Please report any bugs or feature requests to -C<bug-module-starter at rt.cpan.org>, or through the web interface at -L<http://rt.cpan.org>. I will be notified, and then you'll automatically be -notified of progress on your bug as I make changes. +Please report any bugs or feature requests to the bugtracker for this project +on GitHub at: L<https://github.com/xsawyerx/module-starter/issues>. I will be +notified, and then you'll automatically be notified of progress on your bug +as I make changes. =head1 COPYRIGHT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/t/data/templates/Module.pm new/Module-Starter-1.71/t/data/templates/Module.pm --- old/Module-Starter-1.62/t/data/templates/Module.pm 2013-03-10 15:21:05.000000000 +0100 +++ new/Module-Starter-1.71/t/data/templates/Module.pm 2015-01-20 20:50:49.000000000 +0100 @@ -54,12 +54,10 @@ =head1 BUGS -Please report any bugs or feature requests to C<bug-foo-bar at rt.cpan.org>, or through -the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Foo-Bar>. I will be notified, and then you'll -automatically be notified of progress on your bug as I make changes. - - - +Please report any bugs or feature requests to the bugtracker for this project +on GitHub at: L<https://github.com/xsawyerx/module-starter/issues>. I will be +notified, and then you'll automatically be notified of progress on your bug +as I make changes. =head1 SUPPORT diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/t/data/templates/README new/Module-Starter-1.71/t/data/templates/README --- old/Module-Starter-1.62/t/data/templates/README 2013-03-10 15:21:05.000000000 +0100 +++ new/Module-Starter-1.71/t/data/templates/README 2015-01-20 20:50:49.000000000 +0100 @@ -27,8 +27,8 @@ You can also look for information at: - RT, CPAN's request tracker - http://rt.cpan.org/NoAuth/Bugs.html?Dist=Foo-Bar + GitHub issue tracker + https://github.com/xsawyerx/module-starter/issues AnnoCPAN, Annotated CPAN documentation http://annocpan.org/dist/Foo-Bar diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Module-Starter-1.62/t/test-dist.t new/Module-Starter-1.71/t/test-dist.t --- old/Module-Starter-1.62/t/test-dist.t 2013-12-08 11:48:22.000000000 +0100 +++ new/Module-Starter-1.71/t/test-dist.t 2015-01-20 20:50:49.000000000 +0100 @@ -107,7 +107,7 @@ our $LICENSES = { perl => { license => 'perl', - slname => 'Perl_5', + slname => 'perl_5', url => 'http://dev.perl.org/licenses/', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -119,7 +119,7 @@ }, artistic => { license => 'artistic', - slname => 'Artistic_1_0', + slname => 'artistic_1', url => 'http://www.perlfoundation.org/artistic_license_1_0', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -145,7 +145,7 @@ }, artistic2 => { license => 'artistic2', - slname => 'Artistic_2_0', + slname => 'artistic_2', url => 'http://www.perlfoundation.org/artistic_license_2_0', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify it @@ -187,7 +187,7 @@ }, mit => { license => 'mit', - slname => 'MIT', + slname => 'mit', url => 'http://www.opensource.org/licenses/mit-license.php', blurb => <<'EOT', This program is distributed under the MIT (X11) License: @@ -217,7 +217,7 @@ }, mozilla => { license => 'mozilla', - slname => 'Mozilla_1_1', + slname => 'mozilla_1_1', url => 'http://www.mozilla.org/MPL/1.1/', blurb => <<'EOT', The contents of this file are subject to the Mozilla Public License @@ -233,7 +233,7 @@ }, mozilla2 => { license => 'mozilla2', - slname => 'Mozilla_2_0', + slname => 'open_source', url => 'http://www.mozilla.org/MPL/2.0/', blurb => <<'EOT', This Source Code Form is subject to the terms of the Mozilla Public @@ -243,7 +243,7 @@ }, bsd => { license => 'bsd', - slname => 'BSD', + slname => 'bsd', url => 'http://www.opensource.org/licenses/BSD-3-Clause', blurb => <<"EOT", This program is distributed under the (Revised) BSD License: @@ -280,7 +280,7 @@ }, freebsd => { license => 'freebsd', - slname => 'FreeBSD', + slname => 'freebsd', url => 'http://www.opensource.org/licenses/BSD-2-Clause', blurb => <<"EOT", This program is distributed under the (Simplified) BSD License: @@ -312,7 +312,7 @@ }, cc0 => { license => 'cc0', - slname => 'CC0', + slname => 'unrestricted', url => 'http://creativecommons.org/publicdomain/zero/1.0/', blurb => <<'EOT', This program is distributed under the CC0 1.0 Universal License: @@ -344,7 +344,7 @@ }, gpl => { license => 'gpl', - slname => 'GPL_2', + slname => 'gpl_2', url => 'http://www.gnu.org/licenses/gpl-2.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or modify @@ -364,7 +364,7 @@ }, lgpl => { license => 'lgpl', - slname => 'LGPL_2', + slname => 'lgpl_2_1', url => 'http://www.gnu.org/licenses/lgpl-2.1.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -385,7 +385,7 @@ }, gpl3 => { license => 'gpl3', - slname => 'GPL_3', + slname => 'gpl_3', url => 'http://www.gnu.org/licenses/gpl-3.0.html', blurb => <<'EOT', This program is free software: you can redistribute it and/or modify @@ -404,7 +404,7 @@ }, lgpl3 => { license => 'lgpl3', - slname => 'LGPL_3', + slname => 'lgpl_3_0', url => 'http://www.gnu.org/licenses/lgpl-3.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -424,7 +424,7 @@ }, agpl3 => { license => 'agpl3', - slname => 'AGPL_2', + slname => 'agpl_3', url => 'http://www.gnu.org/licenses/agpl-3.0.html', blurb => <<'EOT', This program is free software; you can redistribute it and/or @@ -444,7 +444,7 @@ }, apache => { license => 'apache', - slname => 'Apache_2_0', + slname => 'apache_2_0', url => 'http://www.apache.org/licenses/LICENSE-2.0', blurb => <<'EOT', Licensed under the Apache License, Version 2.0 (the "License"); @@ -462,7 +462,7 @@ }, qpl => { license => 'qpl', - slname => 'QPL_1_0', + slname => 'qpl_1_0', url => 'http://www.opensource.org/licenses/QPL-1.0', blurb => <<'EOT', This program is distributed under the Q Public License (QPL-1.0): @@ -557,7 +557,7 @@ Carp::confess( "Wrong method for testing $basefn; use TestParseModuleFile" ); } - my $msw_re = qr{use \Q$minperl;\E\n\Quse strict;\E\n\Quse warnings FATAL => 'all';\E\n}; + my $msw_re = qr{use \Q$minperl;\E\n\Quse strict;\E\n\Quse warnings;\E\n}; my $mswb_re = $self->{builder} eq 'Module::Install' ? qr{\A$msw_re\Quse inc::$self->{builder};\E\n\n} : qr{\A$msw_re\Quse $self->{builder};\E\n\n}; my $mswt_re = qr{\A\Q#!perl -T\E\n$msw_re\Quse Test::More;\E\n\n}; @@ -728,6 +728,7 @@ #IRC => 'irc://irc.perl.org/#$distro', license => '$license_url', #repository => 'git://github.com/$self->{author}/$distro.git', + #repository => 'https://bitbucket.org/$self->{author}/$self->{distro}', bugtracker => 'http://rt.cpan.org/NoAuth/Bugs.html?Dist=$distro', ); @@ -801,7 +802,7 @@ ,v$ \B\.svn\b \b_darcs\b -# (.git only in top-level, hence it's blocked above) +# (.git or .hg only in top-level, hence it's blocked above) # Avoid temp and backup files. ~$ @@ -971,12 +972,17 @@ $self->is_end(); } elsif ($basefn eq 'pod.t') { - plan tests => 3; + plan tests => 4; $self->parse($mswt_re, "#!perl/Min/Strict/Warning/Test::More" ); + $self->consume( + "unless ( \$ENV{RELEASE_TESTING} ) {\n plan( skip_all => \"Author tests not required for installation\" );\n}\n\n", + 'test is release only' + ); + my $minimal_test_pod = "1.22"; $self->consume(<<"EOF"); # Ensure a recent version of Test::Pod @@ -990,12 +996,17 @@ $self->is_end(); } elsif ($basefn eq 'pod-coverage.t') { - plan tests => 5; + plan tests => 6; $self->parse($mswt_re, "#!perl/Min/Strict/Warning/Test::More" ); + $self->consume( + "unless ( \$ENV{RELEASE_TESTING} ) {\n plan( skip_all => \"Author tests not required for installation\" );\n}\n\n", + 'test is release only' + ); + my $l1 = q{eval "use Test::Pod::Coverage $min_tpc";}; $self->parse( @@ -1042,7 +1053,7 @@ Test::More::plan tests => 19; $self->parse( - qr/\Apackage \Q$perl_name\E;\n\nuse $minperl;\nuse strict;\n\Quse warnings FATAL => 'all';\E\n\n/ms, + qr/\Apackage \Q$perl_name\E;\n\nuse $minperl;\nuse strict;\n\Quse warnings;\E\n\n/ms, 'start', ); @@ -1242,7 +1253,7 @@ $manifest_skip ? 'MANIFEST.SKIP' : 'MANIFEST', $distro_var->{builder} eq 'Module::Build' ? 'Build.PL' : 'Makefile.PL', [qw(t 00-load.t)], - [qw(t boilerplate.t)], + [qw(xt boilerplate.t)], [qw(t manifest.t)], [qw(t pod.t)], [qw(t pod-coverage.t)],