]> git.decadent.org.uk Git - maypole.git/blob - Makefile.PL
Test::MockObject isn't a dependency, add helper for dynamic prereq_pm (which may...
[maypole.git] / Makefile.PL
1 use 5.006;
2 use ExtUtils::MakeMaker;
3
4 # See lib/ExtUtils/MakeMaker.pm for details of how to influence
5 # the contents of the Makefile that is written.
6 WriteMakefile(
7     NAME         => 'Maypole',
8     VERSION_FROM => 'lib/Maypole.pm',    # finds $VERSION
9     PREREQ_PM    => {
10         Class::DBI::Loader               => '0.02',
11         Class::DBI::AbstractSearch       => 0,
12         Class::DBI::Pager                => 0,
13         Class::DBI::Plugin::RetrieveAll  => 0,
14         Class::DBI::AsForm               => 2.2,
15         Class::DBI::FromCGI              => 0.94,
16         Class::DBI::Loader::Relationship => 0,
17         Class::DBI                       => 0.96,
18         Class::DBI::SQLite               => 0,
19         CGI::Untaint                     => 0,
20         UNIVERSAL::moniker               => 0,
21         UNIVERSAL::require               => 0,
22         URI::QueryParam                  => 0,
23         CGI::Simple                      => 0,
24         Template                         => 0,
25         Template::Plugin::Class          => 0,
26         Test::MockModule                 => 0,
27     },    # e.g., Module::Name => 1.1
28     (
29         $] >= 5.005
30         ?    ## Add these new keywords supported since 5.005
31           (
32             ABSTRACT_FROM => 'lib/Maypole.pm',   # retrieve abstract from module
33             AUTHOR => 'Simon Cozens <simon@simon-cozens.org>'
34           )
35         : ()
36     ),
37 );
38
39 sub has_module {
40     my ($module, $version) = @_;
41     (my $file = "$module.pm") =~ s/::/\//g;
42     eval {require $file} or return;
43     return ($module->VERSION || 0) >= $version;
44 }
45
46 if ( !-e "t/beerdb.db" ) {
47     print "Making SQLite DB\n";
48     eval { require DBD::SQLite };
49     die "No, wait, we don't have SQLite installed. Never mind\n" if $@;
50     require DBI;
51     my $dbh = DBI->connect("dbi:SQLite:dbname=t/beerdb.db");
52
53     my $sql = join( '', (<DATA>) );
54
55     for my $statement ( split /;/, $sql ) {
56         $statement =~ s/\#.*$//mg;           # strip # comments
57         $statement =~ s/auto_increment//g;
58         next unless $statement =~ /\S/;
59         eval { $dbh->do($statement) };
60         die "$@: $statement" if $@;
61     }
62 }
63
64 __DATA__
65
66 create table brewery (
67     id integer auto_increment primary key,
68     name varchar(30),
69     url varchar(50),
70     notes text
71 );
72
73 create table beer (
74     id integer auto_increment primary key,
75     brewery integer,
76     style integer,
77     name varchar(30),
78     url varchar(120),
79 #    tasted date,
80     score integer(2),
81     price varchar(12),
82     abv varchar(10),
83     notes text
84 );
85
86 create table handpump (
87     id integer auto_increment primary key,
88     beer integer,
89     pub integer
90 );
91
92 create table pub (
93     id integer auto_increment primary key,
94     name varchar(60),
95     url varchar(120),
96     notes text
97 );
98
99 create table style (
100     id integer auto_increment primary key,
101     name varchar(60),
102     notes text
103 );
104
105 INSERT INTO beer (id, brewery, name, abv) VALUES
106     (1, 1, "Organic Best Bitter", "4.1");
107 INSERT INTO brewery (id, name, url) VALUES
108     (1, "St Peter's Brewery", "http://www.stpetersbrewery.co.uk/");
109 INSERT INTO pub (id, name) VALUES (1, "Turf Tavern");
110 INSERT INTO handpump (id, pub, beer) VALUES (1, 1,1);
111