Chesnay Schepler created FLINK-24634:
----------------------------------------

             Summary: Java 11 profile should target JDK 8
                 Key: FLINK-24634
                 URL: https://issues.apache.org/jira/browse/FLINK-24634
             Project: Flink
          Issue Type: Technical Debt
          Components: Build System
            Reporter: Chesnay Schepler
            Assignee: Chesnay Schepler
             Fix For: 1.15.0


Thee {{java11}} profile currently targets Java 11. This was useful because we 
saw that doing so reveals additional issues that are not detected when building 
for Java 8. The end goal was to ensure a smooth transition once we switch.

However, this has adverse effects on developer productivity.

If you happen to switch between Java versions (for example, because of separate 
environments, or because certain features require Java 8), then you can easily 
run into UnsupportedVersionErrors when attempting to use Java 8 with Java 11 
bytecode.

IntelliJ also picks up on this and automatically sets the language level to 11, 
which means that it will readily allow you to use Java 11 exclusive APIs that 
will fail on CI later on.

To remedy this I propose to split the profile.

The {{java11}} profile will pretty much stay as is, except that it is targeting 
java 8. The value proposition of this profile is being able to build Flink for 
Java 8 with Java 11.
A new explicitly-opt-in {{java11-target}} profile then sets the target version 
to Java 11, which we will use on CI. This profile will ensure that we can 
readily switch to Java 11 as the target in the future.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to