forked from lix-project/hydra
* Editing of jobset inputs.
This commit is contained in:
parent
66f752beaf
commit
2650094643
|
@ -88,16 +88,17 @@ sub updateProject {
|
||||||
|
|
||||||
$jobsetNames{$jobsetName} = 1;
|
$jobsetNames{$jobsetName} = 1;
|
||||||
|
|
||||||
|
my $jobset;
|
||||||
|
|
||||||
if ($baseName =~ /^\d+$/) { # numeric base name is auto-generated, i.e. a new entry
|
if ($baseName =~ /^\d+$/) { # numeric base name is auto-generated, i.e. a new entry
|
||||||
my $jobset = $c->model('DB::Jobsets')->create(
|
$jobset = $project->jobsets->create(
|
||||||
{ project => $project->name
|
{ name => $jobsetName
|
||||||
, name => $jobsetName
|
|
||||||
, description => $c->request->params->{"jobset-$baseName-description"}
|
, description => $c->request->params->{"jobset-$baseName-description"}
|
||||||
, nixexprpath => $nixExprPath
|
, nixexprpath => $nixExprPath
|
||||||
, nixexprinput => $nixExprInput
|
, nixexprinput => $nixExprInput
|
||||||
});
|
});
|
||||||
} else { # it's an existing jobset
|
} else { # it's an existing jobset
|
||||||
(my $jobset) = $project->jobsets->search({name => $baseName});
|
$jobset = ($project->jobsets->search({name => $baseName}))[0];
|
||||||
die unless defined $jobset;
|
die unless defined $jobset;
|
||||||
$jobset->name($jobsetName);
|
$jobset->name($jobsetName);
|
||||||
$jobset->description($c->request->params->{"jobset-$baseName-description"});
|
$jobset->description($c->request->params->{"jobset-$baseName-description"});
|
||||||
|
@ -105,6 +106,43 @@ sub updateProject {
|
||||||
$jobset->nixexprinput($nixExprInput);
|
$jobset->nixexprinput($nixExprInput);
|
||||||
$jobset->update;
|
$jobset->update;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Process the inputs of this jobset.
|
||||||
|
foreach my $param (keys %{$c->request->params}) {
|
||||||
|
next unless $param =~ /^jobset-$baseName-input-(\w+)-name$/;
|
||||||
|
my $baseName2 = $1;
|
||||||
|
next if $baseName2 eq "template";
|
||||||
|
print STDERR "GOT INPUT: $baseName2\n";
|
||||||
|
|
||||||
|
my $inputName = $c->request->params->{"jobset-$baseName-input-$baseName2-name"};
|
||||||
|
die "Invalid input name: $inputName" unless $inputName =~ /^[[:alpha:]]\w*$/;
|
||||||
|
|
||||||
|
my $inputType = $c->request->params->{"jobset-$baseName-input-$baseName2-type"};
|
||||||
|
die "Invalid input type: $inputType" unless
|
||||||
|
$inputType eq "svn" || $inputType eq "cvs" || $inputType eq "tarball" ||
|
||||||
|
$inputType eq "string" || $inputType eq "path";
|
||||||
|
|
||||||
|
my $input;
|
||||||
|
if ($baseName2 =~ /^\d+$/) { # numeric base name is auto-generated, i.e. a new entry
|
||||||
|
} else { # it's an existing jobset
|
||||||
|
$input = ($jobset->jobsetinputs->search({name => $baseName2}))[0];
|
||||||
|
die unless defined $input;
|
||||||
|
$input->name($inputName);
|
||||||
|
$input->type($inputType);
|
||||||
|
$input->update;
|
||||||
|
}
|
||||||
|
|
||||||
|
# Update the values for this input. Just delete all the
|
||||||
|
# current ones, then create the new values.
|
||||||
|
$input->jobsetinputalts->delete_all;
|
||||||
|
my $values = $c->request->params->{"jobset-$baseName-input-$baseName2-values"};
|
||||||
|
$values = [$values] unless ref($values) eq 'ARRAY';
|
||||||
|
my $altnr = 0;
|
||||||
|
foreach my $value (@{$values}) {
|
||||||
|
print STDERR "VALUE: $value\n";
|
||||||
|
$input->jobsetinputalts->create({altnr => $altnr++, value => $value});
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# Get rid of deleted jobsets, i.e., ones that are no longer submitted in the parameters.
|
# Get rid of deleted jobsets, i.e., ones that are no longer submitted in the parameters.
|
||||||
|
|
|
@ -8,8 +8,8 @@ use base 'DBIx::Class::Schema';
|
||||||
__PACKAGE__->load_classes;
|
__PACKAGE__->load_classes;
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:UDG/z2SeOSq/K7iVpzF0mw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:KEl9aBHuDTOb+pkc2Wde0A
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -40,8 +40,8 @@ __PACKAGE__->belongs_to(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:fClAPzHpXV7YT8eHUeU4zw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:wkxzzlIrlNAnzUlBQMkx/A
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -21,8 +21,8 @@ __PACKAGE__->set_primary_key("build", "logphase");
|
||||||
__PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" });
|
__PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" });
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:lW6yq7QOyzpa+zM/J/7VFQ
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:q7krNxyxcF4PlLGT8dmkLQ
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -33,8 +33,8 @@ __PACKAGE__->set_primary_key("build", "productnr");
|
||||||
__PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" });
|
__PACKAGE__->belongs_to("build", "HydraFrontend::Schema::Builds", { id => "build" });
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:2qyh04FF7LrOgo+/Ixap2A
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:60iPYEFvRtct6aHFChM8Eg
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -25,8 +25,8 @@ __PACKAGE__->set_primary_key("id");
|
||||||
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:ko+bQKdwDzow15p/aTdgYw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:twJAkSC32lJGcGItKegomg
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -79,8 +79,8 @@ __PACKAGE__->has_many(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:9VXVDomeYpjysKc8NxWogw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:kTvNLSNfUxIbzFQ82v+AHg
|
||||||
|
|
||||||
__PACKAGE__->has_many(dependents => 'HydraFrontend::Schema::Buildinputs', 'dependency');
|
__PACKAGE__->has_many(dependents => 'HydraFrontend::Schema::Buildinputs', 'dependency');
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,8 @@ __PACKAGE__->set_primary_key("id");
|
||||||
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:v2j9A4bXqe96Qy1zz/C+VQ
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:a9oTOE0Aw1nHAamSOf+AVw
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -35,8 +35,8 @@ __PACKAGE__->set_primary_key("id", "stepnr");
|
||||||
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
__PACKAGE__->belongs_to("id", "HydraFrontend::Schema::Builds", { id => "id" });
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:tCirOuLYfhBxoEkH5HAQlQ
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:8JPNCq31oRo9w3tQGPpwMw
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -16,14 +16,12 @@ __PACKAGE__->add_columns(
|
||||||
{ data_type => "text", is_nullable => 0, size => undef },
|
{ data_type => "text", is_nullable => 0, size => undef },
|
||||||
"altnr",
|
"altnr",
|
||||||
{ data_type => "integer", is_nullable => 0, size => undef },
|
{ data_type => "integer", is_nullable => 0, size => undef },
|
||||||
"uri",
|
"value",
|
||||||
{ data_type => "text", is_nullable => 0, size => undef },
|
{ data_type => "text", is_nullable => 0, size => undef },
|
||||||
"revision",
|
"revision",
|
||||||
{ data_type => "integer", is_nullable => 0, size => undef },
|
{ data_type => "integer", is_nullable => 0, size => undef },
|
||||||
"tag",
|
"tag",
|
||||||
{ data_type => "text", is_nullable => 0, size => undef },
|
{ data_type => "text", is_nullable => 0, size => undef },
|
||||||
"value",
|
|
||||||
{ data_type => "text", is_nullable => 0, size => undef },
|
|
||||||
);
|
);
|
||||||
__PACKAGE__->set_primary_key("project", "jobset", "input", "altnr");
|
__PACKAGE__->set_primary_key("project", "jobset", "input", "altnr");
|
||||||
__PACKAGE__->belongs_to(
|
__PACKAGE__->belongs_to(
|
||||||
|
@ -33,8 +31,8 @@ __PACKAGE__->belongs_to(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:GgHinSVpD7x20xFqfvau0Q
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:EVQbKQiSBV7xXLVym+lUxQ
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -43,8 +43,8 @@ __PACKAGE__->has_many(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:F9AunJfDCrzuCOBHjNaurw
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:DcDEOgQY24GPqdhDlleLsQ
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -48,8 +48,8 @@ __PACKAGE__->has_many(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:oQnTi5ALlqDF0gP9P/hTeg
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:nsVTqxR1wQaamEpy5nNOTQ
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -28,8 +28,8 @@ __PACKAGE__->has_many(
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-13 00:41:19
|
# Created by DBIx::Class::Schema::Loader v0.04005 @ 2008-11-17 12:36:40
|
||||||
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:z7XJulBG7643ilgAj1hDwg
|
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:TNoQBA0pY/OwfunCJ+/9Gw
|
||||||
|
|
||||||
|
|
||||||
# You can replace this text with custom content, and it will be preserved on regeneration
|
# You can replace this text with custom content, and it will be preserved on regeneration
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
body
|
body {
|
||||||
{
|
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
background: white;
|
background: white;
|
||||||
margin: 2em 1em 2em 1em;
|
margin: 2em 1em 2em 1em;
|
||||||
|
@ -361,3 +360,7 @@ input.string {
|
||||||
background-color: #fffff0;
|
background-color: #fffff0;
|
||||||
width: 30em;
|
width: 30em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input.shortString {
|
||||||
|
width: 10em;
|
||||||
|
}
|
||||||
|
|
|
@ -4,13 +4,29 @@
|
||||||
|
|
||||||
[% BLOCK maybeEditString %]
|
[% BLOCK maybeEditString %]
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
<input type="text" class="string" [% HTML.attributes(id => param, name => param, value => value) %] />
|
<input type="text" class="string [% extraClass %]" [% HTML.attributes(id => param, name => param, value => value) %] />
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
[% HTML.escape(value) %]
|
[% HTML.escape(value) %]
|
||||||
[% END %]
|
[% END %]
|
||||||
[% END %]
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
|
[% BLOCK renderInputType %]
|
||||||
|
[% SWITCH type %]
|
||||||
|
[% CASE "svn" %]Subversion checkout
|
||||||
|
[% CASE "cvs" %]CVS checkout
|
||||||
|
[% CASE "tarball" %]Download of a tarball
|
||||||
|
[% CASE "string" %]String value
|
||||||
|
[% CASE "path" %]Local path
|
||||||
|
[% END %]
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
|
[% BLOCK renderInputTypeOption %]
|
||||||
|
<option value="[% type %]" [% IF value == type %]selected="selected"[%END %]>[% INCLUDE renderInputType %]</option>
|
||||||
|
[% END %]
|
||||||
|
|
||||||
|
|
||||||
[% BLOCK renderJobset %]
|
[% BLOCK renderJobset %]
|
||||||
|
|
||||||
<div class="jobset[% IF edit %] jobset-edit[% END %]">
|
<div class="jobset[% IF edit %] jobset-edit[% END %]">
|
||||||
|
@ -33,8 +49,8 @@
|
||||||
<tr>
|
<tr>
|
||||||
<th>Nix expression:</th>
|
<th>Nix expression:</th>
|
||||||
<td>
|
<td>
|
||||||
<tt>[% INCLUDE maybeEditString param="jobset-$baseName-nixexprpath" value=jobset.nixexprpath %]</tt> in input
|
<tt>[% INCLUDE maybeEditString param="jobset-$baseName-nixexprpath" value=jobset.nixexprpath extraClass="shortString" %]</tt> in input
|
||||||
<tt>[% INCLUDE maybeEditString param="jobset-$baseName-nixexprinput" value=jobset.nixexprinput %]</tt>
|
<tt>[% INCLUDE maybeEditString param="jobset-$baseName-nixexprinput" value=jobset.nixexprinput extraClass="shortString" %]</tt>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
@ -48,34 +64,29 @@
|
||||||
<tbody>
|
<tbody>
|
||||||
[% FOREACH input IN jobset.jobsetinputs -%]
|
[% FOREACH input IN jobset.jobsetinputs -%]
|
||||||
<tr>
|
<tr>
|
||||||
<td><tt>[% INCLUDE maybeEditString value=input.name %]</tt></td>
|
<td><tt>[% INCLUDE maybeEditString param="jobset-$baseName-input-$input.name-name" value=input.name extraClass="shortString" %]</tt></td>
|
||||||
<td><tt>
|
<td>
|
||||||
[% IF edit %]
|
[% IF edit %]
|
||||||
<select>
|
<select name="[% "jobset-$baseName-input-$input.name-type" %]">
|
||||||
<option>svn</option>
|
[% INCLUDE renderInputTypeOption value=input.type type="svn" %]
|
||||||
<option>cvs</option>
|
[% INCLUDE renderInputTypeOption value=input.type type="cvs" %]
|
||||||
<option>uri</option>
|
[% INCLUDE renderInputTypeOption value=input.type type="tarball" %]
|
||||||
<option>string</option>
|
[% INCLUDE renderInputTypeOption value=input.type type="string" %]
|
||||||
<option>path</option>
|
[% INCLUDE renderInputTypeOption value=input.type type="path" %]
|
||||||
</select>
|
</select>
|
||||||
[% ELSE %]
|
[% ELSE %]
|
||||||
[% input.type %]
|
[% INCLUDE renderInputType type=input.type %]
|
||||||
[% END %]
|
[% END %]
|
||||||
</tt></td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
[% FOREACH alt IN input.jobsetinputalts -%]
|
[% FOREACH alt IN input.jobsetinputalts -%]
|
||||||
[% IF input.type == "string" %]
|
<tt>
|
||||||
<tt>
|
[% IF input.type == "string" && !edit %]
|
||||||
[% IF edit %]
|
"[% HTML.escape(alt.value) %]"
|
||||||
<input type='text' class='string' value='[% alt.value %]' />
|
[% ELSE %]
|
||||||
<br />
|
[% INCLUDE maybeEditString param="jobset-$baseName-input-$input.name-values" value=alt.value %]
|
||||||
[% ELSE %]
|
[% END %]
|
||||||
"[% alt.value %]"
|
</tt>
|
||||||
[% END %]
|
|
||||||
</tt>
|
|
||||||
[% ELSE %]
|
|
||||||
<tt>[% INCLUDE maybeEditString value=alt.uri %]</tt>
|
|
||||||
[% END %]
|
|
||||||
[% END %]
|
[% END %]
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -140,7 +151,7 @@
|
||||||
$("#add-jobset").click(function() {
|
$("#add-jobset").click(function() {
|
||||||
var newid = "jobset-" + id++;
|
var newid = "jobset-" + id++;
|
||||||
$("#jobset-template").clone(true).attr("id", newid).insertAfter($("#jobset-template")).show();
|
$("#jobset-template").clone(true).attr("id", newid).insertAfter($("#jobset-template")).show();
|
||||||
$("#jobset-template-name", $("#" + newid)).attr("name", newid + "-name").attr("value", "trunk");
|
$("#jobset-template-name", $("#" + newid)).attr("name", newid + "-name");
|
||||||
$("#jobset-template-description", $("#" + newid)).attr("name", newid + "-description");
|
$("#jobset-template-description", $("#" + newid)).attr("name", newid + "-description");
|
||||||
$("#jobset-template-nixexprpath", $("#" + newid)).attr("name", newid + "-nixexprpath");
|
$("#jobset-template-nixexprpath", $("#" + newid)).attr("name", newid + "-nixexprpath");
|
||||||
$("#jobset-template-nixexprinput", $("#" + newid)).attr("name", newid + "-nixexprinput");
|
$("#jobset-template-nixexprinput", $("#" + newid)).attr("name", newid + "-nixexprinput");
|
||||||
|
|
|
@ -138,7 +138,7 @@ create table BuildLogs (
|
||||||
|
|
||||||
-- Emulate "on delete cascade" foreign key constraints.
|
-- Emulate "on delete cascade" foreign key constraints.
|
||||||
create trigger cascadeBuildDeletion
|
create trigger cascadeBuildDeletion
|
||||||
before delete on builds
|
before delete on Builds
|
||||||
for each row begin
|
for each row begin
|
||||||
delete from BuildSchedulingInfo where id = old.id;
|
delete from BuildSchedulingInfo where id = old.id;
|
||||||
delete from BuildResultInfo where id = old.id;
|
delete from BuildResultInfo where id = old.id;
|
||||||
|
@ -181,11 +181,11 @@ create table Jobsets (
|
||||||
|
|
||||||
|
|
||||||
create trigger cascadeJobsetUpdate
|
create trigger cascadeJobsetUpdate
|
||||||
update of name on jobsets
|
update of name on Jobsets
|
||||||
for each row begin
|
for each row begin
|
||||||
update JobsetInputs set jobset = new.name where jobset = old.name;
|
update JobsetInputs set jobset = new.name where project = old.project and jobset = old.name;
|
||||||
update JobsetInputAlts set jobset = new.name where jobset = old.name;
|
update JobsetInputAlts set jobset = new.name where project = old.project and jobset = old.name;
|
||||||
update Builds set jobset = new.name where jobset = old.name;
|
update Builds set jobset = new.name where project = old.project and jobset = old.name;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -199,17 +199,30 @@ create table JobsetInputs (
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
create trigger cascadeJobsetInputUpdate
|
||||||
|
update of name on JobsetInputs
|
||||||
|
for each row begin
|
||||||
|
update JobsetInputAlts set input = new.name where project = old.project and jobset = old.jobset and input = old.name;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
create trigger cascadeJobsetInputDelete
|
||||||
|
before delete on JobsetInputs
|
||||||
|
for each row begin
|
||||||
|
delete from JobsetInputAlts where project = old.project and jobset = old.jobset and input = old.name;
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
create table JobsetInputAlts (
|
create table JobsetInputAlts (
|
||||||
project text not null,
|
project text not null,
|
||||||
jobset text not null,
|
jobset text not null,
|
||||||
input text not null,
|
input text not null,
|
||||||
altnr integer,
|
altnr integer not null,
|
||||||
|
|
||||||
-- urgh
|
-- urgh
|
||||||
uri text,
|
value text, -- for most types, a URI; for 'path', an absolute path; for 'string', an arbitrary value
|
||||||
revision integer, -- for type == 'svn'
|
revision integer, -- for type == 'svn'
|
||||||
tag text, -- for type == 'cvs'
|
tag text, -- for type == 'cvs'
|
||||||
value text, -- for type == 'string'
|
|
||||||
|
|
||||||
primary key (project, jobset, input, altnr),
|
primary key (project, jobset, input, altnr),
|
||||||
foreign key (project, jobset, input) references JobsetInputs(project, jobset, name) on delete cascade -- ignored by sqlite
|
foreign key (project, jobset, input) references JobsetInputs(project, jobset, name) on delete cascade -- ignored by sqlite
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
insert into projects(name, displayName, description) values('patchelf', 'PatchELF', 'A tool for modifying ELF binaries');
|
insert into projects(name, displayName, description) values('patchelf', 'PatchELF', 'A tool for modifying ELF binaries');
|
||||||
insert into jobSets(project, name, description, nixExprInput, nixExprPath) values('patchelf', 'trunk', 'PatchELF trunk', 'patchelfSrc', 'release.nix');
|
insert into jobSets(project, name, description, nixExprInput, nixExprPath) values('patchelf', 'trunk', 'PatchELF trunk', 'patchelfSrc', 'release.nix');
|
||||||
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'patchelfSrc', 'path');
|
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'patchelfSrc', 'path');
|
||||||
insert into jobSetInputAlts(project, jobset, input, altnr, uri) values('patchelf', 'trunk', 'patchelfSrc', 0, '/home/eelco/Dev/patchelf-wc');
|
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'patchelfSrc', 0, '/home/eelco/Dev/patchelf-wc');
|
||||||
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'nixpkgs', 'path');
|
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'nixpkgs', 'path');
|
||||||
insert into jobSetInputAlts(project, jobset, input, altnr, uri) values('patchelf', 'trunk', 'nixpkgs', 0, '/home/eelco/Dev/nixpkgs-wc');
|
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'nixpkgs', 0, '/home/eelco/Dev/nixpkgs-wc');
|
||||||
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'release', 'path');
|
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'release', 'path');
|
||||||
insert into jobSetInputAlts(project, jobset, input, altnr, uri) values('patchelf', 'trunk', 'release', 0, '/home/eelco/Dev/release');
|
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'release', 0, '/home/eelco/Dev/release');
|
||||||
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'system', 'string');
|
insert into jobSetInputs(project, jobset, name, type) values('patchelf', 'trunk', 'system', 'string');
|
||||||
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'system', 0, 'i686-linux');
|
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'system', 0, 'i686-linux');
|
||||||
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'system', 1, 'x86_64-linux');
|
insert into jobSetInputAlts(project, jobset, input, altnr, value) values('patchelf', 'trunk', 'system', 1, 'x86_64-linux');
|
||||||
|
|
Loading…
Reference in a new issue