eclipse-vertx / vert.x

Vert.x is a tool-kit for building reactive applications on the JVM
http://vertx.io
Other
14.26k stars 2.07k forks source link

Bring JPMS to vertx-core #5244

Closed vietj closed 3 months ago

vietj commented 3 months ago

Bring support JPMS to vertx-core.

The exported packages are the public API of Vert.x as well as the internal API of Vert.x, the implementation of Vert.x remains encapsulated.

Vert.x as a library remains focused first on the classpath usage, however this aims to support it equally well in a applications.

The internal logging and implementation of vertx has been extracted into its own module since which makes it easier to test with modules and it actually does not interact much with the rest of the vertx core. Also this prevents default exposure of the logging packages to applications that don't need it. Note that does not prevent exposure, any module can depend on the io.vertx.core.ogging module but this module is not transitively exposed by the io.vertx.core module.

A lot of changes has been done in the tests since some tests behave differently with a module and the vertx tests had split packages with the vertx core classes which needs to be avoided for proper testing.