This is my first point. Once named and fully migrated you hit both issue:
not default classloader and visibility change. First is surely
workaround-able but last impacts users so better to let people migrate on
java 9...only once and not N times cause CXF didnt embrace it at once. This
is my big concern.

Le 3 janv. 2018 01:56, "Andriy Redko" <drr...@gmail.com> a écrit :

> I don't think this is the case actually. If you use CXF as-is right now in
> modular application, its components will
> be loaded as automatic modules, implicitly. The only step forward we are
> taking is to hint JVM what the name of the
> automatic module should be (instead of relying on the automatic
> conversions). Rules don't change, the presence
> of automatic module name in the manifest does not make the JAR a named
> module, only module-info.java will do that
> (and this would be a large and risky change indeed). But the presence of
> the better name would help us to do
> migration to module-info.java a bit more smoothly, since the module name
> won't change but semantics of the module
> will (one by one they should become named modules).
>
>
>
> RMB> yep
>
>
> RMB> issue is exactly this one: automatic modules are a one way path, you
> can't go back on manual modules since you
> RMB> exposed the world and would introduce a breaking change modifying it.
> RMB> The other one I tried to mentionned is: what about all the cases
> where CXF will be deployed on java 9 but not in
> RMB> the root classloader (tomcat to cite a random case) which doesnt
> support the new SPI loading? You are broken :(
>
>
> RMB> Romain Manni-Bucau
> RMB> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>
> RMB> 2018-01-02 14:54 GMT+01:00 Andriy Redko <drr...@gmail.com>:
>
> RMB> I might be mistaken (sorry, haven't worked with Jigsaw closely yet),
> but I think the service loader would work the same
> RMB>  way in case of named module and automaticaly named module. The only
> differences would be contraints/rules/visibility: automaticaly
> RMB>  named module just implicitly open/export/import everything while
> named module should be picky and precise.
>
>  RMB>> Or the worst since you dont expose the "api" but all the classes
> and breaks SPI since service loader loading is different in named modules,
> no?
>
>
>
>  RMB>> Le 31 déc. 2017 19:15, "Andriy Redko" <drr...@gmail.com> a écrit :
>
>  RMB>> I am not sure about plugin part, to be honest. I would better craft
> the module-info.java by hand (but use
>  RMB>>  the tooling, jdeps f.e., to get the initial list of modules) and
> have it in the source tree for each module,
>  RMB>>  so to keep the history, etc. That would be aligned with Sergey's
> suggestion to have Java 9 master sometime
>  RMB>>  in the future.
>
>  RMB>>  But, by and large, you may be right and the plugin is the viable
> option. Still, if 99% of the CXF dependencies are
>  RMB>>  going to be automatic modules nonetheless, what it will buy us?
> And looking into other projects, that seems to
>  RMB>>  be the starting point for many. Anyway, I would prefer to get it
> all and right now :-D but realistically, I see
>  RMB>>  the automatic module name to be the less riskier approach to begin
> with (just a manifest change), not necessarily
>  RMB>>  the best one though.
>
>
>
>
>
>  RMB>>  Best Regards,
>  RMB>>      Andriy Redko
>
>
>
>   RMB>>> Hmm, shout if I didn't get your comments properly and my comment
> is obvious but I think 1 and 3 are fine - that's
>   RMB>>> why I proposed them - because you can create the module-info.java
> with java 8. This is what does the plugin I
>   RMB>>> mentionned, writing it directly with java 9 (long story short it
> has a module-info parser and writer).
>
>
>   RMB>>> Romain Manni-Bucau
>   RMB>>> @rmannibucau |  Blog | Old Blog | Github | LinkedIn
>
>   RMB>>> 2017-12-31 16:58 GMT+01:00 Andriy Redko <drr...@gmail.com>:
>
>   RMB>>> Hi Romain,
>
>   RMB>>>  I think there are 2 parts regarding modules: 1) using CXF from
> modularized
>   RMB>>>  applications and 2) release/redesign CXF in a modular fashion (I
> mean Java 9 modules).
>   RMB>>>  The 2nd part is where we are heading eventually but we won't be
> trully modular till
>   RMB>>>  all our dependencies are available as modules as well. The idea
> of adding
>   RMB>>>  automatic module name is helping out with the 1st part.
> Regarding your questions
>   RMB>>>  though:
>
>   RMB>>>  1. Adding module-info.java would mean, at least, to branch the
> artifacts (java9+ / java8).
>   RMB>>>  2. Yes, I think it makes sense, this is the recommended way, but
> we should better make a
>   RMB>>>  proposal first (as part of the JIRA Dennis created).
>   RMB>>>  3. I think this is the only way (as module-info.java won't
> compile with Java 8)
>
>   RMB>>>  Automatic modules is a good start (arguably, for sure), because
> from the efforts
>   RMB>>>  perspetive, it looks doable in a short time vs adding proper
> module-info.java to
>   RMB>>>  each module, which would take significantly more. Thoughts?
>
>   RMB>>>  Best Regards,
>   RMB>>>      Andriy Redko
>
>
> RMB>    RMB>>> Hi guys,
>
> RMB>    RMB>>> Few random notes/questions:
>
> RMB>    RMB>>> 1. Why not using https://github.com/moditect/
> moditect/blob/master/README.md
> RMB>    RMB>>> and assume the moduleinfo instead of working it around with
> automatic
> RMB>    RMB>>> module name?
> RMB>    RMB>>> 2. For the naming it should really be someting like
> $group.$module IMO,
> RMB>    RMB>>> probably with underscores instead of iphens for the module
> and maybe
> RMB>    RMB>>> removing cxf from the module dince it is in the package
> RMB>    RMB>>> 3. Is it possible to double relezse each module, one with
> the module info
> RMB>    RMB>>> (if you do 1, or without the automatic module name if you
> dont) and a
> RMB>    RMB>>> qualifier jdk9 and keep current ones as today until the
> whole stack is java
> RMB>    RMB>>> 9 (transitively). Easy to break consumers otherwise.
>
>
> RMB>    RMB>>> Le 31 déc. 2017 13:38, "Dennis Kieselhorst" <m...@dekies.de>
> a écrit :
>
>
> RMB>    >>>> > Exactly, that's the idea, updating the manifest with
> RMB>    >>>> Automatic-Module-Name. We could also add a sample
> RMB>    >>>> > project (this would be Java 9 based) to illustrate the
> basic usage of
> RMB>    >>>> CXF from/within green field Java 9
> RMB>    >>>> > modular project (although we may need to do more work here
> I suspect).
> RMB>    >>>> Thanks.
> RMB>    >>>> I've opened CXF-7600 for it. What should be the
> Automatic-Module-Name
> RMB>    >>>> for cxf-core? Just org.apache.cxf? Or org.apache.cxf.core
> which doesn't
> RMB>    >>>> match the package name structure?
>
> RMB>    >>>> Regards
> RMB>    >>>> Dennis
>
>
>
>
>
>
>
>
>
>
>
>
>
>

Reply via email to