I decided to leave some messages alone. Specifically
* messages which look like stacktraces
* messages which instruct the user to take some sort of action
Arguably the stacktraces should go to stderr but I thought I'd leave
those open for discussion. Any others that remain represent errors on
my part.
Still get a couple warnings... We don't really care about the
unlimited-use warnings from clojure.test, and there are a couple
warnings we get stemming from bugs/limitations in Eastwood.
This mainly addresses the fact that the following two commands generate
different output:
$ lein pom
$ lein with-profile default pom
I believe the problem also affects uberjar, since both tasks unmerge
:default prior to doing their thing.
Version 2.3.4 generates the same output for the above two commands,
because it doesn't expand profiles in the with-profile task, as master
does. So this change attempts to only deal with fully-expanded profiles
when [un]merging them.
By default, leiningen makes the following transformation:
lein TASK_NAME --help → lein help TASK_NAME
For tasks that implement a help, this is inconvenient. This patch
disables this transformation for task vars and alias values marked with
the meta: :pass-through-help true
I believe the :profiles metadata was introduced after this function was
written, so this update makes its comment -- "available to merge by
name" -- true again.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
by making it just parse the task source code files instead of actually
requiring/compiling them (second try).
This results in a 70% speed improvement on my machine (14s to 4s).
0 arg task arglist was printing as `""` since passing `[project]` to
`next` resulted in `nil` which prints as `""`. Used `(comp vec next)`
instead to force it into `[]` which prints as `"[]"`.
merged all commits to date which required adding "dev-resources" so a
test wouldn't fail
`bin\lein test` tested under windows (currently 2 failures and 1 error)
Mostly gets project maps in a format suitable for eval-in-project
(including the repositories), but also number-ifies port for aether (the
way the real URL.getPort method behaves).
Refactored warn-user-repos to take an argument to enable testing.
The tests are different depending on whether
LEIN_SUPPRESS_USER_LEVEL_REPO_WARNINGS is set or not. This is not ideal, but
there doesn't seem to be a good way of altering the environment variables in
clojure.
An alias such as {"doc" ["with-profile" "+doc" "doc"]} was leading to a stack
overflow when executed.
This was due to the project being reload when with-profile calls set-profiles,
thus re-instating the aliases that have been removed by remove-alias.