Centaur / repox

Make sbt more responsive
468 stars 89 forks source link

Can't find joda-time even if I found it existed in the maven repo? #9

Open freewind opened 9 years ago

freewind commented 9 years ago

Found in the log of ./sbt update:

[info] Resolving joda-time#joda-time;[2.2,) ...
[warn]  module not found: joda-time#joda-time;[2.2,)
[warn] ==== local: tried
[warn]   /Users/twer/.ivy2/local/joda-time/joda-time/[revision]/ivys/ivy.xml
[warn] ==== repox-maven: tried
[warn]   http://127.0.0.1:8078/joda-time/joda-time/[revision]/joda-time-[revision].pom
[warn] ==== repox-ivy: tried
[warn]   http://127.0.0.1:8078/joda-time/joda-time/[revision]/ivys/ivy.xml

...

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: joda-time#joda-time;[2.2,): not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      joda-time:joda-time:[2.2,)
[warn]        +- com.amazonaws:aws-java-sdk-core:1.8.11
[warn]        +- com.amazonaws:aws-java-sdk:1.8.11

And I found in repox log:

11:31:41.524 DEBUG com.gtan.repox.Repox$
 Immediate head /joda-time/joda-time/.

11:31:41.529 DEBUG com.gtan.repox.Repox$
 Immediate file /joda-time/joda-time/

11:31:41.532 DEBUG com.gtan.repox.Repox$
 Immediate head /joda-time/joda-time/.

11:31:41.534 DEBUG com.gtan.repox.Repox$
 Immediate file /joda-time/joda-time/

And in repox storage:

➜  2.5  pwd
/Users/twer/.repox/storage/joda-time/joda-time/2.5
➜  2.5  ls
joda-time-2.5.jar      joda-time-2.5.pom
joda-time-2.5.jar.sha1 joda-time-2.5.pom.sha1

Not sure where is wrong.

Centaur commented 9 years ago

These urls are illegal (see the [revision] part) . Will study how other repo/proxy handle such a situation.

Centaur commented 9 years ago

Turns out this is an sbt issue. See https://github.com/sbt/sbt/issues/752 . So I really cannot do anything until the sbt issue gets fixed. In the meantime, you can try to specify a concrete version for your dependency instead of a version range. If this dependency is transitive , try exclude it from its dependant first. For now, Repox will return 404 for any request with a [revision] part in the uri.

Centaur commented 9 years ago

Another related issue https://github.com/sbt/sbt/issues/1136