#scala #sbt
#scala #sbt
Вопрос:
Когда я использую sbt-io. У меня есть вопрос по поводу другой конфигурации стиля resolver для sbt.
- преобразователи = Seq( ….
- преобразователи = Resolver.url()…
Вторым способом. Сигнатура этого определяется следующим образом:
def apply(name: String, baseURL: URL)(implicit basePatterns: Patterns): URLRepository =
baseRepository(baseURL.toURI.normalize.toString)(URLRepository(name, _))
Похоже, что для второго способа нужен шаблон, который используется в (URLRepository(name, _)), поэтому для согласованного стиля кода мой вопрос в том, хочу ли я поместить его в 1st way resolvers = Seq(…), как я могу это сделать?
Заранее большое спасибо
Ответ №1:
SBT позволяет вам определять список преобразователей для ваших проектов.
Вы можете написать что-то вроде этого (в build.sbt
):
resolvers = Seq("snapshots" at "http://oss.sonatype.org/content/repositories/snapshots",
"releases" at "http://oss.sonatype.org/content/repositories/releases")
а позже добавьте больше преобразователей, используя любой подходящий вам синтаксис:
resolvers = Classpaths.typesafeResolver
resolvers = Resolver.url("my-test-repo", url)(Resolver.ivyStylePatterns)
resolvers = Resolver.url("my-test-repo", url)( Patterns("[organisation]/[module]/[revision]/[artifact].[ext]"))
resolvers = Resolver.sonatypeRepo("releases") // Or "snapshots"
resolvers = "oracle driver repo" at "http://dist.codehaus.org/mule/dependencies/maven2"
=
оператор добавляет один распознаватель в список распознавателей, определенных на данный момент, и =
добавляет все элементы последовательности. Обратите внимание, что basePatterns
параметр является неявным, таким образом, если вам не нужно изменять формат, шаблон по умолчанию будет предоставлен для вас неявно.
Для получения дополнительной информации смотрите официальные документы: http://www.scala-sbt.org/0.13/docs/Resolvers.html.