Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This bug turns out to be a really gnarly interaction deep inside Leiningen that I still don't fully understand, but for some reason supplying multiple profiles to
init-project
adds a number of metadata profiles with:aliases nil
entries here:https://github.com/technomancy/leiningen/blob/94a1b2e6c9cd2028400c2e8abb4797d3f4116ef1/leiningen-core/src/leiningen/core/project.clj#L1019-L1022
This in turn causes the
meta-merge
call inapply-profiles
to try merging{:aliases nil}
into the:uberjar
profile:https://github.com/technomancy/leiningen/blob/94a1b2e6c9cd2028400c2e8abb4797d3f4116ef1/leiningen-core/src/leiningen/core/project.clj#L621
When
:uberjar
is a map, this works okay because the nil is a no-op. When it's a composite profile though, this tries to merge the map into the vector, which winds up coercing it into a sequence. The main difference in how these profiles get activated is thateach
injects the profiles directly by supplying it as a default vs a subproject where it is loaded by metadata. Since the subproject case works, try injecting the middleware instead of the profiles and let the machinery operate the same way there.Fixes #29