2013-05-03 8 views
7

ho la seguente definizione nel mio build.sbt:SBT non usa resolver ssh-based per la risoluzione delle dipendenze

libraryDependencies += "com.bubblefoundry" %% "something" % "0.1-SNAPSHOT" 

resolvers += { 
    val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa") 
    Resolver.ssh("Bubble Foundry", "bubblefoundry.com", "/usr/local/repository/") as ("peter", privateKeyFile) withPermissions("0644") 
} 

Quando SBT cerca di risolvere la dipendenza, non riesce:

[info] Resolving com.bubblefoundry#something_2.10;0.1-SNAPSHOT ... 
[warn] module not found: com.bubblefoundry#something_2.10;0.1-SNAPSHOT 
[warn] ==== local: tried 
[warn] /Users/peter/.ivy2/local/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/ivys/ivy.xml 
[warn] ==== Bubble Foundry: tried 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/com.bubblefoundry/something_2.10/0.1-SNAPSHOT/something_2.10-0.1-SNAPSHOT.pom 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: com.bubblefoundry#something_2.10;0.1-SNAPSHOT: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 

E ' sembra che non si sia nemmeno connesso al server per cercare la dipendenza. Perché? Sto facendo qualcosa di sbagliato?

La dipendenza è stato pubblicato (utilizzando la stessa definizione resolver) per /usr/local/repository/com/bubblefoundry/...

risposta

-1

ho trovato una soluzione: interruttore ssh-sftp:

resolvers += { 
    val privateKeyFile = new java.io.File(sys.env("HOME") + "/.ssh/id_rsa") 
    Resolver.sftp("Bubble Foundry", "bubblefoundry.com", "/usr/local/repository/") as ("peter", privateKeyFile) 
} 
+0

non funziona per me. stesso comportamento come con ssh. – scravy

0

Dopo l'aggiornamento a SBT 0,13, posso utilizzare il mio repo privata aggiungendo la seguente riga al build.sbt

resolvers += Resolver.ssh("Company Maven Repo", "[email protected]:company/company-repo.git", "/raw/master") 

una finestra si apre chiedendo il mio nome utente github e password


È un errore!

Ad esempio, sto utilizzando github per ospitare un repository privato/interno accessibile tramite SSH. Posso tirare artefatti senza difficoltà quando si usano file Maven/POM come ci si aspetterebbe.

Ma non riesce a far funzionare SBT (0.12.2). La maggior parte frustrante si dice solo

== REPO_NAME: tried 

Anche se a specificare l'autenticazione non valide o dare un URL ssh male lo fa lo stesso vale a dire non v'è alcuna segnalazione di errori.

Abbiamo trascorso alcune ore a cercare e provare combinazioni senza successo. Pertanto suggerisco che i repository SSH non funzionino correttamente.

+0

'resolvers + = Resolver.ssh (" Azienda Maven Repo "," [email protected]: company/company-repo.git ","/raw/master ")' non funziona per me ... Puoi pubblicare più dettagli? – mkurz

+1

Ho un problema simile; per i risolutori SSH e SFTP, SBT non fa alcun tentativo di connettersi e recuperare gli artefatti (esattamente come descrive Dominic). Tuttavia, se _o_ fornisco un 'Patterns' (come descritto da [un commento sul numero SBT # 1810] (https://github.com/sbt/sbt/issues/1810#issuecomment-160608021), farà un tentativo, ma richiede solo 'ivy.xml' (ma non il POM). –

Problemi correlati