Skip to content

Conversation

@Zargess
Copy link
Collaborator

@Zargess Zargess commented Dec 22, 2025

The dependencies of fagi has been upgraded to newest stable version that does not cause conflicts.

Gradle

Gradle has been upgraded to version 8.14.3 which is the latest version in major version 8. Major version 9 of gradle is blocked until pitest plugin version 1.19 or later comes out as that should support gradle 9.

libs.versions.toml

To avoid the potential for sub-modules using different versions of the same dependency (mainly in test) a libs.versions.toml has been introduced to define all our dependencies. This also makes it easier to upgrade most of our 3rd party dependencies as they will be defined here.

Only exception to this should be plugins used by our buildSrc as that does not support the usage of libs.versions.toml.

3rd party dependencies and plugins

All dependencies and plugins that had newer stable versions have been upgraded. This is to get the latest bug-fixes.

Git now ignores the build folder in the root directory of the project
## Gradle upgrade

Upgraded gradle to 8.14.3. Pitest plugin blocks upgrade to gradle 9.

## Versions catalog

Switched to using gradle versions catalog to easily enforce the same versions of libraries across the project.

## Upgraded dependencies and plugins

Upgraded all dependencies and plugins to the latest stable versions available.

### junit-platform

junit platform now uses the same version as the rest of our junit dependencies.
@Zargess Zargess requested a review from miniwolf December 22, 2025 12:40
Copy link
Owner

@miniwolf miniwolf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gradle: What evs

Compression is not used by anything as has now been removed.
## Intro

We have now introduced a framework that allows the Fagi code to not care what logging framework is being used. This allows us to very easily support multiple frameworks, or completely remove the usage of a framework, without having to edit too much of the code.

## FagiLoggerFactory

This class allows for all other classes in Fagi to create a logger using the registered creation strategy. This allows us to quickly change framework a very central place.

This class also handles the configuration of the logging framework used, by calling a configuration strategy. Though it only allows calling the default configuration if no custom configuration has been provided to the framework in use.

## JavaLogger

The current logging framework to be used is the one the java standard library provides.

## Logging Config

To ensure that the logging format of the client and server are acceptable, even if the user doesn't provide a logging config properties file, we have introduced a default config.

This should only be used when there is no file specified in the property: java.util.logging.config.file.

The default config makes use of a console logger and a file logger.
The usage of System.out, System.err and exception.printStackTrace, has been replaced with the Fagi Logging framework.

This is to allow for storing logs in files and better granularity in the level of logs.

Also deleted the old Logger class that stored logs in a *.fagi file.
Changed what log level names are printed in console and in files to match the names of the methods of the FagiLogger

Fixed deletion of old log files generated by tests
@Zargess Zargess merged commit 65fdcce into develop Jan 4, 2026
3 checks passed
@Zargess Zargess deleted the dev/zargess/platform-upgrade branch January 4, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants