Advertisement
Guest User

Untitled

a guest
Jan 17th, 2020
105
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.82 KB | None | 0 0
  1. use diagnostics;
  2. use ElectricCommander;
  3. my $ec = new ElectricCommander();
  4.  
  5. my $componentNames = $ec->getProperty("/myCall/componentNames")->findnodes("//value")->string_value();
  6. print "componentNames : " . $componentNames . "\n";
  7.  
  8. my $env = $ec->getProperty("/myProject/envVariables")->findnodes("//value")->string_value();
  9. my $workDir = $ec->getProperty("/myParent/workDir")->findnodes("//value")->string_value();
  10. my $region = $ec->getProperty("/myParent/region")->findnodes("//value")->string_value();
  11. my $excludeParser = $ec->getProperty("/myParent/excludeParser")->findnodes("//value")->string_value();
  12. my $searchQualityVersion = $ec->getProperty("/myParent/searchQualityVersion")->findnodes("//value")->string_value();
  13. my $product = $ec->getProperty("/myParent/currentProduct")->findnodes("//value")->string_value();
  14. my $datasource = $ec->getProperty("/myParent/datasource")->findnodes("//value")->string_value();
  15. my $embeddedVersion = $ec->getProperty("/myParent/embeddedVersion")->findnodes("//value")->string_value();
  16.  
  17. my $replayjobid = $ec->getProperty("/myJob/replayJobID")->findnodes("//value")->string_value();
  18. my $testdatajobidlist = $ec->getProperty("/myJob/testDataJobIDList")->findnodes("//value")->string_value();
  19. my $countryList = $ec->getProperty("/myJob/countryList")->findnodes("//value")->string_value();
  20. my $patternList = $ec->getProperty("/myJob/patternList")->findnodes("//value")->string_value();
  21. my $label = $ec->getProperty("/myParent/label")->findnodes("//value")->string_value();
  22. my $buildType = $ec->getProperty("/myParent/buildType")->findnodes("//value")->string_value();
  23. my $patternPriority = $ec->getProperty("/myParent/patternPriority")->findnodes("//value")->string_value();
  24.  
  25. my $environment = $ec->getProperty("/myParent/environment")->findnodes("//value")->string_value();
  26. my $endpoint = $ec->getProperty("/myParent/endpoint")->findnodes("//value")->string_value();
  27. my $apikey = $ec->getProperty("/myParent/apikey")->findnodes("//value")->string_value();
  28. my $secretkey = $ec->getProperty("/myParent/secretkey")->findnodes("//value")->string_value();
  29.  
  30. my $targetType = "";
  31. my $local_data_path = "";
  32. my $data_link = "";
  33. if ($datasource eq "onboard") {
  34.     $local_data_path = $ec->getProperty("/myJob/local_data_path/$region/path")->findnodes("//value")->string_value();
  35.     $data_link = $ec->getProperty("/myJob/index_path/$region/path")->findnodes("//value")->string_value();
  36. }
  37. print "Index Link: $data_link\n";
  38.  
  39. my $resourceName = '$[/myResource/resourceName]';
  40. my $sourceProject = '$[/myProject/projectName]';
  41. my $limitPerPattern = '$[/myParent/limitperpattern]';
  42. my $faraway = '$[/myParent/faraway]';
  43. my $suite = '$[/myParent/suiteNames]';
  44. my $ecJobID = '$[/myJob/jobName]_$[/myCall/product]';
  45. my $jobID = '$[jobId]';
  46. my $workDir = '$[/myParent/workDir]';
  47.  
  48. #Create a new procedure
  49. my $procedureName = "VarStep_PreRun_SelectedComponent_${jobID}_$region";
  50. $ec->createProcedure("$sourceProject", "$procedureName", { resourceName => "$resourceName" });
  51.  
  52. # Store off the procedure name
  53. $ec->setProperty("/myParent/runUnitTestSelectedComponents", "$procedureName");
  54.  
  55. # Read component name from array
  56. my @componentsArray = split(/,/, $componentNames);
  57.  
  58. foreach my $componentName (@componentsArray) {
  59.     my $pwdCmd = "echo `pwd`";
  60.     my $chmodCmd = "chmod 777 ./$componentName/container-orchestration/common/scripts/*.sh";
  61.     my $cdCmd = "cd $componentName/container-orchestration/docker-compose/sq-core && chmod 777 *.sh";
  62.     my $prerunCmd = "./pre-run.sh -e=$buildType -p=$product -r=$region -g=$embeddedVersion -d=$datasource -f=$local_data_path";
  63.  
  64.     $response = $ec->createStep("$sourceProject", "$procedureName", "PreRun_SearchQuality", {
  65.         command          => "$pwdCmd\n$chmodCmd\n$cdCmd\n$prerunCmd\n",
  66.         parallel         => "0",
  67.         workingDirectory => "$workDir"
  68.     });
  69.     last;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement