orchidhq / Orchid

Build and deploy beautiful documentation sites that grow with you
https://orchid.run
GNU General Public License v3.0
514 stars 53 forks source link

[plugin proposal] Test/code quality reports #285

Open cjbrooks12 opened 5 years ago

cjbrooks12 commented 5 years ago

Description

Services like Codacy, Coveralls, CodeCov, etc. are all really nice, but for simple projects, it's kinda annoying to have to set them up for basic reporting. They're really best suited for large, fast-moving projects, but for small OSS projects I find it can be just a bit overkill. It would be nice if Orchid could read the reports for code coverage, test results, quality checks, etc. and create pages to display those reports, instead of passing those reports to other services.

In addition, it would be really awesome to connect these reports to the code documentation plugins. Imaging a single report with all code coverage metrics, but having a single class's coverage displayed on that class's documentation page.

I would welcome any thoughts, suggestions, or desired features that anyone has for this feature.

Requirements

A new plugin, maybe OrchidCodeReports, which has everything in it to scan the project and find the build-tool-generated reports. It probably doesn't make sense to have Orchid actually run those reports itself, as it would start to require full classpath management, etc.

Features

Dependencies

This plugin will loosely depend on the refactoring updates to code doc generation, #232, currently underway. The updates there will create a consistent interface across all code-doc plugins, and that known structure will be exploited by this plugin to create the links between reports and class pages. It is, however, like all plugin projects, completely independent of that connection, and can even work perfectly well if you choose not to include any code documentation in your Orchid build. The classes referenced in the reports simply will not have anything to link to, and text will be displayed statically, without a link.