Как заставить Play Framework 1.2.x разрешать транзитивно локально публикуемые sbt зависимости? - PullRequest
2 голосов
/ 13 декабря 2011

Я использую Play framework с модулем Scala. Я выделил некоторый код в отдельную библиотеку, собрал его и опубликовал локально, используя sbt publish-local. Теперь мне нужно play dependencies, чтобы найти эту библиотеку и ее зависимости.

Что у меня есть, в моем файле ~/.ivy2/ivysettings.xml:

<ivy-settings>
<settings defaultResolver="chain"/>
  <resolvers>
    <chain name="chain">
      <filesystem name="libraries">
        <ivy pattern="${ivy.settings.dir}/local/[organisation]/[artifact]/[revision]/ivys/ivy.xml"/>
        <artifact pattern="${ivy.settings.dir}/local/[organisation]/[artifact]/[revision]/[ext]s/[artifact].[ext]" />
      </filesystem>
      <ibiblio name="ibiblio" m2compatible="true" />
    </chain>
  </resolvers>
</ivy-settings>

Это позволяет Play найти мою библиотеку, но, к сожалению, она игнорирует ее зависимостей и ложно утверждает, что они мне больше не нужны, и они могут быть удалены из lib /.

1 Ответ

2 голосов
/ 13 декабря 2011

Используя опцию --debug для play dependencies, я обнаружил, что по какой-то причине Play использовал имя плюща в качестве имени артефакта для файла плюща вместо имени моей библиотеки. В качестве быстрого обходного пути, поскольку в данный момент у меня есть только одна библиотека, я просто изменил [artifact] на свое фактическое имя артефакта в элементе ivy выше.

Я подал Отчет об ошибке воспроизведения .

...