CloudBees CD (CloudBees Flow) SymbianOS Series60 Standalone Matcher

Article ID:360033193931
3 minute readKnowledge base
push (@::gMatchers,
# Stage counter
  {
   id =>        "stage-counter",
   pattern =>          q{=== Stage=(\d+) started},
   action =>           q{
 incValue("stages"); updateSummary();},
  },
  {
   id =>        "phase-counter",
   pattern =>          q{===       BUILDING (.*)},
   action =>           q{
 incValue("phases"); updateSummary(); diagnostic("phase: $1", "info", -1, 1);},
  },
  {
   id =>        "id-counter",
   pattern =>          q{--- .* Executed ID },
   action =>           q{
 incValue("id"); updateSummary();},
  },
  {
   id =>        "emake-build-counter",
   pattern =>          q{Starting build: (\d)},
   action =>           q{
 incValue("emake-builds"); updateSummary();},
  },
# 1 file(s) copied.
  {
   id =>        "file-copy-counter",
   pattern =>          q{(\d) file\(s\) copied\.},
   action =>           q{
 incValue("file-copies", $1); updateSummary();},
  },

# make[3]: *** [\EPOC32\BUILD\src\cedar\generic\base\omap_samsung\variant\ESTARTFORS60\ARMV5\UDEB\estartForS60.o] Error 1
  {
   id =>        "make-error",
   pattern =>          q{make.*: \*\*\* \[.*\] Error ([1234567890]+)},
   action =>           q{
 incValue("make-errors"); incValue("errors"); updateSummary(); diagnostic("make: Error $1", "error");},
  },
# make: [EXPORT] Error 2 (ignored)
  {
   id =>        "make-nontarget-non1-error",
   pattern =>          q{make.*: \[.*\] Error ([1234567890]*[234567890])},
   action =>           q{
 incValue("make-ignored-errors");updateSummary(); diagnostic("make: Error $1", "info");},
  },
# WARNING EC1137: Unrecognized option 'Files' in EMAKEFLAGS.
  {
   id =>        "emake-warning",
   pattern =>          q{WARNING EC(\d+):},
   action =>           q{
 incValue("emake-warnings"); incValue("warnings"); updateSummary(); diagnostic("emake: $1", "warning");},
  },
#WARNING: Can't find following headers in User or System Include Paths
# "shared_gpio.h"
#(User Inc Paths "\src\cedar\generic\base\omap_samsung\assp\omap24xx\power\" "\src\cedar\generic\base\omap_samsung\VARIANT\power\")
#Dependency list for "\src\cedar\generic\base\omap_samsung\assp\omap24xx\power\silicon_resources.cpp" may be incomplete
  {
   id =>        "makmake-headers-not-found",
   pattern =>          q{WARNING: Can't find following headers in },
   action =>           q{
 incValue("makmake-warnings"); incValue("warnings"); updateSummary(); diagnostic("makmake: Missing headers", "warning", 0, forwardTo(q{Dependency list for .* may be incomplete}));},
  },
#"\src\cedar\generic\base\f32\srawfs\sr_rawfs.cpp", line 598: Warning:  #940-D: missing return statement at end of non-void function "CRawFsFormatCB::RawFSMount"
#  }
#  ^
  {
   id =>        "armcc-warning",
   pattern =>          q{".*", line (\d+): Warning: (.*): },
   action =>           q{
 incValue("warnings"); incValue("armcc-warnings"); updateSummary(); diagnostic("ARMCC: $2", "warning", 0, forwardTo(q{[ ]*\^$}));},
  },
#"\src\cedar\generic\base\omap_samsung\variant\estart\estartfors60.cpp", line 21: Error:  #5: cannot open source input file "LDSYMessageIDs.h": No such file or directory
#  #include
#                             ^
  {
   id =>        "armcc-error",
   pattern =>          q{".*", line (\d+): Error: (.*): },
   action =>           q{
 incValue("errors"); incValue("armcc-errors"); updateSummary(); diagnostic("ARMCC: $2", "error", 0, forwardTo(q{[ ]*\^$}));},
  },
#Warning: there are 8 Unicode preferred character codes specified for which there are no conflicts to resolve
  {
   id =>        "cnvtool-unicode-preferred",
   pattern =>          q{Warning: there are 8 Unicode preferred character codes specified for which there are no conflicts to resolve},
   action =>           q{
 incValue("cnvtool-warnings"); incValue("warnings"); updateSummary(); diagnostic("cnvtool: Unicode warning", "warning");},
  },
#Warning: the specified start of the Unicode range 0x00a2-0xffe5 could actually be 0x00a7
  {
   id =>        "cnvtool-unicode-start-range",
   pattern =>          q{Warning: the specified start of the Unicode range},
   action =>           q{
 incValue("cnvtool-warnings"); incValue("warnings"); updateSummary(); diagnostic("cnvtool: Unicode warning", "warning");},
  },
);





$::gMatcherGroups{'arm'} = ["armcc-error", "armcc-warning"];
$::gMatcherGroups{'SymbianOS-tools-warnings'} = ["armcc-warning", "cnvtool-unicode-preferred", "cnvtool-unicode-start-range", "makmake-headers-not-found"];
$::gMatcherGroups{'SymbianOS-tools-errors'} = ["armcc-error"];
$::gMatcherGroups{'SymbianOS'} = ["stage-counter", "phase-counter", "id-counter", "emake-build-counter", "emake-warning", "file-copy-counter", "make-error", "make-nontarget-non1-error"];



sub updateSummary() {
 my $emakebuildsString = (defined $::gProperties{"emake-builds"}) ? " (" . $::gProperties{"emake-builds"} . " with emake) " : "";
 my $errorsString = (defined $::gProperties{"errors"}) ? $::gProperties{"errors"} . " total errors\n" : "";
 my $armccErrorsString = (defined $::gProperties{"armcc-errors"}) ? $::gProperties{"armcc-errors"} . " armcc errors\n" : "";
 my $makeErrorsString = (defined $::gProperties{"make-errors"}) ? $::gProperties{"make-errors"} . " errors reported by make\n" : "";
 my $makeIgnoredErrorsString = (defined $::gProperties{"make-ignored-errors"}) ? $::gProperties{"make-ignored-errors"} . " ignored errors reported by make\n" : "";
 my $warningsString = (defined $::gProperties{"warnings"}) ? $::gProperties{"warnings"} . " total warnings\n" : "";
 my $armccWarningsString = (defined $::gProperties{"armcc-warnings"}) ? $::gProperties{"armcc-warnings"} . " armcc warnings\n" : "";
 my $makmakeWarningsString = (defined $::gProperties{"makmake-warnings"}) ? $::gProperties{"makmake-warnings"} . " makmake warnings\n" : "";
 my $phasesString = (defined $::gProperties{"phases"}) ? "Built " . $::gProperties{"phases"} . " phases" . $emakebuildsString . "\n" : "";
 my $stagesString = (defined $::gProperties{"stages"}) ? "Processed " . $::gProperties{"stages"} . " stages\n" : "";
 my $idString = (defined $::gProperties{"id"}) ? "Executed " . $::gProperties{"id"} . " ids\n" : "";
 my $filecopiesString = (defined $::gProperties{"file-copies"}) ? $::gProperties{"file-copies"} . " files copied\n" : "";

 setProperty ("summary", $errorsString . $armccErrorsString . $makeErrorsString . $makeIgnoredErrorsString . $warningsString . $armccWarningsString . $phasesString . $stagesString . $idString . $filecopiesString);
}
This article is part of our Knowledge Base and is provided for guidance-based purposes only. The solutions or workarounds described here are not officially supported by CloudBees and may not be applicable in all environments. Use at your own discretion, and test changes in a safe environment before applying them to production systems.