lf) = @_;
my $gitignore_content = <<'EOS';
/blib
/Makefile
/Makefile.old
/MYMETA.yml
/MYMETA.json
/pm_to_blib
/core.*
/core
/SPVM-*
*.bak
*.BAK
*.tmp
*.o
*.bs
.tmp
.git
.spvm_build
EOS
# Gen
my $manifest_skip_content = <<'EOS';
^blib(/|$)
^Makefile$
^Makefile.old$
^MYMETA.yml$
^MYMETA.json$
^pm_to_blib$
^core\.
^core$
^SPVM-
\.bak$
\.BAK$
\.tmp$
\.o$
\.bs$
(^|/)\.tmp(/|$)
(^|/)\.git(/|
package SPVM::Builder::ScriptInfo;
use strict;
use warnings;
use Carp 'confess';
use JSON::PP;
use File::Basename 'basename';
use SPVM::Builder;
use SPVM::Builder::CC;
use SPVM::Builder::Util;
# Fi
package SPVM::Builder::Info;
use strict;
use warnings;
use Carp 'confess';
use JSON::PP;
use File::Basename 'basename';
use SPVM::Builder;
use SPVM::Builder::CC;
use SPVM::Builder::Util;
use SPVM::B
quired_resources;
}
sub get_required_resource_json_lines {
my ($self) = @_;
my $required_resources = $self->get_required_resources;
my @json_lines;
for my $required_resource (@$required
} = $resource_argv;
}
my $json_line = JSON::PP->new->utf8->canonical(1)->encode($line);
push @json_lines, $json_line;
}
return \@json_lines;
}
sub compile {
my ($self)
package SPVM::Builder::Exe;
use strict;
use warnings;
use Carp ();
use JSON::PP;
use File::Basename 'basename', 'dirname', 'fileparse';
use File::Path 'mkpath', 'rmtree';
use File::Find 'find';
use A
iles = $tar->list_files;
my $spvmcc_json_archive;
for my $tar_file (@tar_files) {
if ($tar_file eq 'spvmcc.json') {
$spvmcc_json_archive = $tar->get_content($tar_file);
unless ($spvmcc_json_archive) {
Carp::confess "SVPM archive '$spvm_archive' must contain spvmcc.json";
}
my $spvmcc_info_archive = JSON::PP->new->decode($spvmcc_json_archive);
package SPVM::Builder::Config::Info;
use strict;
use warnings;
use Carp 'confess';
use JSON::PP;
use File::Basename 'basename';
use SPVM::Builder;
use SPVM::Builder::CC;
use SPVM::Builder::Util;
#
package SPVM::Builder::DependencyAnalyzer;
use strict;
use warnings;
use Carp 'confess';
use JSON::PP ();
use File::Basename 'basename';
use SPVM::Builder;
use SPVM::Builder::CC;
use SPVM::Builder::
ion_from;
}
push @$class_infos, $class_info;
}
return $class_infos;
}
sub to_json {
my ($self) = @_;
my $script_name = $self->{script_name};
my $with_version = $self->
$script_name);
my $class_infos = $self->to_class_infos;
my $class_names = [];
my $json = "[\x0A";
for (my $i = 0; $i < @$class_infos; $i++) {
my $class_info = $class_infos->[$
tem * L<SPVM::HTTP::Tiny>
=item * L<SPVM::IO>
=item * L<SPVM::IO::Socket::SSL>
=item * L<SPVM::JSON>
=item * L<SPVM::Math>
=item * L<SPVM::MIME::Base64>
=item * L<SPVM::Mojolicious>
=item * L<S