You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cxf.apache.org by Sergey Beryozkin <sb...@gmail.com> on 2017/11/15 11:47:25 UTC

New Java 9 master

Hi

Should we open a new Java 9 only master soon enough ?

Thanks, Sergey

Re: New Java 9 master

Posted by Andriy Redko <dr...@gmail.com>.
Would it be fair to conclude that for the next couple of months it would
make sense to keep master in "8+9" state, while gradually explore the
real need to introduce the new master (Java 9 only)? I would be curious
to see how RxJava2 and/or Reactor would provide the integration with Java 9
Flow API (https://github.com/ReactiveX/RxJava/wiki/Reactive-Streams) ...

   "The plan is to also support Java 9 j.u.c.Flow types by leveraging new Java
   multi-versioned jars to support this when using RxJava 2.x in Java 9 while
   still working on Java 8."

I have heard that multi-versioned jars are **not** straigthfoward, but perhaps
better than keeping two masters.

DK> I’d much rather keep master a “8+9” type of thing for a while.    I don’t see ANYONE moving to Java 9 for production stuff any time soon.

DK> That said, at some point soon, I’d like to make master more “Java 9 Friendly” and hopefully release a 3.3 at some
DK> point in the future that supports java8, but may be more friendly for Java9.    Not 100% sure what that would
DK> entail, but I would definitely be open to the idea of releases being done with Java9 that would allow additional modules for Java9 users.

DK> It’s kind of similar to how we moved from JAX-WS 2.1 to 2.2.    Until we went Java7 only, we had a separate profile
DK> that added additional src directories and such for JAX-WS 2.2.   On Java 5/6, we had to do JAX-WS 2.1 so the code in
DK> the normal src/main/java directories was all Java5/6 with JAX-WS 2.1.   However, we had a separate src/man/jaxws22
DK> source directory that contained the additional classes and such that were needed for JAX-WS 2.2.   At release time,
DK> we had to make sure we used the appropriate JDK/Profile to get that included.   

DK> Now, what does “Java 9 Friendly” entail?   Not really sure.  Off the top of my head, I would definitely start by
DK> including dependencies for all the javax.* API’s.   Example, core depends on JAXB so add the jaxb-api jar.    This
DK> would definitely reduce the amount of “patch-module” things that are needed to use CXF on Java9.   However, it’s not
DK> something to do on 3.2.x as it adds a ton of dependencies that users may need/want to exclude so not a “patch”
DK> thing.    As part of this, we’d also update to as many dependencies that are module friendly as possible.      We
DK> could also have additional source dirs or similar to the tree for Java 9 “cool things”, providing we can still
DK> compile with —target=1.8.    Another example could possibly be an update to the http client transport to use the
DK> Java9 HttpClient.   If run on Java8, we’d stick with URLConnection, on Java9, use HttpClient. 

DK> I know Java9 supports the “Multi-Release JAR”, but I’m not sure if Maven can handle/generate those yet.   Something else to look into.

DK> Dan




>> On Nov 15, 2017, at 6:47 AM, Sergey Beryozkin <sb...@gmail.com> wrote:
>> 
>> Hi
>> 
>> Should we open a new Java 9 only master soon enough ?
>> 
>> Thanks, Sergey



Re: New Java 9 master

Posted by Jeff Genender <jg...@apache.org>.
Well I don’t necessarily agree about anyone moving to Java 9 anytime soon.  I’m beginning to see companies do it, albeit small companies/start ups… but they are moving.

I think the necessity for moving to JDK 9 is the modules.  We should think about making the jars not only OSGi compliant, but able to work with Jigsaw.  I think more and more people will be moving to that since it has become a part of the JVM.

Just my ,02.

Jeff


> On Nov 16, 2017, at 9:58 AM, Daniel Kulp <dk...@apache.org> wrote:
> 
> 
> I’d much rather keep master a “8+9” type of thing for a while.    I don’t see ANYONE moving to Java 9 for production stuff any time soon.
> 
> That said, at some point soon, I’d like to make master more “Java 9 Friendly” and hopefully release a 3.3 at some point in the future that supports java8, but may be more friendly for Java9.    Not 100% sure what that would entail, but I would definitely be open to the idea of releases being done with Java9 that would allow additional modules for Java9 users.
> 
> It’s kind of similar to how we moved from JAX-WS 2.1 to 2.2.    Until we went Java7 only, we had a separate profile that added additional src directories and such for JAX-WS 2.2.   On Java 5/6, we had to do JAX-WS 2.1 so the code in the normal src/main/java directories was all Java5/6 with JAX-WS 2.1.   However, we had a separate src/man/jaxws22 source directory that contained the additional classes and such that were needed for JAX-WS 2.2.   At release time, we had to make sure we used the appropriate JDK/Profile to get that included.   
> 
> Now, what does “Java 9 Friendly” entail?   Not really sure.  Off the top of my head, I would definitely start by including dependencies for all the javax.* API’s.   Example, core depends on JAXB so add the jaxb-api jar.    This would definitely reduce the amount of “patch-module” things that are needed to use CXF on Java9.   However, it’s not something to do on 3.2.x as it adds a ton of dependencies that users may need/want to exclude so not a “patch” thing.    As part of this, we’d also update to as many dependencies that are module friendly as possible.      We could also have additional source dirs or similar to the tree for Java 9 “cool things”, providing we can still compile with —target=1.8.    Another example could possibly be an update to the http client transport to use the Java9 HttpClient.   If run on Java8, we’d stick with URLConnection, on Java9, use HttpClient. 
> 
> I know Java9 supports the “Multi-Release JAR”, but I’m not sure if Maven can handle/generate those yet.   Something else to look into.
> 
> Dan
> 
> 
> 
> 
>> On Nov 15, 2017, at 6:47 AM, Sergey Beryozkin <sb...@gmail.com> wrote:
>> 
>> Hi
>> 
>> Should we open a new Java 9 only master soon enough ?
>> 
>> Thanks, Sergey
> 
> -- 
> Daniel Kulp
> dkulp@apache.org - http://dankulp.com/blog
> Talend Community Coder - http://coders.talend.com
> 


Re: New Java 9 master

Posted by Daniel Kulp <dk...@apache.org>.
I’d much rather keep master a “8+9” type of thing for a while.    I don’t see ANYONE moving to Java 9 for production stuff any time soon.

That said, at some point soon, I’d like to make master more “Java 9 Friendly” and hopefully release a 3.3 at some point in the future that supports java8, but may be more friendly for Java9.    Not 100% sure what that would entail, but I would definitely be open to the idea of releases being done with Java9 that would allow additional modules for Java9 users.

It’s kind of similar to how we moved from JAX-WS 2.1 to 2.2.    Until we went Java7 only, we had a separate profile that added additional src directories and such for JAX-WS 2.2.   On Java 5/6, we had to do JAX-WS 2.1 so the code in the normal src/main/java directories was all Java5/6 with JAX-WS 2.1.   However, we had a separate src/man/jaxws22 source directory that contained the additional classes and such that were needed for JAX-WS 2.2.   At release time, we had to make sure we used the appropriate JDK/Profile to get that included.   

Now, what does “Java 9 Friendly” entail?   Not really sure.  Off the top of my head, I would definitely start by including dependencies for all the javax.* API’s.   Example, core depends on JAXB so add the jaxb-api jar.    This would definitely reduce the amount of “patch-module” things that are needed to use CXF on Java9.   However, it’s not something to do on 3.2.x as it adds a ton of dependencies that users may need/want to exclude so not a “patch” thing.    As part of this, we’d also update to as many dependencies that are module friendly as possible.      We could also have additional source dirs or similar to the tree for Java 9 “cool things”, providing we can still compile with —target=1.8.    Another example could possibly be an update to the http client transport to use the Java9 HttpClient.   If run on Java8, we’d stick with URLConnection, on Java9, use HttpClient. 

I know Java9 supports the “Multi-Release JAR”, but I’m not sure if Maven can handle/generate those yet.   Something else to look into.

Dan




> On Nov 15, 2017, at 6:47 AM, Sergey Beryozkin <sb...@gmail.com> wrote:
> 
> Hi
> 
> Should we open a new Java 9 only master soon enough ?
> 
> Thanks, Sergey

-- 
Daniel Kulp
dkulp@apache.org - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com


Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi Freeman

OK, thanks. So we already have 3.2.1 meeting a Java9 + Java8 
requirement, which is great. I haven't even tried to build CXF master 
with Java 9 :-), will try asap...

Cheers, Sergey
On 16/11/17 12:23, Freeman Fang wrote:
> Hi Sergey,
> 
> Yep, it’s about to use Java9 to build and run CXF 3.2.x with classical java “classpath” way. To fully adapt the CXF to use jigsaw module, I think we need a JDK9 only branch to work with.
> 
> Btw, it’s already in current CXF master(3.2.x-SNAPSHOT). We can build and pass all tests with latest  JDK 9.0.1. So CXF 3.2.x have it already. I guess what we would do next is fork a 3.2.x-fixes branch based on current master, and change the master version to 4.0.0-SNAPSHOT, and this master branch could be the one we can experiment with pure JAVA9 new features.
> 
> Cheers.
> -------------
> Freeman(Yue) Fang
> 
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> 
> 
> 
>> On Nov 16, 2017, at 6:26 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
>>
>> Hi Freeman
>>
>> By the way, what is status of your Java 9 branch, I understand it was really about using Java 9 to compile and load CXF 3.2.x ? If so then may be it can be merged to 3.2.x ?
>>
>> Cheers, Sergey
>>
>>
>> On 16/11/17 06:17, Freeman Fang wrote:
>>> +1
>>> If next CXF major release(3.3 or 4.0) are not going to support JDK8 anymore, it’s about the time to create master branch which is for Java9(and the successor JDK version which is not very far away). And this also would be easy for us to adjust CXF to use the jigsaw module eventually, like to add module-info.java  to see how is it going on there.
>>> Best Regards
>>> -------------
>>> Freeman(Yue) Fang
>>> Red Hat, Inc.
>>> FuseSource is now part of Red Hat
>>>> On Nov 16, 2017, at 1:03 PM, Andy McCright <j....@gmail.com> wrote:
>>>>
>>>> Hi Sergey,
>>>>
>>>> I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
>>>> limited support release.  According to Oracle's support strategy [1], Java
>>>> 9 will only be supported until March 2018, then they will be releasing Java
>>>> 10 (aka 18.3) which also will have a short shelf-life.  The next long-term
>>>> support release is 18.9 which releases in September.  We'll probably want
>>>> the new Java 9 master branch to work with 18.3 as well, then maybe consider
>>>> a new master branch for 18.9 some time next year. What do you think?
>>>>
>>>> Thanks,
>>>> Andy
>>>>
>>>> [1] http://www.oracle.com/technetwork/java/eol-135779.html
>>>>
>>>> On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi
>>>>>
>>>>> Should we open a new Java 9 only master soon enough ?
>>>>>
>>>>> Thanks, Sergey
>>>>>
> 
> 

Re: New Java 9 master

Posted by Freeman Fang <fr...@gmail.com>.
Hi Sergey,

Yep, it’s about to use Java9 to build and run CXF 3.2.x with classical java “classpath” way. To fully adapt the CXF to use jigsaw module, I think we need a JDK9 only branch to work with.

Btw, it’s already in current CXF master(3.2.x-SNAPSHOT). We can build and pass all tests with latest  JDK 9.0.1. So CXF 3.2.x have it already. I guess what we would do next is fork a 3.2.x-fixes branch based on current master, and change the master version to 4.0.0-SNAPSHOT, and this master branch could be the one we can experiment with pure JAVA9 new features.

Cheers.
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat



> On Nov 16, 2017, at 6:26 PM, Sergey Beryozkin <sb...@gmail.com> wrote:
> 
> Hi Freeman
> 
> By the way, what is status of your Java 9 branch, I understand it was really about using Java 9 to compile and load CXF 3.2.x ? If so then may be it can be merged to 3.2.x ?
> 
> Cheers, Sergey
> 
> 
> On 16/11/17 06:17, Freeman Fang wrote:
>> +1
>> If next CXF major release(3.3 or 4.0) are not going to support JDK8 anymore, it’s about the time to create master branch which is for Java9(and the successor JDK version which is not very far away). And this also would be easy for us to adjust CXF to use the jigsaw module eventually, like to add module-info.java  to see how is it going on there.
>> Best Regards
>> -------------
>> Freeman(Yue) Fang
>> Red Hat, Inc.
>> FuseSource is now part of Red Hat
>>> On Nov 16, 2017, at 1:03 PM, Andy McCright <j....@gmail.com> wrote:
>>> 
>>> Hi Sergey,
>>> 
>>> I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
>>> limited support release.  According to Oracle's support strategy [1], Java
>>> 9 will only be supported until March 2018, then they will be releasing Java
>>> 10 (aka 18.3) which also will have a short shelf-life.  The next long-term
>>> support release is 18.9 which releases in September.  We'll probably want
>>> the new Java 9 master branch to work with 18.3 as well, then maybe consider
>>> a new master branch for 18.9 some time next year. What do you think?
>>> 
>>> Thanks,
>>> Andy
>>> 
>>> [1] http://www.oracle.com/technetwork/java/eol-135779.html
>>> 
>>> On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
>>> wrote:
>>> 
>>>> Hi
>>>> 
>>>> Should we open a new Java 9 only master soon enough ?
>>>> 
>>>> Thanks, Sergey
>>>> 


Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi Freeman

By the way, what is status of your Java 9 branch, I understand it was 
really about using Java 9 to compile and load CXF 3.2.x ? If so then may 
be it can be merged to 3.2.x ?

Cheers, Sergey


On 16/11/17 06:17, Freeman Fang wrote:
> +1
> 
> If next CXF major release(3.3 or 4.0) are not going to support JDK8 anymore, it’s about the time to create master branch which is for Java9(and the successor JDK version which is not very far away). And this also would be easy for us to adjust CXF to use the jigsaw module eventually, like to add module-info.java  to see how is it going on there.
> 
> Best Regards
> -------------
> Freeman(Yue) Fang
> 
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> 
> 
> 
>> On Nov 16, 2017, at 1:03 PM, Andy McCright <j....@gmail.com> wrote:
>>
>> Hi Sergey,
>>
>> I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
>> limited support release.  According to Oracle's support strategy [1], Java
>> 9 will only be supported until March 2018, then they will be releasing Java
>> 10 (aka 18.3) which also will have a short shelf-life.  The next long-term
>> support release is 18.9 which releases in September.  We'll probably want
>> the new Java 9 master branch to work with 18.3 as well, then maybe consider
>> a new master branch for 18.9 some time next year. What do you think?
>>
>> Thanks,
>> Andy
>>
>> [1] http://www.oracle.com/technetwork/java/eol-135779.html
>>
>> On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
>> wrote:
>>
>>> Hi
>>>
>>> Should we open a new Java 9 only master soon enough ?
>>>
>>> Thanks, Sergey
>>>
> 
> 

Re: New Java 9 master

Posted by Freeman Fang <fr...@gmail.com>.
+1

If next CXF major release(3.3 or 4.0) are not going to support JDK8 anymore, it’s about the time to create master branch which is for Java9(and the successor JDK version which is not very far away). And this also would be easy for us to adjust CXF to use the jigsaw module eventually, like to add module-info.java  to see how is it going on there.

Best Regards
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat



> On Nov 16, 2017, at 1:03 PM, Andy McCright <j....@gmail.com> wrote:
> 
> Hi Sergey,
> 
> I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
> limited support release.  According to Oracle's support strategy [1], Java
> 9 will only be supported until March 2018, then they will be releasing Java
> 10 (aka 18.3) which also will have a short shelf-life.  The next long-term
> support release is 18.9 which releases in September.  We'll probably want
> the new Java 9 master branch to work with 18.3 as well, then maybe consider
> a new master branch for 18.9 some time next year. What do you think?
> 
> Thanks,
> Andy
> 
> [1] http://www.oracle.com/technetwork/java/eol-135779.html
> 
> On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
> wrote:
> 
>> Hi
>> 
>> Should we open a new Java 9 only master soon enough ?
>> 
>> Thanks, Sergey
>> 


Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi Andy

Right, somewhere around March 2018 would be fine, though, I suppose, 
given this master would be open for a long time, it would be just a 
matter of updating to 18.3 and then to 18.9, I guess by the time a would 
be CXF 4.0.0 gets released at least 18.3  will have already been 
released as well :-)

Cheers, Sergey
On 16/11/17 05:03, Andy McCright wrote:
> Hi Sergey,
> 
> I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
> limited support release.  According to Oracle's support strategy [1], Java
> 9 will only be supported until March 2018, then they will be releasing Java
> 10 (aka 18.3) which also will have a short shelf-life.  The next long-term
> support release is 18.9 which releases in September.  We'll probably want
> the new Java 9 master branch to work with 18.3 as well, then maybe consider
> a new master branch for 18.9 some time next year. What do you think?
> 
> Thanks,
> Andy
> 
> [1] http://www.oracle.com/technetwork/java/eol-135779.html
> 
> On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
> wrote:
> 
>> Hi
>>
>> Should we open a new Java 9 only master soon enough ?
>>
>> Thanks, Sergey
>>
> 

Re: New Java 9 master

Posted by Andy McCright <j....@gmail.com>.
Hi Sergey,

I'm in favor of the idea.  One thing worth noting is that Java 9 is a very
limited support release.  According to Oracle's support strategy [1], Java
9 will only be supported until March 2018, then they will be releasing Java
10 (aka 18.3) which also will have a short shelf-life.  The next long-term
support release is 18.9 which releases in September.  We'll probably want
the new Java 9 master branch to work with 18.3 as well, then maybe consider
a new master branch for 18.9 some time next year. What do you think?

Thanks,
Andy

[1] http://www.oracle.com/technetwork/java/eol-135779.html

On Wed, Nov 15, 2017 at 5:47 AM, Sergey Beryozkin <sb...@gmail.com>
wrote:

> Hi
>
> Should we open a new Java 9 only master soon enough ?
>
> Thanks, Sergey
>

Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
Obvious typo there, that yes in a Java 9 only master it won;t work with 
Java 8.

To be honest I don't understand why would CXF dev would be effectively 
frozen which would be the case if no Java 9 master is not opened

Sergey
On 16/11/17 13:09, Sergey Beryozkin wrote:
> Yes, in a Java 9 only master it will be expected that it won't work with 
> Java 9. I guess it's also about trying to anticipate what the users will 
> ask. If someone prefers to avoid Java 9 only then they'd just stay for a 
> long time with 3.2.x
> 
> Sergey
> On 16/11/17 13:02, Christian Schneider wrote:
>> I am not sure sure about the need for Java 9 modules. Currently I see no
>> user requesting this. It is also not yet fully clear how these modules
>> behave in OSGi. As far as I understood as soon as we start with this we
>> have code that is not working in Java 8. As we require every change to be
>> done in master first this means we have a lot of back port work. A Java 9
>> only master will also make it much harder for Java 8 users to supply pull
>> requests as they have to develop and test on java 9 which is not their
>> production system.
>>
>> So I think the current situation with a master that works on Java 9 and
>> Java 8 is a pretty good situation that we should keep for as long as
>> possible.
>> I am not sure how attractive the other Java 9 features are. Personally I
>> were really eager to adopt Java 8 because of the closures but I see no 
>> real
>> need for myself to rush to java 9.
>>
>> When I remember how reluctant we were when it came to adopting the 
>> previous
>> java versions like 7 and 8 as minimal requirement I think it makes 
>> sense to
>> do this rather slowly.
>>
>> Christian
>>
>> 2017-11-16 13:31 GMT+01:00 Sergey Beryozkin <sb...@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
>>>>>>
>>>>>>
>>>>
>>
>>


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
Yes, in a Java 9 only master it will be expected that it won't work with 
Java 9. I guess it's also about trying to anticipate what the users will 
ask. If someone prefers to avoid Java 9 only then they'd just stay for a 
long time with 3.2.x

Sergey
On 16/11/17 13:02, Christian Schneider wrote:
> I am not sure sure about the need for Java 9 modules. Currently I see no
> user requesting this. It is also not yet fully clear how these modules
> behave in OSGi. As far as I understood as soon as we start with this we
> have code that is not working in Java 8. As we require every change to be
> done in master first this means we have a lot of back port work. A Java 9
> only master will also make it much harder for Java 8 users to supply pull
> requests as they have to develop and test on java 9 which is not their
> production system.
> 
> So I think the current situation with a master that works on Java 9 and
> Java 8 is a pretty good situation that we should keep for as long as
> possible.
> I am not sure how attractive the other Java 9 features are. Personally I
> were really eager to adopt Java 8 because of the closures but I see no real
> need for myself to rush to java 9.
> 
> When I remember how reluctant we were when it came to adopting the previous
> java versions like 7 and 8 as minimal requirement I think it makes sense to
> do this rather slowly.
> 
> Christian
> 
> 2017-11-16 13:31 GMT+01:00 Sergey Beryozkin <sb...@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
>>>>>
>>>>>
>>>
> 
> 

Re: New Java 9 master

Posted by Christian Schneider <ch...@die-schneider.net>.
2017-11-17 4:40 GMT+01:00 Jeff Genender <jg...@apache.org>:

>
>
> > On Nov 16, 2017, at 6:02 AM, Christian Schneider <
> chris@die-schneider.net> wrote:
> >
> > I am not sure sure about the need for Java 9 modules. Currently I see no
> > user requesting this.
>
> We need a user to request it?  Whats wrong with us looking in a crystal
> ball?  Doesn’t one of our own committers count as a user requesting it?
>

Absolutely Sergeys request is surely valid. I just fear the additional
overhead and that a java 9 master might prevent some java 8 developers from
supplying patches as they would be forced to develop on java 9.
So I completely agree that we will have a java 9 master at some point ..
The question is only when. My approach to this is to switch as late as
possible while still allowing us to explore java 9.

>
> > It is also not yet fully clear how these modules
> > behave in OSGi.
>
> They are just jars with manifests, no?  I would believe they would both
> operate based on their own manifest file contents.  Let stay it and find
> out. ;-). No harm no foul.
>

Yes. I completely agree to try this. I would rather experiment with this in
a side branch though. The ideal solution would be a jar that is both a java
9 module and a regular java 8 jar. Not sure if that works though.
If Dans assumption is right that all our deps must be JAva 9 modules before
we switch this will take quite a while anyway. So I think the right time to
switch to add java 9 modules is when all dependencies are modules.
For other java 9 features we might want to provide support earlier though.

>
> >
> > So I think the current situation with a master that works on Java 9 and
> > Java 8 is a pretty good situation that we should keep for as long as
> > possible.
> > I am not sure how attractive the other Java 9 features are. Personally I
> > were really eager to adopt Java 8 because of the closures but I see no
> real
> > need for myself to rush to java 9.
> >
>
> But others do use it.  I'm one of those who did go all in JDK 9… call me a
> cutting edge person. ;-). I have people asking me all the time about this.
> Different strokes for different folks. ;-)
>
> > When I remember how reluctant we were when it came to adopting the
> previous
> > java versions like 7 and 8 as minimal requirement I think it makes sense
> to
> > do this rather slowly.
>
> And what did that reluctancy buy us except people wondering what is taking
> so long.  Why not get ahead of the curve this time instead of being
> dinosaurs and the last ones to the table.
>
> Whats the harm in doing it?  Its just a git repo that has zero impact on
> the Java 8 code base.  Everything will feed it as an upstream code base.
>

The harm is that every change in CXF will be coded and tested on the Java 9
master first then. Additionally it would need to be backported to the older
branches. So we would force all CXF developers to switch to Java 9.
This is the price and it will be especially high while most people are
still on Java 8.

On the other hand the gain is that Java 9 developers can already work with
Java 9 features. At the start this gain is very low. It will grow over time
when people migrate to Java 9.

So the question is simply when there is the right time for this switch.

Christian


-- 
-- 
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

Re: New Java 9 master

Posted by Jeff Genender <jg...@apache.org>.

> On Nov 16, 2017, at 6:02 AM, Christian Schneider <ch...@die-schneider.net> wrote:
> 
> I am not sure sure about the need for Java 9 modules. Currently I see no
> user requesting this.

We need a user to request it?  Whats wrong with us looking in a crystal ball?  Doesn’t one of our own committers count as a user requesting it?

> It is also not yet fully clear how these modules
> behave in OSGi.

They are just jars with manifests, no?  I would believe they would both operate based on their own manifest file contents.  Let stay it and find out. ;-). No harm no foul.

> As far as I understood as soon as we start with this we
> have code that is not working in Java 8. As we require every change to be
> done in master first this means we have a lot of back port work. A Java 9
> only master will also make it much harder for Java 8 users to supply pull
> requests as they have to develop and test on java 9 which is not their
> production system.

How is this any different than what we have done in the past with our multiple versions? CXF for JDK9 with modules… perhaps a CXF 4?
> 
> So I think the current situation with a master that works on Java 9 and
> Java 8 is a pretty good situation that we should keep for as long as
> possible.
> I am not sure how attractive the other Java 9 features are. Personally I
> were really eager to adopt Java 8 because of the closures but I see no real
> need for myself to rush to java 9.
> 

But others do use it.  I'm one of those who did go all in JDK 9… call me a cutting edge person. ;-). I have people asking me all the time about this.  Different strokes for different folks. ;-)

> When I remember how reluctant we were when it came to adopting the previous
> java versions like 7 and 8 as minimal requirement I think it makes sense to
> do this rather slowly.

And what did that reluctancy buy us except people wondering what is taking so long.  Why not get ahead of the curve this time instead of being dinosaurs and the last ones to the table.

Whats the harm in doing it?  Its just a git repo that has zero impact on the Java 8 code base.  Everything will feed it as an upstream code base.

I’m not getting why the pushback..

Jeff


> 
> Christian
> 
> 2017-11-16 13:31 GMT+01:00 Sergey Beryozkin <sb...@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
>>>>> 
>>>>> 
>>> 
> 
> 
> -- 
> -- 
> 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


Re: New Java 9 master

Posted by Christian Schneider <ch...@die-schneider.net>.
I am not sure sure about the need for Java 9 modules. Currently I see no
user requesting this. It is also not yet fully clear how these modules
behave in OSGi. As far as I understood as soon as we start with this we
have code that is not working in Java 8. As we require every change to be
done in master first this means we have a lot of back port work. A Java 9
only master will also make it much harder for Java 8 users to supply pull
requests as they have to develop and test on java 9 which is not their
production system.

So I think the current situation with a master that works on Java 9 and
Java 8 is a pretty good situation that we should keep for as long as
possible.
I am not sure how attractive the other Java 9 features are. Personally I
were really eager to adopt Java 8 because of the closures but I see no real
need for myself to rush to java 9.

When I remember how reluctant we were when it came to adopting the previous
java versions like 7 and 8 as minimal requirement I think it makes sense to
do this rather slowly.

Christian

2017-11-16 13:31 GMT+01:00 Sergey Beryozkin <sb...@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
>>>>
>>>>
>>


-- 
-- 
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

Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@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
>>>
> 

Re: New Java 9 master

Posted by Andriy Redko <dr...@gmail.com>.
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
>> 


Re: New Java 9 master

Posted by Sergey Beryozkin <sb...@gmail.com>.
It's pretty simple really. It's about having a new impetus for the CXF 
development.

Without a Java 9 only master CXF will be about fixing the bugs only. 
JAX-WS is done long time ago, next version of JAX-RS will take N amount 
of time to materialize.

Java 9 with its Flow class will let CXF do new work around Reactive 
support. It will have new features that only work with Java 9 and may 
give new ideas for the contributions.

3.2.x is at the start of its life-cycle and will have a couple of years 
at least for it to retire, giving Java 8 support.

3.1.x has probably 6 months or so left in it, and after it's gone we 
will have 3.2.x and 4.0.x or whatever new version is preferred.

Sergey
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
> 

Re: New Java 9 master

Posted by Dennis Kieselhorst <de...@apache.org>.
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

Re: New Java 9 master

Posted by Christian Schneider <ch...@die-schneider.net>.
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?

Christian

2017-11-15 12:47 GMT+01:00 Sergey Beryozkin <sb...@gmail.com>:

> Hi
>
> Should we open a new Java 9 only master soon enough ?
>
> Thanks, Sergey
>



-- 
-- 
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