::Serializer;
my $json_backend = Parse::CPAN::Meta->json_backend;
my $json = $json_backend->new->canonical->pretty->utf8;
my $serializer = 'Dist::Build::Serializer';
sub load_json {
my $filename =
nt = do { local $/; <$fh> };
return $json->decode($content);
}
sub save_json {
my ($filename, $content) = @_;
open my $fh, '>:raw', $filename;
print $fh $json->encode($content);
return;
}
my @o
turn %options;
}
sub Build_PL {
my ($args, $env) = @_;
my $meta = CPAN::Meta->load_file('META.json', { lazy_validation => 0 });
my @env = defined $env->{PERL_MB_OPT} ? split_like_shell($env->{PE
e::Spec::Functions qw/abs2rel catfile/;
use Parse::CPAN::Meta;
my $json_backend = Parse::CPAN::Meta->json_backend;
my $json = $json_backend->new->canonical->pretty->utf8;
my @allowed_flags = qw/incl
ib auto share module/, $module_dir, 'compile.json');
my $inner = $planner->new_scope;
$inner->load_extension('Dist::Build::Core');
$inner->dump_json($filename, \%flags);
return $planner->cre
use File::ShareDir::Tiny 'module_dir';
use Parse::CPAN::Meta;
my $json_backend = Parse::CPAN::Meta->json_backend;
my $json = $json_backend->new->canonical->pretty->utf8;
sub add_methods {
my ($sel
dules) {
my $module_dir = module_dir($module);
my $config = catfile($module_dir, 'compile.json');
my $include = catdir($module_dir, 'include');
croak "No such import $module" if not -d
die "Could not open $config: $!";
my $content = do { local $/; <$fh> };
my $payload = $json->decode($content);
for my $key (qw/include_dirs library_dirs libraries extra_compiler_flags
';
our @EXPORT_OK = qw/copy make_executable manify tap_harness install dump_binary dump_text dump_json/;
use Carp qw/croak/;
use ExtUtils::Helpers 0.028 qw/make_executable man1_pagename man3_pagename
$target, $content, $options{encoding} // 'utf-8'),
]
);
});
$planner->add_delegate('dump_json', sub {
my ($planner, $target, $content, %options) = @_;
$planner->create_node(
target
=> $target,
dependencies => $options{dependencies},
actions => [
new_action('dump_json', $target, $content),
]
);
});
$planner->add_delegate('script_dir', sub {
my ($planner,