64 votes

Comment supprimez-vous le _ <scala-version> postfix des artefacts construits + publiés avec simple-build-tool?

Je suis en train de construire un peu de Java-seuls les projets à l'aide de simple-construction de l'outil. Lorsque je publie les artéfacts des projets d'aide, par exemple, sbt publier local alors la résultante des artefacts ont la Scala version ajoutés à leur nom. Avec un projet Scala cela aurait du sens, mais comme elles sont Java uniquement des projets il ne. Comment puis-je désactiver cette postfixing de la Scala version? Ou puis-je?

Pour référence, je suis en utilisant sbt 0.11.1, Scala 2.9.1 et un .sbt fichier de configuration de build (bien que se déplaçant à un projet complet de config serait pas un problème).

86voto

James Points 1294

Après avoir examiné la manière dont Artifact.artifactName est mis en œuvre et utilisé, il semble que le moyen de désactiver cette option consiste à spécifier false pour le paramètre crossPath. Ceci est documenté dans l'un des exemples de configuration rapide sur le wiki xsbt.

http://www.scala-sbt.org/release/docs/Examples/Quick-Configuration-Examples

 // disable using the Scala version in output paths and artifacts
crossPaths := false
 

9voto

Paul Butcher Points 5349

Ceci est documenté sur le wiki xsbt sous Modification d'artefacts par défaut . De cette page:

Par exemple, pour produire un nom minimal sans classificateur ni chemin croisé:

 artifactName := { (sv: ScalaVersion, module: ModuleID, artifact: Artifact) =>
  artifact.name + "-" + module.revision + "." + artifact.extension
}
 

5voto

gregsymons Points 58

Bien que la réponse acceptée soit strictement correcte, vous ne devez jamais définir crossVersions à false sur des artefacts Scala publiés. La version Scala intégrée est une fonctionnalité de compatibilité importante, car différentes versions des bibliothèques Scala peuvent ne pas être compatibles binaires.

Définissez uniquement crossVersions false pour les projets, comme ceux de la question, strictement Java.

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