Alien-Build-Git

 view release on metacpan or  search on metacpan

lib/Alien/Build/Plugin/Download/Git.pm  view on Meta::CPAN

=head1 SYNOPSIS

 use alienfile;
 
 meta->prop->{start_url} = 'http://example.com/project-foo.git';
 plugin 'Download::Git' =>(
   version => qr/^v([0-9\.]+)$/,
 );

=head1 DESCRIPTION

This plugin downloads projects using git and selects the appropriate tag for
building.  Typically you want to build using the most recent production tag,
not just whatever C<master> happens to be at the moment.

This plugin uses these plugins to do the heavy lifting:

=over 4

=item L<Alien::Build::Plugin::Fetch::Git>

=item L<Alien::Build::Plugin::Prefer::SortVersions>

=item L<ALien::Build::Plugin::Extract::Directory>

=back

In fact this:

 plugin 'Download::Git' => (
   filter  => $filter,
   version => $version,
 );

Is exactly the same as:

 plugin 'Fetch::Git';
 plugin 'Prefer::SortVersions' => (
   filter  => filter,
   version => $version,
 );
 plugin 'Extract::Directory';

About the only time you would opt to use L<Alien::Build::Plugin::Fetch::Git>
directly, (unless you are not into the whole brevity thing), is if you wanted
to use something other that L<Alien::Build::Plugin::Prefer::SortVersions> to
choose which version you want to install.

=head1 PROPERTIES

=head2 filter

his is a regular expression that lets you filter out tags that you do not
want to consider downloading.  For example, if the tags included name such as

 v1.0.0
 v1.1.2
 old-feature-not-included
 something-else/entirely

You could specify a filter of C<qr/^v[0-9\.]+$/> to make sure only tags that
appeared to be a version number are included.

=head2 version

Regular expression to parse out the version from tags.  The regular expression
should store the result in C<$1>.

In the previous example you might use the regular expression C<qr/^v([0-9\.]+/>.

=head1 SEE ALSO

=over 4

=item L<Alien>

=item L<Alien::Build>

=item L<Alien::Build::Git>

=item L<Alien::git>

=back

=head1 AUTHOR

Graham Ollis <plicease@cpan.org>

=head1 COPYRIGHT AND LICENSE

This software is copyright (c) 2017-2022 by Graham Ollis.

This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.

=cut



( run in 1.507 second using v1.01-cache-2.11-cpan-df04353d9ac )