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 - [email protected]
+
+- 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 <[email protected]>"
],
"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 <[email protected]>'
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 <[email protected]>',
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: [email protected]
+ 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)],