Merge all pod generation into one inc snippet, cleanup the poddir beforehand
[dbsrgits/DBIx-Class.git] / maint / gen_pod_inherit
CommitLineData
3d4c5a84 1#!/usr/bin/env perl
2
3use warnings;
4use strict;
5
6my $lib_dir = 'lib';
7my $pod_dir = '.generated_pod';
8
9die "POD generator must be executed from the dist root\n"
10 unless -d $lib_dir and -d $pod_dir;
11
12require Pod::Inherit;
13
14Pod::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 >.<
641;