4 votes

Que signifie :scope "test" dans la dépendance build.boot ?

Beaucoup d'exemples ont des dépendances écrites comme

[org.clojure/tools.nrepl "0.2.12" :scope "test"]

Je pense qu'il s'agit de ne pas inclure cette dépendance dans le prod build, comme le profil dev de lein, mais je ne trouve pas de documentation à ce sujet. Quels sont les autres champs d'application disponibles ? Est-ce qu'ils ont une signification codée en dur dans boot ou est-ce que c'est quelque chose que l'utilisateur peut définir ?

4voto

Michiel Borkent Points 11503

Cela se traduit directement par Portées Maven .

Pour test :

Cette portée indique que la dépendance n'est pas nécessaire pour le fonctionnement normal de l'application l'utilisation normale de l'application, et n'est disponible que pour la compilation de test et d'exécution du test. Cette portée n'est pas transitive.

Au démarrage, ces dépendances sont exclues lorsque vous construisez un artefact jar. Elles ne comptent pas non plus comme des dépendances transitives lorsque vous avez une dépendance sur le projet. Ceci est également utilisé pour spécifier la version de Clojure dans un projet de démarrage :

Les bibliothèques (y compris les tâches Boot) ne devraient pas dépendre directement d'une version de Clojure. Elles devraient plutôt utiliser le qualificatif :scope "provided" (fourni) avec une dépendance Clojure. Ce qualificatif rend la dépendance non transitive. La dépendance fonctionne alors comme une documentation sur la version de Clojure requise.

Source

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X