boot-clj / boot

Build tooling for Clojure.
https://boot-clj.github.io/
Eclipse Public License 1.0
1.75k stars 181 forks source link

`Artifacts could not be resolved` error for simple named dependencies #709

Open DrTom opened 6 years ago

DrTom commented 6 years ago

Problem Description

I am trying to convert an existing project from leinigen to boot. I am getting a lot of "The following artifacts could not be resolved" errors for the build task. Here is the output:

The following artifacts could not be resolved: boot.user:aleph:jar:0.4.4, boot.user:bidi:jar:2.1.3, boot.user:camel-snake-kebab:jar:0.4.0, boot.user:cheshire:jar:5.8.0, boot.user:clj-http:jar:3.8.0, boot.user:clj-time:jar:0.14.2, boot.user:cljs-http:jar:0.1.44, boot.user:clojure-humanize:jar:0.2.2, boot.user:clojure-ini:jar:0.0.2, boot.user:compojure:jar:1.6.0, boot.user:environ:jar:1.1.0, boot.user:fipp:jar:0.6.12, boot.user:hiccup:jar:1.0.5, boot.user:hickory:jar:0.7.1, boot.user:honeysql:jar:0.9.2, boot.user:joda-time:jar:2.9.9, boot.user:markdown-clj:jar:1.0.2, boot.user:pg-types:jar:2.3.0, boot.user:reagent:jar:0.7.0, boot.user:reagent-utils:jar:0.3.1, boot.user:ring:jar:1.6.3, boot.user:ring-middleware-accept:jar:2.0.3, boot.user:ring-server:jar:0.5.0, boot.user:secretary:jar:1.2.3, boot.user:selmer:jar:1.11.7, boot.user:viz-cljc:jar:0.1.3: Could not find artifact boot.user:aleph:jar:0.4.4 in clojars (https://repo.clojars.org/

The common property of all this dependencies is that that their name (and namespace ?) is a single word and not several separted with .. I could reproduce this by changing https://github.com/adzerk-oss/boot-uberjar-example a bit by including one of my own single word dependencies https://clojars.org/logbug . I then changed this dependency (only locally) by changing the library name from logbug to drtom.logbug and also the internal namespace in the same way. This fixed indeed the problem and boot build went through.

Steps to reproduce

see above

Platform details

Platform (macOS, Linux, Windows): macOS JRE/JDK version (java -version): 9.0.1

Boot details

Boot version (2.7.1): build.boot present? (yes/no): yes ~/.boot/profile present? (yes/no):yes Task name? (if applicable):

alexander-yakushev commented 6 years ago

@DrTom It looks like you prefixed the dependency list with ` instead of '.

Clojure's behavior in the case of ` is to attach the current namespace to every simple symbol inside.

Try using ', I'm sure that will fix your issue.