# HG changeset patch # User Ed Swartz # Date 1260998685 21600 # Node ID ad1de800b4bae4f44c45a1408900f7d19f312ac9 # Parent dabe5b8e3aecb3677f2aabd263461c238456096a Detect errors from broken Perl scripts diff -r dabe5b8e3aec -r ad1de800b4ba builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java Mon Dec 14 13:06:58 2009 -0600 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/error/parsers/CarbideMakeErrorParser.java Wed Dec 16 15:24:45 2009 -0600 @@ -34,6 +34,7 @@ private static String cantLaunchProcess = "CreateProcess((null)"; private static String rvctNotInstalled = "RVCT0_0.H: No such file or directory"; + private static Pattern PERL_ERROR_PATTERNS = Pattern.compile("Can't locate .*\\.pm in.*|BEGIN failed--.*"); //$NON-NLS-1$ public boolean processLine(String line, ErrorParserManager eoParser) { @@ -116,6 +117,15 @@ return true; } + // Detect problems with Symbian build scripts, most of which use Perl + matcher = PERL_ERROR_PATTERNS.matcher(line); + if (matcher.matches()) { + msgSeverity = IMarkerGenerator.SEVERITY_ERROR_BUILD; + msgLineNumber = -1; + eoParser.generateMarker(rsrc, msgLineNumber, line, msgSeverity, null); + return true; + } + return false; }