So lets make this a little more concrete. What do we expect that people do in the Java 9 master?
Java 9 modules -> As Andriy explained this only works when all our dependencies are Java 9 modules. So this will not be near term. Java 9 reactive streams. Could be interesting but there is already rxjava and project reactor. So people have the reactive capabilities already. So I am not sure how many people are really interested in this. We can do kind of a poll on the user list. I do not think there are any other Java 9 features that are really an incentive for a java 9 only branch. So I think the Java 9 only code could be limited to only a few modules. For example we could have a REST client with java 9 Flow support. So how about having a build that checks if the developer has a jdk8. If yes then we skip the java 9 modules in the build. If the developer has java 9 we build all modules. We could then do our release with Java 9 but make sure that most modules can run with java 8 and only the few java 9 modules require java 9. Not sure if that is possible but it would make our and the users life a lot simpler than a pure java 9 master. Christian 2017-11-16 15:02 GMT+01:00 Sergey Beryozkin <sberyoz...@gmail.com>: > Indeed it will take a long time for a team with the limited resources to > have CXF embracing Java 9. Postponing the start of this long process for 2 > years or so and wait for the users to come in and say, when will CXF will > do what SpringBoot with Java 9 can do, is not strategically right move IMHO. > > Have the Java 9 branch, let people spend as much time as needed to play > there, keep going with Java 8+9 in 3.2.1. I don't see where the conflict is. > > Cheers. Sergey > > On 16/11/17 13:53, Andriy Redko wrote: > >> Modules are really far away in the future (IMHO). As per my >> understanding, we >> could think about real modules only when all our dependencies are >> modularized, >> which would take quite a lot of time I suppose. The Reactive Streams part >> is >> really appealing *BUT* even there we **could** keep the same master for 8 >> and 9 >> (http://openjdk.java.net/jeps/238). >> >> Honestly, I am not 100% sure we have to branch off the new master and >> keep it >> Java 9 only right now. May be the good moment will be when we discountinue >> 3.1.x so at least the code will be much easier to cherry-pick? >> >> Best Regards, >> Andriy Redko >> >> CS> I am not sure sure about the need for Java 9 modules. Currently I see >> no >> CS> user requesting this. It is also not yet fully clear how these modules >> CS> behave in OSGi. As far as I understood as soon as we start with this >> we >> CS> have code that is not working in Java 8. As we require every change >> to be >> CS> done in master first this means we have a lot of back port work. A >> Java 9 >> CS> only master will also make it much harder for Java 8 users to supply >> pull >> CS> requests as they have to develop and test on java 9 which is not their >> CS> production system. >> >> CS> So I think the current situation with a master that works on Java 9 >> and >> CS> Java 8 is a pretty good situation that we should keep for as long as >> CS> possible. >> CS> I am not sure how attractive the other Java 9 features are. >> Personally I >> CS> were really eager to adopt Java 8 because of the closures but I see >> no real >> CS> need for myself to rush to java 9. >> >> CS> When I remember how reluctant we were when it came to adopting the >> previous >> CS> java versions like 7 and 8 as minimal requirement I think it makes >> sense to >> CS> do this rather slowly. >> >> CS> Christian >> >> CS> 2017-11-16 13:31 GMT+01:00 Sergey Beryozkin <sberyoz...@gmail.com>: >> >> Hi Andriy >>>> >>> >> I'm only presuming that yes, a Java 9 only master would have to support >>>> the new Java 9 modules system, so I'd say a lot of exciting work would >>>> await for the CXF dev community :-) >>>> >>> >> Cheers, Sergey >>>> >>> >> On 16/11/17 12:19, Andriy Redko wrote: >>>> >>> >> Hey Sergey, >>>>> >>>> >> Do we have a goal to support Java 9 modules (aka Jigsaw) for >>>>> the new master branch? Or we just looking to benefit from the >>>>> latest changes in stardand library (as you mentioned, Flow & Co, >>>>> collections are also a good example)? Is our current master JDK9 >>>>> compatible actually (haven't seen successfull builds from >>>>> https://builds.apache.org/job/CXF-Master-JDK9) ? >>>>> >>>> >> Best Regards, >>>>> Andriy Redko >>>>> >>>> >> SB> It's pretty simple really. It's about having a new impetus for the CXF >>>>> SB> development. >>>>> >>>> >> SB> Without a Java 9 only master CXF will be about fixing the bugs only. >>>>> SB> JAX-WS is done long time ago, next version of JAX-RS will take N >>>>> amount >>>>> SB> of time to materialize. >>>>> >>>> >> SB> Java 9 with its Flow class will let CXF do new work around Reactive >>>>> SB> support. It will have new features that only work with Java 9 and >>>>> may >>>>> SB> give new ideas for the contributions. >>>>> >>>> >> SB> 3.2.x is at the start of its life-cycle and will have a couple of >>>>> years >>>>> SB> at least for it to retire, giving Java 8 support. >>>>> >>>> >> SB> 3.1.x has probably 6 months or so left in it, and after it's gone we >>>>> SB> will have 3.2.x and 4.0.x or whatever new version is preferred. >>>>> >>>> >> SB> Sergey >>>>> SB> On 16/11/17 08:15, Dennis Kieselhorst wrote: >>>>> >>>> >> On 2017-11-16 07:27, Christian Schneider <ch...@die-schneider.net> >>>>>> >>>>>>> wrote: >>>>>>> >>>>>> >> I dont think we can already predict when users move to Java 9. >>>>>>>> So creating a Java 9 only branch at this time means we have to >>>>>>>> maintain two >>>>>>>> main branches over a long time. >>>>>>>> >>>>>>> >> What is the rationale behind a Java 9 only branch compared to being >>>>>>>> Java 9 >>>>>>>> and Java 8 compatible on master? >>>>>>>> >>>>>>> >> >> I also don't see a good reason to do that at the moment. Let's release >>>>>>> the XJC plugin and users should be able to use CXF with Java 9 or am >>>>>>> I >>>>>>> missing something? >>>>>>> >>>>>> >> Cheers >>>>>>> Dennis >>>>>>> >>>>>> >> >> >> >> >> CS> -- >> >> -- -- Christian Schneider http://www.liquid-reality.de <https://owa.talend.com/owa/redir.aspx?C=3aa4083e0c744ae1ba52bd062c5a7e46&URL=http%3a%2f%2fwww.liquid-reality.de> Computer Scientist http://www.adobe.com