Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 13 additions & 8 deletions lib/Genesis/Commands/Kit.pm
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,19 @@ sub build_kit {

my $name = delete $options{name};

my $top = Genesis::Top->new('.');
my @remote_versions = map {$_->{version}} ($top->remote_kit_versions(
$name,
include_prereleases=>1,
include_drafts=>1
));
my $local_kits = Genesis::Kit::Compiled->local_kits($top->kit_provider, $target);
my @local_versions = grep { semver($_) } (keys %{ $local_kits->{$name} });
# Only query remote/local kit versions if we're in a deployment repository.
# When compiling from a standalone kit source repo, we skip this check.
my ($top, @remote_versions, @local_versions);
if (Genesis::Top->is_repo('.')) {
$top = Genesis::Top->new('.');
@remote_versions = map {$_->{version}} ($top->remote_kit_versions(
$name,
include_prereleases=>1,
include_drafts=>1
));
my $local_kits = Genesis::Kit::Compiled->local_kits($top->kit_provider, $target);
@local_versions = grep { semver($_) } (keys %{ $local_kits->{$name} });
}

if ($options{version}) {
$options{version} =~ s/^v//; # trim any leading 'v'
Expand Down
9 changes: 7 additions & 2 deletions lib/Genesis/Kit/Compiler.pm
Original file line number Diff line number Diff line change
Expand Up @@ -234,8 +234,9 @@ sub _select_files {
return if $exclude_re && $File::Find::name =~ $exclude_re;
return if $File::Find::name eq $self->{root}; # skip root dir itself

# Strip the root path prefix
my $filename = substr($File::Find::name, length($self->{root} =~ s{/*}{/}r) + 1);
# Strip the root path prefix (ensure root has trailing slash)
my $root_with_slash = $self->{root} =~ s{/*$}{/}r;
my $filename = substr($File::Find::name, length($root_with_slash));
push @all_files, $filename;
}, $self->{root});
return @all_files;
Expand Down Expand Up @@ -269,6 +270,10 @@ sub compile {
# Add and remap the files to be under the base dir
for my $path (sort @files) {
my ($file) = $tar->add_files($path);
unless ($file) {
warning "Skipping file '%s' - not found", $path;
next;
}
my $full_path = "$base_dir".$file->full_path;
$full_path =~ s{/*$}{/} if $file->is_dir;
$file->rename($full_path);
Expand Down