2 votes

Pourquoi sbt-scapegoat essaie-t-il de résoudre la version 1.0.0 ?

J'essaie d'utiliser sbt-scapegoat en ajoutant ceci à plugins.sbt :

addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.4")

Puis dans le fichier build.scala je fais ceci :

import com.sksamuel.scapegoat.sbt.ScapegoatSbtPlugin.autoImport._
scapegoatVersion            := "1.1.0"

C'est ce qui est montré sur le site github de sbt-scapegoat. Je lance sbt et le laisse résoudre sbt-scapegoat 1.0.4, ce qu'il fait. Jusqu'ici tout va bien. Ensuite, si je lance scapegoat, j'obtiens :

[info] Resolving com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0 ...
[warn] Host repo1.maven.org not found. url=https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] You probably access the destination server through a proxy server that is not well configured.
[warn]  module not found: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0
[warn] ==== local: tried
[warn]   /Users/wmy965/.ivy2/local/com.sksamuel.scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/ivys/ivy.xml
[warn] ==== public: tried
[warn]   https://repo1.maven.org/maven2/com/sksamuel/scapegoat/scalac-scapegoat-plugin_2.10/1.0.0/scalac-scapegoat-plugin_2.10-1.0.0.pom
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.sksamuel.scapegoat#scalac-scapegoat-plugin_2.10;1.0.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

D'où vient la dépendance de la version 1.0.0 ? Mon projet est scala 2.11.7 et j'utilise sbt 0.13.11. Je ne vois aucune mention d'un autre résolveur sur le site web de sbt-scapegoat.

Dans ma sortie, ma console montre un tas d'erreurs d'analyse trouvées mais le document HTML généré est essentiellement vide - il ne montre pas les erreurs affichées sur la console.

Comment puis-je réparer cela ?

0voto

Alexey Romanov Points 39124

Pour régler scapegoatVersion pour les sous-projets, vous devez soit le mettre dans les paramètres communs comme décrit aquí ou utiliser scapegoatVersion in ThisBuild := "1.1.0" . Pour éviter l'erreur, je pense qu'en mettant scalaVersion dans le projet Root fonctionnerait :

lazy val root = (project in file(".")).
  aggregate(dotdash, dotdash_messages).
  settings(
    scalaVersion := "2.11.7"
  )

ou encore utiliser scalaVersion in ThisBuild .

Je suggère également de soulever un problème à https://github.com/sksamuel/sbt-scapegoat .

0voto

Vikas Sharma Points 33

En plus de la réponse ci-dessus d'Alexey, juste pour répondre vous pouvez vérifier ScapegoatPlugin.scala . C'est un sbt Plugin automatique et la méthode buildSettings ont surchargé la version du bouc émissaire à utiliser.

override def buildSettings = super.buildSettings ++ Seq(
          scapegoatVersion := "1.0.0",
          scapegoatRunAlways := true,
          scapegoatConsoleOutput := true,
          scapegoatVerbose := true,...

Nous pouvons spécifier la version que nous choisissons d'utiliser, scapegoatVersion in ThisBuild .

0voto

MxR Points 372

Pour moi, rien de ce qui précède ne fonctionne, donc potentiellement il y a deux problèmes et le mien a été résolu en utilisant version corrigée du plugin

addSbtPlugin("com.sksamuel.scapegoat" %% "sbt-scapegoat" % "1.0.9")

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