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.
- 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
- 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