[?]
Feb 25, 2009, 4:29 PM
2JQ7WEFMU5IPCUKLGRLVVT4MYMKVHJDZVMOOOPL6K5RLEZ532LGQCDependencies
- [2]
XHVZXX6N - [3]
SHBLLAVH* More global substitution. - [4]
YTSIRIMK* Separate job status and all builds pages. - [5]
NYC3LZKH* Generate NAR archives on the fly. Necessary for producing channels - [6]
J5UVLXOK* Start of a basic Catalyst web interface. - [7]
LBNVQXUB* Build the /build stuff in a separate controller. - [8]
ZRBXLKFO - [9]
JLDUSNUO* Unify rendering of finished and scheduled builds. - [10]
IWVA2P2Y* Generate manifests on demand. Next step: generate NAR archives on - [11]
5NO7NCKT* Refactoring. - [12]
UHANDRAR* Closure downloads: don't include the product number; it's not needed. - [13]
Y35C6GHH* One-click installs. - [14]
SMM4HQTP* Put actions related to builds under /build (e.g. /log/<buildid> - [15]
2AUODJBT - [16]
2AIIYGI5* Show job status and all builds for a project.
Change contents
- edit in src/Hydra/lib/Hydra/Controller/Build.pm at line 125
$c->stash->{name} = $build->nixname; - edit in src/Hydra/lib/Hydra/Controller/Build.pm at line 126
- replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 5
use base 'Catalyst::Controller';use base 'Hydra::Base::Controller::Nix'; - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 100
sub showJobStatus {# Return the latest build for each job.sub getLatestBuilds { - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 103
$c->stash->{template} = 'jobstatus.tt';# Get the latest finished build for each unique job.$c->stash->{latestBuilds} = [$builds->search({},return $builds->search({}, - replacement in src/Hydra/lib/Hydra/Controller/Root.pm at line 112
})];});}sub showJobStatus {my ($c, $builds) = @_;$c->stash->{template} = 'jobstatus.tt';# Get the latest finished build for each unique job.$c->stash->{latestBuilds} = [getLatestBuilds($c, $builds)]; - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 546
sub nix : Chained('/') PathPart('nix') CaptureArgs(0) {my ($self, $c) = @_; - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 551
my @builds = getLatestBuilds($c, $c->model('DB::Builds')); - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 553
my @storePaths = ();foreach my $build (@builds) {push @storePaths, $build->outpath if isValidPath($build->outpath);};$c->stash->{storePaths} = [@storePaths];} - edit in src/Hydra/lib/Hydra/Controller/Root.pm at line 574
if ($c->response->status >= 300) {$c->stash->{httpStatus} =$c->response->status . " " . HTTP::Status::status_message($c->response->status);} - edit in src/Hydra/lib/Hydra/View/NixManifest.pm at line 6
use IPC::Run; - edit in src/Hydra/lib/Hydra/View/NixManifest.pm at line 7
sub captureStdoutStderr {my $stdin = ""; my $stdout; my $stderr;my $res = IPC::Run::run(\@_, \$stdin, \$stdout, \$stderr);return ($res, $stdout, $stderr);} - replacement in src/Hydra/lib/Hydra/View/NixManifest.pm at line 16
my @paths = split '\n', `nix-store --query --requisites @storePaths`or die "cannot query dependencies of path(s) @storePaths: $?";my @paths = split '\n', `nix-store --query --requisites @storePaths`;die "cannot query dependencies of path(s) @storePaths: $?" if $? != 0; - replacement in src/Hydra/lib/Hydra/View/NixManifest.pm at line 25
my ($res, $out, $err) = captureStdoutStderr(qw(nix-store --query --references), $path);die "cannot query references of `$path':\n$err" unless $res;my @refs = split '\n', $out;my @refs = split '\n', `nix-store --query --references $path`;die "cannot query references of `$path': $?" if $? != 0; - replacement in src/Hydra/root/error.tt at line 4
<h1>Error</h1><h1>[% IF httpStatus %][% httpStatus %][% ELSE %]Error[% END %]</h1>