From: Eric Le L. <ker...@us...> - 2016-09-16 14:47:20
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "JSLinters jEdit plugin". The branch, master has been updated via d7d170528975853c41fbc1f81cbdae8973ce6ae2 (commit) from 622755638823b8955e5abb0d52699f7e90fa1071 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit: http://sourceforge.net/p/jedit/JSLinters/ci/d7d170528975853c41fbc1f81cbdae8973ce6ae2/ tree: http://sourceforge.net/p/jedit/JSLinters/ci/d7d170528975853c41fbc1f81cbdae8973ce6ae2/tree/ commit d7d170528975853c41fbc1f81cbdae8973ce6ae2 Author: Eric Le Lay <ker...@us...> Date: Fri Sep 16 16:46:26 2016 +0200 adjust to eslint exit and error messages diff --git a/src/jslinters/SystemESLint.java b/src/jslinters/SystemESLint.java index 193b4ae..0cb60a5 100644 --- a/src/jslinters/SystemESLint.java +++ b/src/jslinters/SystemESLint.java @@ -24,7 +24,7 @@ public class SystemESLint extends SystemJSLinter { throw new SJSHintException("Unexpected eslint output:\n" + output); } } - + @Override protected void parseLintLine(String line, DefaultErrorSource errorSource) throws SJSHintException { Matcher m = P_ERROR.matcher(line); @@ -40,17 +40,23 @@ public class SystemESLint extends SystemJSLinter { throw new SJSHintException("Invalid line from eslint: " + line); } } - + @Override protected String[] pipeLintCommand(String forPath) { return new String[]{getPath(), "--format", "compact", "--stdin-filename", forPath, "--stdin"}; } + @Override + protected boolean exitError(int exitCode) { + return exitCode != 0 && exitCode != 1; + } + + @Override public String toString(){ return "eslint"; } - + private static final Pattern P_ERROR = Pattern.compile("(.+): line ([0-9]+), col ([0-9]+), (Warning|Error) - (.+)"); - private static final Pattern P_IGNORE = Pattern.compile("\\s*|(?:[0-9]+ errors?)"); + private static final Pattern P_IGNORE = Pattern.compile("\\s*|(?:[0-9]+ problems?)"); } diff --git a/src/jslinters/SystemJSHint.java b/src/jslinters/SystemJSHint.java index e32874e..5b1bb4f 100644 --- a/src/jslinters/SystemJSHint.java +++ b/src/jslinters/SystemJSHint.java @@ -66,6 +66,12 @@ public class SystemJSHint extends SystemJSLinter { return new String[]{getPath(), "--filename", forPath, "-"}; } + @Override + protected boolean exitError(int exitCode) { + return exitCode != 0 && exitCode != 2; + } + + @Override public String toString(){ return "jshint"; } diff --git a/src/jslinters/SystemJSLinter.java b/src/jslinters/SystemJSLinter.java index 30335a0..41bd8d5 100644 --- a/src/jslinters/SystemJSLinter.java +++ b/src/jslinters/SystemJSLinter.java @@ -182,7 +182,7 @@ public abstract class SystemJSLinter extends JSLinter { } catch (InterruptedException e) { throw new SJSHintException("Interrupted waiting for " + this); } - if (p.exitValue() != 0 && p.exitValue() != 2) { + if (exitError(p.exitValue())) { throw new SJSHintException(this + " terminated in error(" + p.exitValue() + ")"); } @@ -194,6 +194,8 @@ public abstract class SystemJSLinter extends JSLinter { protected abstract String[] pipeLintCommand(String forPath); + protected abstract boolean exitError(int exitCode); + /** * an exception always showing its cause in toString() */ diff --git a/test/jslinters/SystemESLintTest.java b/test/jslinters/SystemESLintTest.java index 9b571e1..48e5805 100644 --- a/test/jslinters/SystemESLintTest.java +++ b/test/jslinters/SystemESLintTest.java @@ -109,4 +109,11 @@ public class SystemESLintTest { public void testToString(){ assertEquals("eslint", l.toString()); } + + @Test + public void testErrorExitCode(){ + assertFalse(l.exitError(0)); + assertFalse(l.exitError(1)); + assertTrue(l.exitError(2)); + } } diff --git a/test/jslinters/SystemJSHintTest.java b/test/jslinters/SystemJSHintTest.java index ec90cb4..7cbc700 100644 --- a/test/jslinters/SystemJSHintTest.java +++ b/test/jslinters/SystemJSHintTest.java @@ -458,4 +458,12 @@ public class SystemJSHintTest { } + @Test + public void testErrorExitCode(){ + SystemJSHint l = new SystemJSHint(null); + + assertFalse(l.exitError(2)); + assertFalse(l.exitError(0)); + assertTrue(l.exitError(1)); + } } ----------------------------------------------------------------------- Summary of changes: src/jslinters/SystemESLint.java | 14 ++++++++++---- src/jslinters/SystemJSHint.java | 6 ++++++ src/jslinters/SystemJSLinter.java | 4 +++- test/jslinters/SystemESLintTest.java | 7 +++++++ test/jslinters/SystemJSHintTest.java | 8 ++++++++ 5 files changed, 34 insertions(+), 5 deletions(-) hooks/post-receive -- JSLinters jEdit plugin |