microsoft / microsoft/playwright-java

[Feature] Consider splitting driver dependencies

Ouverte
#1,196 7 commentaires 21 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

P3-collecting-feedback
Langage dominant
Java
Étoiles
1.6k
Forks
298
Merge moyen
3 j 2 h
PR mergées (30 j)
14

Description

The driver bundle is one big jar containing all the drivers for every supported platform. This makes it quite large, roughly 117 MB for v1.29.0.

The "driver-bundle" artifact could be changed to be only a very small artifact with runtime dependencies for each driver and platform. This would allow users to exclude drivers and platforms they don't need. For example, if someone only needs Chromium on Windows x86-64, Maven's method of excluding dependencies could be used to reduce the download size.

So, in the future, one could have a variant of "driver-bundle" that includes only the shared parts for all drivers and depends on "driver-chromium" (with shared parts for each platform), "driver-chromium-linux" (Linux parts only), and "driver-chromium-windows" (Windows parts only). "driver-chromium-linux" may also depend on "chromium-linux-x86-64" and "chromium-linux-arm64".

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par l’artefact driver-bundle et le modèle de dépendances Maven décrits dans l’issue ; examinez comment les artefacts actuels de driver et de platform sont assemblés et publiés. Comparez le graphe de dépendances obtenu avec les artefacts proposés driver-chromium et spécifiques à la plateforme, et considérez le travail comme terminé lorsque les utilisateurs peuvent exclure les drivers et les plateformes inutilisés sans perdre les parties partagées requises.

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

Évaluation

Stack technique
java
Domaine
build-system
Type d'issue
Fonctionnalité
Difficulté
5/5
Temps estimé
Plus d'une semaine
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

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