1 use inc::Module::Install 0.91;
3 name 'DBIx-Class-Schema-Loader';
4 all_from 'lib/DBIx/Class/Schema/Loader.pm';
6 test_requires 'Test::Exception';
7 test_requires 'Test::More' => '0.94';
8 test_requires 'DBI' => '1.56';
9 test_requires 'DBD::SQLite' => '1.29';
10 test_requires 'File::Copy';
11 test_requires 'File::Temp' => '0.16';
12 test_requires 'File::Path' => '2.07';
13 test_requires 'IPC::Open3' => 0;
14 test_requires 'List::MoreUtils' => 0;
16 requires 'File::Spec' => 0;
17 requires 'Scalar::Util' => 0;
18 requires 'Data::Dump' => '1.06';
19 requires 'Lingua::EN::Inflect::Number' => '1.1';
20 requires 'Text::Balanced' => 0;
21 requires 'Digest::MD5' => '2.36';
22 requires 'Class::Accessor::Grouped' => '0.09002';
23 requires 'Class::C3' => '0.18';
24 requires 'Class::C3::Componentised' => '1.0005';
25 requires 'Carp::Clan' => 0;
26 requires 'Class::Inspector' => 0;
27 requires 'DBIx::Class' => '0.08114';
28 requires 'Class::Unload' => 0;
29 requires 'File::Slurp' => '9999.13';
30 requires 'List::MoreUtils' => 0;
31 requires 'namespace::autoclean' => 0;
32 requires 'Data::Dumper::Concise' => '1.200';
34 install_script 'script/dbicdump';
38 # This is my manual hack for better feature control
39 # If you want to change the default answer for a feature,
40 # set the appropriate environment variable, like
41 # DBIC_FEATURE_MYSQL. If you want the defaults to
42 # apply automatically without asking any questions,
43 # set DBIC_FEATURE_NOQUESTIONS. Hopefully this will
44 # save someone some pain when trying to automate
45 # the installation of this software.
47 # Maintainer shouldn't set these, as they would affect
48 # the META.yml shipped to CPAN.
52 label => 'SQLite Support',
53 def => $ENV{DBIC_FEATURE_SQLITE} || 0,
56 'DBD::SQLite' => '1.12',
60 label => 'MySQL Support',
61 def => $ENV{DBIC_FEATURE_MYSQL} || 0,
64 'DBD::mysql' => '4.004',
68 label => 'PostgreSQL Support',
69 def => $ENV{DBIC_FEATURE_PG} || 0,
72 'DBD::Pg' => '1.49', # Soon to be 1.50
76 label => 'DB2 Support',
77 def => $ENV{DBIC_FEATURE_DB2} || 0,
84 label => 'Oracle Support',
85 def => $ENV{DBIC_FEATURE_ORACLE} || 0,
88 'DBD::Oracle' => '0.19',
92 label => 'Sybase Support',
93 def => $ENV{DBIC_FEATURE_SYBASE} || 0,
96 'DBD::Sybase' => '1.09',
100 label => 'Microsoft SQL Server Support via DBD::Sybase',
101 def => $ENV{DBIC_FEATURE_MSSQL} || 0,
104 'DBD::Sybase' => '1.09',
108 label => 'Microsoft SQL Server Support via DBD::ODBC',
109 def => $ENV{DBIC_FEATURE_MSSQL} || 0,
112 'DBD::ODBC' => '1.22',
117 for(my $i = 0; $i <= $#$_features - 1; $i += 2) {
118 my $name = $_features->[$i];
119 my $attrs = $_features->[$i+1];
121 if($ENV{DBIC_FEATURE_NOQUESTIONS}) {
123 requires @{$attrs->{deps}};
127 feature $attrs->{label} =>
128 -default => $attrs->{def},
133 # Rebuild README for maintainers
134 if ($Module::Install::AUTHOR) {
135 system("pod2text lib/DBIx/Class/Schema/Loader.pm > README");
138 realclean_files 'README';
140 resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
141 resources 'license' => 'http://dev.perl.org/licenses/';
142 resources 'repository' => 'git://git.shadowcat.co.uk/dbsrgits/DBIx-Class-Schema-Loader.git';
143 resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class';