2016-09-20 5 views
0

контекст: Мой артефакт - это плагин SBT, который я публикую в своей репозитории Nexus.Почему макет каталога отличается между публикацией и публикациейLocal

Почему макет каталога отличается от публиковать (в репозиторий Nexus) и publishLocal:

С publishLocal

/Users/yamo/.ivy2/local/a.b.c/xxx/scala_2.10/sbt_0.13/1.0.0-SNAPSHOT/jars/xxx.jar 

С опубликовывать

http://mvnrepo/nexus/content/repositories/snapshots/a/b/c/xxx_2.10_0.13/1.0.0-SNAPSHOT/xxx-1.0.0-SNAPSHOT.jar 

Есть способ увидеть шаблон, используемый с inspect?

inspect publishTo возвращает только URL-адрес

Я хочу понять, потому что я не могу использовать эту зависимость (неразрешенный) из другого проекта, когда я публикую для Nexus (и это работает, когда я публикую на месте).

ответ

0

publishLocal использует стиль плюща для публикации в местном репозитории ivy2.

publish использует стиль maven для публикации в Nexus.

Кажется, есть соглашение о публикации плагинов sbt с стилем плюща, но я использовал умолчание при публикации в репо компании.

В любом случае, я добавил Pattern по другому проекту, и теперь зависимость разрешена.

resolvers += Resolver.url("nexus-snapshots", url("http://mvnrepo/nexus/content/repositories/snapshots/"))(Patterns(Resolver.mavenStyleBasePattern)) 

По неизвестной причине, это не работает

resolvers += Resolver.url("nexus-snapshots", url("http://mvnrepo/nexus/content/repositories/snapshots/"))(Resolver.mavenStylePatterns)