* Adds swagger dependencies and annotations for json endpoints for documentation
* Add swagger ui to react project
* Access control to swagger endpoints
* Include swagger.json in jars using custom configuration
Also:
* Reworked project shadow configurations to avoid shadowing shadow versions of modules
Why: Extra dependencies were being included when using shadow scope
What:
- modules no longer depend on shadow configurations,
which speeds up IDEA indexing after build considerably
(No need to index *-all.jars)
- 'shadow' scope is now used for artifacts that need to be included
- 'shadow' scope is also 'api' so that modules that depend on common
can import the libraries. This may cause issues in projects
depending on Plan so this may need to be reconsidered
- Relocations and exclusions were moved to plugin module
org.slf4j is now included in 2 locations which may cause issues.
Needs testing with servers
- Found out that all Extension dependencies include junit as compile
scope which caused it to be included.
Affects issues:
- Close#1890
Updates gradle to version 7 and sorts out all the deprecated stuff
Affects issues:
- Clsoe #1871
Co-authored-by: Antti Koponen <koponen942@outlook.com>
Replaced Abstract Plugin Framework with Platform Abstraction Layer
Large amount of changes due to removal of features from the library,
and change of the way the abstraction is achieved.
Removes features from Plan:
Removed debug logging (Considered useless when debugging issues)
Removed /debug page (Considered useless when debugging issues)
Removed enable timing (Benchmarking utility was removed from the library)