forked from lix-project/hydra
Fix sysbuild input type handling
This commit is contained in:
parent
1d96b0ba67
commit
b1da85140d
|
@ -563,49 +563,52 @@ sub fetchInputHg {
|
||||||
|
|
||||||
sub fetchInput {
|
sub fetchInput {
|
||||||
my ($db, $project, $jobset, $name, $type, $value) = @_;
|
my ($db, $project, $jobset, $name, $type, $value) = @_;
|
||||||
my $input;
|
my @inputs;
|
||||||
|
|
||||||
if ($type eq "path") {
|
if ($type eq "path") {
|
||||||
$input = fetchInputPath($db, $project, $jobset, $name, $value);
|
push @inputs, fetchInputPath($db, $project, $jobset, $name, $value);
|
||||||
}
|
}
|
||||||
elsif ($type eq "svn") {
|
elsif ($type eq "svn") {
|
||||||
$input = fetchInputSVN($db, $project, $jobset, $name, $value, 0);
|
push @inputs, fetchInputSVN($db, $project, $jobset, $name, $value, 0);
|
||||||
}
|
}
|
||||||
elsif ($type eq "svn-checkout") {
|
elsif ($type eq "svn-checkout") {
|
||||||
$input = fetchInputSVN($db, $project, $jobset, $name, $value, 1);
|
push @inputs, fetchInputSVN($db, $project, $jobset, $name, $value, 1);
|
||||||
}
|
}
|
||||||
elsif ($type eq "build") {
|
elsif ($type eq "build") {
|
||||||
$input = fetchInputBuild($db, $project, $jobset, $name, $value);
|
push @inputs, fetchInputBuild($db, $project, $jobset, $name, $value);
|
||||||
}
|
}
|
||||||
elsif ($type eq "sysbuild") {
|
elsif ($type eq "sysbuild") {
|
||||||
$input = fetchInputSystemBuild($db, $project, $jobset, $name, $value);
|
push @inputs, fetchInputSystemBuild($db, $project, $jobset, $name, $value);
|
||||||
}
|
}
|
||||||
elsif ($type eq "git") {
|
elsif ($type eq "git") {
|
||||||
$input = fetchInputGit($db, $project, $jobset, $name, $value);
|
push @inputs, fetchInputGit($db, $project, $jobset, $name, $value);
|
||||||
}
|
}
|
||||||
elsif ($type eq "hg") {
|
elsif ($type eq "hg") {
|
||||||
$input = fetchInputHg($db, $project, $jobset, $name, $value);
|
push @inputs, fetchInputHg($db, $project, $jobset, $name, $value);
|
||||||
}
|
}
|
||||||
elsif ($type eq "bzr") {
|
elsif ($type eq "bzr") {
|
||||||
$input = fetchInputBazaar($db, $project, $jobset, $name, $value, 0);
|
push @inputs, fetchInputBazaar($db, $project, $jobset, $name, $value, 0);
|
||||||
}
|
}
|
||||||
elsif ($type eq "bzr-checkout") {
|
elsif ($type eq "bzr-checkout") {
|
||||||
$input = fetchInputBazaar($db, $project, $jobset, $name, $value, 1);
|
push @inputs, fetchInputBazaar($db, $project, $jobset, $name, $value, 1);
|
||||||
}
|
}
|
||||||
elsif ($type eq "string") {
|
elsif ($type eq "string") {
|
||||||
die unless defined $value;
|
die unless defined $value;
|
||||||
$input = { value => $value };
|
push @inputs, { value => $value };
|
||||||
}
|
}
|
||||||
elsif ($type eq "boolean") {
|
elsif ($type eq "boolean") {
|
||||||
die unless defined $value && ($value eq "true" || $value eq "false");
|
die unless defined $value && ($value eq "true" || $value eq "false");
|
||||||
$input = { value => $value };
|
push @inputs, { value => $value };
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
die "Input `" . $name . "' has unknown type `$type'.";
|
die "Input `" . $name . "' has unknown type `$type'.";
|
||||||
}
|
}
|
||||||
|
|
||||||
$input->{type} = $type if defined $input;
|
foreach my $input (@inputs) {
|
||||||
return $input;
|
$input->{type} = $type if defined $input;
|
||||||
|
}
|
||||||
|
|
||||||
|
return @inputs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -25,15 +25,10 @@ sub fetchInputs {
|
||||||
my ($project, $jobset, $inputInfo) = @_;
|
my ($project, $jobset, $inputInfo) = @_;
|
||||||
foreach my $input ($jobset->jobsetinputs->all) {
|
foreach my $input ($jobset->jobsetinputs->all) {
|
||||||
foreach my $alt ($input->jobsetinputalts->all) {
|
foreach my $alt ($input->jobsetinputalts->all) {
|
||||||
if($input->type eq "sysbuild") {
|
my @info = fetchInput($db, $project, $jobset, $input->name, $input->type, $alt->value);
|
||||||
my @info = fetchInput($db, $project, $jobset, $input->name, $input->type, $alt->value);
|
foreach my $info_el (@info) {
|
||||||
foreach my $info_el (@info) {
|
push @{$$inputInfo{$input->name}}, $info_el if defined $info_el;
|
||||||
push @{$$inputInfo{$input->name}}, $info_el if defined $info_el;
|
}
|
||||||
}
|
|
||||||
} else {
|
|
||||||
my $info = fetchInput($db, $project, $jobset, $input->name, $input->type, $alt->value);
|
|
||||||
push @{$$inputInfo{$input->name}}, $info if defined $info;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue