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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 > > > > > >
