boot-clj / boot-clj/boot

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

Open
#709 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Clojure
Stars
1.7k
Forks
178
PR merge metrics
No merged PRs in 30d

Description

### 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):

Contributor guide

Open the contributing guide

Research direction

Start by running the reproduction in the adzerk-oss/boot-uberjar-example project with its build.boot and a single-word dependency such as logbug. Inspect Boot's dependency resolution path and compare the failing single-word name with the locally changed drtom.logbug form. Done means simple named dependencies resolve successfully and `boot build` completes without artifact errors.

Written by the indexing model from the issue text.

Assessment

Tech stack
clojure
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.