2013-01-15 12 views
8

Podczas próby publish-local w SBT, pojawia się następujący komunikat:SBT opublikować lokalny: Undefined resolverowi „lokalnego”

[info] :: delivering :: com.mycompany#util_2.9.1;0.1.0-SNAPSHOT :: 0.1.0-SNAPSHOT :: integration :: Tue Jan 15 11:23:01 CET 2013 
[info] delivering ivy file to /Users/martink/code/my-project/util/target/scala-2.9.1/ivy-0.1.0-SNAPSHOT.xml 
[trace] Stack trace suppressed: run last my-util/*:publish-local for the full output. 
[error] (my-util/*:publish-local) Undefined resolver 'local' 

I podejrzewam, że to z powodu niektórych ustawień w moim pliku kompilacji ponieważ publikować-lokalne prace nad świeże projekty. Wszelkie pomysły na sprawienie, aby ponownie zadziałały publish-local?

Odpowiedz

11

Okazało się problem został spowodowany przez nadrzędne external-resolvers:

val myRepo = "my-public" at "http://my-nexus-server/content/groups/public/" 
externalResolvers := Seq(publicRepo) 

Zrobiliśmy to, aby wykluczyć domyślny Maven centralnego repozytorium od naszych przeliczniki. To jednak również usunęło lokalny przelicznik, który jest używany przez publish-local.

Rozwiązaniem było dodać miejscowego resolverowi powrotem:

val ivyLocal = Resolver.file("local", file(Path.userHome.absolutePath + "/.ivy2/local"))(Resolver.ivyStylePatterns) 
externalResolvers := Seq(ivyLocal, myRepo) 

Innym rozwiązaniem byłoby, aby nie przesłaniać externalResolvers ale po prostu wyłączyć Maven centralny.

resolvers := Seq(myRepo) 
externalResolvers <<= resolvers map { rs => 
    Resolver.withDefaultResolvers(rs, mavenCentral = false) 
} 

Po publish-local, Bluszcz wydaje się dawać pierwszeństwo miejscowej wersji snapshot nad wersjami zdalnymi migawki. Aby opublikowany artefakt został pobrany przez inny projekt, wystarczy uruchomić w tym projekcie sbt compile (wygląda na to, że sbt update nie jest nawet potrzebny).

Zobacz także http://www.scala-sbt.org/release/docs/Detailed-Topics/Library-Management.html

+2

Możesz być także zainteresowany przesłanianie repozytoriów na poziomie użytkownika: http://www.scala-sbt.org/release/docs/Detailed-Topics/Proxy-Repositories.html. –