I'm trying to run SBT behind a corporate firewall. Another team has configured an Artifactory proxy. This proxy works fine with anonymous access switched on, but when we make it require a password thinks start to go wrong.
When I run SBT on my workstation I get the following error:
[error] Unable to find credentials for [Artifactory Realm @ coderepo.xxx.amrs.bigco.com] The result of this is that I cannot bootstrap sbt:
[warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: org.scala-lang#scala-library;2.10.6: not found [warn] :: org.scala-sbt#sbt;0.13.12: not found [warn] :: org.scala-lang#scala-compiler;2.10.6: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: I've tried putting a .credentials file in ~/.sbt and also ~/.ivy2: I have been testing variations on the following, all of which do not work:
realm=Artifactory Realm @ coderepo.xxx.amrs.bigco.com host=coderepo.xxx.amrs.bigco.com user=<username> password=<pwd> I'm guessing that this error means that it was unable to locate a credentials definition that matched the realm, so I tried a number of versions of the first line in both locations:
realm=Artifactory Realm realm=[Artifactory Realm @ coderepo.xxx.amrs.bigco.com] realm=coderepo.xxx.amrs.bigco.com None of which seem to have any impact at all.
So what is the correct way to allow SBT to authenticate with username & password to a password protected Artifactory repository?
UPDATE0: According to the Ivy documentation, the most likely realm name is simply "Artifactory Realm". According to the SBT documentation, the correct default location of the credentials file should be %USERPROFILE%/.sbt/.credentials (yes, I'm using Windows). Even after deleting the .credentials file in my .ivy2 directory it still doesn't work.
UPDATE1: Relevant but not actually helpful:
UPDATE2: I'm starting to suspect that this is a bug in sbt - I've added an issue here: https://github.com/sbt/sbt/issues/2817