THROWAWAY: Don't load unmodified generated external classes
[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(
494e0205 10 config => [qw/gnu_getopt bundling_override no_ignore_case pass_through/]
509e7821 11);
12my $args = {
494e0205 13 skip_author_deps => undef,
509e7821 14};
15$getopt->getoptions($args, 'skip_author_deps');
16if (@ARGV) {
494e0205 17 warn "\nIgnoring unrecognized option(s): @ARGV\n\n";
509e7821 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';
239fa6bc 38test_requires 'Test::Deep' => '0.107';
a2e5cee3 39test_requires 'Test::Differences' => '0.60';
65f78d29 40
41requires 'Carp::Clan' => 0;
42requires 'Class::Accessor::Grouped' => '0.10008';
43requires 'Class::C3::Componentised' => '1.0008';
44requires 'Class::Inspector' => '1.27';
45requires 'Class::Unload' => '0.07';
3fe9c5d9 46requires 'Data::Dump' => '1.06';
65f78d29 47requires 'DBIx::Class' => '0.08127';
48requires 'Hash::Merge' => '0.12';
3fe9c5d9 49requires 'Lingua::EN::Inflect::Number' => '1.1';
4f7692f0 50requires 'Lingua::EN::Tagger' => '0.23';
51requires 'Lingua::EN::Inflect::Phrase' => '0.15';
ecf22f0a 52requires 'List::Util' => '1.33';
942bd5e0 53requires 'MRO::Compat' => '0.09';
65f78d29 54requires 'namespace::clean' => '0.23';
55requires 'Scope::Guard' => '0.20';
f9daf711 56requires 'String::ToIdentifier::EN' => '0.05';
ea3b8f03 57requires 'String::CamelCase' => '0.02';
ecf22f0a 58requires 'Sub::Util' => '1.40';
65f78d29 59requires 'Try::Tiny' => 0;
60
61# core, but specific versions not available on older perls
62requires 'Digest::MD5' => '2.36';
63requires 'Exporter' => '5.63';
3fe9c5d9 64
10b0a36e 65print <<"EOF";
66******************* DBIx::Class::Schema::Loader WARNING ***********************
67The default attributes for belongs_to relationships for foreign keys with no
68rules has been changed for most databases, and is soon changing for the rest,
69as ON DELETE/UPDATE and DEFERRABLE clauses for foreign keys are now being
70introspected.
71
72THIS MAY AFFECT YOUR DDL DIFFS WHEN DEPLOYING
73
74YOUR GENERATED CODE WILL ALMOST CERTAINLY CHANGE
75
76Read more about the changes in "relationship_attrs" in:
77
78perldoc DBIx::Class::Schema::Loader::Base
79
80https://metacpan.org/module/DBIx::Class::Schema::Loader::Base#relationship_attrs
81
82See also the "Changes" file for the last few revisions.
83*******************************************************************************
84EOF
85
509e7821 86if ($Module::Install::AUTHOR && ! $args->{skip_author_deps}) {
2a72f15d 87 eval { require Module::Install::ReadmeFromPod }
494e0205 88 or die "\nYou need Module::Install::ReadmeFromPod installed to run this Makefile.PL in author mode:\n\n$@\n";
2a72f15d 89
90 warn "\n*** AUTHOR MODE: some optional dependencies converted to hard requires.\n\n";
ff746964 91
ef8e9c69 92 require DBIx::Class::Schema::Loader::Optional::Dependencies;
01012543 93
406a97c2 94 test_requires %{DBIx::Class::Schema::Loader::Optional::Dependencies
95 ->modreq_list_for([
96 grep { !/rdbms/ }
97 keys %{ DBIx::Class::Schema::Loader::Optional::Dependencies
98 ->req_group_list
99 }
100 ])};
101
102 DBIx::Class::Schema::Loader::Optional::Dependencies->_gen_pod(undef, 'lib');
2a72f15d 103
605be787 104 author_tests( 'xt' );
2a72f15d 105 readme_from( 'lib/DBIx/Class/Schema/Loader.pm' );
106 realclean_files( qw[README MANIFEST lib/DBIx/Class/Schema/Loader/Optional/Dependencies.pod] );
3fe9c5d9 107}
108
ef8e9c69 109tests_recursive;
110
111install_script 'script/dbicdump';
112
64b844d0 113resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
114resources 'license' => 'http://dev.perl.org/licenses/';
5fa622c2 115resources 'repository' => 'https://github.com/dbsrgits/dbix-class-schema-loader';
64b844d0 116resources 'MailingList' => 'http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class';
117
3fe9c5d9 118auto_install;
119WriteAll;
ef8e9c69 120
121# vim:et sts=4 sw=4 tw=0: