Commit graph

751 commits

Author SHA1 Message Date
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
Jean Niklas L'orange
2324cd21fc com.hypirion.io 0.3.1 (1.6-compiled) 2013-07-30 16:01:35 +02:00
Jean Niklas L'orange
3c2cd2f5a1 Bump com.hypirion.io to 0.3.0. 2013-07-30 11:19:44 +02:00
Phil Hagelberg
53fdf1c685 Scope :compile-path and :native-path under :target-path. 2013-07-24 20:55:28 -07:00
Phil Hagelberg
962ce20ae9 Scope :compile-path and :native-path under :target-path. 2013-07-24 20:55:23 -07:00
Phil Hagelberg
5b26b89d9c Support :pedantic? :abort/:warn.
Move range/overlap detection into l.c.classpath.

Fixes #1197.
2013-07-22 18:45:16 -07:00
Jean Niklas L'orange
b540e8ae95 Merge branch 'expand-composite-profiles' 2013-07-20 18:50:34 +02:00
Jean Niklas L'orange
7a935545c4 Don't attach subprofiles to metadata map.
Whenever composite profiles were added to project maps, their children
were also attached as active profiles. This confuses `with-profile` and
profile merging task where excluded profiles only remove the name of the
composite profile, not the subprofiles. This allows uberjar to exclude
the default profile without excluding subprofiles, without excluding
active subprofiles themselves.

So these task actions now produce sensible results:
`lein with-profile +dev uberjar` -> uberjar with dev-dependencies, but
without the other default profiles
`lein -U uberjar` -> uberjar with snapshot updates, but not with any
default dependencies added.

Fixes #1233.
2013-07-20 18:45:07 +02:00
Jean Niklas L'orange
cd8ed45638 Expand composite profiles before removing them.
This seem to handle #1233 correctly, but breaks a pom test. I assume
there's some part of the merge logic I've forgotten, so feel free to
peek around and comment on what I've currently done.
2013-07-18 01:45:25 +02:00
Phil Hagelberg
39fa6afb52 Default to recursive checkout deps.
Fixes #1190.
2013-07-16 20:22:09 -07:00
Phil Hagelberg
214fd7c6a2 Empty :*-paths when running outside a project dir.
Fixes #1253.
2013-07-15 13:33:43 -07:00
Phil Hagelberg
57c0b1e0e2 Remove :target-path from :base profile.
Fixes #1222; might introduce even more problems.
2013-07-12 07:45:07 -07:00
Phil Hagelberg
1225f0bf4f Error message when aws creds are missing. 2013-07-12 07:44:51 -07:00
Phil Hagelberg
c701c57440 Move download-calculating script. 2013-07-12 07:40:06 -07:00
Gabriel Horner
f0bf04007e fix typo in docstring 2013-07-01 07:29:18 -04:00
Juergen Hoetzel
28fad91bfb Keep init-file when using LEIN_FAST_TRAMPOLINE 2013-06-20 22:20:42 +02:00
Stuart Sierra
fb133fdb67 Set default :jvm-opts in :base profile to :displace
When the default behavior for `:jvm-opts` is additive, it can lead to
unexpected results if a project tries to add its own options which
conflict with the defaults. For example, the following setting:

    :jvm-opts ["-XX:-TieredCompilation"]

Results in a JVM command line like this, in which the project's JVM
options are overridden by the defaults:

    -XX:-TieredCompilation -XX:+TieredCompilation -XX:TieredStopAtLevel=1

By setting :displace metadata on the default :jvm-opts, any project
configuration of :jvm-opts will replace the defaults.
2013-06-18 14:55:08 -04:00
Juergen Hoetzel
43fe245b4f Delete the initfile when the subprocess exits, not when the Leiningen process exits
Fixes issues when a task is applied via trampoline:

Exception in thread "main" java.io.FileNotFoundException: /tmp/form-init2098686718977910298.clj (No such file or directory)
2013-06-16 16:05:22 +02:00
Juergen Hoetzel
0bac7b7ea0 Use (pr-str form) to write form to init-file
Ensures that the form can be read by read-string. Fixes issues when
the form is lazy, which result in invalid init files like:

clojure.lang.LazySeq@451d3cd3
2013-06-16 15:51:13 +02:00
Jean Niklas L'orange
1c43a36125 Add in todos for 3.0.0. 2013-06-15 22:14:22 +02:00
Juergen Hoetzel
90a74131c9 use init-file (-i) instead of form (-e) when evaluating forms in subprocess.
The form is still not passed correctly on Windows, when it has nested quotes is passed via "-e".
See: http://bugs.sun.com/view_bug.do?bug_id=6468220

Refs #1203
Refs #863
Refs #1224
2013-06-15 14:01:01 +02:00
Juergen Hoetzel
89c4bf7520 Use nested strings in test-eval-in-project, refs #1203
Test double quote issues on Windows platform: http://bugs.sun.com/view_bug.do?bug_id=6468220
2013-06-15 13:43:51 +02:00
Phil Hagelberg
8307aa58fc Fix long line.
[ci skip]
2013-06-06 09:37:33 -07:00
Roberto Mannai
f4a0fcfa34 Suggestion on when you have to set the 'http_proxy' variable
For example, on Windows:
set http_proxy=http://user:pwd@proxyserver:port
2013-06-05 16:14:08 +03:00
Phil Hagelberg
e4b66b2b9e Bump back to snapshot.
[ci skip]
2013-05-28 21:43:13 -07:00
Phil Hagelberg
5eaad5c48d Release 2.2.0 2013-05-28 17:04:23 -07:00
Phil Hagelberg
c5767cdaca Support :bootclasspath in :java-agents. 2013-05-16 13:45:40 -07:00
Phil Hagelberg
3d9d5b54b6 Don't use two-clause cond. 2013-05-16 10:34:07 -07:00
AtKaaZ
533f4725db fix repo name should not contain path delims under windows so test won't
fail
all tests pass under windows
2013-05-16 05:32:38 +03:00
AtKaaZ
0277ec3e41 Merge remote-tracking branch 'upstream/master' into testsUnderWindows1 2013-05-16 05:04:16 +03:00
Phil Hagelberg
a99d923cb2 Preliminary support for :java-agents. 2013-05-15 17:32:43 -07:00
Phil Hagelberg
d432377964 Hold back on :aot :all in the uberjar profile till 3.0. 2013-05-15 15:36:38 -07:00
Phil Hagelberg
94beeeffc4 Some todos. 2013-05-15 13:53:07 -07:00
Phil Hagelberg
cbff7f06fb Fix -o and -U aliases to be additive. 2013-05-15 13:53:01 -07:00
Phil Hagelberg
bba38c436a Don't block :user profile from ~/.lein/profiles.d. 2013-05-15 13:31:29 -07:00
Phil Hagelberg
c5e5ed61af Fix classpath test to match new checkout-deps behaviour. 2013-05-14 20:44:18 -07:00
AtKaaZ
9f984cbf46 Merge remote-tracking branch 'upstream/master' into testsUnderWindows1
Conflicts:
	leiningen-core/test/leiningen/core/test/classpath.clj
2013-05-15 06:16:13 +03:00
AtKaaZ
3521a21a9d moving 2 functions from utils to helper
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)
2013-05-15 02:39:23 +03:00
AtKaaZ
6c34ce7e6f Merge branch 'master' into testsUnderWindows1 2013-05-15 01:53:44 +03:00
Phil Hagelberg
7b32caf8f6 Merge default profiles in checkout-deps project reading.
Fixes #1180, but in a way that's probably too clever.

Makes it possible to recursively descend into checkout dependencies
with the following addition to the `:user` profile:

`:checkout-deps-shares [#=(resolve leiningen.core.classpath/checkout-deps-paths)]`
2013-05-14 15:15:40 -07:00
Phil Hagelberg
f21a2c4a64 Merge :uberjar profile when uberjarring.
Fixes #1170.
2013-05-14 14:31:01 -07:00
Phil Hagelberg
f40da67ece Make profile-scope-target-path work with anonymous profiles.
Also make it work in scenarios where the project map lacks :target-path.
2013-05-14 13:42:41 -07:00
Phil Hagelberg
a1d7b6f3ea Scope :target-path by profile unless it's the default (:base).
Anyone using a %s pattern in their custom :target-path will get this
behaviour, but strings that don't have it will continue to behave as
normal.

Fixes #468.
2013-05-14 11:40:56 -07:00
AtKaaZ
9588d307d5 Merge branch 'master' into testsUnderWindows1 2013-05-13 21:00:58 +03:00
Phil Hagelberg
cf679d4f1c Normalize :mirrors like :repositories. Fixes #1171. 2013-05-13 09:40:34 -07:00
AtKaaZ
a8e20e96ce fix some path errors in windows tests
lein test still has 2 failures and 1 error after this.
normalize-path should now handle absolute *nix paths correctly under
windows
addresses #1176
2013-05-13 08:15:55 +03:00
Colin Jones
b4660d52db Bump nrepl & clojure-complete dependencies 2013-05-12 15:19:07 -05:00
Phil Hagelberg
92615f15ce Don't create target/classes unless we're in an actual project.
Fixes #589.
2013-05-09 16:35:20 -07:00
Phil Hagelberg
1f65fa4468 Remove stray println. 2013-05-09 16:34:58 -07:00
Ryan Fowler
1ab531fcc8 Better at knowing what get-dependencies calls have been memoized
It turns out that #1162 wasn't that helpful because the project
argument keeps changing. This new version makes the real worker get a
filtered version of project, so that memoization hits are much more
likely.
2013-05-02 19:04:42 -05:00
Phil Hagelberg
01dd252b8a Fix a bunch of tests from reorg-repl. 2013-05-02 14:12:58 -07:00
Phil Hagelberg
5adef11d33 Some more don't-warn-when-missing profiles. 2013-05-02 13:59:10 -07:00
Phil Hagelberg
086ab45ad3 Merge remote-tracking branch 'ryfow/memoize-get-dependencies'
# 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.
2013-05-02 13:51:33 -07:00
Phil Hagelberg
c508badfd9 Add :repl to list of don't-warn-when-missing profiles. 2013-05-02 13:48:55 -07:00
Phil Hagelberg
02f1d5dc82 Merge branch 'reorg-repl'
Conflicts:
	leiningen-core/src/leiningen/core/main.clj
	leiningen-core/src/leiningen/core/project.clj
	src/leiningen/repl.clj
2013-05-02 13:13:55 -07:00
Ryan Fowler
f613c40668 memoize get-dependencies
get-dependencies is expensive and sometimes gets called multiple times
with the same arguments. This pretty consistently knocks a couple
tenths of a second off of the extremely common
 `lein repl < /dev/null`.
2013-05-01 17:26:35 -05:00
Christoffer Sawicki
f20230c490 Make error messages in project/read refer to correct file 2013-04-27 23:53:19 +02:00
Colin Jones
f0582e2314 Escape quotes for Java versions below 7
See http://gluck-md.blogspot.com/2012/12/jdk7-surprise.html

fixes #1121
2013-04-14 21:03:57 -05:00
Phil Hagelberg
7ef8170aea Back to 2.2.0-SNAPSHOT. 2013-04-12 10:16:37 -07:00
Phil Hagelberg
eccd23d062 Release 2.1.3 2013-04-12 10:02:18 -07:00
Marko Topolnik
26cb21935b Revert "project.clj setting overrides profile setting" 2013-04-10 14:25:59 +02:00
Marko Topolnik
f19eeeb746 Populate project-map meta when outside project
// cherry-picked from master
2013-04-10 13:48:02 +02:00
Marko Topolnik
7a7e7fb623 project.clj setting overrides profile setting
// fixes #1128
2013-04-10 12:19:52 +02:00
Marko Topolnik
ea29210d23 Populate project-map meta when outside project
// fixes #1129
2013-04-10 12:08:26 +02:00
bdollard
3debae78c0 fixes #1123: mirrors can get credentials using gpg 2013-04-03 14:06:19 -04:00
Marko Topolnik
0908397422 Add resolve-and-apply to main and use it
Fixes #1120
2013-04-03 16:20:32 +02:00
Jean Niklas L'orange
95185a9b0a Improve error messages when reading user profiles.
Also associates :origin to the file the user profile were defined in,
and tags it within its metadata.
2013-03-30 16:36:21 +01:00
Phil Hagelberg
da76893c23 Back to 2.2.0-SNAPSHOT. 2013-03-28 15:38:43 -07:00
Phil Hagelberg
10d7d1faa3 Release 2.1.2 2013-03-28 14:46:32 -07:00
Phil Hagelberg
078ff98f3d Merge pull request #1114 from joelittlejohn/system-no-proxy
Add support for no_proxy environment variable
2013-03-28 12:15:57 -07:00
Phil Hagelberg
f5c2d04b57 Move default :test-selectors to :leiningen/test profile.
Fixes #1099.
2013-03-28 11:38:04 -07:00
Phil Hagelberg
a42c5521f4 Move Tiered Compilation to LEIN_JVM_OPTS and document.
Fixes #1111.
2013-03-28 11:04:13 -07:00
Joe Littlejohn
802e666f14 Add support for no_proxy environment variable
Closes #816.
2013-03-28 17:47:46 +00:00
Jean Niklas L'orange
51a2e1e625 Add tests for IObj vs. non IObjs merging. 2013-03-27 20:20:53 +01:00
Jean Niklas L'orange
664da4a3df Allow IObjs to be cmp. to non IObjs when merging.
Fixes #1110.
2013-03-27 20:20:15 +01:00
Jean Niklas L'orange
c42bb2a2c0 Only try to open file when needed in lein-version.
(This should fix the breaking tests.)
2013-03-27 19:38:15 +01:00
Pierre-Yves Ritschard
dc3cade47c Fetch version from pom.properties
After clarifying things with @technomancy, it makes more sense
to pull the version from the already provisionned pom.properties
file.
2013-03-27 00:37:24 +01:00
Pierre-Yves Ritschard
ea0b00a199 Provide a default version for leiningen
For odd cases where leiningen is called without the wrapper shell script, any occurence of `:min-lein-version` will throw an exception since `leiningen-version` will return nil.

This fixes jenkinsci/leiningen-plugin#1 for instance.
I see two other ways to fix this:

- have the version be propagated from project.clj directly, through substitution
- let leiningen-version return a string that always passes or always fails (not sure which is best) the `:min-lein-version` requirement
2013-03-26 23:54:21 +01:00
Gary Verhaegen
57f2228fbb Add way to set global vars (*assert*, *warn-on-reflection*, etc.) through config key :global-vars. 2013-03-26 21:54:27 +01:00
Jean Niklas L'orange
4e77b0d3d5 Change line endings for lein new on Windows.
Fixes #1061.

This also incorporates the new environment variable
LEIN_NEW_UNIX_NEWLINES, for people who prefer to have '\n' as their
newline on non-unix operating systems.
2013-03-26 02:45:44 +01:00
Phil Hagelberg
76dcd9c01d Move repl dependencies to dev profile. Fixes #1076. 2013-03-24 15:36:33 -07:00
Phil Hagelberg
160666ca3d Merge pull request #1094 from mtopolnik/remove-warn-chaining
Consider removing warn-chaining
2013-03-23 20:18:51 -07:00
Marko Topolnik
64dec29c14 Remove warn-chaining 2013-03-23 22:46:37 +01:00
Marko Topolnik
41f5641dfc Delete duplicate code 2013-03-23 17:15:02 +01:00
David Powell
b097e3fc2c Fix for incorrect escaping of parameters on Windows
fixes #863 - exception when running lein check
2013-03-23 13:33:20 +00:00
Phil Hagelberg
3edc5c3d44 Bump version back to 2.2.0-SNAPSHOT 2013-03-21 15:41:14 -07:00