C'est d'autant plus vrai qu'Eclipse dispose d'un plugin qui fonctionne bien et qu'il existe pour sbt un plugin permettant de rendre un projet sbt compatible avec Eclipse: Eclipsify.
Dans un document où je tiens la liste des les ressources Scala que je trouve, j’ai indiqué le site d’Eclipsify (http://github.com/musk/SbtEclipsify) et j’ai ajouté comme commentaire "ça marche, bien lire!". Malgré tout, j’ai dû m’y reprendre à plusieurs reprises. Comme quoi "bien lire" est plus compliqué qu’il n’y paraît...
Voici la procédure que j’ai suivie. Bien lire...
Le plugin scala pour Eclipse
Pour ma part, j’utilise Eclipse 3.6 (Helios). Quant au plugin Scala, j'utilise la version 2.0.0, qui est certes en bêta, mais qui fonctionne correctement. Le site d'update se trouve à http://download.scala-ide.org/releases/2.0.0-beta/L'installation du plugin se fait comme pour tous les plugins dans Eclipse.
Simple Build Tool - sbt
Le site de sbt se trouve à http://code.google.com/p/simple-build-tool/. Pour le faire fonctionner, il suffit de dowloader la dernière version du jar et de créer un script de lancement (indiqué sur le site).Voici la version windows, sbt.bat
set SCRIPT_DIR=%~dp0 java -Dhttp.proxyHost=proxy -Dhttp.proxyPort=80 -Xmx512M -jar "%SCRIPT_DIR%sbt-launch-0.7.7.jar" %*Il est bien entendu que la version de sbt-launch.jar correspond à la version utilisée.
Pour terminer, il faut ajouter le répertoire qui contient le ".bat" dans la variable d'environnement path.
Eclipsify
Voilà deux bons outils, mais qui ne sont pas liés. Par défaut, sbt utilise une structure de répertoires du genre Maven, là où Eclipse s'en tient à un simple répertoire src. Les deux peuvent être liés avec le plugin Eclipsify. Le terme "plugin" peut être ambigu ici: il s’agit d’un plugin sbt et non d'Eclipse.Son utilisation doit être configurée dans un projet sbt.
Par convention, "HOME" est le répertoire de base du projet.
Config du plugin
Dans HOME/project/plugins (plugins doit sans doute être créé), créer un ficher NomDuProjectPlugins.scala. C’est là qu’on va configurer l’utilisation du plugin:import sbt._ class NomDuProjetPlugins(info: ProjectInfo) extends PluginDefinition(info) { lazy val eclipse = "de.element34" % "sbt-eclipsify" % "0.7.0" }
Config du projet
Dans HOME/project/build, créer le fichier de Build du nom NomDuProjectBuild.scala:import sbt._ import de.element34.sbteclipsify._ class NomDuProjectBuild(info:ProjectInfo) extends DefaultProject(info) with Eclipsify{ //dépendances du projet, configuration du projet... }
A noter le "with Eclipsify" puisque c'est celui que j’oublie à chaque fois... :-)
Recharger la configuration
Dans la console sbt, taper reload. sbt recharge la configuration du projet. Si tout s’est bien passé, vous avez désormais une action “eclipse” disponible.Il suffit de taper "eclipse" dans la console sbt pour “éclipsifier” le projet. Si vous n’en êtes pas là, "actions" vous montrera la liste des actions disponibles: "eclipse" devrait être dedans....
Importer le projet dans Eclipse
Dans Eclipse, import existing project... Choisir le HOME. Le projet est importé avec la nature scala.Au boulot maintenant ! Ou presque.
En fait, il faut développer dans eclipse et utiliser sbt pour lancer les tests, packager...
Integration plugin
Il existe un plugin Eclipse permettant l'intégration de sbt avec Eclipse. Pour le moment, il sent encore le neuf et la documentation est un peu faible.Voici l'adresse: http://www.assembla.com/spaces/sbt-eclipse-integration/wiki. Un site d'update existe momentanément car le responsable de ce projet souhaite le lier à Eclipsify. http://sbtei.element34.de/updatesite/
Le plugin s'installe sans problème et permet d'ajouter une nature "sbt" au projet. Cela se fait depuis la package view, un clic droit sur le projet. Une entrée sbt s'affiche dans le menu contextuel.
Dans le préférence, il faut aussi configurer le sbt-launcher.jar utilisé.
Ce qu'il fait d'autre? Pour le moment, je l'ignore...
Aucun commentaire:
Enregistrer un commentaire