Commit | Line | Data |
e01862e4 |
1 | require File::Spec; |
2 | my $ddl_fn = File::Spec->catfile(qw(t lib sqlite.sql)); |
3 | |
4 | # If the author doesn't have the prereqs, we will end up obliterating |
5 | # the ddl file, and all tests will fail, therefore don't do anything |
6 | # on error |
7 | # The EUMM build-stage generation will run unconditionally and |
8 | # errors will not be trapped |
4a51243f |
9 | require DBIx::Class::Optional::Dependencies; |
10 | if ( DBIx::Class::Optional::Dependencies->req_ok_for ('deploy') ) { |
11 | print "Regenerating t/lib/sqlite.sql\n"; |
12 | if (my $out = ` "$^X" -Ilib maint/gen_schema `) { |
13 | open (my $fh, '>:unix', $ddl_fn) or die "Unable to open $ddl_fn: $!"; |
14 | print $fh $out; |
15 | close $fh; |
9d622a1b |
16 | |
17 | # if we don't do it some git tools (e.g. gitk) get confused that the |
18 | # ddl file is modified, when it clearly isn't |
19 | system('git status --porcelain >' . File::Spec->devnull); |
4a51243f |
20 | } |
e01862e4 |
21 | } |
22 | |
23 | postamble <<"EOP"; |
24 | |
25 | clonedir_generate_files : dbic_clonedir_regen_test_ddl |
26 | |
27 | dbic_clonedir_regen_test_ddl : |
28 | \t\$(ABSPERLRUN) -Ilib -- maint/gen_schema > @{[ $mm_proto->quote_literal($ddl_fn) ]} |
ffce4b65 |
29 | @{[ $crlf_fixup->($ddl_fn) ]} |
e01862e4 |
30 | EOP |
31 | |
32 | # keep the Makefile.PL eval happy |
33 | 1; |