Commit graph

443 commits

Author SHA1 Message Date
Phil Hagelberg
f6e5959e7c Fix with-profiles to work outside project dir. 2012-08-22 11:59:51 -07:00
Phil Hagelberg
8e15d2ded5 Document profile merge logic a bit. 2012-08-22 11:41:04 -07:00
Phil Hagelberg
00ee950ef9 Load hooks inside reset-profiles. Fixes #740. 2012-08-22 11:40:51 -07:00
Phil Hagelberg
4a6953c881 Rename with-profiles to reset-profiles.
with-profiles is too close to the task name, especially considering
the with-profile task is aliased to with-profiles.
2012-08-22 11:31:25 -07:00
Phil Hagelberg
19ed0ea0b6 Fix out-of-project repls. 2012-08-22 10:42:57 -07:00
Phil Hagelberg
a04be9b655 Don't store prep blocker on project metadata. 2012-08-22 10:02:55 -07:00
Phil Hagelberg
cc16a95a59 Collapse load-hooks into one doseq. 2012-08-22 10:01:57 -07:00
Phil Hagelberg
9b22d6cdd7 The newnew plugin lives in default-profiles, not the default project. 2012-08-22 09:32:16 -07:00
Justin Balthrop
6cf023e101 rename reset-profiles to with-profiles 2012-08-21 18:46:09 -07:00
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
Jon Pither
732b7c4fbd using http_no_proxy instead of clunky httpNoProxyHost 2012-07-27 10:29:53 +01:00
Jon Pither
7910c2f59e passing non-proxy-hosts though to pomegranate if present as environmental arg 2012-07-26 14:36:06 +01:00
Phil Hagelberg
6ddc6b71a6 Bump ordered dependency. Fixes #697. 2012-07-24 17:32:30 -07:00
Alex Osborne
1bac2ef834 Update bundled clojars.org SSL certificate. Fix #692
The new certificate is trusted by Oracle JVMs by default but there
are still some users with JVMs that don't have any default root certs
at all.  The FreeBSD OpenJDK packages are apparently one such example.
2012-07-19 14:39:50 +10:00
Justin Balthrop
b41db4d03c use composite profiles for :default
You can now overide :default in your project.clj to change what profiles are
active when none are specified. As part of this change, default is no longer
used to for built-in settings; these are now stored in the :base profile.
This makes it possible to override :default while still including the :base
profile.
2012-07-18 17:37:19 -07:00
Justin Balthrop
c36274b52e separate combine-profile out into its own function for dsantiago 2012-07-18 17:37:19 -07:00
Justin Balthrop
cadfe5c92c add support for composite-profiles
if a profile value is a vector, then combine the values using
combine-profiles. this allows you to remove duplication by putting
shared configuration in "base" profiles.
2012-07-18 17:37:19 -07:00
Phil Hagelberg
41c85ead1b Unify exit code handling with ex-info. 2012-07-17 21:11:37 -07:00
Justin Balthrop
9f6f1cc78f read profiles from PROJECT_ROOT/profiles.clj
This is useful as a place to put profile information that you don't
want committed. e.g. deployment server lists, passwords, etc...
2012-07-17 19:14:21 -07:00
Bruce Adams
94729fac33 Add aliases for -help and -version
This is helps people coming from the Java world. "java" accepts -help
and -version, and neither --help nor --version. With this commit,
Leiningen accepts long names with either single or double dashes.
2012-07-12 08:35:29 -04:00
Bruce Adams
20c266a60d "aliases" need not be an atom, now it isn't 2012-07-12 08:31:31 -04:00
Bruce Adams
ff1476a50d Remove redundant "help" aliases 2012-07-12 07:51:45 -04:00
Phil Hagelberg
066b557e97 Merge remote-tracking branch 'Moocar/prep-tasks'
Conflicts:
	leiningen-core/src/leiningen/core/eval.clj
2012-07-11 17:12:14 -07:00
Bruce Adams
d233dc64fb Intercept "help" after task name, issue #629 2012-07-11 19:45:29 -04:00
Phil Hagelberg
7a812270d9 Auto-detect wagons from plugins. 2012-07-09 16:32:45 -07:00
Anthony Marcar
1dab145352 prep-tasks handles both strings and vectors 2012-07-08 23:10:21 -07:00
Anthony Marcar
5b73ce321b added prep-tasks which allows prep tasks to include args 2012-07-08 22:13:05 -07:00
Phil Hagelberg
4beeb70d1c Allow successive eval-in-project calls with trampoline. Fixes #665. 2012-07-08 13:47:44 -07:00
Phil Hagelberg
4c4502aacd Formatting of chaining warning. 2012-07-03 22:37:32 -07:00
Phil Hagelberg
36856e4fad Drop back to 2.0.0-SNAPSHOT, hopefully for the last time. 2012-06-27 16:54:31 -07:00
Phil Hagelberg
811e974174 Release 2.0.0-preview7. 2012-06-27 16:45:13 -07:00
Phil Hagelberg
a6659e15fa Documentation, news, todo updates. 2012-06-27 16:06:48 -07:00
Phil Hagelberg
c79349d568 Add clojars to default :deploy-repositories. 2012-06-27 15:07:09 -07:00
Phil Hagelberg
7de4e12f4b Look up aliases in prep and trampoline. 2012-06-27 10:32:57 -07:00
Phil Hagelberg
5775c6a2b8 Allow user-level repositories which contain credentials only. 2012-06-27 10:10:45 -07:00
Michael S. Klishin
1d2674ab11 Add an example to the warning about task chaining
This may or may not matter in interactive use but for upgrading users on travis-ci.org it will
save some confusion.
2012-06-27 12:03:33 +04:00
Phil Hagelberg
70695f5868 Work with latest pomegranate deploy-artifacts signature. 2012-06-26 17:31:36 -07:00
Phil Hagelberg
2fffac4854 Deploy signatures along with jars and poms.
Currently depends on pomegranate branch:
https://github.com/cemerick/pomegranate/pull/27
2012-06-26 17:31:36 -07:00
Phil Hagelberg
f00c985d4e Use both built-in :leiningen/test profile and :test profile in test task. 2012-06-25 16:33:28 -07:00
Phil Hagelberg
5618a861d6 Don't decrypt credentials.clj.gpg for every request. Fixes #657. 2012-06-25 13:59:30 -07:00
Phil Hagelberg
a32abdf51c Plumb through mirror support to pomegranate. Fixes #271.
Won't actually be visible until pomegranate is bumped to 0.0.13.
2012-06-25 11:08:59 -07:00
Phil Hagelberg
519d793b5f Make problems loading project.clj explicit. Fixes #648. 2012-06-24 21:56:19 -07:00
Phil Hagelberg
de751e97d7 Pull in latest lein-newnew. 2012-06-22 20:47:20 -07:00
Phil Hagelberg
b7c6a63fd5 Qualify implicit ::test profile. Fixes #659 for real, hopefully. 2012-06-22 13:19:46 -07:00
Phil Hagelberg
9a04a356a5 Move hooke injection to :test profile. Fixes #659. 2012-06-22 11:26:49 -07:00
Phil Hagelberg
8d5b8698bd Honor :classifier and :extension when de-duping deps.
Fixes #645.
2012-06-18 20:09:59 -07:00
Phil Hagelberg
93a7042f47 Fix when-stale invocation for native extraction. Fixes #647. 2012-06-18 15:49:14 -07:00
Phil Hagelberg
2185d3809c Remove faked out exit code. 2012-06-18 15:41:51 -07:00
Jacek Laskowski
03d4411da5 Fix for Issue #589 lein 2 leaves 'stale' directories all over the place 2012-06-18 23:16:33 +02:00
Phil Hagelberg
7a2bd4dd2a Move tiered compilation out of profiles and injections into them. 2012-06-15 10:48:41 -07:00
Phil Hagelberg
c263783455 Turn :bootclasspath off by default; too many issues for now. 2012-06-15 10:48:26 -07:00