You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/11/14 20:49:59 UTC
[jira] [Commented] (FLINK-5067) Make Flink compile with 1.8 Java
compiler
[ https://issues.apache.org/jira/browse/FLINK-5067?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15664974#comment-15664974 ]
ASF GitHub Bot commented on FLINK-5067:
---------------------------------------
GitHub user melentye opened a pull request:
https://github.com/apache/flink/pull/2804
[FLINK-5067] Make Flink compile with 1.8 Java compiler
- New type inference rules changed which overloaded methods are picked.
- Renamed java.version property in maven to java.minor.version. This is due to the fact that overriding java.version is used by some third-party classes and they expect the version to be fully qualified.
- Introduced Java 8 build for Travis CI
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/melentye/flink FLINK-5067-make-flink-compile-with-java8-compiler
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2804.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2804
----
commit f07215eed4269826e57136fa30560a34b8409d34
Author: Andrey Melentyev <an...@klarna.com>
Date: 2016-11-13T16:42:17Z
[FLINK-5067] Java 8 build fixes
- New type inference rules changed which overloaded methods are picked.
- Renamed java.version property in maven to java.minor.version. This is due to the fact that overriding java.version is used by some third-party classes and they expect the version to be fully qualified.
- Introduced Java 8 build for Travis CI
----
> Make Flink compile with 1.8 Java compiler
> -----------------------------------------
>
> Key: FLINK-5067
> URL: https://issues.apache.org/jira/browse/FLINK-5067
> Project: Flink
> Issue Type: Improvement
> Components: Build System
> Affects Versions: 1.2.0
> Environment: macOS Sierra 10.12.1, java version "1.8.0_112", Apache Maven 3.3.9
> Reporter: Andrey Melentyev
> Priority: Minor
>
> Flink fails to compile when using 1.8 as source and target in Maven. There are two types of issue that are both related to the new type inference rules:
> * Call to TypeSerializer.copy method in TupleSerializer.java:112 now resolves to a different overload than before causing a compilation error: [ERROR] /Users/andrey.melentyev/Dev/github.com/apache/flink/flink-core/src/main/java/org/apache/flink/api/java/typeutils/runtime/TupleSerializer.java:[112,63] incompatible types: void cannot be converted to java.lang.Object
> * A number of unit tests using assertEquals fail to compile:
> [ERROR] /Users/andrey.melentyev/Dev/github.com/apache/flink/flink-java/src/test/java/org/apache/flink/api/common/operators/CollectionExecutionAccumulatorsTest.java:[50,25] reference to assertEquals is ambiguous
> [ERROR] both method assertEquals(long,long) in org.junit.Assert and method assertEquals(java.lang.Object,java.lang.Object) in org.junit.Assert match
> In both of the above scenarios explicitly casting one of the arguments helps the compiler to resolve overloaded method call correctly.
> It is possible to maintain Flink's code base in a state when it can be built by both 1.7 and 1.8. For this purpose we need minor code fixes and an automated build in Travis to keep the new good state.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)