about summary refs log tree commit diff
path: root/lib/jitterbug/Builder.pm
diff options
context:
space:
mode:
authorJonathan "Duke" Leto <jonathan@leto.net>2011-05-23 16:54:28 -0700
committerJonathan "Duke" Leto <jonathan@leto.net>2011-05-23 16:54:28 -0700
commit998b3daae7921b677b72f9bc74646bea864ce25f (patch)
tree9a622c1d0be778c32f89f651ffd7a7163abc10be /lib/jitterbug/Builder.pm
parentFactor out git logic to separate function (diff)
downloadjitterbug-998b3daae7921b677b72f9bc74646bea864ce25f.tar.gz
Factor out result parsing to another function
Diffstat (limited to '')
-rw-r--r--lib/jitterbug/Builder.pm29
1 files changed, 17 insertions, 12 deletions
diff --git a/lib/jitterbug/Builder.pm b/lib/jitterbug/Builder.pm
index a70e560..fe820c3 100644
--- a/lib/jitterbug/Builder.pm
+++ b/lib/jitterbug/Builder.pm
@@ -154,9 +154,7 @@ sub run_task {
                         || $conf->{'jitterbug'}{'build_process'}{'builder'};
 
     my $perlbrew      = $conf->{'jitterbug'}{'options'}{'perlbrew'};
-    my $email_on_pass = $conf->{'jitterbug'}{'options'}{'email_on_pass'};
 
-    debug("email_on_pass = $email_on_pass");
     debug("perlbrew      = $perlbrew");
 
     # If the project has custom builder variables, use those. Otherwise, use the global setting
@@ -171,6 +169,23 @@ sub run_task {
 
     $desc->{'build'}{'end_time'} = time();
 
+    $self->_parse_results($report_path, $conf, $task, $desc);
+
+    $task->commit->update( {
+        content => JSON::encode_json($desc),
+    } );
+    debug("Task completed for " . $task->commit->sha256 . "\n");
+
+    $task->delete();
+
+    debug("Task removed from " . $task->project->name . "\n");
+}
+
+sub _parse_results {
+    my ($self, $report_path, $conf, $task, $desc) = @_;
+    my $email_on_pass = $conf->{'jitterbug'}{'options'}{'email_on_pass'};
+    debug("email_on_pass = $email_on_pass");
+
     my @versions = glob( $report_path . '/*' );
     foreach my $version (@versions) {
         open my $fh, '<', $version;
@@ -237,14 +252,4 @@ sub run_task {
         $desc->{'build'}{'version'}{$name} = $result;
         close $fh;
     }
-
-    $task->commit->update( {
-        content => JSON::encode_json($desc),
-    } );
-    debug("Task completed for " . $task->commit->sha256 . "\n");
-
-    $task->delete();
-
-    debug("Task removed from " . $task->project->name . "\n");
 }
-