Как 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
  • Я поместил файл «репозиторий» в ~/.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, но пытаются подключиться напрямую к typesafe, maven Central и т. д.

Artifactory и проблемы, когда SBT получает к нему доступ

Теперь для серии 0.11 -SBT я могу подключить ее к 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. Я был бы признателен, если бы у кого-то были какие-либо указания, как и какие репозитории я должен проксировать с помощью Artifactory, чтобы успешно использовать его с SBT.

7
задан amjr 20 July 2012 в 16:45
поделиться