Как изменить правила SBT при создании URL для репозиториев Maven? - PullRequest
5 голосов
/ 04 августа 2011

По умолчанию Scala Built Tool (SBT) имеет набор правил для генерации URL при поиске зависимостей.Например, если у меня есть следующий файл сборки,

// Project settings
name := "MyProject"

version := "0.1"

organization := "com.me"

scalaVersion := "2.8.1"

// Dependencies
libraryDependencies ++= Seq(
   "com.google.guava" %% "guava" % "r09"
)

// Repositories
resolvers += "Maven Central Server" at "http://repo1.maven.org/maven2"

Затем SBT пытается найти гуаву по следующему URL,

http://repo1.maven.org/maven2/com/google/guava/guava_2.8.1/r09/guava_2.8.1-r09.pom

Однако библиотека, которую я ищу вэтот случай даже не предназначен для Scala, поэтому объединение версии Scala здесь не имеет смысла.Как я могу сказать SBT, какой формат для генерации URL для использования с репозиториями Maven?

EDIT

Хотя кажется, что можно редактировать макет примерно так,

Resolver.url("Primary Maven Repository",
    new URL("http://repo1.maven.org/maven2/"))( Patterns("[organization]/[module]/[module]-[revision].[ext]") )

ключевое слово "[module]" предопределено как (идентификатор артефакта) _ (версия scala), а ключевое слово "[artifact]" - просто "плющ", оставляя меня на местеодин.

Ответы [ 2 ]

9 голосов
/ 04 августа 2011

Насколько я помню, "%%" добавляет версию Scala, а "%" - нет. Попробуйте

libraryDependencies ++= Seq(
    "com.google.guava" % "guava" % "r09"
)
3 голосов
/ 04 августа 2011

Проверьте последний абзац ( Пользовательский макет ) официального sbt wiki здесь .

В основном SBT позволяет использовать этот синтаксис:

resolvers += Resolver.url("my-test-repo", url)( Patterns("[organisation]/[module]/[revision]/[artifact].[ext]") )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...