Commit graph

836 commits

Author SHA1 Message Date
Phil Hagelberg
051ec98f10 Add vcs task with subtasks. 2014-05-16 10:12:47 -07:00
Andy Chambers
1ffbb408db Use warn instead of info where applicable 2014-04-26 17:17:56 -04:00
Phil Hagelberg
23b0804f67 Add ^:replace metadata to :aot [:all] normalization. 2014-04-24 13:30:47 -07:00
Phil Hagelberg
f5305ab47b Merge :plugin-repositories into :repositories before loading plugins. 2014-04-23 09:18:38 -07:00
Jim Crossley
d1ed9f83fe Prevent NPE when pedantic encounters dupe top-level deps to fix #1498 2014-04-22 20:10:32 -04:00
Phil Hagelberg
07a1ecaa93 Normalize :aot :all to :aot [:all].
This fixes type mismatch issues when merging profiles.

Fixes #1488.
2014-04-22 16:41:50 -07:00
Phil Hagelberg
f4b0bf6ec9 Fix weird de-duping behaviour in pom.
It used to be we would merge a bunch of profiles into the project, and
then trim out dupes based on group/artifact/version, which was totally
wrong; it ignores classifiers and extensions.
2014-04-22 16:24:10 -07:00
Phil Hagelberg
460fc9c3a1 Actually use :plugin-repositories. Fixes #1474. 2014-04-22 15:24:35 -07:00
Phil Hagelberg
88181a4bbf Use dep-key for distinct call in pom task.
group/artifact version tuple isn't enough to de-dupe correctly.

Fixes #1494.
2014-04-22 15:03:34 -07:00
Andy Chambers
aa789d8282 Fixes #826; Redirect info messages to *err*
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.
2014-04-19 15:54:52 -04:00
Jim Crossley
9d8b214ccc Include group in dedupe key to fix #1480 2014-04-15 17:29:14 -04:00
Hugo Duncan
5e26a1639f Flush output of exception error messages
When running on OS X, an exception thrown in a plugin was resulting in
no output from lein.  Adding the flush ensures the output occurs before
the process exits.
2014-04-14 10:07:57 -04:00
Jean Niklas L'orange
579499b5e7 Depend on latest Pomegranate, fixes #1447. 2014-04-08 00:23:27 +02:00
Phil Hagelberg
5c6db48efa Lock on *out* when printing during dependency fetches. 2014-04-03 20:37:20 -07:00
Phil Hagelberg
ed67d8093b Make Leiningen (more) Eastwood-friendly.
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.
2014-04-03 20:18:28 -07:00
Jim Crossley
ca32d3e28a Expand profiles before [un]merging them, re #1421
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.
2014-03-28 22:05:58 -04:00
Jean Niklas L'orange
a296ff8918 Bump all Clojure 1.5.1 deps to 1.6.0. 2014-03-26 13:43:38 +01:00
Jean Niklas L'orange
90bf2d47cd Consistent comment style. 2014-03-24 20:24:31 +01:00
Phil Hagelberg
110e2a14e9 Add -XX:-OmitStackTraceInFastThrow to default JVM opts.
Addresses #1025.
2014-03-21 09:55:33 -07:00
Phil Hagelberg
ae91367b78 Tell Bultitude not to ignore unreadable namespaces in test/check.
Fixes #1409.
2014-03-17 15:21:19 -07:00
Phil Hagelberg
eb189083f8 Oh no, slimed! 2014-03-07 11:54:53 -08:00
Phil Hagelberg
f67ff6d0bc Check :pass-through-help on vector aliases too, not just final var. 2014-03-07 11:41:01 -08:00
Phil Hagelberg
ca46d0e987 Use more meaningful data in test-task-args-help-pass-through. 2014-03-07 11:39:39 -08:00
Phil Hagelberg
64f79c6e7a Clarify :warn-on-reflection deprecation warning. 2014-03-07 10:12:36 -08:00
Phil Hagelberg
3ff470363b Dereference vector aliases in task-args. 2014-03-07 10:09:12 -08:00
Phil Hagelberg
e4e65177f6 Use a real lein task in pass-through-help tests, not funky var magic. 2014-03-07 09:55:13 -08:00
Phil Hagelberg
4a1373ab10 Don't require :pass-through-help to be a boolean. 2014-03-07 09:54:51 -08:00
Ryan McGowan
a02ff7b57b Modify task-args to support pass-through-help meta.
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
2014-03-06 21:43:37 -08:00
Phil Hagelberg
0896686a5c Merge remote-tracking branch 'laurentpetit/master'
Conflicts:
	leiningen-core/src/leiningen/core/main.clj
2014-03-06 13:33:19 -08:00
Phil Hagelberg
606ceffe44 Fix tests for task arity mismatch abort messages. 2014-03-06 13:13:23 -08:00
Phil Hagelberg
1803f4d5fd Fix test failures due to missing artifacts.
Somehow a dependency of nodisassemble disappeared from Maven Central.
2014-03-06 12:57:48 -08:00
Phil Hagelberg
54156c95a2 Merge pull request #1440 from benwbooth/master
Show uncaught exceptions when using grenchman, don't display "Suppressed exit" when calling exit
2014-03-04 17:30:55 -08:00
Jean Niklas L'orange
a28eeca1df Warn once when project.clj in checkout is missing. 2014-02-25 21:47:25 +01:00
Jean Niklas L'orange
17e91e60fe Retain metadata after profile setup. Fixes #1414. 2014-02-24 18:31:43 +01:00
Jean Niklas L'orange
a0d3504b1e Test that :java-opts are converted to :jvm-opts.
Inside profiles. Ensures #1445 is fixed, thus closes #1445.
2014-02-23 15:06:51 +01:00
Jean Niklas L'orange
1d7e41bfbf Test that profile metadata is retained.
Breaks tests, as meta isn't retained yet.
2014-02-23 14:55:28 +01:00
Jean Niklas L'orange
2cf555e99e Backquote uberjar-merge-with vector. 2014-02-22 13:56:52 +01:00
Peter Monks
d8302eff0b Fix for issue 1455 2014-02-20 11:21:17 -08:00
Matthew Blair
1df22bcc95 Fix issue 1444 - Leiningen errors if profiles.clj is blank. Push try-catch from user/load-profiles to utils/read-file, print helpful error message from utils/read-file, and bubble exception up. 2014-02-16 17:35:57 -05:00
Jean Niklas L'orange
19b8d3bf50 Merge pull request #1443 from jcrossley3/add-profiles
Fix add-profiles so they can be merged by name
2014-02-14 17:31:31 +01:00
Phil Hagelberg
cc41da388b Revert license back to official EPL; addresses #1446. 2014-02-12 13:42:53 -08:00
Jim Crossley
77650ce3fd Fix add-profiles so they can be merged by name
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.
2014-02-09 16:07:12 -05:00
Ben Booth
4f24b89e3b Don't show the "Suppressed exit" message when exit is called 2014-02-07 16:58:59 -08:00
Ben Booth
6395e6eb4d send stack trace through to the nREPL client 2014-02-07 16:58:28 -08:00
Laurent Petit
c28f03a092 Optional msg argument to leiningen.core.main/exit. Use it for abort.
- New signature: leiningen.core.main/exit [exit-code & msg]
- msg used when *exit-process?* is false as the Exception message
2014-02-07 08:42:35 +01:00
Marshall Bockrath-Vandegrift
a38f3903cf Also expand the built-in default profiles. 2014-01-28 06:20:10 -05:00
Jean Niklas L'orange
ecb7ed0e77 Decompose with-profile args not containing +/-. 2014-01-27 16:31:34 +01:00
Marshall Bockrath-Vandegrift
8bd6b8fb53 Fix #1421 by decomposing profiles into collections of atomic profiles. 2014-01-27 15:54:05 +01:00
Phil Hagelberg
19c49bd2ab Don't use /tmp when LEIN_FAST_TRAMPOLINE is enabled.
Fixes #1396.
2014-01-20 17:36:19 -08:00
Phil Hagelberg
93a2ffa85d Merge remote-tracking branch 'DavidEGrayson/lein_faster'
# 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.
2014-01-20 09:49:11 -08:00
Jean Niklas L'orange
3d50e8c9ba Properly initialize read profiles.
Fixes #1407, fixes #1376.
2014-01-07 14:02:55 +01:00
Jean Niklas L'orange
a0c65e9ec1 Properly setup profiles within project map. 2014-01-07 13:51:10 +01:00
Jean Niklas L'orange
9131b52b0b Drag out common map setup functionality. 2014-01-07 12:58:23 +01:00
Jean Niklas L'orange
a579ccd750 Remove dead :jvm-opts lookup
Coming from the 57ea876ddd cleanup
2014-01-07 02:08:21 +01:00
Jean Niklas L'orange
613a33b578 Pull out empty meta-merge defaults. 2014-01-07 02:00:53 +01:00
Phil Hagelberg
49d405cf5d Revert "Rely less on undocumented features"
This reverts commit 9adc966aef.
2014-01-06 11:58:58 -08:00
Ambrose Bonnaire-Sergeant
9adc966aef Rely less on undocumented features
We simply guard against nil leaking into `merge` or `select-keys`. This does not change semantics.

I caught this with a linter I'm building.
2014-01-02 23:58:22 +08:00
Jean Niklas L'orange
2ba5e31daa Test edit distance function. 2013-12-30 20:11:33 +01:00
Jean Niklas L'orange
c05e102036 Implement Damerau-Levenshtein, closes #1119.
Fetching the keyboard layout seems to be impossible to do within the JVM
without shelling out. It's probably not worth it wrt. portability.
2013-12-30 20:10:16 +01:00
David Grayson
6577d59c85 RyanTM and I reduced the run time of the 'lein help' command
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).
2013-12-20 11:41:53 -08:00
Larry Staton Jr
1a47f2683e Add LEIN_SILENT option to suppress *info* output 2013-12-05 17:09:00 -05:00
Phil Hagelberg
12b97749bd Bump version number back to a snapshot. 2013-11-19 10:05:36 -08:00
Phil Hagelberg
77d659e6ee Release 2.3.4 2013-11-18 21:59:05 -08:00
Phil Hagelberg
c575b7b82b Support :keyword args in leiningen.core.main/parse-options. 2013-11-17 09:15:11 -08:00
Phil Hagelberg
cd0066e19f Suggest exclusions for overrides. Closes #1198. 2013-11-17 08:56:53 -08:00
Phil Hagelberg
75a80f6951 Clean up dependency-str weirdness of version calculation. 2013-11-16 14:59:33 -08:00
Phil Hagelberg
e78ebb6504 Add exclusion suggestions for version ranges. 2013-11-16 14:43:59 -08:00
Phil Hagelberg
a45e8a5b0f Move parse-options test, fix typo. 2013-11-16 14:43:59 -08:00
Phil Hagelberg
1f7886c8bb Move parse-options into leiningen.core.main for general use.
Also remove support for single-dashed args.
2013-11-16 14:43:59 -08:00
Phil Hagelberg
23b3477298 Escape classpath separators.
Fixes #1328.
2013-11-14 11:02:06 -08:00
Phil Hagelberg
387db01ac5 Don't print with-profile output when only one profile is invoked. 2013-11-10 08:48:25 -08:00
Marshall Bockrath-Vandegrift
5d64d83fd6 More nuanced merging of project defaults. 2013-10-14 19:59:18 -04:00
Phil Hagelberg
85d3549c14 Bump version up to 2.3.4-SNAPSHOT. 2013-10-09 09:06:18 -07:00
Phil Hagelberg
6a6cecee0f Release 2.3.3 2013-10-05 15:40:59 -07:00
Marshall Bockrath-Vandegrift
39e3d57ec9 Implement :uberjar-merge-with requested in issue #973. 2013-10-05 13:56:57 -04:00
Phil Hagelberg
6853a511f9 Don't warn about user profiles when running outside a project. 2013-09-19 10:40:59 -07:00
Phil Hagelberg
b89ede9c23 Handle stdin for :eval-in :nrepl. 2013-08-27 19:20:58 -07:00
Phil Hagelberg
36a9350ba0 Allow default eval-in dispatch value to be changed with a defmethod. 2013-08-27 19:20:58 -07:00
Phil Hagelberg
762544a661 Fix a bug where *cwd* wasn't honored for project parsing. 2013-08-23 22:05:40 -07:00
Phil Hagelberg
0a5c616bbd Bump version up to 2.3.3-SNAPSHOT. 2013-08-20 17:42:27 -07:00
Chas Emerick
470f4c6ee1 Release 2.3.2 2013-08-20 16:59:19 -04:00
Chas Emerick
7d7426b143 prepare for 2.3.2 release 2013-08-20 16:55:17 -04:00
Phil Hagelberg
ad48331f26 Encourage production use of uberjars over lein run in tutorial. 2013-08-20 11:57:49 -07:00
Phil Hagelberg
45c7af9f69 Roll back profile-scoped target path for now.
Discussion of rationale on mailing list.
2013-08-17 21:48:21 -07:00
Phil Hagelberg
95bdc72f80 Add :exclusions to :base deps to avoid version conflict warnings. 2013-08-17 21:10:58 -07:00
Phil Hagelberg
be0db75e5e Memoize pedantic-print-(ranges|overrides) by stringifying up front.
Fixes #1290.
2013-08-17 21:10:58 -07:00
Phil Hagelberg
e624a768d3 Release 2.3.1 2013-08-13 04:28:39 +00:00
Phil Hagelberg
81389cf20c Leave :provided out of target-isolation calculation paths altogether. 2013-08-12 16:43:39 -07:00
Phil Hagelberg
1b4d1b345c Refer to checkout-deps-paths as a var instead of a raw fn.
Might fix #1286.
2013-08-10 18:17:39 -07:00
Phil Hagelberg
d25c22af3a Special-case the :provided profile. Again.
Fixes #1283.
2013-08-09 12:57:06 -07:00
Phil Hagelberg
ac33004a92 Bump back to snapshot. 2013-08-08 20:16:54 -07:00
Phil Hagelberg
aeaca0cbd7 Release 2.3.0 2013-08-08 20:10:42 -07:00
Phil Hagelberg
328b2182b0 Normalize profiles before excluding; fixes #1267.
Note that :dev, :test, and :base still belong in the pom, but with
dependencies/paths scoped as <test>.
2013-08-08 14:00:01 -07:00
Phil Hagelberg
13fe3db660 Allow -main to operate on project.clj files not in original cwd. 2013-08-08 12:01:08 -07:00
Phil Hagelberg
c46b6c93ff Add :eval-in :pprint for debugging Leiningen and plugins. 2013-08-08 12:01:08 -07:00
Phil Hagelberg
2f684415df Save off project into an atom when trampolining for later use.
This will break when you do crazy stuff like:

    $ lein trampoline do with-profile production compile, repl

but it's better than the old behaviour.

Fixes #1277.
2013-08-08 12:01:08 -07:00
Gary Fredericks
5a089b8e18 Issue #1276: cleanup wrong-arg-num err msg on 0-arg tasks
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 `"[]"`.
2013-08-05 15:07:41 -05:00
Yoshinori Kohyama
c3a60886f3 Issue #1272: Add :clean-targets option
Add :clean-targets option to let `lein clean` remove files under
directories other than one specified by :target-path
2013-08-04 18:46:16 +09:00
Phil Hagelberg
9f9ab003cd Oops; typo. 2013-07-30 21:00:52 -07:00
Phil Hagelberg
0f8d67d2e3 Remove dependency on "useful" library for packaging purposes.
This dependency pulls in a number of other dependencies which we don't
use but which are difficult for downstream packagers to deal with.

Include our own version of map-vals (because seriously, why is this
not already part of Clojure) and update-first (because re-forming
those problems without it crazy convoluted). But our implementation is
a fair bit shorter because it doesn't have to handle all the edge
cases.
2013-07-30 20:57:56 -07:00