44 votes

Migration de Maven vers SBT

Comme vous le savez, SBT est compatible avec Maven en quelque sorte -- SBT reconnaît simple Maven Pdm et peut utiliser les dépendances et les référentiels spécifié dans les. Cependant, SBT wiki dit que, si inline dépendance est spécifié dans SBT définition du projet, POM seront ignorées (donc, en utilisant à la fois dans ce cas est impossible):

Maven et du Lierre et des configurations (pom.xml et ivy.xml) sont ignorés lors de l'inline la dépendance déclarations sont présents.

Personne ne sait, si n'importe quel type de convertisseur de POM Maven pour SBT la définition d'un projet existe (traduction de POM XML dans la définition du projet Scala code)? J'envisage d'écrire un tel script (qui permettra de migrer mon vieux Scala/projets Maven pour SBT), mais vous voulez savoir tout d'abord, si cette fonctionnalité existe déjà.

33voto

retronym Points 35066

Convertisseur est un terme beaucoup trop fort pour ce hack, mais j’ai écrit un script pour prendre un bloc de <dependencies> et générer des dépôts de style SBT: http://gist.github.com/388334

20voto

JoshMahowald Points 156

Tous les conseils ci-dessus a eu le problème pour moi que les propriétés n'ont pas été résolus, et que nous faisons un usage intensif de la dependencyManagement du parent poms, je m'attendais à quelque chose qui, en réalité, de comprendre pleinement maven. Je fouettée ensemble simpliste scriptlet sorties que les dépendances de maven et prend juste les éléments de niveau supérieur et effectue ensuite une simple regex pour le groupe, artefact, la version et la portée (l'artefact type est ignoré)

mvn dependency:tree | grep "] +" | perl -pe 's/.*\s([\w\.\-]+):([\w\.\-]+):\w+:([\w\.\-]+):(\w+).*/libraryDependencies += "$1" % "$2" % "$3" % "$4"\n /' 

J'ai dirigé directement vers project/build.sbt. L'exemple de sortie est (n'oubliez pas de garder des espaces vides entre les sbt lignes)

libraryDependencies += "org.springframework" % "spring-core" % "3.1.0.RELEASE" % "compile"

libraryDependencies += "se.scalablesolutions.akka" % "akka-actor" % "1.3.1" % "compile"

libraryDependencies += "se.scalablesolutions.akka" % "akka-spring" % "1.3.1" % "compile"

6voto

Didia Points 167

Vous trouverez ici un guide pas à pas pour déplacer un projet multimodule de Maven vers SBT.

Assez agréable pour comprendre ce qui se passe réellement et vous assurer que vous avez assez de contrôle sur le processus.

5voto

Vasil Remeniuk Points 12487

Je n'ai pas réussi à trouver un sans-papiers des capacités dans le SBT qui permet de faire de telles conversions (POM -> définition du projet), et ont est venu avec l'écriture d'un script très simple qui crée SBT fichier build avec repos/dépendances de POM.

Dans le cas où vous avez besoin de convertir Maven/XML dépendances dans SBT/Scala, vous pouvez utiliser ce script fourni par @retronym

3voto

Big Rich Points 1833

Jetez un coup d'œil au projet Maven-SBT de CodaHale sur Git-Hub. Fondamentalement, CodaHale a remplacé IVY de SBT par IVA et l'a remplacé par Maven. Par conséquent, les tâches liées à POM devraient être plus compatibles / flexibles.

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