The root POM pulls in SLF4J simple logging, specifying its version (currently v1.7.30) directly in dependency management. Clogr defines a Maven slf4j.version build variable, but it's currently out of date (at v1.7.25). (That's probably why the Guise root POM overrides slf4j.version to use the latest version: Guise uses an older version of Clogr.)
Since the root POM uses SLF4J in a limited fashion, and because most applications and libraries will use SLF4J (whether or not they use Clogr), it might be better to move the slf4j.version definition to the root POM, overriding it in Clogr when needed—although it's likely that the root POM will change more often than Clogr will.
Maybe we should add dependency management for Logback, as almost all the projects inheriting from this POM will be using it. They wouldn’t have to use it. Perhaps more importantly if something like clogr-logback was used, this would ensure that the latest Logback is pulled in.
Garret Wilson May 15, 2022 at 1:40 PM
It might even be a good idea to pull in the latest version of org.slf4j:slf4j-api so that it will override the version used by e.g. Clogr, which might be more likely to be out of date.
Garret Wilson July 4, 2020 at 3:43 PM
We should also consider whether some of these GlobalMentor root POM version definitions, and/or some of the GlobalMentor parent POM version definitions, should be moved to some dependency management POM that is just pulled in when needed independent of the parent POM hierarchy. It's unclear how or if this would help all the redeployments that need to happen when versions are updated, though.
The root POM pulls in SLF4J simple logging, specifying its version (currently v1.7.30) directly in dependency management. Clogr defines a Maven
slf4j.version
build variable, but it's currently out of date (at v1.7.25). (That's probably why the Guise root POM overridesslf4j.version
to use the latest version: Guise uses an older version of Clogr.)Since the root POM uses SLF4J in a limited fashion, and because most applications and libraries will use SLF4J (whether or not they use Clogr), it might be better to move the
slf4j.version
definition to the root POM, overriding it in Clogr when needed—although it's likely that the root POM will change more often than Clogr will.