Report generator ng
Description
Refactors the assignment to contain sane metric settings objects, but this required a full system refactoring but I was in too deep so deal with it.
Also fixes the report generator to use these new settings objects.
Changes
- The assignment no longer depends on the magic options hash map
- A new report generator
- The old mongo script executor now implements the SRF
- Scripts can now return a grade, which can count towards the final grade in ways still to be implemented
- Analyzers now return their metric names as part of the enum instead of a magic string
- Stupid analyzers have been fixed and await death
- Fixed logging being broken in the worker due to CK forcing log4j upon the worker
Additions
- A plugin framework for SRF
- Extra logging during boot and nice art
Test and Review
Started off as #147 (closed). Got out of hand and now also resolves #161 (closed). The new entity system and the associated reports also resolve #139 (closed). Made #148 (closed) only worse on the old UI for some reason but that should not matter.
To be filled in by the reviewers
-
All of the methods are commented to expectation -
The methods are tested to satisfaction -
There are no unnecessary files present in the MR -
The continuous integration has no problems with the MR -
The MR is filled in as requested (including labels, milestones, and reviewers) -
The documentation is up-to-date -
All nullable parameters are marked as such