2 votes

Comment gérer les dépendances des projets avec différentes versions de Scala ?

J'ai trois projets Scala :

Projet A - doit avoir la version 2.11.9 de Scala.

Projet B - doit avoir la version 2.12.13 de Scala.

Commun - la version n'a pas d'importance.

Les projets A et B utilisent tous deux le commun.

Y a-t-il un moyen de le faire fonctionner autrement qu'en compilant deux fois le projet commun, avec deux versions différentes ?

Et si c'est la seule option, comment puis-je la gérer de la manière la plus simple ? Parce que passer d'une version à l'autre dans build.sbt signifie aussi changer les versions de nombreuses dépendances, et c'est un vrai bordel.

2voto

Gaël J Points 3716

Comme dit dans un commentaire, vous voulez utiliser ce qui est appelé "Bâtiment transversal" pour votre projet "commun" afin qu'il soit construit et publié à la fois pour Scala 2.11 et Scala 2.12.

SBT le supporte nativement .

Si plus tard vous avez une structure de projet plus complexe, vous pouvez jeter un coup d'œil à un plugin utile appelé matrice de projet pour la construction croisée en générant un sous-projet SBT pour chaque version de Scala (ou en fait d'autres dimensions comme JVM/JavaScript).

En ce qui concerne les dépendances, vous devriez utiliser le site %% opérateur lors de la définition des dépendances afin que la version Scala appropriée de la dépendance soit récupérée automatiquement.

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