Signification des symboles Build.scala,% et %%

Je suis nouveau à jouer! Framework 2.1 (version java) et aucune expérience avec Scala. Je ne comprends pas ce que sont et ce que signifie % et %% dans Build.scala. Je les ai googlé mais je n’ai pas trouvé leur sens.

Dans mon fichier Build.scala, j’ai:

 "org.hibernate" % "hibernate-entitymanager" % "4.1.0.Final", "com.typesafe" %% "play-plugins-mailer" % "2.1" 

Pourquoi la première ligne utilise un seul symbole% et la deuxième utilise deux symboles %% ? À quoi servent-ils?

De la documentation officielle:

http://www.playframework.com/documentation/2.1.1/SBTDepends

Obtenir la bonne version de Scala avec %%

Si vous utilisez l’ groupID %% artifactID % revision au lieu de l’ groupID % artifactID % revision de groupID % artifactID % revision (la différence est le double %% après l’ groupID ), SBT appenda la version Scala de votre projet au nom de l’artefact. Ceci est juste un raccourci.

Vous pourriez écrire ceci sans le %% :

 val appDependencies = Seq( "org.scala-tools" % "scala-stm_2.9.1" % "0.3" ) 

En supposant que la version scalaVersion de votre version est 2.9.1 , les éléments suivants sont identiques:

 val appDependencies = Seq( "org.scala-tools" %% "scala-stm" % "0.3" ) 

Comme vous pouvez le voir ci-dessus, si vous utilisez %% , vous n’avez pas besoin de spécifier la version.

Cela fait partie de SBT qui joue comme un outil de compilation. Plus précisément, il s’agit d’une déclaration d’importation.

Le symbole de pourcentage % est en fait une méthode utilisée pour créer des dépendances. Le signe de pourcentage double %% injecte la version Scala actuelle – cela vous permet d’obtenir la bibliothèque correcte pour la version de scala que vous exécutez. Ceci afin d’éviter d’avoir à modifier votre fichier de compilation lorsque vous mettez à jour Scala.

Plus d’informations ici