apache / logging-log4j2

Apache Log4j 2 is a versatile, feature-rich, efficient logging API and backend for Java.
https://logging.apache.org/log4j/2.x/
Apache License 2.0
3.4k stars 1.63k forks source link

There is no module-info source in log4j-core-3.0.0-beta3-sources.jar #3255

Open PavelTurk opened 17 hours ago

PavelTurk commented 17 hours ago

Description

As I found out module-info is generated automatically in 3.0.0-beta3. At the same time its source (module-info.java) must be present in *-3.0.0-beta3-sources.jar files. For example, there is no module-info.java in log4j-core-3.0.0-beta3-sources.jar see [1], but there is a module-info.class in log4j-core-3.0.0-beta3.jar see [2].

The absence of module-info.java makes it difficult for library user to get important information about module, for example, its dependencies, provided and used services etc.

[1] https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/3.0.0-beta3/log4j-core-3.0.0-beta3-sources.jar [2] https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/3.0.0-beta3/log4j-core-3.0.0-beta3.jar

ppkarwasz commented 8 hours ago

Hi @PavelTurk,

While ideally we could have a text representation of module-info.class in our *-source.jar artifacts, the BND Maven plugin that generates them, only provides the compiled version.

I don't believe this is a big problem, since the information in module-info.class can be extracted quite easily by any decompiler or jar -d.