You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Christopher Tubbs (Jira)" <ji...@apache.org> on 2023/08/02 02:24:00 UTC
[jira] [Resolved] (THRIFT-5729) Configure the compiler-plugin to produce Java 8 compatible code
[ https://issues.apache.org/jira/browse/THRIFT-5729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Christopher Tubbs resolved THRIFT-5729.
---------------------------------------
Resolution: Duplicate
Thrift already has a Gradle flag that sets the release option. It was intentionally set to Java 11 to modernize in THRIFT-5644, but was reverted after a long discussion in the PR for THRIFT-5702. I'm closing this issue as a duplicate of THRIFT-5702.
> Configure the compiler-plugin to produce Java 8 compatible code
> ---------------------------------------------------------------
>
> Key: THRIFT-5729
> URL: https://issues.apache.org/jira/browse/THRIFT-5729
> Project: Thrift
> Issue Type: Task
> Components: Java - Library
> Affects Versions: 0.18.1
> Reporter: Christofer Dutz
> Priority: Major
>
> Right up till Thrift 0.17.0 the class format was 52 (Java 1.8) but with 0.18.0 this changed to 55 (Java 11).
> From a quick look, the code seems to imply the baseline for building should be Java 8, however it can only be consumed by applications running at least Java 11.
> By configuring the maven-compiler plugin accordingly, the library should be consumable by Java 8 applications as well.
> I know Thrift uses Gradle to compile the library and I'm not very proficient with that. However here's how we configure this in other Apache projects with Maven. I am sure there are matching options in Gradle:
> {code:java}
> <maven.compiler.source>1.8</maven.compiler.source>
> <maven.compiler.target>1.8</maven.compiler.target> {code}
> Starting with Java 9, the following would need to be set:
> {code:java}
> <maven.compiler.release>8</maven.compiler.release> {code}
> A little self-activating maven profile could help with that:
> {code:java}
> <profile>
> <id>.java-9-and-above</id>
> <activation>
> <jdk>[9,)</jdk>
> </activation>
> <properties>
> <maven.compiler.release>8</maven.compiler.release>
> </properties>
> </profile>{code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)