We should add that to the Developer Guide [1], Contributor Guide [2], note it 
in the Migration Guide [3] when it takes effect, and include it in the GitHub 
PR template as well. 

[1] https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html 
<https://nifi.apache.org/docs/nifi-docs/html/developer-guide.html>
[2] https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide 
<https://cwiki.apache.org/confluence/display/NIFI/Contributor+Guide>
[3] https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance 
<https://cwiki.apache.org/confluence/display/NIFI/Migration+Guidance>


Andy LoPresto
alopre...@apache.org
alopresto.apa...@gmail.com
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

> On Apr 3, 2019, at 1:16 PM, Sivaprasanna <sivaprasanna...@gmail.com> wrote:
> 
> Sounds good to me.
> 
> So contributors who bring in new changes are expected to write the code
> that should be compatible with both Java 8 as well as Java 11, right?
> 
> Do we see anything that we should have in our site that would help the
> contributors/users with this change? Something like a document that
> explains best practices which a developer should follow so that the change
> which the developer is bringing in should run fine in both 8 and 11.
> 
> -
> Sivaprasanna
> 
> On Thu, 4 Apr 2019 at 12:18 AM, Pierre Villard <pierre.villard...@gmail.com>
> wrote:
> 
>> Sounds good to me as well. Given the latest news on Java 8, having the 2
>> PRs merged in would be great!
>> 
>> Thanks,
>> Pierre
>> 
>> Le mer. 3 avr. 2019 à 20:34, Joe Witt <joe.w...@gmail.com> a écrit :
>> 
>>> Jeff
>>> 
>>> This seems very reasonable and thorough to me.
>>> 
>>> The only short term implication that we'd have to buy into then is that
>> PRs
>>> going forward need to be able to build on both Java 8 and 11 which seems
>> a
>>> very fair way to bridge toward moving to Java 11 as the base requirement
>> in
>>> the next major release of NiFi (2.x).
>>> 
>>> Thanks
>>> Joe
>>> 
>>> On Wed, Apr 3, 2019 at 2:19 PM Jeff <jsto...@apache.org> wrote:
>>> 
>>>> I'm reaching out to the community today to propose a plan for moving
>>>> forward with NiFi on Java 11.
>>>> 
>>>> There are currently two PRs that deal with Java 11 compatibility.  The
>>>> first PR allows NiFi built on Java 8 to be run on Java 11 [1].  The
>>> second
>>>> PR allows NiFi to be built on Java 11 and run on Java 11 [2].  There
>> are
>>> a
>>>> lot of changes in the second PR, and it will require a lot of testing
>> due
>>>> to the breadth of changes from dependency upgrades.  Please take a look
>>> at
>>>> both of these PRs.  The earlier we can get feedback, the sooner we can
>>> get
>>>> Java 11 compatibility in an Apache NiFi release.
>>>> 
>>>> I would to discuss with the community the following plan for upcoming
>>> NiFi
>>>> releases as they pertain to Java 11:
>>>> 
>>>> For the 1.x release line, from either 1.10 or 1.11 (depending on when
>>> these
>>>> two PRs are merged to master) and onward, NiFi will be compatible with
>>> both
>>>> Java 8 and 11 for building and running NiFi:
>>>> 
>>>>   - Build on Java 8, run on Java 8
>>>>   - Build on Java 8, run on Java 11
>>>>   - Build on Java 11, run on Java 11
>>>> 
>>>> The 1.x release line will contain convenience builds for Java 8, and
>> will
>>>> NOT contain convenience builds created from Java 11.  Users that want
>> to
>>>> run NiFi 1.1x.y on Java 11 with Java 11 bytecode will have to build
>> from
>>>> the released source code.
>>>> 
>>>> Once the Java 11 compatibility features [1] [2] are merged to master,
>> PR
>>>> reviews will require building and testing with Java 8 and Java 11
>> before
>>>> the PR is merged to master. We will add a new build to our Travis CI
>>>> instance to cover building on Java 11, which should help with the PR
>>>> process, since build status from Appveyor and Travis are shown on the
>> PR.
>>>> This will allow an easier transition to the NiFi 2.x release line.
>>>> 
>>>> For the 2.x release line, the minimum Java version would be Java 11, at
>>>> which point developers would be able to start using Java 11 language
>>>> features.  Java 12 is not designated to be an LTS release, with its
>>> support
>>>> ending in September 2019.  I would not recommend making our minimum
>> Java
>>>> version a non-LTS Java release unless we are prepared to do NiFi
>> releases
>>>> to update the minimum Java version before the support for that version
>> of
>>>> Java ends.
>>>> 
>>>> Taking this approach means we can reasonably allow users to run on Java
>>> 11
>>>> in the 1.x release line, ensure that we do not add commits which are
>> not
>>>> Java 11 compatible, and make it easier to transition into the 2.x line
>>> for
>>>> NiFi.
>>>> 
>>>> - Jeff
>>>> 
>>>> [1] https://github.com/apache/nifi/pull/3174
>>>> [2] https://github.com/apache/nifi/pull/3404
>>>> 
>>> 
>> 

Reply via email to