This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.x by this push:
new 5d347aa CAMEL-13345 - added option to generate jacocoXml report to
sonarQube
5d347aa is described below
commit 5d347aa35b0579d69ce0f94a0d3653330e13d1f0
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Apr 12 11:52:45 2019 +0200
CAMEL-13345 - added option to generate jacocoXml report to sonarQube
---
.../src/main/docs/camel-maven-plugin.adoc | 2 +-
.../org/apache/camel/maven/RouteCoverageMojo.java | 61 ++++++++++------------
2 files changed, 30 insertions(+), 33 deletions(-)
diff --git
a/tooling/maven/camel-maven-plugin/src/main/docs/camel-maven-plugin.adoc
b/tooling/maven/camel-maven-plugin/src/main/docs/camel-maven-plugin.adoc
index 6e19cfc..12d0753 100644
--- a/tooling/maven/camel-maven-plugin/src/main/docs/camel-maven-plugin.adoc
+++ b/tooling/maven/camel-maven-plugin/src/main/docs/camel-maven-plugin.adoc
@@ -454,6 +454,6 @@ The maven plugin *coverage* goal supports the following
options which can be con
By using route id's then its safer to match the route cover data with the
route source code.
Anonymous routes are less safe to use for route coverage as its harder to
know exactly which route
that was tested corresponds to which of the routes from the source code.
-| generateJacocoXmlReport | false | *Camel 2.24* Whether to generate a
coverage-report in jacocoXml-format, when enabled it will generate a file:
`target/site/jacoco/xmlJacoco.xml`
+| generateJacocoXmlReport | false | *Camel 2.24* Whether to generate a
coverage-report in Jacoco XML format, when enabled it will generate a file:
`target/site/jacoco/xmlJacoco.xml`
|===
diff --git
a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index c2e6979..c2a0850 100644
---
a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++
b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -30,14 +30,12 @@ import java.util.ListIterator;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
-import java.util.regex.Pattern;
import java.util.stream.Collectors;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
@@ -228,23 +226,23 @@ public class RouteCoverageMojo extends AbstractExecMojo {
Document document = null;
File file = null;
Element report = null;
-
+
if (generateJacocoXmlReport) {
- try{
- // creates the folder for the xml.file
- file = (new File(project.getBasedir() +
"/target/site/jacoco"));
- if (!file.exists()) {
- file.mkdirs();
- }
- document = createDocument();
-
- // report tag
- report = document.createElement("report");
- createAttrString(document, report, "name", "Camel Xml");
- document.appendChild(report);
- } catch (Exception e) {
- getLog().info("Error creating xml-document");
- }
+ try {
+ // creates the folder for the xml.file
+ file = new File(project.getBasedir() + "/target/site/jacoco");
+ if (!file.exists()) {
+ file.mkdirs();
+ }
+ document = createDocument();
+
+ // report tag
+ report = document.createElement("report");
+ createAttrString(document, report, "name", "Camel Xml");
+ document.appendChild(report);
+ } catch (Exception e) {
+ getLog().warn("Error generating Jacoco XML report due " +
e.getMessage());
+ }
}
// favor strict matching on route ids
for (CamelNodeDetails t : routeIdTrees) {
@@ -254,11 +252,11 @@ public class RouteCoverageMojo extends AbstractExecMojo {
String packageName = (new File(fileName)).getParent();
Element pack = null;
- if (generateJacocoXmlReport) {
- // package tag
- pack = document.createElement("package");
- createAttrString(document, pack, "name", packageName);
- report.appendChild(pack);
+ if (generateJacocoXmlReport && report != null) {
+ // package tag
+ pack = document.createElement("package");
+ createAttrString(document, pack, "name", packageName);
+ report.appendChild(pack);
}
// grab dump data for the route
try {
@@ -270,25 +268,24 @@ public class RouteCoverageMojo extends AbstractExecMojo {
List<RouteCoverageNode> coverage =
gatherRouteCoverageSummary(Collections.singletonList(t), coverageData);
String out = templateCoverageData(fileName, routeId,
coverage, notCovered);
getLog().info("Route coverage summary:\n\n" + out);
- getLog().info("");
-
- if (generateJacocoXmlReport) {
- // sourcefile tag
- appendSourcefileNode(document, sourceFileName, pack,
coverage);
+ getLog().info("");
+
+ if (generateJacocoXmlReport && report != null) {
+ // sourcefile tag
+ appendSourcefileNode(document, sourceFileName, pack,
coverage);
}
}
-
} catch (Exception e) {
throw new MojoExecutionException("Error during gathering route
coverage data for route: " + routeId, e);
}
}
- if (generateJacocoXmlReport) {
+ if (generateJacocoXmlReport && report != null) {
try {
+ getLog().info("Generating Jacoco XML report: " + file);
createXmlFile(document, file);
- getLog().info("Generating xml-file");
} catch (Exception e) {
- getLog().info("Error creating xml-file");
+ getLog().warn("Error generating Jacoco XML report due " +
e.getMessage());
}
}