Commit graph

384 commits

Author SHA1 Message Date
Justin Balthrop
badeefc6db fix unmerge-profiles to work with composite profiles
Previously, you could not unmerge composite profiles. So, if the
currently active profiles were [:default], which is a composite of
[:dev :user :base], then (unmerge-profiles project :dev) would do
nothing. To fix this, we have to keep track of both :included-profiles
and :excluded-profiles.

I also combined apply-profiles and reset-profiles into a single function
called reset-profiles with an optional excluded-profiles argument and
renamed apply-profiles-raw to apply-profiles.
2012-08-21 18:20:49 -07:00
Phil Hagelberg
a28cd82bd0 Don't try to merge profiles without an active project.
We should simply use the user profile directly rather than trying to
merge it in.
2012-08-21 15:32:22 -07:00
Phil Hagelberg
47cc271249 Prefer vary-meta to with-meta. Rename combine-profiles to apply-profiles-raw. 2012-08-21 14:53:54 -07:00
Phil Hagelberg
3e5f3c77be Rename resolve-symbol -> require-resolve. 2012-08-21 14:51:29 -07:00
Phil Hagelberg
a4b7ded2aa Trim long lines in leiningen-core. 2012-08-21 14:49:39 -07:00
Phil Hagelberg
cb134380a2 Merge pull request #737 from jeremyheiler/master
:plugin-repositories for #717
2012-08-18 13:38:28 -07:00
Justin Balthrop
314f27ef81 Support ext dependencies in eval-in :classloader
Any dependency marked with :ext true will be loaded by the ext class loader.
Libraries with native dependencies (e.g. tokyocabinet) need to be loaded by
the ext classloader, because native libraries can only be loaded once per
JVM. Also, most SQL libraries (e.g. postgresql) need to be in the ext class
loader because java.sql.DriverManager holds onto the class.
2012-08-18 09:01:12 -07:00
Justin Balthrop
d5a9e18e7b Better error messages for eval-in :classloader
Print the exception and	stacktrace inside eval-in :classloader
and throw an ex-info just like eval-in :subprocess.
2012-08-18 09:00:06 -07:00
Justin Balthrop
ce4e1c9f74 Make :eval-in :classloader work with native deps
Use 0.6.6 classlojure's alter-java-library-path! to set java.library.path
at runtime.

Perhaps we should be setting all of these system properties back after
we are done, including this one?
2012-08-18 08:50:05 -07:00
Jeremy Heiler
c9a89f2ffd Allow for plugin specific repositories with :plugin-repositories. 2012-08-18 10:27:46 -04:00
Phil Hagelberg
29673a7a56 Latest lein-newnew version. Fixes #638. 2012-08-17 17:10:45 -07:00
Phil Hagelberg
a01f13935b Allow fix for recursive aliases to apply globally. 2012-08-17 13:46:34 -07:00
Phil Hagelberg
cbdf49168e Allow :eval-in to be a symbol instead of a keyword. 2012-08-17 13:11:00 -07:00
Phil Hagelberg
fc71f68372 Support setting HTTPS proxy properties. Fixes #706. 2012-08-17 10:13:18 -07:00
Phil Hagelberg
d76f796047 Support picking up :dependencies from profiles in trampoline task.
Fixes #695.
Fixes #732.
2012-08-16 13:47:19 -07:00
Phil Hagelberg
fc7e3c7cb9 Back to snapshot. 2012-08-16 13:17:59 -07:00
Phil Hagelberg
ff8ed7f6a8 Release 2.0.0-preview8. 2012-08-16 11:06:45 -07:00
Phil Hagelberg
d1ba7d7d10 Ensure we don't exit without at least a message. 2012-08-16 10:41:12 -07:00
Justin Balthrop
f263db162a Preserve metadata on project in merge/unmerge/reset-profiles
This fixes the bug that was causing 'lein repl' to hang.
2012-08-14 14:49:57 -07:00
Justin Balthrop
6358a9466d only nedd to print an error about explicit hooks that cannot be resolved 2012-08-14 11:58:08 -07:00
Justin Balthrop
2c8b4ce0cc add missing utils require 2012-08-13 12:06:10 -07:00
Justin Balthrop
e491e76811 report errors better in load-hooks
- report require and activation errors separately
- don't complain if plugin-hooks are missing

Conflicts:
	leiningen-core/src/leiningen/core/utils.clj
2012-08-13 12:01:14 -07:00
Justin Balthrop
c0efbd1e7c use resolve-symbol for hooks and middleware 2012-08-13 11:48:38 -07:00
Justin Balthrop
6f1b58368b combine-profile does not need to keep track of included-profile.
Now it is just a partial around profile-key-merge and can
disappear. I hope dsantiago doesn't get mad.
2012-08-13 11:48:30 -07:00
Justin Balthrop
1f59aa8f99 add resolve-symbol to utils and use it in resolve-task
Conflicts:
	leiningen-core/src/leiningen/core/utils.clj
2012-08-13 11:47:56 -07:00
Justin Balthrop
84c93a28b3 apply middleware whenever project profiles are modified
This can happen in merge-profiles, unmerge-profiles or in the newly
added reset-profiles. All three rebuild the project map from scratch
using `(:without-profiles (meta project))`. This prevents middleware
from being applied twice to the same project map.

We also have to call apply-middleware explicitly in init-project because
we want to load-plugins before applying middleware in this case only. An
alternative would be to load plugins every time project profiles are
modified. @technomancy, what do you think of that option?

Issue #401

Conflicts:
	leiningen-core/src/leiningen/core/main.clj
	src/leiningen/pom.clj
2012-08-13 11:46:09 -07:00
Justin Balthrop
ddc2ca0321 automatically load middleware and hooks from plugins
- this is a first pass at #401
- there are still some questions about the order of everything
- the current implementation may still break #599
2012-08-13 11:36:26 -07:00
Phil Hagelberg
0c594e72a6 Exception handling in main can be simplified now that we're using ex-info. 2012-08-10 11:15:30 -07:00
Phil Hagelberg
c6acc122f1 Improve error message when plugin isn't found. 2012-08-10 10:59:11 -07:00
Phil Hagelberg
e48486f7ee Merge pull request #725 from joegallo/task-typos
Task typos
2012-08-09 15:04:49 -07:00
Phil Hagelberg
0079868188 Better error message for malformed user profiles.clj. 2012-08-09 11:00:10 -07:00
Phil Hagelberg
0c22b5d893 News updates. 2012-08-08 21:05:27 -07:00
Chas Emerick
7489266e9f fix recursive merging of profiles that involve
^:replace and ^:displace meta on nested values
2012-08-08 17:23:31 -04:00
Joe Gallo
5e2ff4ebd3 Only the suggestions that have the same minimum distance. 2012-08-08 09:22:51 -04:00
Joe Gallo
363d1c61c2 Initial crack at suggestions. 2012-08-08 07:42:48 -04:00
Joe Gallo
37aa5ab37a Distance fn from amalloy. 2012-08-08 07:42:26 -04:00
Joe Gallo
49ea29af1a Whitespace. 2012-08-08 07:41:42 -04:00
Phil Hagelberg
6700322a8a Distinguish between false and nil when checking file existence. 2012-08-06 17:32:29 -07:00
Phil Hagelberg
09052b7deb Use when for side-effects, not return values.
Should really blog about this.
2012-08-06 16:09:43 -07:00
Phil Hagelberg
a4d87094ff Temporarily honor numeric exit codes and warn of deprecation. 2012-08-06 12:40:51 -07:00
Michael Klishin
f4cfb8bb5d Merge pull request #709 from oliyh/master
Issue #706 - adding non-proxy-hosts
2012-07-31 04:44:28 -07:00
Oliver Hine
06259b6948 merging http proxy changes 2012-07-31 11:58:35 +01:00
Oliver Hine
af9aeff3ef making http.nonProxyHosts more optional 2012-07-31 11:49:41 +01:00
Oliver Hine
e4e044cc0e propagating non-proxy-hosts to sub processes too 2012-07-30 15:19:51 +01:00
Michael Klishin
5f6db9db30 merging in pitherjo\'s change 2012-07-30 14:03:35 +01:00
oliyh
9604ce9732 Honouring http_no_proxy to complement http_proxy for apache httpcomponents client compatible libraries 2012-07-30 13:47:54 +01:00
Phil Hagelberg
8d3cd95c45 Give nicer messages instead of ex-info subprocess failed traces. 2012-07-27 16:44:49 -07:00
oliyh
ca1de526fe Honouring http_no_proxy to complement http_proxy for apache httpcomponents client compatible libraries 2012-07-27 15:05:26 -07:00
Phil Hagelberg
efdbf06bcb Clean up l.c.eval namespace. 2012-07-27 09:31:54 -07:00
Jon Pither
c89a497e62 using http_no_proxy instead of httpNoProxyHost 2012-07-27 10:34:07 +01:00