2010-12-03 4 views
4

У меня есть репозиторий maven2, из которого я пытаюсь извлечь артефакт моментального снимка с добавленной временной меткой. Я (неудивительно) могу получить это хорошо при создании с maven2, но при построении с simple-build-tool (sbt), который мне больше всего нравится, я не могу его вытащить.Как получить зависимости моментальных снимков от Nexus с помощью SBT?

Я могу видеть от this question about snapshots in Ivy, что можно настроить Ivy, чтобы получить снимок артефактов, но я не знаю, как сказать sbt сделать это.

Соответствующие биты моей текущей конфигурации:

val snapshotsName = "Snapshots Repository" 
val snapshotsUrl = new java.net.URL("http://host:port/path/to/root") 
val snapshotsPattern = "[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]" 
val snapshots = Resolver.url(snapshotsName, snapshotsUrl)(Patterns(snapshotsPattern)) 
Credentials(Path.userHome/".ivy2"/".credentials", log) 

Update: После некоторого более мастерить это выглядит, как я могу получить его, чтобы указать на правильный артефакт URL со следующей схемой.

val snapshotsPattern = "[organisation]/[module]/[revision]-SNAPSHOT/[artifact]-[revision](-[timestamp]).[ext]" 

С, что мне еще нужно указать временную метку дополнительные в зависимости

val dep = "group" % "artifact" % "0.0.1" extra("timestamp" -> "20101202.195418-3") 

но это вытащить артефакт. Однако NOT вытягивает зависимости артефакта. Так что, похоже, у меня все еще что-то не так.

+0

Я попытался использовать файл ivysettings.xml для определения распознавателя, но он, похоже, не читает SBT. Я также попытался встроить XML-преобразователь. – 2010-12-03 03:48:21

ответ

2

Хорошо, я выяснил, что это была не проблема SBT, это была 100% -ная ошибка пользователя.

Nexus Я использовал требуемую аутентификацию. У меня не было корректно настроенных учетных данных (see my authentication question), и поскольку он не был должным образом аутентифицирован, он не обнаружил файлы pom метаданных, и поэтому SBT распечатал сообщение об ошибке, что оно сбой I, неправильно, предположил его был аутентификация, но не разрешение. Поэтому я начал возиться с шаблонами, о чем свидетельствует фактический вопрос.

Однако теперь, когда у меня есть настройки проверки подлинности правильно я изменил обратно только обычное хранилище декларации следующим образом:

val snapshotsRepo = "Snapshots Repository" at "http://host:port/path/to/snapshots/root/" 

и все работает. Артефакты извлекаются, и зависимости разрешаются.

Смежные вопросы