2
votes

I'm trying to do almost exactly what is described in the official sbt documentation, at http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Proxy-Repositories.html. I'd like to proxy both maven and ivy packages, and it seems like only Artifactory supports both. I went through the installation and got things roughly working, except that I couldn't point my remote repository (for local caching) at e.g., sbt-plugin-releases because it uses a custom repository layout (including the sbt version), which isn't allowed in the free version of Artifactory.

How do other people do this? It can't be uncommon if there's a whole documentation page on it. Does doing sbt stuff with a proxied ivy repository have to cost me $2750 a year? It's a little frustrating because I don't need most of the Artifactory Pro features, but I don't think I can get by without the custom layouts. Nexus and Archiva only seem to support Maven.

1

1 Answers

1
votes

In Artifactory custom layouts (actually, any layouts) aren't enforcing. That means they have no impact on proxying, resolving, deploying or any other basic operation of your repository manager. As described in the documentation, layouts offer the following facilities:

  • Automatic snapshot/integration versions cleanup
  • Deleting old versions Conversions between remote and local layouts
  • Conversions between 2 local layouts when moving or copying
  • Resolution conversions from a virtual repository to its underlying repositories (where the virtual repository has its own layout defined)

Also please note that Artifactory OSS version comes with with all the popular layouts for JVM dependency managers, such as:

  • Maven 2/3
  • Ivy (default layout)
  • Gradle (Wharf cache default layout)
  • Maven 1

So, the problem is elsewhere. If you could ellaborate why you "couldn't point my remote repository (for local caching) at e.g., sbt-plugin-releases", inc. the error you get, we gladly helped you.