Skip to content

Commit 346f01b

Browse files
committed
Initial bootstrap
0 parents  commit 346f01b

11 files changed

+401
-0
lines changed

Changes

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
Revision history for Net-CardDAVTalk
2+
3+
0.01 Date/time
4+
First version, released on an unsuspecting world.
5+

MANIFEST

+9
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
Changes
2+
lib/Net/CardDAVTalk.pm
3+
Makefile.PL
4+
MANIFEST This list of files
5+
README
6+
t/00-load.t
7+
t/manifest.t
8+
t/pod-coverage.t
9+
t/pod.t

Makefile.PL

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
use 5.006;
2+
use strict;
3+
use warnings FATAL => 'all';
4+
use ExtUtils::MakeMaker;
5+
6+
WriteMakefile(
7+
NAME => 'Net::CardDAVTalk',
8+
AUTHOR => q{Bron Gondwana <[email protected]>},
9+
VERSION_FROM => 'lib/Net/CardDAVTalk.pm',
10+
ABSTRACT_FROM => 'lib/Net/CardDAVTalk.pm',
11+
LICENSE => 'Artistic_2_0',
12+
PL_FILES => {},
13+
MIN_PERL_VERSION => 5.006,
14+
CONFIGURE_REQUIRES => {
15+
'ExtUtils::MakeMaker' => 0,
16+
},
17+
BUILD_REQUIRES => {
18+
'Test::More' => 0,
19+
},
20+
PREREQ_PM => {
21+
#'ABC' => 1.6,
22+
#'Foo::Bar::Module' => 5.0401,
23+
},
24+
dist => { COMPRESS => 'gzip -9f', SUFFIX => 'gz', },
25+
clean => { FILES => 'Net-CardDAVTalk-*' },
26+
);

README

+85
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
Net-CardDAVTalk
2+
3+
The README is used to introduce the module and provide instructions on
4+
how to install the module, any machine dependencies it may have (for
5+
example C compilers and installed libraries) and any other information
6+
that should be provided before the module is installed.
7+
8+
A README file is required for CPAN modules since CPAN extracts the README
9+
file from a module distribution so that people browsing the archive
10+
can use it to get an idea of the module's uses. It is usually a good idea
11+
to provide version information here so that people can decide whether
12+
fixes for the module are worth downloading.
13+
14+
15+
INSTALLATION
16+
17+
To install this module, run the following commands:
18+
19+
perl Makefile.PL
20+
make
21+
make test
22+
make install
23+
24+
SUPPORT AND DOCUMENTATION
25+
26+
After installing, you can find documentation for this module with the
27+
perldoc command.
28+
29+
perldoc Net::CardDAVTalk
30+
31+
You can also look for information at:
32+
33+
RT, CPAN's request tracker (report bugs here)
34+
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-CardDAVTalk
35+
36+
AnnoCPAN, Annotated CPAN documentation
37+
http://annocpan.org/dist/Net-CardDAVTalk
38+
39+
CPAN Ratings
40+
http://cpanratings.perl.org/d/Net-CardDAVTalk
41+
42+
Search CPAN
43+
http://search.cpan.org/dist/Net-CardDAVTalk/
44+
45+
46+
LICENSE AND COPYRIGHT
47+
48+
Copyright (C) 2015 Bron Gondwana
49+
50+
This program is free software; you can redistribute it and/or modify it
51+
under the terms of the the Artistic License (2.0). You may obtain a
52+
copy of the full license at:
53+
54+
L<http://www.perlfoundation.org/artistic_license_2_0>
55+
56+
Any use, modification, and distribution of the Standard or Modified
57+
Versions is governed by this Artistic License. By using, modifying or
58+
distributing the Package, you accept this license. Do not use, modify,
59+
or distribute the Package, if you do not accept this license.
60+
61+
If your Modified Version has been derived from a Modified Version made
62+
by someone other than you, you are nevertheless required to ensure that
63+
your Modified Version complies with the requirements of this license.
64+
65+
This license does not grant you the right to use any trademark, service
66+
mark, tradename, or logo of the Copyright Holder.
67+
68+
This license includes the non-exclusive, worldwide, free-of-charge
69+
patent license to make, have made, use, offer to sell, sell, import and
70+
otherwise transfer the Package with respect to any patent claims
71+
licensable by the Copyright Holder that are necessarily infringed by the
72+
Package. If you institute patent litigation (including a cross-claim or
73+
counterclaim) against any party alleging that the Package constitutes
74+
direct or contributory patent infringement, then this Artistic License
75+
to you shall terminate on the date that such litigation is filed.
76+
77+
Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
78+
AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
79+
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
80+
PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY
81+
YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
82+
CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
83+
CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
84+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
85+

ignore.txt

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
Makefile
2+
Makefile.old
3+
Build
4+
Build.bat
5+
META.*
6+
MYMETA.*
7+
.build/
8+
_build/
9+
cover_db/
10+
blib/
11+
inc/
12+
.lwpcookies
13+
.last_cover_stats
14+
nytprof.out
15+
pod2htm*.tmp
16+
pm_to_blib
17+
Net-CardDAVTalk-*
18+
Net-CardDAVTalk-*.tar.gz

lib/Net/CardDAVTalk.pm

+141
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
package Net::CardDAVTalk;
2+
3+
use 5.006;
4+
use strict;
5+
use warnings FATAL => 'all';
6+
7+
=head1 NAME
8+
9+
Net::CardDAVTalk - The great new Net::CardDAVTalk!
10+
11+
=head1 VERSION
12+
13+
Version 0.01
14+
15+
=cut
16+
17+
our $VERSION = '0.01';
18+
19+
20+
=head1 SYNOPSIS
21+
22+
Quick summary of what the module does.
23+
24+
Perhaps a little code snippet.
25+
26+
use Net::CardDAVTalk;
27+
28+
my $foo = Net::CardDAVTalk->new();
29+
...
30+
31+
=head1 EXPORT
32+
33+
A list of functions that can be exported. You can delete this section
34+
if you don't export anything, such as for a purely object-oriented module.
35+
36+
=head1 SUBROUTINES/METHODS
37+
38+
=head2 function1
39+
40+
=cut
41+
42+
sub function1 {
43+
}
44+
45+
=head2 function2
46+
47+
=cut
48+
49+
sub function2 {
50+
}
51+
52+
=head1 AUTHOR
53+
54+
Bron Gondwana, C<< <brong at cpan.org> >>
55+
56+
=head1 BUGS
57+
58+
Please report any bugs or feature requests to C<bug-net-carddavtalk at rt.cpan.org>, or through
59+
the web interface at L<http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Net-CardDAVTalk>. I will be notified, and then you'll
60+
automatically be notified of progress on your bug as I make changes.
61+
62+
63+
64+
65+
=head1 SUPPORT
66+
67+
You can find documentation for this module with the perldoc command.
68+
69+
perldoc Net::CardDAVTalk
70+
71+
72+
You can also look for information at:
73+
74+
=over 4
75+
76+
=item * RT: CPAN's request tracker (report bugs here)
77+
78+
L<http://rt.cpan.org/NoAuth/Bugs.html?Dist=Net-CardDAVTalk>
79+
80+
=item * AnnoCPAN: Annotated CPAN documentation
81+
82+
L<http://annocpan.org/dist/Net-CardDAVTalk>
83+
84+
=item * CPAN Ratings
85+
86+
L<http://cpanratings.perl.org/d/Net-CardDAVTalk>
87+
88+
=item * Search CPAN
89+
90+
L<http://search.cpan.org/dist/Net-CardDAVTalk/>
91+
92+
=back
93+
94+
95+
=head1 ACKNOWLEDGEMENTS
96+
97+
98+
=head1 LICENSE AND COPYRIGHT
99+
100+
Copyright 2015 Bron Gondwana.
101+
102+
This program is free software; you can redistribute it and/or modify it
103+
under the terms of the the Artistic License (2.0). You may obtain a
104+
copy of the full license at:
105+
106+
L<http://www.perlfoundation.org/artistic_license_2_0>
107+
108+
Any use, modification, and distribution of the Standard or Modified
109+
Versions is governed by this Artistic License. By using, modifying or
110+
distributing the Package, you accept this license. Do not use, modify,
111+
or distribute the Package, if you do not accept this license.
112+
113+
If your Modified Version has been derived from a Modified Version made
114+
by someone other than you, you are nevertheless required to ensure that
115+
your Modified Version complies with the requirements of this license.
116+
117+
This license does not grant you the right to use any trademark, service
118+
mark, tradename, or logo of the Copyright Holder.
119+
120+
This license includes the non-exclusive, worldwide, free-of-charge
121+
patent license to make, have made, use, offer to sell, sell, import and
122+
otherwise transfer the Package with respect to any patent claims
123+
licensable by the Copyright Holder that are necessarily infringed by the
124+
Package. If you institute patent litigation (including a cross-claim or
125+
counterclaim) against any party alleging that the Package constitutes
126+
direct or contributory patent infringement, then this Artistic License
127+
to you shall terminate on the date that such litigation is filed.
128+
129+
Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
130+
AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES.
131+
THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
132+
PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY
133+
YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR
134+
CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, OR
135+
CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PACKAGE,
136+
EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
137+
138+
139+
=cut
140+
141+
1; # End of Net::CardDAVTalk

t/00-load.t

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
#!perl -T
2+
use 5.006;
3+
use strict;
4+
use warnings FATAL => 'all';
5+
use Test::More;
6+
7+
plan tests => 1;
8+
9+
BEGIN {
10+
use_ok( 'Net::CardDAVTalk' ) || print "Bail out!\n";
11+
}
12+
13+
diag( "Testing Net::CardDAVTalk $Net::CardDAVTalk::VERSION, Perl $], $^X" );

t/boilerplate.t

+57
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
#!perl -T
2+
use 5.006;
3+
use strict;
4+
use warnings FATAL => 'all';
5+
use Test::More;
6+
7+
plan tests => 3;
8+
9+
sub not_in_file_ok {
10+
my ($filename, %regex) = @_;
11+
open( my $fh, '<', $filename )
12+
or die "couldn't open $filename for reading: $!";
13+
14+
my %violated;
15+
16+
while (my $line = <$fh>) {
17+
while (my ($desc, $regex) = each %regex) {
18+
if ($line =~ $regex) {
19+
push @{$violated{$desc}||=[]}, $.;
20+
}
21+
}
22+
}
23+
24+
if (%violated) {
25+
fail("$filename contains boilerplate text");
26+
diag "$_ appears on lines @{$violated{$_}}" for keys %violated;
27+
} else {
28+
pass("$filename contains no boilerplate text");
29+
}
30+
}
31+
32+
sub module_boilerplate_ok {
33+
my ($module) = @_;
34+
not_in_file_ok($module =>
35+
'the great new $MODULENAME' => qr/ - The great new /,
36+
'boilerplate description' => qr/Quick summary of what the module/,
37+
'stub function definition' => qr/function[12]/,
38+
);
39+
}
40+
41+
TODO: {
42+
local $TODO = "Need to replace the boilerplate text";
43+
44+
not_in_file_ok(README =>
45+
"The README is used..." => qr/The README is used/,
46+
"'version information here'" => qr/to provide version information/,
47+
);
48+
49+
not_in_file_ok(Changes =>
50+
"placeholder date/time" => qr(Date/time)
51+
);
52+
53+
module_boilerplate_ok('lib/Net/CardDAVTalk.pm');
54+
55+
56+
}
57+

t/manifest.t

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!perl -T
2+
use 5.006;
3+
use strict;
4+
use warnings FATAL => 'all';
5+
use Test::More;
6+
7+
unless ( $ENV{RELEASE_TESTING} ) {
8+
plan( skip_all => "Author tests not required for installation" );
9+
}
10+
11+
my $min_tcm = 0.9;
12+
eval "use Test::CheckManifest $min_tcm";
13+
plan skip_all => "Test::CheckManifest $min_tcm required" if $@;
14+
15+
ok_manifest();

t/pod-coverage.t

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#!perl -T
2+
use 5.006;
3+
use strict;
4+
use warnings FATAL => 'all';
5+
use Test::More;
6+
7+
# Ensure a recent version of Test::Pod::Coverage
8+
my $min_tpc = 1.08;
9+
eval "use Test::Pod::Coverage $min_tpc";
10+
plan skip_all => "Test::Pod::Coverage $min_tpc required for testing POD coverage"
11+
if $@;
12+
13+
# Test::Pod::Coverage doesn't require a minimum Pod::Coverage version,
14+
# but older versions don't recognize some common documentation styles
15+
my $min_pc = 0.18;
16+
eval "use Pod::Coverage $min_pc";
17+
plan skip_all => "Pod::Coverage $min_pc required for testing POD coverage"
18+
if $@;
19+
20+
all_pod_coverage_ok();

0 commit comments

Comments
 (0)