|
$VERSION = '0.16' ;
sub githubmeta {
my $self = shift ;
return unless $Module::Install::AUTHOR ;
return unless _under_git();
return unless $self ->can_run( 'git' );
my $remote = shift || 'origin' ;
return unless my ( $git_url ) = `git remote show -n $remote ` =~ /URL: (.*)$/m;
return unless $git_url =~ /github\.com/;
my $http_url = $git_url ;
$git_url =~ s![\w\-]+\@([^:]+):!git://$1/!; $http_url =~ s![\w\-]+\@([^:]+):!https://$1/!; $http_url =~ s!\.git$!/tree!;
$self ->repository(
{
type => 'git' ,
url => $git_url ,
web => $http_url ,
},
);
$self ->homepage( $http_url ) unless $self ->homepage();
return 1;
}
sub _under_git {
return 1 if -e '.git' ;
my $cwd = getcwd;
my $last = $cwd ;
my $found = 0;
while (1) {
chdir '..' or last ;
my $current = getcwd;
last if $last eq $current ;
$last = $current ;
if ( -e '.git' ) {
$found = 1;
last ;
}
}
chdir $cwd ;
return $found ;
}
'Github' ;
|