when installing terasology into program files, that dir is not writeable.
starting up, terasology tries to create a folder in .local, which then
fails.
therefor, permit to start the application from a different directory,
and let it anyway find its libraries via the classpath. a workaround,
as the app should ideally know its location and other jarfiles without
tinkering with the classpath.
Co-authored-by: BenjaminAmos <24301287+BenjaminAmos@users.noreply.github.com>
* qa: fix PMD CollapsibleIfStatements finding
* qa: fix PMD SimplifiedTernary findings
* fix: formatting mistake
* qa: address PMD SystemPrintln findings
- suppress for LoggingContext.java and Terasology.java because logging not necessarily available yet there
- refactor for PathManager.java as logger is already in use in that context, also see previous discussion in https://github.com/MovingBlocks/Terasology/pull/5036#discussion_r889518509
* qa: address PMD InvalidLogMessageFormat finding
- if I understand https://stackoverflow.com/questions/7102339/is-there-a-correct-way-to-pass-arguments-in-slf4j correctly, this should not be less performant but valid SLF4j format
* qa: address PMD AvoidBranchingStatementAsLastInLoop findings
* qa: address PMD ForLoopCanBeForeach findings
* chore: remove unused import
* qa: address PMD AvoidPrintStackTrace findings
* chore: remove unused imports
* chore: fix checkstyle DeclarationOrderCheck warning
* remove double javadoc, static is uppercase2
* javadoc warnings fixed.
* no inheritdoc on class level
* exception not thrown
* nested links, javadoc "see" goes at the end
* qa build.gradle, kotlin, double quotes instead of single.
* build.gradle, prepare kotlin convert.
* qa kotlin, optimize tasks in case they are not executed.
* build.gradle, register the tasks to avoid unnecessary configuration during run.
* build.gradle, use new java.time classes.
* engine/build.gradle, kotlin syntax for dependencies
* engine/build.gradle, kotlin syntax for plugins
* Revert "revert: "qa: parametrize logger usages (#5173)" (#5180)"
This reverts commit 4f42a8fa1a.
* revert upgrade slf4j-2.0
* micrometer 1.9.8 --> 1.9.12
* qa, still use old slf4j, feedback jdrueckert.
gradle does not care about the logger definition in engine-tests, it
uses the one from engine also for the tests. remove it to not confuse.
---------
Co-authored-by: soloturn <soloturn@gmail.com>
* git rm -r facades/TeraEd
* remove remaining references to TeraEd
TeraEd is a facade wrapping the game itself into a desktop application to provide additional tools "around" it.
For instance, it was used to tweak shader parameters while the game was running.
Ideas for extension of this facade included monitoring capabilities, for instance, inspecting the state of the ECS, but were never implemented.
The benefit of having this outer layer is that we could augment the game itself with additional developer information without baking those into the game itself.
TeraEd used Swing and AWT for its UI.
The TeraEd facade was unused for a long time and has fallen victim to bit rot.
The logic handling state changes to shader parameters was commented out 6 years ago in b10b0f6.