1use inc::Module::Install 0.91; 2 3name 'DBIx-Class-Schema-Loader'; 4all_from 'lib/DBIx/Class/Schema/Loader.pm'; 5 6test_requires 'Test::Exception'; 7test_requires 'Test::More' => '0.94'; 8test_requires 'DBI' => '1.56'; 9test_requires 'DBD::SQLite' => '1.12'; 10test_requires 'File::Copy'; 11test_requires 'File::Temp' => '0.16'; 12test_requires 'File::Path' => '2.07'; 13test_requires 'IPC::Open3' => 0; 14test_requires 'List::MoreUtils' => 0; 15 16requires 'File::Spec' => 0; 17requires 'Scalar::Util' => 0; 18requires 'Data::Dump' => '1.06'; 19requires 'Lingua::EN::Inflect::Number' => '1.1'; 20requires 'Text::Balanced' => 0; 21requires 'Digest::MD5' => '2.36'; 22requires 'Class::Accessor::Grouped' => '0.09002'; 23requires 'Class::C3' => '0.18'; 24requires 'Class::C3::Componentised' => '1.0005'; 25requires 'Carp::Clan' => 0; 26requires 'Class::Inspector' => 0; 27requires 'DBIx::Class' => '0.08114'; 28requires 'Class::Unload' => 0; 29requires 'File::Slurp' => '9999.13'; 30requires 'List::MoreUtils' => 0; 31requires 'namespace::autoclean' => 0; 32 33install_script 'script/dbicdump'; 34 35tests_recursive; 36 37# This is my manual hack for better feature control 38# If you want to change the default answer for a feature, 39# set the appropriate environment variable, like 40# DBIC_FEATURE_MYSQL. If you want the defaults to 41# apply automatically without asking any questions, 42# set DBIC_FEATURE_NOQUESTIONS. Hopefully this will 43# save someone some pain when trying to automate 44# the installation of this software. 45 46# Maintainer shouldn't set these, as they would affect 47# the META.yml shipped to CPAN. 48 49my $_features = [ 50 SQLITE => { 51 label => 'SQLite Support', 52 def => $ENV{DBIC_FEATURE_SQLITE} || 0, 53 deps => [ 54 'DBI' => '1.56', 55 'DBD::SQLite' => '1.12', 56 ], 57 }, 58 MYSQL => { 59 label => 'MySQL Support', 60 def => $ENV{DBIC_FEATURE_MYSQL} || 0, 61 deps => [ 62 'DBI' => '1.56', 63 'DBD::mysql' => '4.004', 64 ], 65 }, 66 PG => { 67 label => 'PostgreSQL Support', 68 def => $ENV{DBIC_FEATURE_PG} || 0, 69 deps => [ 70 'DBI' => '1.56', 71 'DBD::Pg' => '1.49', # Soon to be 1.50 72 ], 73 }, 74 DB2 => { 75 label => 'DB2 Support', 76 def => $ENV{DBIC_FEATURE_DB2} || 0, 77 deps => [ 78 'DBI' => '1.56', 79 'DBD::DB2' => '1.0', 80 ], 81 }, 82 ORACLE => { 83 label => 'Oracle Support (experimental)', 84 def => $ENV{DBIC_FEATURE_ORACLE} || 0, 85 deps => [ 86 'DBI' => '1.56', 87 'DBD::Oracle' => '0.19', 88 ], 89 }, 90 SYBASE => { 91 label => 'Sybase Support (experimental)', 92 def => $ENV{DBIC_FEATURE_SYBASE} || 0, 93 deps => [ 94 'DBI' => '1.56', 95 'DBD::Sybase' => '1.09', 96 ], 97 }, 98 MSSQL => { 99 label => 'Microsoft SQL Server Support via DBD::Sybase', 100 def => $ENV{DBIC_FEATURE_MSSQL} || 0, 101 deps => [ 102 'DBI' => '1.56', 103 'DBD::Sybase' => '1.09', 104 ], 105 }, 106 MSSQL_ODBC => { 107 label => 'Microsoft SQL Server Support via DBD::ODBC', 108 def => $ENV{DBIC_FEATURE_MSSQL} || 0, 109 deps => [ 110 'DBI' => '1.56', 111 'DBD::ODBC' => '1.22', 112 ], 113 }, 114]; 115 116for(my $i = 0; $i <= $#$_features - 1; $i += 2) { 117 my $name = $_features->[$i]; 118 my $attrs = $_features->[$i+1]; 119 120 if($ENV{DBIC_FEATURE_NOQUESTIONS}) { 121 if($attrs->{def}) { 122 requires @{$attrs->{deps}}; 123 } 124 } 125 else { 126 feature $attrs->{label} => 127 -default => $attrs->{def}, 128 @{$attrs->{deps}}; 129 } 130} 131 132# Rebuild README for maintainers 133if ($Module::Install::AUTHOR) { 134 system("pod2text lib/DBIx/Class/Schema/Loader.pm > README"); 135} 136 137realclean_files 'README'; 138 139resources 'IRC' => 'irc://irc.perl.org/#dbix-class'; 140resources 'license' => 'http://dev.perl.org/licenses/'; 141resources 'repository' => 'git://git.shadowcat.co.uk/dbsrgits/DBIx-Class-Schema-Loader.git'; 142resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class'; 143 144auto_provides; 145auto_install; 146WriteAll; 147