From 5ba573faaf2c766c42a7a558b253ee8588e9ae13 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Wed, 7 Feb 2024 17:11:03 +0300 Subject: [PATCH 1/6] #2714: loggingOfErrors --- .../java/org/eolang/maven/VerifyMojo.java | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index dda7888e1c..e967dab518 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -24,6 +24,7 @@ package org.eolang.maven; import com.jcabi.log.Logger; +import com.jcabi.xml.XML; import com.yegor256.xsline.TrClasspath; import com.yegor256.xsline.TrDefault; import java.nio.file.Path; @@ -105,6 +106,7 @@ void exec() { */ private Optimization optimization() { Optimization opt = new OptTrain( + this.loggingOfErrors(), new TrClasspath<>( new TrDefault<>(), "/org/eolang/parser/fail-on-errors.xsl", @@ -112,9 +114,30 @@ private Optimization optimization() { ).back() ); if (this.failOnWarning) { - opt = new OptTrain(opt, "/org/eolang/parser/fail-on-warnings.xsl"); + opt = new OptTrain( + opt, "/org/eolang/parser/fail-on-warnings.xsl" + ); } return opt; } + /** + * Such {@link Optimization} that just logs errors (with any severity) of xmir. + * @return Optimization. + */ + private Optimization loggingOfErrors() { + return xml -> { + for (final XML message: xml.nodes("/program/errors/error")) { + Logger.warn( + this, + "%[file]s, line %s: %s", + xml.xpath("/program/@source").get(0), + message.xpath("@line").get(0), + message.xpath("text()").get(0) + ); + } + return xml; + }; + } + } From 78391b8d5686ec33a2f94145f05a054b9512ec25 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Wed, 7 Feb 2024 17:12:07 +0300 Subject: [PATCH 2/6] #2714: formatting --- .../src/main/java/org/eolang/maven/VerifyMojo.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index e967dab518..f6ee673ba1 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -114,9 +114,7 @@ private Optimization optimization() { ).back() ); if (this.failOnWarning) { - opt = new OptTrain( - opt, "/org/eolang/parser/fail-on-warnings.xsl" - ); + opt = new OptTrain(opt, "/org/eolang/parser/fail-on-warnings.xsl"); } return opt; } From f5064b03c5e33e73913bea54ca435ab4b2774476 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Wed, 7 Feb 2024 17:25:05 +0300 Subject: [PATCH 3/6] #2714: restart --- .../java/org/eolang/maven/VerifyMojo.java | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index f6ee673ba1..5e4ed1fdf7 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -119,23 +119,6 @@ private Optimization optimization() { return opt; } - /** - * Such {@link Optimization} that just logs errors (with any severity) of xmir. - * @return Optimization. - */ - private Optimization loggingOfErrors() { - return xml -> { - for (final XML message: xml.nodes("/program/errors/error")) { - Logger.warn( - this, - "%[file]s, line %s: %s", - xml.xpath("/program/@source").get(0), - message.xpath("@line").get(0), - message.xpath("text()").get(0) - ); - } - return xml; - }; - } + } From 11cb9a3259eaab20e2a61cd6647653b3d1e0431a Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Wed, 7 Feb 2024 17:25:11 +0300 Subject: [PATCH 4/6] #2714: restart --- .../java/org/eolang/maven/VerifyMojo.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index 5e4ed1fdf7..f6ee673ba1 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -119,6 +119,23 @@ private Optimization optimization() { return opt; } - + /** + * Such {@link Optimization} that just logs errors (with any severity) of xmir. + * @return Optimization. + */ + private Optimization loggingOfErrors() { + return xml -> { + for (final XML message: xml.nodes("/program/errors/error")) { + Logger.warn( + this, + "%[file]s, line %s: %s", + xml.xpath("/program/@source").get(0), + message.xpath("@line").get(0), + message.xpath("text()").get(0) + ); + } + return xml; + }; + } } From 99e3d8c852f67467970535b71c03e857ee3ad1f0 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Wed, 7 Feb 2024 17:47:11 +0300 Subject: [PATCH 5/6] #2714: this::logErrors --- .../java/org/eolang/maven/VerifyMojo.java | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index f6ee673ba1..65a70581eb 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -106,7 +106,7 @@ void exec() { */ private Optimization optimization() { Optimization opt = new OptTrain( - this.loggingOfErrors(), + this::logErrors, new TrClasspath<>( new TrDefault<>(), "/org/eolang/parser/fail-on-errors.xsl", @@ -120,22 +120,21 @@ private Optimization optimization() { } /** - * Such {@link Optimization} that just logs errors (with any severity) of xmir. - * @return Optimization. + * Log errors of xml. + * @param xml XMIR. + * @return XML. */ - private Optimization loggingOfErrors() { - return xml -> { - for (final XML message: xml.nodes("/program/errors/error")) { - Logger.warn( - this, - "%[file]s, line %s: %s", - xml.xpath("/program/@source").get(0), - message.xpath("@line").get(0), - message.xpath("text()").get(0) - ); - } - return xml; - }; + private XML logErrors(final XML xml) { + for (final XML message: xml.nodes("/program/errors/error")) { + Logger.warn( + this, + "%[file]s, line %s: %s", + xml.xpath("/program/@source").get(0), + message.xpath("@line").get(0), + message.xpath("text()").get(0) + ); + } + return xml; } } From 5751386e98524ac224ecea705ba6739114b6cef1 Mon Sep 17 00:00:00 2001 From: levBagryansky <28lev11@gmail.com> Date: Thu, 8 Feb 2024 11:31:48 +0300 Subject: [PATCH 6/6] #2714: added switching by severity --- .../java/org/eolang/maven/VerifyMojo.java | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java index 65a70581eb..a2489db470 100644 --- a/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java +++ b/eo-maven-plugin/src/main/java/org/eolang/maven/VerifyMojo.java @@ -125,14 +125,27 @@ private Optimization optimization() { * @return XML. */ private XML logErrors(final XML xml) { - for (final XML message: xml.nodes("/program/errors/error")) { - Logger.warn( - this, + for (final XML error: xml.nodes("/program/errors/error")) { + final String message = Logger.format( "%[file]s, line %s: %s", xml.xpath("/program/@source").get(0), - message.xpath("@line").get(0), - message.xpath("text()").get(0) + error.xpath("@line").get(0), + error.xpath("text()").get(0) ); + final String severity = error.xpath("@severity").get(0); + switch (severity) { + case "warning": + Logger.warn(this, message); + break; + case "error": + case "critical": + Logger.error(this, message); + break; + default: + throw new IllegalArgumentException( + String.format("Incorrect severity: %s", severity) + ); + } } return xml; }