Hi Sergey,
Thanks for your response.
To summarise:
Flink 1.17 needs Maven 3.25 or 3.3.x with shading
Flink current master and  1.18 when released will require 3.8.6 (recommended or 
higher if it works).

I suggest that for the 1.18 build we include, we police the Maven version 
number in the build.
I can code this in the pom file using a maven-enforcer-plugin to police a 
minimum version of Maven 3.8.6 in master. For an example see:
https://github.com/odpi/egeria/blob/egeria-release-3.2/pom.xml

We could police java levels as well. I could put out a warning if built with 
java 8 indicating it I deprecated. Error for java levels less than 8.

If this ok I will raise a Jira to add this Maven and potentially java checking 
to the build,
   Kind regards, David.


From: Sergey Nuyanzin <snuyan...@gmail.com>
Date: Thursday, 14 September 2023 at 16:07
To: dev@flink.apache.org <dev@flink.apache.org>
Subject: [EXTERNAL] Re: Inconsistent build Flink from source in readme and docs
Hi David

The links you have mentioned seems correct

Movement[1] towards to maven 3.8.6 happened since 1.18.x, and this is
mentioned in doc  for master branch

At the same time 1.17.x still requires 3.3.x as mentioned in the doc for
1.17 you've mentioned.

so it depends on the Flink version

[1] https://lists.apache.org/thread/jbw3lzzoq5w16ckco3fc9xokycs3f22x

On Thu, Sep 14, 2023 at 4:09 PM David Radley <david_rad...@uk.ibm.com>
wrote:

> Hello,
> I am looking to build Flink from source I notice that the documentation
> https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/flinkdev/building/
> says
>
> https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/flinkdev/building/
>
> In addition you need Maven 3 and a JDK (Java Development Kit). Flink
> requires Java 8 (deprecated) or Java 11 to build.
>
> NOTE: Maven 3.3.x can build Flink, but will not properly shade away
> certain dependencies. Maven 3.2.5 creates the libraries properly.
> The README.md https://github.com/apache/flink/blob/master/README.md  says:
>
>
>   *   Maven (we recommend version 3.8.6 and require at least 3.1.1)
>   *   Java 8 or 11 (Java 9 or 10 may work)
> git clone https://github.com/apache/flink.git
> cd flink
> ./mvnw clean package -DskipTests # this will take up to 10 minutes
> Flink is now installed in build-target.
> NOTE: Maven 3.3.x can build Flink, but will not properly shade away
> certain dependencies. Maven 3.1.1 creates the libraries properly. To build
> unit tests with Java 8, use Java 8u51 or above to prevent failures in unit
> tests that use the PowerMock runner.
>
> Can you confirm that the readme is correct and whether there is a need to
> do the documented dependency on versions after Maven 3.3.*
>
> https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/flinkdev/building/#dependency-shading
>
> The recommended Maven level is 3.8.6, is this what was tested or is there
> a reason not to use the latest Maven version.
>
> I am happy to amend the docs to make them consistent,
>
>     Kind regards, David
>
>
> Unless otherwise stated above:
>
> IBM United Kingdom Limited
> Registered in England and Wales with number 741598
> Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU
>


--
Best regards,
Sergey

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 3AU

Reply via email to