Libraries BOM for Guava's -jre flavor (Java 8+)
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- java
- Domaine
- build-system
Piste de recherche
Commencez par le Libraries BOM et la section liée du wiki sur les versions de Guava, puis examinez comment Gradle's enforcedPlatform/platform et Maven dependencyManagement sont décrits. Comparez les deux variantes de BOM proposées du point de vue de leur compatibilité avec Java 7 et Java 8+, et vérifiez que le public visé et le comportement des dépendances publiées sont documentés.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Shall we create the Libraries BOM with Guava's -jre flavor?
As of now, the Libraries BOM uses Guava's -android flavor. This flavor of Guava does not have methods for Java 8+, such as CacheBuilder.expireAfterWrite(java.time.Duration). (Duration class was introduced in Java 8.) If a project uses the Libraries BOM and depends on a library that touches the Java 8+ methods (for example com.google.cloud.bigdataoss:gcsio), the JVM throws NoSuchMethodError:
java.lang.NoSuchMethodError: com.google.common.cache.CacheBuilder.expireAfterWrite(Ljava/time/Duration;)Lcom/google/common/cache/CacheBuilder;
at com.google.cloud.hadoop.gcsio.GoogleCloudStorageImpl.<init>(GoogleCloudStorageImpl.java:149)
Therefore, Java 8 users in such situations need to override the version of Guava. The step is documented in https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM#guava-versions--jre-or--android . As noted there we cannot override Gradle's enforcedPlatform keyword, which controls transitive dependency versions. (platform works but this does not control transitive dependencies) Maven users can override transitive dependencies by adding guava entry in the dependencyManagement section.
Given that Java 8 users are majority right now (Java 7 users are few percent in GCP), shall we target for Java 8 users as the main audience?
This request is from @kileys (Dataflow team). The options listed below are prepared by suztomo.
Option 1: change main target audience to Java 8 users
- The Libraries BOM includes Guava's -jre flavor that supports Java 8 operations
- Java 7 users can override the guava version as in the wiki page.
Option 2: two flavors of the Libraries BOM
- We publish 2 flavors of the Libraries BOM for both Java 8+ and Java 7.
- Langage dominant
- Java
- Étoiles
- 163
- Forks
- 81
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de GoogleCloudPlatform/cloud-opensource-java
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
GoogleCloudPlatform/cloud-opensource-java#2419 · 1 commentaire · 2 réactions ·
-
best practices
Difficulté 1/5 Moins d'une heure Accessibilité débutants 62/100
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
-
JLBP-14 additional reasonOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
-
Add a presubmit CI check for LTSPeut-être à nouveau libre @diegomarquezp l’a pris il y a 172 jours, et aucune pull request n’est ouverte. Ouverteenhancement p2
GoogleCloudPlatform/cloud-opensource-java#2468 · 1 commentaire · 1 personne assignée ·
Toutes les issues de GoogleCloudPlatform/cloud-opensource-java
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
OpenAPITools/openapi-generator#25014 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 1/5 Moins d'une heure Accessibilité débutants 92/100
AloisSeckar/demos-java#380 ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
openhab/openhab-core#5847 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
appsmithorg/appsmith#42297 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100