Re: jspecify dependency

PJ Fanning <[email protected]> Sun, 08 Sep 2024 15:17:44 -0000
Newsgroups gmane.comp.jakarta.log4j.user
Message-ID <pony-30ee6ad7-a1fc-46ac-b630-50693911352a-log4j-user@logging.apache.org>
Thanks Piotr. I think that I'll hold off upgrading until the next log4j relea=
se.

On 2024/09/08 07:47:25 "Piotr P. Karwasz" wrote:
> Hi PJ,
>=20
> On Sun, 8 Sept 2024 at 02:40, PJ Fanning <[email protected]> wrote:
> > Is there any guidance on what log4j 2.24.0 users need to do regarding org=
.jspecify dependency. I've never had to add this dependency before - this is =
the first time I've ever come across the jspecify project.
>=20
> JSpecify is an annotation library, so we marked the module as `static`
> (optional`) in JPMS and `provided` in Maven.
> Unfortunately BND added the `transitive` JPMS keyword, which I didn't
> notice. One of the side-effects of `transitive` is that the compiler
> requires the dependency at compile-time (but not at runtime, where
> `static` rules).
>=20
> You can workaround the issue by adding:
>=20
> compileOnly 'org.jspecify:jspecify:1.0.0`
>=20
> to your Gradle dependencies and a `requires static org.jspecify;` (but
> not `transitive`) to your module descriptors.
>=20
> This should allow you to compile Apache POI without propagating the
> problem to POI's users.
>=20
> There is a Github issue for this[1]. I'll fix it in `2.24.1`.
>=20
> Piotr
>=20
> [1] https://github.com/apache/logging-log4j2/issues/2929
>=20
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>=20
>=20