5 BEGIN { unshift @INC, '.' unless $INC[-1] eq '.'; }
6 use inc::Module::Install 1.00;
10 my $getopt = Getopt::Long::Parser->new(
11 config => [qw/gnu_getopt bundling_override no_ignore_case pass_through/]
14 skip_author_deps => undef,
16 $getopt->getoptions($args, 'skip_author_deps');
18 warn "\nIgnoring unrecognized option(s): @ARGV\n\n";
22 use lib "$FindBin::Bin/lib";
24 perl_version '5.008001';
25 name 'DBIx-Class-Schema-Loader';
26 all_from 'lib/DBIx/Class/Schema/Loader.pm';
28 # temporary, needs to be thrown out
29 test_requires 'DBIx::Class::IntrospectableM2M' => 0;
31 # core, but specific versions not available on older perls
32 test_requires 'File::Temp' => '0.16';
33 test_requires 'File::Path' => '2.07';
35 test_requires 'DBD::SQLite' => '1.29';
36 test_requires 'Test::Exception' => '0.31';
37 test_requires 'Test::More' => '0.94';
38 test_requires 'Test::Warn' => '0.21';
39 test_requires 'Test::Deep' => '0.107';
40 test_requires 'Test::Differences' => '0.60';
42 requires 'Carp::Clan' => 0;
43 requires 'Class::Accessor::Grouped' => '0.10008';
44 requires 'Class::C3::Componentised' => '1.0008';
45 requires 'Class::Inspector' => '1.27';
46 requires 'Class::Unload' => '0.07';
47 requires 'curry' => '1.000000',
48 requires 'Data::Dump' => '1.06';
49 requires 'DBIx::Class' => '0.08127';
50 requires 'Hash::Merge' => '0.12';
51 requires 'Lingua::EN::Inflect::Number' => '1.1';
52 requires 'Lingua::EN::Tagger' => '0.23';
53 requires 'Lingua::EN::Inflect::Phrase' => '0.15';
54 requires 'List::Util' => '1.33';
55 requires 'MRO::Compat' => '0.09';
56 requires 'namespace::clean' => '0.23';
57 requires 'Scope::Guard' => '0.20';
58 requires 'String::ToIdentifier::EN' => '0.05';
59 requires 'String::CamelCase' => '0.02';
60 requires 'Sub::Util' => '1.40';
61 requires 'Try::Tiny' => 0;
63 # core, but specific versions not available on older perls
64 requires 'Digest::MD5' => '2.36';
65 requires 'Exporter' => '5.63';
68 ******************* DBIx::Class::Schema::Loader WARNING ***********************
69 The default attributes for belongs_to relationships for foreign keys with no
70 rules has been changed for most databases, and is soon changing for the rest,
71 as ON DELETE/UPDATE and DEFERRABLE clauses for foreign keys are now being
74 THIS MAY AFFECT YOUR DDL DIFFS WHEN DEPLOYING
76 YOUR GENERATED CODE WILL ALMOST CERTAINLY CHANGE
78 Read more about the changes in "relationship_attrs" in:
80 perldoc DBIx::Class::Schema::Loader::Base
82 https://metacpan.org/module/DBIx::Class::Schema::Loader::Base#relationship_attrs
84 See also the "Changes" file for the last few revisions.
85 *******************************************************************************
88 if ($Module::Install::AUTHOR && ! $args->{skip_author_deps}) {
90 for my $plugin (qw(ReadmeFromPod AuthorTests)) {
91 eval "require Module::Install::$plugin" and next;
92 push @missing_plugins, "Module::Install::$plugin";
94 $missing_plugins[-1] .= " ($err)"
95 unless $err =~ m{^Can't locate Module/Install/$plugin.pm in \@INC};
97 die "\nYou need to install the following modules to run this Makefile.PL in author mode:\n\n", join("\n", @missing_plugins), "\n\n"
100 warn "\n*** AUTHOR MODE: some optional dependencies converted to hard requires.\n\n";
102 require DBIx::Class::Schema::Loader::Optional::Dependencies;
104 test_requires %{DBIx::Class::Schema::Loader::Optional::Dependencies
107 keys %{ DBIx::Class::Schema::Loader::Optional::Dependencies
112 DBIx::Class::Schema::Loader::Optional::Dependencies->_gen_pod(undef, 'lib');
114 author_tests( 'xt' );
115 readme_from( 'lib/DBIx/Class/Schema/Loader.pm' );
116 realclean_files( qw[README MANIFEST lib/DBIx/Class/Schema/Loader/Optional/Dependencies.pod] );
118 create_distdir: author_stop_distdir_creation
119 author_stop_distdir_creation:
120 \t\$(NOECHO) \$(ECHO) Creation of dist with author mode deps not allowed
121 \t\$(NOECHO) \$(ECHO) Please re-run Makefile.PL with --skip_author_deps
122 \t\$(NOECHO) \$(FALSE)
129 install_script 'script/dbicdump';
131 resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
132 resources 'license' => 'http://dev.perl.org/licenses/';
133 resources 'repository' => 'https://github.com/dbsrgits/dbix-class-schema-loader';
134 resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class';
139 # vim:et sts=4 sw=4 tw=0: