Generate m2m rels in deterministic order
[dbsrgits/DBIx-Class-Schema-Loader.git] / Makefile.PL
CommitLineData
2a72f15d 1use warnings;
2use strict;
ef8e9c69 3
4use 5.008001;
2a72f15d 5use inc::Module::Install 1.00;
ef8e9c69 6
509e7821 7use Getopt::Long();
8
9my $getopt = Getopt::Long::Parser->new(
10 config => [qw/gnu_getopt bundling_override no_ignore_case pass_through/]
11);
12my $args = {
13 skip_author_deps => undef,
14};
15$getopt->getoptions($args, 'skip_author_deps');
16if (@ARGV) {
17 warn "\nIgnoring unrecognized option(s): @ARGV\n\n";
18}
19
ef8e9c69 20use FindBin;
21use lib "$FindBin::Bin/lib";
22
2a72f15d 23perl_version '5.008001';
3fe9c5d9 24name 'DBIx-Class-Schema-Loader';
25all_from 'lib/DBIx/Class/Schema/Loader.pm';
26
65f78d29 27# temporary, needs to be thrown out
eaf23084 28test_requires 'DBIx::Class::IntrospectableM2M' => 0;
3fe9c5d9 29
65f78d29 30# core, but specific versions not available on older perls
31test_requires 'File::Temp' => '0.16';
32test_requires 'File::Path' => '2.07';
33
34test_requires 'DBD::SQLite' => '1.29';
35test_requires 'Test::Exception' => '0.31';
36test_requires 'Test::More' => '0.94';
37test_requires 'Test::Warn' => '0.21';
a2e5cee3 38test_requires 'Test::Differences' => '0.60';
65f78d29 39
40requires 'Carp::Clan' => 0;
41requires 'Class::Accessor::Grouped' => '0.10008';
42requires 'Class::C3::Componentised' => '1.0008';
43requires 'Class::Inspector' => '1.27';
44requires 'Class::Unload' => '0.07';
3fe9c5d9 45requires 'Data::Dump' => '1.06';
65f78d29 46requires 'DBIx::Class' => '0.08127';
47requires 'Hash::Merge' => '0.12';
3fe9c5d9 48requires 'Lingua::EN::Inflect::Number' => '1.1';
4f7692f0 49requires 'Lingua::EN::Tagger' => '0.23';
50requires 'Lingua::EN::Inflect::Phrase' => '0.15';
65f78d29 51requires 'List::MoreUtils' => '0.32';
942bd5e0 52requires 'MRO::Compat' => '0.09';
65f78d29 53requires 'namespace::clean' => '0.23';
54requires 'Scope::Guard' => '0.20';
f9daf711 55requires 'String::ToIdentifier::EN' => '0.05';
ea3b8f03 56requires 'String::CamelCase' => '0.02';
65f78d29 57requires 'Sub::Name' => 0;
58requires 'Try::Tiny' => 0;
59
60# core, but specific versions not available on older perls
61requires 'Digest::MD5' => '2.36';
62requires 'Exporter' => '5.63';
3fe9c5d9 63
10b0a36e 64print <<"EOF";
65******************* DBIx::Class::Schema::Loader WARNING ***********************
66The default attributes for belongs_to relationships for foreign keys with no
67rules has been changed for most databases, and is soon changing for the rest,
68as ON DELETE/UPDATE and DEFERRABLE clauses for foreign keys are now being
69introspected.
70
71THIS MAY AFFECT YOUR DDL DIFFS WHEN DEPLOYING
72
73YOUR GENERATED CODE WILL ALMOST CERTAINLY CHANGE
74
75Read more about the changes in "relationship_attrs" in:
76
77perldoc DBIx::Class::Schema::Loader::Base
78
79https://metacpan.org/module/DBIx::Class::Schema::Loader::Base#relationship_attrs
80
81See also the "Changes" file for the last few revisions.
82*******************************************************************************
83EOF
84
509e7821 85if ($Module::Install::AUTHOR && ! $args->{skip_author_deps}) {
2a72f15d 86 eval { require Module::Install::ReadmeFromPod }
87 or die "\nYou need Module::Install::ReadmeFromPod installed to run this Makefile.PL in author mode:\n\n$@\n";
88
89 warn "\n*** AUTHOR MODE: some optional dependencies converted to hard requires.\n\n";
ff746964 90
ef8e9c69 91 require DBIx::Class::Schema::Loader::Optional::Dependencies;
01012543 92
ef8e9c69 93 test_requires map %$_, values %{ DBIx::Class::Schema::Loader::Optional::Dependencies->req_group_list };
94
95 DBIx::Class::Schema::Loader::Optional::Dependencies->_gen_pod;
2a72f15d 96
97 readme_from( 'lib/DBIx/Class/Schema/Loader.pm' );
98 realclean_files( qw[README MANIFEST lib/DBIx/Class/Schema/Loader/Optional/Dependencies.pod] );
3fe9c5d9 99}
100
ef8e9c69 101tests_recursive;
102
103install_script 'script/dbicdump';
104
64b844d0 105resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
106resources 'license' => 'http://dev.perl.org/licenses/';
5fa622c2 107resources 'repository' => 'https://github.com/dbsrgits/dbix-class-schema-loader';
64b844d0 108resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class';
109
3fe9c5d9 110auto_install;
111WriteAll;
ef8e9c69 112
113# vim:et sts=4 sw=4 tw=0: