boot-clj / boot-clj/boot

push tasks :file and :pom options don't search in fileset

Open
#633 12 comments 0 reactions 0 assignees View on GitHub
Bug Repro Attached
Dominant language
Clojure
Stars
1.7k
Forks
178
PR merge metrics
No merged PRs in 30d

Description

The code to find the jar and pom file given to a `push` tasks uses `io/file` which essentially prevents you from specifying a file in the fileset. This in turn requires you to output things into `target` to make things work.

Proposal: We search for both files in the following order:

- exact fileset match
- classpath match (io/resource... )
- file match (io/file ...)

Also exceptions around some of this stuff could be improved. If there's a realistic chance to get this into 2.7.2 I'd be very happy to start working on this ASAP.

Pinging @Deraen @arichiardi @SevereOverfl0w for opinions :)

Contributor guide

Open the contributing guide

Research direction

Trace the push tasks' :file and :pom handling, starting with the current io/file lookup and its interaction with filesets. Compare the relevant io/resource behavior, then verify that lookup follows exact fileset, classpath, and file matches in order and that the related exceptions are clearer.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.