SBT Scala : un outil qui organise vos projets Scala ou Java

-
3
 m de lecture
-

Dans cet article, nous allons vous présenter un outil de développement pour vos projets Scala. Il s'agit de SBT qui signifie "Simple Build Tool".

C’est un outil de build open-source qui facilite la gestion de vos projets. Il vous permet de manager vos dépendances, de compiler, d’exécuter, et de distribuer vos fichiers JARs. Voyons plus en détails ses fonctionnalités principales.

Les fonctionnalitées principales de SBT

La gestion de dépendances

Dans un fichier de configuration, vous pouvez gérer vos dépendances et y renseigner les versions dont vous avez besoin. Choisir la version de vos dépendances vous permet d’éviter les conflits entre elles, d’éviter les bugs, les failles de sécurité et de faciliter la maintenance. SBT télécharge cette dernière ci à partir d’un dépôt de librairies en ligne, comme Maven Central. Vous trouverez sur ce site les dépendances disponibles avec leurs versions et la syntaxe afin de l’intégrer à votre projet.

La compilation

Tout d’abord SBT va charger les informations de votre projet présentes dans le fichier de configuration. Ensuite, il utilise le système de compilation de Scala pour compiler vos programmes en fichiers bytecode pouvant être exécutés par la JVM. Ces derniers sont placés dans le répertoire « target ». SBT utilise la compilation incrémentale afin d’optimiser la compilation. Ce qui veut dire qu’il ne va recompiler que les modifications.

L'exécution de tests

SBT propose une solution afin de tester vos codes à l’aide de la commande `sbt test` qui exécute tous les tests du projet. Il est possible de tester une classe en particulier ou alors les tests d’un fichier à l’aide de `sbt testOnly`. N’oublions pas que les tests unitaires peuvent vous faire gagner un temps considérable. Ils vous évitent de reprendre vos codes en entier lorsqu’un bug est détecté. Ils assurent la bonne intégration d’une portion de code à votre projet.

La publication de fichiers JARs

SBT vous propose de compresser votre projet en fichier JAR à l’aide de la commande `sbt package`. Puis à l’aide de la commande `sbt publish`, vous pouvez publier votre fichier JAR sur le référentiel de votre choix.

Définition des différents modes

Le mode interactif

Si vous voulez interagir plus facilement avec votre projet, SBT propose un mode interactif disponible en lançant simplement la commande `sbt`. Les avantages de ce mode sont : l’autocomplétion de vos commandes et certaines autres commandes indisponibles dans la console SBT standard.

Le mode continu

Ce mode surveille vos fichiers sources et les compile automatiquement à chaque modification. Ainsi vous gagnez du temps et le débogage s’en retrouve plus simple.

Par exemple, pour les tests, lancez en mode interactif `sbt « ~ test »`, et SBT s’occupera de déclencher les tests automatiquement en arrière-plan.

Comment se structure un projet ?

Le fichier build.sbt

Il s’agit du fichier de configuration (vous pouvez le nommer autrement, il doit simplement finir par sbt). Vous y indiquez vos dépendances, les options de compilation, les plugins pour étendre les fonctionnalités de SBT et les paramètres de publications, de tests et de déploiements.

Le répertoire target

Ce répertoire est automatiquement créé par la commande `sbt compile` par exemple. Il contient vos fichiers de classes, vos fichiers JAR, WAR ou ZIP générés lors de l’assemblage du projet. Il contient également vos fichiers de documentations qui sont créés à partir des commentaires du code source. Des fichiers « cache » pour optimiser la performance de la compilation, et pour finir, vos rapports de tests. Il est fortement déconseillé de modifier vous mêmes ces fichiers.

Qu'est ce que le dossier project ?

Il est utilisé pour stocker les fichiers de configuration de votre projet. On y trouve le plus souvent le fichier « build.properties » qui contient les propriétés de construction du projet. Le fichier « build.sbt » défini plus haut. Le fichier « Build.scala » qui est une alternative à « build.sbt » sauf que votre configuration utilise la syntaxe de Scala. On utilise cette alternative pour des projets plus complexes. Et enfin, le fichier « plugins.sbt » qui contient donc les plugins de SBT utilisés. Ces derniers ajoutent des fonctionnalités comme la gestion des tests, la compilation de la documentation ou la génération de code par exemple.

Les commandes principales de SBT

Si vous souhaitez en apprendre plus sur les technologies utilisées dans le métier de Data Engineer, découvrez ci-dessous notre formation dédiée !

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?