Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

reactor-core does not declare a stable automatic module name #1641

Closed
ashcoll opened this issue Mar 31, 2019 · 6 comments
Closed

reactor-core does not declare a stable automatic module name #1641

ashcoll opened this issue Mar 31, 2019 · 6 comments
Labels
area/java9 This belongs to the java9 compatibility theme type/enhancement A general enhancement
Milestone

Comments

@ashcoll
Copy link

ashcoll commented Mar 31, 2019

Expected behavior

Hope reactor-core-3.2.8.RELEASE support java9+ modular system!

Actual behavior

it does not support java9+ modular system!

Steps to reproduce

use reactor-core in my Jigsaw multi-module maven project, but it does not work.

Next, I inspected the reactor-core-3.2.8.RELEASE jar file,

  1. there is no module-info.java file.
  2. and there is no Automatic-Module-Name attribute in META-INF/MANIFEST.MF file.

Reactor Core version

3.2.8.RELEASE

JVM version (e.g. java -version)

java 11.0.1

@simonbasle
Copy link
Member

The fallback of solving from artifact filename should work with a result of reactor.core. However, I think that is a sane enough choice that we can "make it official" with an Automatic-Module-Name entry in the manifest. cc @bsideup @smaldini @violetagg for feedback and to do the same in other projects?

@simonbasle simonbasle added area/java9 This belongs to the java9 compatibility theme type/enhancement A general enhancement labels Apr 15, 2019
@simonbasle simonbasle changed the title reactor-core does not support java9+ modular system! reactor-core does not declare a stable automatic module name Apr 15, 2019
@simonbasle simonbasle modified the milestones: 3.3.0.M1, 3.3.0.RELEASE Apr 15, 2019
@bsideup
Copy link
Contributor

bsideup commented Apr 15, 2019

@simonbasle since it does not require a JDK update and only a matter of adding a line to the manifest, I support the idea of adding an Automatic-Module-Name entry 👍

@simonbasle
Copy link
Member

any counter-argument to using these: reactor.core, reactor.test, reactor.extra, reactor.netty, ... ?

@bsideup
Copy link
Contributor

bsideup commented Apr 15, 2019

we need to double check that we have no conflicts with the packages.
AFAIK going jigsaw also enforces "exclusive package" rule, when two modules cannot contain the same package

@simonbasle
Copy link
Member

simonbasle commented Apr 15, 2019

right. so far I don't see a split package in reactor-core and addons (reactor-extra mainly), but the fact that reactor-extra uses reactor as root package might prove problematic...
Also, reactor-core has most of the code in reactor.core package, but it also has some in reactor.adapter and reactor.util. These last two I'm a bit more concerned about.

Package reactor.adapter could have been problematic, but it seems for now it is fine as reactor-core owns the direct content of that package while reactor-adapter owns subpackages reactor.adapter.akka and reactor.adapter.rxjava 🎉

@simonbasle
Copy link
Member

Fixed as part of reactor/reactor#667 in #1692 / f8a2dac

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/java9 This belongs to the java9 compatibility theme type/enhancement A general enhancement
Projects
None yet
Development

No branches or pull requests

3 participants