#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2015 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
#
use strict;
+use warnings;
no warnings qw(numeric redefine);
use Getopt::Long;
+use Cwd qw(abs_path);
my %args;
my %deps;
my @orig_argv = @ARGV;
+# Save our path because installers or tests can change cwd
+my $script_path = abs_path($0);
+
GetOptions(
\%args, 'v|verbose',
'install!', 'with-MYSQL',
'with-DASHBOARDS',
'with-USERLOGO',
'with-SSL-MAILGATE',
+ 'with-HTML-DOC',
'download=s',
'repository=s',
'with-DASHBOARDS' => 1,
'with-USERLOGO' => 1,
'with-SSL-MAILGATE' => @RT_SSL_MAILGATE@,
+ 'with-HTML-DOC' => @RT_DEVEL_MODE@,
);
$args{$_} = $default{$_} foreach grep !exists $args{$_}, keys %default;
return %hash;
}
+sub set_dep {
+ my ($name, $module, $version) = @_;
+ my %list = @{$deps{$name}};
+ $list{$module} = ($version || '');
+ $deps{$name} = [ %list ];
+}
$deps{'CORE'} = [ text_to_hash( << '.') ];
Class::Accessor 0.34
Plack::Handler::Starlet
CGI::Emulate::PSGI
.
+set_dep( PSGI => CGI => 4.00 ) if $] > 5.019003;
+
$deps{'MAILGATE'} = [ text_to_hash( << '.') ];
Getopt::Long
Net::SSL
LWP::UserAgent 6.0
LWP::Protocol::https
-Mozilla::CA
.
$deps{'CLI'} = [ text_to_hash( << '.') ];
Test::MockTime
Log::Dispatch::Perl
Test::WWW::Mechanize::PSGI
-Plack::Middleware::Test::StashWarnings 0.06
+Plack::Middleware::Test::StashWarnings 0.08
Test::LongString
+Test::NoWarnings
+Locale::PO
.
$deps{'FASTCGI'} = [ text_to_hash( << '.') ];
.
$deps{'POSTGRESQL'} = [ text_to_hash( << '.') ];
+DBIx::SearchBuilder 1.66
DBD::Pg 1.43
.
.
$deps{'DASHBOARDS'} = [ text_to_hash( << '.') ];
-HTML::RewriteAttributes 0.04
+HTML::RewriteAttributes 0.05
MIME::Types
URI 1.59
.
Convert::Color
.
+$deps{'HTML-DOC'} = [ text_to_hash( <<'.') ];
+Pod::Simple 3.24
+HTML::Entities
+.
+
my %AVOID = (
'DBD::Oracle' => [qw(1.23)],
'Email::Address' => [qw(1.893 1.894)],
+ 'Devel::StackTrace' => [qw(1.28 1.29)],
);
if ($args{'download'}) {
}
if ( $args{'install'} && keys %Missing_By_Type ) {
- exec($0, @orig_argv, '--no-install');
+ exec($script_path, @orig_argv, '--no-install');
}
else {
conclude(%Missing_By_Type);
print $module, ': ', $version || 0, "\n";
}
else {
+ no warnings 'deprecated';
eval "use $module $version ()";
if ( my $error = $@ ) {
return 0 unless wantarray;