[ 
https://issues.apache.org/jira/browse/FLINK-40630?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-40630:
-----------------------------------
    Labels: pull-request-available  (was: )

> Use Apache Parent POM 39 in flink-connector-parent
> --------------------------------------------------
>
>                 Key: FLINK-40630
>                 URL: https://issues.apache.org/jira/browse/FLINK-40630
>             Project: Flink
>          Issue Type: Technical Debt
>          Components: Connectors / Common
>            Reporter: Martijn Visser
>            Priority: Major
>              Labels: pull-request-available
>
> flink-connector-parent 2.0.0 still inherits from org.apache:apache:20 (2018). 
> Apache Parent POM 39 is out and Flink itself moved in FLINK-40510.
> Two things break on the way and both were reproduced locally against 
> flink-connector-kafka:
> Apache parent 39 activates a jdk9+ profile that sets 
> {{maven.compiler.release}} to its {{javaVersion}} (8), and 
> maven-compiler-plugin lets release override source/target. The connector 
> parent sets source 11 / target 17 and no release, so the build fails outright 
> rather than silently downgrading:
> {noformat}
> [INFO] Compiling 130 source files with javac [debug release 8] to 
> target/classes
> [ERROR] TransactionOwnership.java:[74,29] method orElseThrow in class 
> java.util.Optional<T> cannot be applied to given types
> {noformat}
> Setting javaVersion alone is not a fix, because it would also cap the 
> java17-target profile at bytecode 55. Blanking {{maven.compiler.release}} 
> fixes the compiler but breaks maven-javadoc-plugin (both 3.8.0 and 3.12.0) 
> with "String index out of range: 0". What works is keeping the property 
> non-empty and overriding the compiler plugin's release parameter instead.
> Second, javadoc rejects an add-exports J-option together with release 
> ("exporting a package from system module java.base is not allowed with the 
> release option"), so the add-exports option the parent's jdk profile passes 
> to javadoc has to go. Whether any connector's javadoc actually needs it 
> should be checked before the parent is released.
> Apache parent 39 also sets {{minimalMavenBuildVersion}} to 3.9 and enforces 
> it in every module, so every connector adopting the new parent must build 
> with Maven 3.9+. None of the other connector repos (aws, mongodb, opensearch, 
> jdbc, elasticsearch, rabbitmq, cassandra) has a Maven wrapper at all, so the 
> shared CI falls back to its hardcoded 3.8.6 for them. They need a wrapper, or 
> the CI fallback has to move, before they take the new parent.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to