Lightning talk ABC Bitcoin: Tooling

Andre Pany andre at s-e-a-p.de
Thu May 9 18:11:57 UTC 2019


Hi,

Unfortunately I had no chance to see the lightning talk of ABC 
Bitcoin but want to share my knowledge.

I was also in need to report unit test / coverage / linter 
results in a Jenkins Pipeline / SonarQube Server.

Unit test was easy, because unit test framework dunit can export 
QUnit compatible XML files. The D LST coverage files I convert 
into a Cobertura file and DScanner issues I convert into a 
CheckStyle file. Cobertura and CheckStyle are tools from other 
languages but they are well supported in Jenkins and their 
Jenkins plugins display the affected D source code quite nice.

Despite this work around I created a D issue to make the coverage 
DMD file output adaptable via D code.
https://issues.dlang.org/show_bug.cgi?id=18745

Also I created a pull request for DScanner to output the findings 
in SonarQube external issue format.
https://github.com/dlang-community/D-Scanner/pull/747a

There is a SonarQube plugin for D but it is not in the official 
marketplace and therefore it won't be installed on the central 
company server I work for. But SonarQube provides generic 
projects for which you can upload generic coverage data, generic 
test results and generic findings. You just have provide the data 
in the format SonarQube specifies.

There is currently 1 catch for generic coverage and test results. 
The file ending .d causes an exception, I filed a bug report and 
it will be solved.

There is also some consolidation of the coverage/issue reporter 
Jenkins plugins ongoing. The Jenkins developer consolidates the 
plugins. I am pretty sure they will support the SonarQube file 
formats.

That means if we are able to provide coverage/issues in SonarQube 
formats, they will also work in Jenkins plugins.

Kind regards
Andre




More information about the Digitalmars-d mailing list