7

I need to get both Maven and SBT to use local Artifactory-server which is only machine that has Internet connection. Servers, CI-machine, etc don't have access to outside world.

I'm getting grey hair with SBT especially.

SBT Problems connecting to Artifactory

With 0.11.[0..3] I can SBT to access Artifactory via following:

  • Unzip sbt-launcher.jar
  • Get sbt.boot.properties and copy it somewhere
  • Edit sbt.boot.properties to include only 'local' repository and our Artifactory server

With 0.12 or 0.13 versions I have no luck. I've tried with instructions found here: https://github.com/harrah/xsbt/pull/472. So I have done following:

  • I've built SBT myself
  • I've put 'repositories' file into ~/.sbt/
  • 'repositories' file includes:

    [repositories]

    local

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

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

  • I've included '-Dsbt.override.build.repos=true' in SBT's launch command which looks like this now:

    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

But 0.12 and 0.13 refuse to access Artifactory but try to connect directly to typesafe, maven central etc.

Artifactory and problems when SBT does access it

Now for 0.11-series of SBT I can get it to connect to Artifactory. Then there is problem that SBT is unable to find packages it needs for compiling the project. Here is example:

==== 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

This must obviously be something related to Artifactory configuration. I would appreciate if someone has any pointers how and what repositories I should proxy with Artifactory in order to succesfully use it with SBT.

amjr
  • 301
  • 3
  • 5
  • Is your Artifactory instance configured to proxy remote repositories that serve the "compiler-interface" modules, or do you host them locally? – noamt Jul 23 '12 at 15:43
  • That is probably the reason why it's not working. But I was under the impression that all scala-tools related is nowadays hosted on Maven central repository. But obviously I'm missing something. – amjr Jul 23 '12 at 23:18
  • I performed a quick search for this artifact, I can't find it in neither repo1, Typesafe's repository or the Scala SBT repository, so it looks like it hasn't really been distributed; I can deploy it to repo.jfrog.org if you like – noamt Jul 24 '12 at 06:52

1 Answers1

4

I have the following scala-friendly repositories set up for our work environment:

The compiler interface you mentioned above is in the Typesafe repository, specifically

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

Mad Dog
  • 583
  • 4
  • 18
  • I ran into the same problem as @amjr. Adding the above Scala Tools and TypeSafe repositories as remote repositories easily fixed the problem. – mheese Jul 20 '13 at 12:11