apache / apache/arrow-java

[Java] Upgrade Java version used by toolchain to Java 21 or latest

Ouverte
#68 0 commentaires 1 réaction 0 personnes assignées Voir sur GitHub
Type: Packaging
Langage dominant
Java
Étoiles
94
Forks
152
Merge moyen
3 j 16 h
PR mergées (30 j)
11

Description

### Describe the enhancement requested

As of today, Java 8 or higher is required to build Arrow. This is the version used to launch the Maven process and used by the plugins, including maven-compiler-plugin (and indirectly by `javac` or equivalent).

As the tools and plugins used by Arrow are dropping support for Java 8 bit by bit (and potentially Java 11 as well) and as the Java project also keeps introducing new features of potential interest to the community at a regular 6month cadence, updating the toolchain accordingly and regularly seems to become more and more important.

The proposal is to change Java version requirement to build Arrow to use the latest released version.

The proposal does not change the Java version requirement to use Arrow (which would be still Java 8 or possibly [Java 11 starting Arrow 18.0](https://github.com/apache/arrow/issues/38051)). This includes also unit testing.

To achieve this, work will be divided into multiple incremental steps:

- [ ] [[Java] Add support for JDK version cross-testing](https://github.com/apache/arrow/issues/43380)
- [ ] [Java] Enforce new Java version build requirement

### Component(s)

Continuous Integration, Developer Tools, Java

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le processus Maven et les paramètres de maven-compiler-plugin décrits dans l’issue, puis examinez le travail lié sur les tests croisés de JDK avant de modifier l’exigence de build. La tâche est terminée lorsque Arrow se construit avec la dernière version publiée de Java, tandis que Java 8 reste requis pour l’exécution et les tests unitaires.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java
Domaine
build-system, ci-cd, developer-experience
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
À clarifier
Accessibilité débutants
30/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.