PAX
view release on metacpan or search on metacpan
lib/PAX/StandaloneRuntime.pm view on Meta::CPAN
$impl = sub {
my ($self, %args) = @_;
my $project_root = $args{project_root} || $self->{paths}->current_project_root || Cwd::cwd();
my $docker_cfg = $self->{config}->docker_config;
my $docker_root = _code_for($config_root_method)->($self);
my @passthrough = @{ $args{args} || [] };
my (@compose_files, @layers);
my @base = _code_for($base_files_method)->($self, $project_root);
push @compose_files, @base;
push @layers, { name => 'base', files => [@base] };
my @project_overlays = (@{ $docker_cfg->{files} || [] }, @{ $docker_cfg->{project_overlays} || [] });
push @compose_files, @project_overlays;
push @layers, { name => 'project', files => [@project_overlays] } if @project_overlays;
my @addons = @{ $args{addons} || [] };
my @modes = @{ $args{modes} || [] };
my @services = @{ $args{services} || [] };
my %addon_map = %{ $docker_cfg->{addons} || {} };
my %mode_map = %{ $docker_cfg->{modes} || {} };
my %service_map = %{ $docker_cfg->{services} || {} };
my @inferred_services = _code_for($infer_services_method)->($self, args => \@passthrough, project_root => $project_root, service_map => \%service_map);
my %service_seen;
@services = grep { !$service_seen{$_}++ } (@services, @inferred_services);
if (!@services) {
( run in 1.833 second using v1.01-cache-2.11-cpan-7fcb06a456a )