Skip to content

Commit 06ddf49

Browse files
committed
Merge branch 'develop'
2 parents 71a3016 + 559b5b7 commit 06ddf49

File tree

9 files changed

+471
-326
lines changed

9 files changed

+471
-326
lines changed

lib/BioX/Workflow/Command/Utils/Files/TrackChanges.pm

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,18 @@ use File::Spec;
66

77
#TODO most of these should be in run
88

9-
has 'track_files' => (
10-
is => 'rw',
11-
isa => 'DBM::Deep',
12-
lazy => 1,
13-
default => sub {
14-
my $self = shift;
15-
my $file = File::Spec->catfile( $self->cache_dir, 'track_files.db' );
16-
my $db = DBM::Deep->new($file);
17-
return $db;
18-
},
19-
);
20-
21-
22-
9+
# DBM::Deep and sqlite do not play nicely with Lustre file systems
10+
# Tabling this functionality for now
11+
# has 'track_files' => (
12+
# is => 'rw',
13+
# isa => 'DBM::Deep',
14+
# lazy => 1,
15+
# default => sub {
16+
# my $self = shift;
17+
# my $file = File::Spec->catfile( $self->cache_dir, 'track_files.db' );
18+
# my $db = DBM::Deep->new($file);
19+
# return $db;
20+
# },
21+
# );
2322

2423
1;

lib/BioX/Workflow/Command/file_log.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ sub execute {
5959

6060
my $details = File::Details->new($file);
6161
my $mtime = ctime( stat($file)->mtime );
62-
$self->track_files->{$file}->{mtime} = $mtime;
62+
# $self->track_files->{$file}->{mtime} = $mtime;
6363
}
6464

6565
#Preserve the exit code of the previous process

lib/BioX/Workflow/Command/run/Utils/Directives.pm

Lines changed: 31 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,11 @@ class_type 'Path';
2323
class_type 'Paths';
2424

2525
use Memoize;
26-
memoize('my_broken');
2726

2827
use namespace::autoclean;
2928

29+
our $c = new Safe;
30+
3031
=head2 File Options
3132
3233
=head3 indir outdir
@@ -580,33 +581,47 @@ sub create_ITERABLE_attr {
580581
$self->create_BOOL_attr( $meta, $t );
581582
}
582583

584+
has 'interpol_directive_cache' => (
585+
is => 'rw',
586+
isa => 'HashRef',
587+
default => sub { {} },
588+
);
589+
583590
sub interpol_directive {
584591
my $self = shift;
585592
my $source = shift;
586593
my $text = '';
587594

588-
if ( !$source ) {
589-
return '';
595+
if ( exists $self->interpol_directive_cache->{$source} ) {
596+
return $self->interpol_directive_cache->{$source};
597+
}
598+
599+
if ( $source !~ m/{\$/ ) {
600+
$self->interpol_directive_cache->{$source} = $source;
601+
return $source;
590602
}
591603

592-
my $c = new Safe;
593604
my $template = Text::Template->new(
594605
TYPE => 'STRING',
595606
SOURCE => $source,
596607
SAFE => $c,
597608
);
598609

599610
my $fill_in = { self => \$self };
611+
600612
#TODO reference keys by value instead of $self->
601613
# my @keys = keys %{$self};
602-
$fill_in->{INPUT} = $self->INPUT;
614+
# $fill_in->{INPUT} = $self->INPUT;
603615
$fill_in->{sample} = $self->sample if $self->has_sample;
604616

605617
$text = $template->fill_in( HASH => $fill_in, BROKEN => \&my_broken );
606618

619+
$self->interpol_directive_cache->{$source} = $text;
607620
return $text;
608621
}
609622

623+
memoize('my_broken');
624+
610625
sub my_broken {
611626
my %args = @_;
612627
my $err_ref = $args{arg};
@@ -667,13 +682,13 @@ sub process_directive {
667682
$self->$k;
668683
}
669684
else {
670-
my $text = $self->interpol_directive($v);
685+
my $text = '';
686+
$text = $self->interpol_directive($v) if $v;
671687
if ( $path && $text ne '' ) {
672688
$text = path($text)->absolute if $self->coerce_abs_dir;
673689
$self->$k("$text");
674690
return;
675691
}
676-
677692
$self->$k($text);
678693
}
679694
}
@@ -697,7 +712,8 @@ sub walk_directives {
697712
return if ref($ref);
698713
return unless $ref;
699714

700-
my $text = $self->interpol_directive($ref);
715+
my $text = '';
716+
$text = $self->interpol_directive($ref) if $ref;
701717
if ($path) {
702718
$text = path($text)->absolute if $self->coerce_abs_dir;
703719
$text = "$text";
@@ -732,9 +748,15 @@ sub update_directive {
732748
#We are getting the whole hash, just return
733749
return;
734750
}
735-
736751
}
737752

753+
sub BUILD { }
754+
755+
after 'BUILD' => sub {
756+
my $self = shift;
757+
$self->interpol_directive_cache( {} );
758+
};
759+
738760
no Moose;
739761
__PACKAGE__->meta->make_immutable;
740762

lib/BioX/Workflow/Command/run/Utils/Files/ResolveDeps.pm

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,10 +58,10 @@ sub post_process_rules {
5858

5959
#Create flags for outputs that have a similar input
6060
$self->app_log->info();
61-
$self->app_log->info( 'Selected rules:' . "\t"
62-
. join( ', ', @{ $self->select_rule_keys } )
63-
. "\n" )
64-
if $self->use_timestamps;
61+
# $self->app_log->info( 'Selected rules:' . "\t"
62+
# . join( ', ', @{ $self->select_rule_keys } )
63+
# . "\n" )
64+
# if $self->use_timestamps;
6565
# $self->app_log->info( 'Looking for orphan INPUTs '
6666
# . '(INPUTs with no corresponding OUTPUTs)' );
6767

0 commit comments

Comments
 (0)