App-gimpgitbuild
view release on metacpan or search on metacpan
lib/App/gimpgitbuild/Command/build.pm view on Meta::CPAN
sub _ascertain_lack_of_gtk_warnings
{
my $path = which('gvim');
if ( defined($path) )
{
my $stderr = `"$path" -u NONE -U NONE -f /dev/null +q 2>&1`;
if ( $stderr =~ /\S/ )
{
die
"There may be gtk warnings (e.g: in KDE Plasma 5 on Fedora 32 ). Please fix them.";
}
}
return;
}
sub _ascertain_gjs_presence
{
my $path = which('gjs');
if ( not defined($path) )
{
die
"gjs must be present for GIMP's tests to succeed - please install it (see: https://gitlab.gnome.org/GNOME/gimp/-/issues/7341 )";
}
return;
}
sub execute
{
my ( $self, $opt, $args ) = @_;
my $mode = ( $opt->{mode} || 'build' );
if ( not( ( $mode eq 'clean' ) or ( $mode eq 'build' ) ) )
{
die "Unsupported mode '$mode'!";
}
my $_process_executor = ( $opt->{process_exe} || 'perl' );
if (
not( ( $_process_executor eq 'sh' )
or ( $_process_executor eq 'perl' ) )
)
{
die "Unsupported process-exe '$_process_executor'!";
}
my $worker = App::gimpgitbuild::API::Worker->new(
{ _mode => $mode, _process_executor => $_process_executor, } );
my $env = App::gimpgitbuild::API::GitBuild->new()->new_env();
$ENV{LD_LIBRARY_PATH} = $env->{LD_LIBRARY_PATH};
$ENV{PATH} = $env->{PATH};
$ENV{PKG_CONFIG_PATH} = $env->{PKG_CONFIG_PATH};
$ENV{XDG_DATA_DIRS} = $env->{XDG_DATA_DIRS};
_ascertain_xvfb_run_presence();
_ascertain_lack_of_gtk_warnings();
_ascertain_gjs_presence();
$worker->_run_the_mode_on_all_repositories();
use Term::ANSIColor qw/ colored /;
print colored( [ $ENV{HARNESS_SUMMARY_COLOR_SUCCESS} || 'bold green' ],
"\n== Success ==\n\n" );
return;
}
1;
__END__
=pod
=encoding UTF-8
=head1 VERSION
version 0.32.1
=begin foo return (
[ "output|o=s", "Output path" ],
[ "title=s", "Chart Title" ],
[ 'exec|e=s@', "Execute command on the output" ]
);
=end foo
=head1 NAME
gimpgitbuild build - command line utility to automatically build GIMP and its dependencies from git.
=end foo
=for :stopwords cpan testmatrix url bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
=head1 SUPPORT
=head2 Websites
The following websites have more information about this module, and may be of help to you. As always,
in addition to those websites please use your favorite search engine to discover more resources.
=over 4
=item *
MetaCPAN
A modern, open-source CPAN search engine, useful to view POD in HTML format.
L<https://metacpan.org/release/App-gimpgitbuild>
=item *
RT: CPAN's Bug Tracker
The RT ( Request Tracker ) website is the default bug/issue tracking system for CPAN.
L<https://rt.cpan.org/Public/Dist/Display.html?Name=App-gimpgitbuild>
=item *
CPANTS
( run in 0.783 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )