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