Commit | Line | Data |
3d4c5a84 |
1 | #!/usr/bin/env perl |
2 | |
3 | use warnings; |
4 | use strict; |
5 | |
6 | my $lib_dir = 'lib'; |
7 | my $pod_dir = '.generated_pod'; |
8 | |
9 | die "POD generator must be executed from the dist root\n" |
10 | unless -d $lib_dir and -d $pod_dir; |
11 | |
12 | require Pod::Inherit; |
13 | |
14 | Pod::Inherit->new({ |
15 | input_files => $lib_dir, |
16 | out_dir => $pod_dir, |
17 | force_permissions => 1, |
18 | class_map => { |
19 | "DBIx::Class::Relationship::HasMany" => "DBIx::Class::Relationship", |
20 | "DBIx::Class::Relationship::HasOne" => "DBIx::Class::Relationship", |
21 | "DBIx::Class::Relationship::BelongsTo" => "DBIx::Class::Relationship", |
22 | "DBIx::Class::Relationship::ManyToMany" => "DBIx::Class::Relationship", |
23 | "DBIx::Class::ResultSourceProxy" => "DBIx::Class::ResultSource", |
24 | }, |
25 | # skip the deprecated classes that give out *DEPRECATED* warnings |
26 | skip_classes => [ qw( |
27 | lib/DBIx/Class/Storage/DBI/Sybase/MSSQL.pm |
28 | lib/DBIx/Class/Serialize/Storable.pm |
29 | lib/DBIx/Class/ResultSetManager.pm |
30 | lib/DBIx/Class/InflateColumn/File.pm |
31 | lib/DBIx/Class/DB.pm |
32 | lib/DBIx/Class/CDBICompat/ |
33 | lib/DBIx/Class/CDBICompat.pm |
34 | ), |
35 | # skip the ::Storage:: family for now |
36 | qw( |
37 | lib/DBIx/Class/Storage/ |
38 | lib/DBIx/Class/Storage.pm |
39 | ), |
40 | 'lib/DBIx/Class/Storage/DBI/Replicated/Pool.pm', # this one just errors out with: The 'add_attribute' method cannot be called on an immutable instance |
41 | 'lib/DBIx/Class/Relationship.pm', # it already documents its own inheritors |
42 | 'lib/DBIx/Class/Core.pm', # we actually don't want this populated in favor of redirecting users to the ResultClass docs |
43 | 'lib/DBIx/Class/Optional/Dependencies.pm' # the POD is already auto-generated |
44 | ], |
45 | # these appear everywhere, and are typically lower-level methods not used by the general user |
46 | skip_inherits => [ qw/ |
47 | DBIx::Class |
48 | DBIx::Class::Componentised |
49 | Class::C3::Componentised |
50 | DBIx::Class::AccessorGroup |
51 | Class::Accessor::Grouped |
52 | Moose::Object |
53 | Exporter |
54 | / ], |
55 | force_inherits => { |
56 | 'DBIx::Class::Manual::ResultClass' => 'DBIx::Class::Core', # this forces the contents of ::Core to be dumped into the POD doc for ::ResultClass |
57 | }, |
58 | dead_links => '', |
59 | method_format => 'L<%m|%c/%m>', |
60 | #debug => 1, |
61 | })->write_pod; |
62 | |
63 | # important - write_pod returns undef >.< |
64 | 1; |