From 25e62e033c29bed0d02d3a246f75986411ee3622 Mon Sep 17 00:00:00 2001 From: "Zane C. Bowers-Hadley" Date: Thu, 28 Oct 2021 06:28:25 -0500 Subject: [PATCH] init the module --- .gitignore | 6 +-- Changes | 5 ++ MANIFEST | 9 ++++ Makefile.PL | 45 ++++++++++++++++++ README | 50 ++++++++++++++++++++ lib/Server/Toaster.pm | 105 ++++++++++++++++++++++++++++++++++++++++++ t/00-load.t | 13 ++++++ t/manifest.t | 15 ++++++ t/pod-coverage.t | 24 ++++++++++ t/pod.t | 16 +++++++ 10 files changed, 285 insertions(+), 3 deletions(-) create mode 100644 Changes create mode 100644 MANIFEST create mode 100644 Makefile.PL create mode 100644 README create mode 100644 lib/Server/Toaster.pm create mode 100644 t/00-load.t create mode 100644 t/manifest.t create mode 100644 t/pod-coverage.t create mode 100644 t/pod.t diff --git a/.gitignore b/.gitignore index ecf66f8..8057c03 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,8 @@ !Build/ .last_cover_stats -/META.yml -/META.json -/MYMETA.* +META.yml +META.json +MYMETA.* *.o *.pm.tdy *.bs diff --git a/Changes b/Changes new file mode 100644 index 0000000..00f5575 --- /dev/null +++ b/Changes @@ -0,0 +1,5 @@ +Revision history for Server-Toaster + +0.01 Date/time + First version, released on an unsuspecting world. + diff --git a/MANIFEST b/MANIFEST new file mode 100644 index 0000000..a4fee32 --- /dev/null +++ b/MANIFEST @@ -0,0 +1,9 @@ +Changes +lib/Server/Toaster.pm +Makefile.PL +MANIFEST This list of files +README +t/00-load.t +t/manifest.t +t/pod-coverage.t +t/pod.t diff --git a/Makefile.PL b/Makefile.PL new file mode 100644 index 0000000..1e66153 --- /dev/null +++ b/Makefile.PL @@ -0,0 +1,45 @@ +use 5.006; +use strict; +use warnings; +use ExtUtils::MakeMaker; + +my %WriteMakefileArgs = ( + NAME => 'Server::Toaster', + AUTHOR => q{Zane C. Bowers-Hadley }, + VERSION_FROM => 'lib/Server/Toaster.pm', + ABSTRACT_FROM => 'lib/Server/Toaster.pm', + LICENSE => 'artistic_2', + MIN_PERL_VERSION => '5.006', + CONFIGURE_REQUIRES => { + 'ExtUtils::MakeMaker' => '0', + }, + TEST_REQUIRES => { + 'Test::More' => '0', + }, + PREREQ_PM => { + #'ABC' => '1.6', + #'Foo::Bar::Module' => '5.0401', + }, + dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', }, + clean => { FILES => 'Server-Toaster-*' }, +); + +# Compatibility with old versions of ExtUtils::MakeMaker +unless (eval { ExtUtils::MakeMaker->VERSION('6.64'); 1 }) { + my $test_requires = delete $WriteMakefileArgs{TEST_REQUIRES} || {}; + @{$WriteMakefileArgs{PREREQ_PM}}{keys %$test_requires} = values %$test_requires; +} + +unless (eval { ExtUtils::MakeMaker->VERSION('6.55_03'); 1 }) { + my $build_requires = delete $WriteMakefileArgs{BUILD_REQUIRES} || {}; + @{$WriteMakefileArgs{PREREQ_PM}}{keys %$build_requires} = values %$build_requires; +} + +delete $WriteMakefileArgs{CONFIGURE_REQUIRES} + unless eval { ExtUtils::MakeMaker->VERSION('6.52'); 1 }; +delete $WriteMakefileArgs{MIN_PERL_VERSION} + unless eval { ExtUtils::MakeMaker->VERSION('6.48'); 1 }; +delete $WriteMakefileArgs{LICENSE} + unless eval { ExtUtils::MakeMaker->VERSION('6.31'); 1 }; + +WriteMakefile(%WriteMakefileArgs); diff --git a/README b/README new file mode 100644 index 0000000..a3c34d6 --- /dev/null +++ b/README @@ -0,0 +1,50 @@ +Server-Toaster + +The README is used to introduce the module and provide instructions on +how to install the module, any machine dependencies it may have (for +example C compilers and installed libraries) and any other information +that should be provided before the module is installed. + +A README file is required for CPAN modules since CPAN extracts the README +file from a module distribution so that people browsing the archive +can use it to get an idea of the module's uses. It is usually a good idea +to provide version information here so that people can decide whether +fixes for the module are worth downloading. + + +INSTALLATION + +To install this module, run the following commands: + + perl Makefile.PL + make + make test + make install + +SUPPORT AND DOCUMENTATION + +After installing, you can find documentation for this module with the +perldoc command. + + perldoc Server::Toaster + +You can also look for information at: + + RT, CPAN's request tracker (report bugs here) + https://rt.cpan.org/NoAuth/Bugs.html?Dist=Server-Toaster + + CPAN Ratings + https://cpanratings.perl.org/d/Server-Toaster + + Search CPAN + https://metacpan.org/release/Server-Toaster + + +LICENSE AND COPYRIGHT + +This software is Copyright (c) 2021 by Zane C. Bowers-Hadley. + +This is free software, licensed under: + + The Artistic License 2.0 (GPL Compatible) + diff --git a/lib/Server/Toaster.pm b/lib/Server/Toaster.pm new file mode 100644 index 0000000..e1e6d00 --- /dev/null +++ b/lib/Server/Toaster.pm @@ -0,0 +1,105 @@ +package Server::Toaster; + +use 5.006; +use strict; +use warnings; + +=head1 NAME + +Server::Toaster - The great new Server::Toaster! + +=head1 VERSION + +Version 0.01 + +=cut + +our $VERSION = '0.01'; + + +=head1 SYNOPSIS + +Quick summary of what the module does. + +Perhaps a little code snippet. + + use Server::Toaster; + + my $foo = Server::Toaster->new(); + ... + +=head1 EXPORT + +A list of functions that can be exported. You can delete this section +if you don't export anything, such as for a purely object-oriented module. + +=head1 SUBROUTINES/METHODS + +=head2 function1 + +=cut + +sub function1 { +} + +=head2 function2 + +=cut + +sub function2 { +} + +=head1 AUTHOR + +Zane C. Bowers-Hadley, C<< >> + +=head1 BUGS + +Please report any bugs or feature requests to C, or through +the web interface at L. I will be notified, and then you'll +automatically be notified of progress on your bug as I make changes. + + + + +=head1 SUPPORT + +You can find documentation for this module with the perldoc command. + + perldoc Server::Toaster + + +You can also look for information at: + +=over 4 + +=item * RT: CPAN's request tracker (report bugs here) + +L + +=item * CPAN Ratings + +L + +=item * Search CPAN + +L + +=back + + +=head1 ACKNOWLEDGEMENTS + + +=head1 LICENSE AND COPYRIGHT + +This software is Copyright (c) 2021 by Zane C. Bowers-Hadley. + +This is free software, licensed under: + + The Artistic License 2.0 (GPL Compatible) + + +=cut + +1; # End of Server::Toaster diff --git a/t/00-load.t b/t/00-load.t new file mode 100644 index 0000000..62679dc --- /dev/null +++ b/t/00-load.t @@ -0,0 +1,13 @@ +#!perl +use 5.006; +use strict; +use warnings; +use Test::More; + +plan tests => 1; + +BEGIN { + use_ok( 'Server::Toaster' ) || print "Bail out!\n"; +} + +diag( "Testing Server::Toaster $Server::Toaster::VERSION, Perl $], $^X" ); diff --git a/t/manifest.t b/t/manifest.t new file mode 100644 index 0000000..09b0ee4 --- /dev/null +++ b/t/manifest.t @@ -0,0 +1,15 @@ +#!perl +use 5.006; +use strict; +use warnings; +use Test::More; + +unless ( $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +my $min_tcm = 0.9; +eval "use Test::CheckManifest $min_tcm"; +plan skip_all => "Test::CheckManifest $min_tcm required" if $@; + +ok_manifest(); diff --git a/t/pod-coverage.t b/t/pod-coverage.t new file mode 100644 index 0000000..16f359c --- /dev/null +++ b/t/pod-coverage.t @@ -0,0 +1,24 @@ +#!perl +use 5.006; +use strict; +use warnings; +use Test::More; + +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"; +plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage" + if $@; + +# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version, +# but older versions don't recognize some common documentation styles +my $min_pc = 0.18; +eval "use Pod::Coverage $min_pc"; +plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage" + if $@; + +all_pod_coverage_ok(); diff --git a/t/pod.t b/t/pod.t new file mode 100644 index 0000000..9737a56 --- /dev/null +++ b/t/pod.t @@ -0,0 +1,16 @@ +#!perl +use 5.006; +use strict; +use warnings; +use Test::More; + +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"; +plan skip_all => "Test::Pod $min_tp required for testing POD" if $@; + +all_pod_files_ok();