add-libs is not properly removing non-procurer keys from the procurer map in the tool invocation

Description

In the add-libs code, the call to the tool function resolve-added-libs passes the procurer map, which should be just the procurer keys from the basis. The code that builds the procurer is:

which is wrong and does not actually remove the intended keys, thus passing more data than necessary to the tool invocation.

Cause: dissoc incorrectly passes a vector of the keys to remove instead of the keys as rest args.

The practical effect of this is that we are passing a map with extra stuff over stdin to the external tool, which makes it slower. Functionally, it is still correct.

Approach: Dissoc the unqualified keys from the basis - all of the procurer config keys at the top level are qualified.

Patch: clj-2886-3.patch

Screened by: fogus

Environment

None

Attachments

3

Activity

Show:

Details

Assignee

Reporter

Approval

Screened

Patch

Code

Priority

Affects versions

Created October 22, 2024 at 12:03 PM
Updated January 6, 2025 at 7:57 PM