use strict; use inc::Module::Install; name('HTML-TagClouder'); all_from('lib/HTML/TagClouder.pm'); requires 'overload'; requires 'Class::Accessor::Fast'; requires 'Class::C3'; requires 'Class::Inspector'; requires 'UNIVERSAL::isa'; requires 'UNIVERSAL::require'; # Hey, stolen right off of Plagger eval { require YAML; require DirHandle; require File::Spec; my $dh = DirHandle->new("deps"); my @plugins; while (my $f = $dh->read) { next unless $f =~ /\.(?:yml|yaml)$/; my $meta = eval { YAML::LoadFile( File::Spec->catfile("deps", $f) ) }; if ($@) { warn "Loading deps/$f failed: $@"; next; } push @plugins, $meta if !$meta->{platform} || $meta->{platform} eq $^O; } for my $meta (sort { $b->{default} <=> $a->{default} || $a->{name} cmp $b->{name} } @plugins) { features( $meta->{name}, [ -default => $meta->{default}, map recommends($_ => $meta->{depends}->{$_}), keys %{$meta->{depends} || {}}, ], ); } }; if ($@) { die "Failed to load deps! : $@"; } auto_install; WriteAll;