dependencies from local repository

5 views
Skip to first unread message

Harlan Harris

unread,
Sep 28, 2010, 5:50:17 PM9/28/10
to Akka User List
Hi folks. I'm new to this whole thing, so apologies for any unclear
questions...

We've got some Akka projects building using sbt, and would like to use
a local Nexus installation to standardize our build process. I've got
sbt now recognizing our Nexus install and pulling all of our primary
dependencies via that proxy. (Thanks to Mark Harrah on the sbt list!)
However, it seems as if Akka and all of its second-order dependencies
that Akka uses are getting pulled directly rather than via the proxy.
Eg, an sbt update gives:

[info] downloading
http://scalablesolutions.se/akka/repository/se/scalablesolutions/akka/akka-core_2.8.0.RC3/0.9.1/akka-core_2.8.0.RC3-0.9.1.jar
...
[info] [SUCCESSFUL ] se.scalablesolutions.akka#akka-
core_2.8.0.RC3;0.9.1!akka-core_2.8.0.RC3.jar (3437ms)
[info] downloading
http://our.nexus.server:9001/nexus/content/groups/public/org/squeryl/squeryl_2.8.0.RC3/0.9.4beta5/squeryl_2.8.0.RC3-0.9.4beta5.jar
...
[info] [SUCCESSFUL ] org.squeryl#squeryl_2.8.0.RC3;0.9.4beta5!
squeryl_2.8.0.RC3.jar (146ms)

Squeryl is getting pulled properly, but Akka is not. Other
dependencies that are getting pulled directly include lift-json,
guice, etc. They all seem to be pulled from repos defined in the
AkkaRepositories object, from what I can see in the akka-sbt-plugin
source.

How should we be thinking about this problem? Why doesn't overriding
repositories and ivyRepositories apply to Akka? Given some of the
complex interdependencies of Akka itself, with various required
snapshots, we'd arguably prefer to have a reference set of Akka
+dependencies jars hosted on our Nexus server, so that we control the
updates. What's the right way to do that?

And, of course, what am I fundamentally misunderstanding? :)

Thanks!

-Harlan

Derek Williams

unread,
Sep 28, 2010, 11:58:20 PM9/28/10
to akka...@googlegroups.com

This is most likely due to the optimizations that akka-sbt-plugin performs to speed up updating. Only a specific repository is searched for each of Akka's dependencies.

To fix this, you are most likely going to need to build a custom akka-sbt-plugin or not use the plugin at all and manually specify the repos.

> --
> You received this message because you are subscribed to the Google Groups "Akka User List" group.
> To post to this group, send email to akka...@googlegroups.com.
> To unsubscribe from this group, send email to akka-user+...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/akka-user?hl=en.
>

Peter Vlugter

unread,
Sep 29, 2010, 12:32:24 AM9/29/10
to akka...@googlegroups.com
Hi Harlan,

Yes. Overriding ivyRepositories won't work with the sbt plugin because of the module configurations it uses. I'd go with not using the plugin - the main things it provides are the repositories and the faster module configurations, and you don't need those with a nexus server.

So just add the relevant repositories to your nexus server and specify the akka dependencies normally, like:

val akkaCore = "se.scalablesolutions.akka" %% "akka-core" % "0.9.1"

Or if you want to use the akkaModule method you can copy it from the plugin.

Let us know if it doesn't work out...

Reply all
Reply to author
Forward
0 new messages