Получение как Maven, так и SBT использует локальный Artifactory-сервер

Мне нужно, чтобы Maven и SBT использовали локальный сервер Artifactory, который является единственным компьютером, имеющим подключение к Интернету. Серверы, CI-машины и т. Д. Не имеют доступа к внешнему миру.

Я получаю седые волосы с SBT особенно.

SBT Проблемы с подключением к Artifactory

С 0.11.[0..3] я могу SBT получить доступ к Artifactory через следующее:

  • Разархивируйте sbt-launcher.jar
  • Получить sbt.boot.properties и скопировать его куда-нибудь
  • Отредактируйте sbt.boot.properties, чтобы он включал только "локальный" репозиторий и наш сервер Artifactory.

С версиями 0.12 или 0.13 мне не повезло. Я пробовал с инструкциями, найденными здесь: https://github.com/harrah/xsbt/pull/472. Итак, я сделал следующее:

  • Я сам построил SBT
  • Я поместил файл 'repositories' в ~/.sbt/
  • Файл репозитория включает в себя:

    [repositories]

    local

    ivy-proxy: http://devserver:8081/artifactory/repo/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]

    maven-proxy: http://devserver:8081/artifactory/repo/

  • Я включил '-Dsbt.override.build.repos=true' в команду запуска SBT, которая выглядит следующим образом:

    java -Xms1536m -Xmx1536m -XX:MaxPermSize=384m -XX:ReservedCodeCacheSize=192m -Dsbt.override.build.repos=true -Dsbt.global.base=/Users/amjr/.sbt/0.13.0-SNAPSHOT -jar /Users/amjr/.bin/.lib/0.13.0-SNAPSHOT/sbt-launch.jar

Но 0.12 и 0.13 отказывают в доступе к Artifactory, но пытаются подключиться напрямую к типу SafeSafe, Maven Central и т. Д.

Артефакт и проблемы, когда SBT действительно получает к нему доступ

Теперь для SBT серии 0.11 я могу подключить его к Artifactory. Тогда возникает проблема, что SBT не может найти пакеты, необходимые для компиляции проекта. Вот пример:

==== local-artifactory-libs-snapshot: tried

  http://devserver:8081/artifactory/libs-snapshot/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar

==== local-artifactory-libs-releases: tried

  http://devserver:8081/artifactory/libs-release/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar

==== local-artifactory-plugins-releases: tried

  http://devserver:8081/artifactory/plugins-release/org/scala-sbt/compiler-interface/0.11.3/compiler-interface-src-0.11.3.jar

Это должно быть что-то, связанное с конфигурацией Артефактора. Я был бы признателен, если у кого-то есть указания, как и в каких репозиториях я должен использовать Artifactory, чтобы успешно использовать его с SBT.

1 ответ

У меня есть следующие scala-friendly репозитории, созданные для нашей рабочей среды:

Упомянутый выше интерфейс компилятора находится в репозитории Typesafe, в частности

http://repo.typesafe.com/typesafe/maven-ivy-releases/org.scala-sbt/compiler-interface/0.11.3/

Другие вопросы по тегам