Commit graph

70 commits

Author SHA1 Message Date
Justin Balthrop
9f37f53c5e move dependency and repository merging into meta-merge
This is accomplished with the :reduce metadata, which specifies the
reduce function to use when merging. This allows us to merge
dependencies and repositories deeply like other structures. Note that
dependencies are transformed into a map before they are merged and then
transformed back into a vector.

Also change the way that collections are merged. They used to be merged
by taking the right collection and prepending it to the left collection.
This behavior was needed for :*-paths in defproject, but it is not an
obvious default. Now, the default is to append the right collection, but
the :prepend metadata can be used to tell meta-merge to prepend instead.
By default, :source-paths, :resource-paths and :test-paths have :prepend
set to true.
2012-10-08 18:27:40 -07:00
Chas Emerick
268d723796 Add support for:
* namespaced keywords to control lookup of credentials in env vars
* using a vector to define a number of credential sources to be checked in series

(gh-768)
2012-10-05 06:09:54 -04:00
Nelson Morris
d254dae544 Reduce output for dependency resolution
Showing every failed repo lookup is bad for users.
They see the failure and get confused.

Hook up a custom listener that has the following behavior:

1. success -> print out artifact name, size, and repository name
2. failure -> ignore unless it is the last repo, then print out failure
   message with artifact name.

Fixes #610.
2012-09-05 14:59:53 -05:00
Ryan Fowler
c3bd307da4 Propogates the file.encoding system property to subprocesses
On a coworker's Mac, the default file encoding was apparently
MacRoman. The -Dfile.encoding=UTF-8 that's in the lein shell script
wasn't being propogated to subprocesses which caused rage and the
replacement character.
2012-08-29 17:40:40 -05:00
Phil Hagelberg
037cc96941 Perform de-duplication on :repositories. 2012-08-23 14:35:25 -07:00
Phil Hagelberg
b5a193d331 Switch :repositories to vector format to preserve ordering.
See http://librelist.com/browser/leiningen/2012/8/17/ordering-issues-with-repositories/
for motivation.
2012-08-23 14:34:58 -07:00
Justin Balthrop
ff5524bdf1 support disabling autoload of plugin hooks and middleware 2012-08-23 13:29:37 -07:00
Justin Balthrop
d7488b2bf9 add breaking test for #742 2012-08-23 12:39:44 -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
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
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
5618a861d6 Don't decrypt credentials.clj.gpg for every request. Fixes #657. 2012-06-25 13:59:30 -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
1be0c5edb9 Move task chaining to do task. Fixes #632. 2012-06-09 21:48:23 -07:00
Phil Hagelberg
5a1762d0e2 Remove test for deprecated :repository-auth settings. 2012-05-30 21:08:43 -07:00
Phil Hagelberg
b82ba5e423 Use ~/.lein/credentials.clj.gpg instead of :auth profile. 2012-05-28 13:47:29 -07:00
Phil Hagelberg
34eb0a5d22 Use https for clojars. 2012-05-28 13:46:14 -07:00
Phil Hagelberg
6fc245a082 Remove test for init-project.
This function now only does stateful irreversible things that are
difficult to test.
2012-05-27 21:57:47 -07:00
Craig McDaniel
9b2584749b Renaming test to better reflect what it is actually testing. 2012-05-22 23:45:30 -04:00
Craig McDaniel
3fbafc7b84 Proxy environment variables are now converted to -Dhttp.proxyHost and
-Dhttp.proxyPort JVM args for subprocesses. Fixes #594.
2012-05-22 23:34:38 -04:00
Phil Hagelberg
aee8aaa4f4 Allow :replace/:displace metadata to work on :dependencies entries. 2012-05-21 11:54:48 -07:00
Phil Hagelberg
0217536ffa Fix classpath test. 2012-05-11 14:20:20 -07:00
Phil Hagelberg
176bcf5e6d Add :update support at the top-level of the project map. 2012-05-11 11:44:42 -07:00
Phil Hagelberg
3ec53df722 Fix tests to not spew out "stale" directories in root. 2012-05-10 11:45:02 -07:00
Phil Hagelberg
df6e39b38a Fix JVM_OPTS with spaces, mostly. Closes #565.
Spaces in opts will still break when a space is followed by a dash.
Use :jvm-opts in profiles if you can.
2012-05-10 11:45:02 -07:00
David Santiago
a7707f0fff Fix formatting of lein-core/project test. 2012-05-09 12:29:32 -07:00
David Santiago
0f07df9f4c Add tests for unmerge-profiles and merging anonymous profiles through merge-profiles. 2012-05-09 11:23:30 -07:00
David Santiago
3fe6650a19 Fix bugs in unmerge-profiles. Add a test for unmerge-profiles. 2012-05-09 03:00:13 -07:00
David Santiago
482680ad24 Make add-profiles work even when there is no without-profiles metadata. Add a test for add-profiles. 2012-05-09 02:36:27 -07:00
Phil Hagelberg
7a04b5b5c2 Ignore user profiles in classpath tests. Fixes #550.
May need a more global approach to this problem.
2012-04-29 17:30:35 -07:00
Hugo Duncan
ccd3f58465 Decouple init-project from l.c.project/read
Reading a project should be side affect free. init-project modifies the current
classloader (and possible installs a new context classloader), so should not be
part of leiningen.core.project/read.
2012-04-29 09:07:51 -04:00
Chas Emerick
18d58964d5 test for init-project 2012-04-24 13:27:07 -04:00
Phil Hagelberg
5f5c0cdbab Fix native-path and repl test failures. 2012-04-18 21:51:50 -07:00
Nelson Morris
3076100706 Handle global exclusions in all dependency cases. Fixes #498
Also remove global exclusion handling in pom generation, otherwise
it would generate 2 exclusion tags.
2012-04-04 19:02:54 -05:00
Phil Hagelberg
6e225eb0a9 Test needs to set-ize things. 2012-03-29 17:10:58 -07:00
Nelson Morris
d633fad0b6 Let deps :tree print a dependency tree 2012-03-22 22:27:16 -05:00
Phil Hagelberg
28397ad6eb Test :exclusions. 2012-03-01 15:31:12 -08:00
Phil Hagelberg
5e7808796f Move :dependencies back to vector-of-vectors. 2012-03-01 15:31:08 -08:00
Phil Hagelberg
861e4f08ea Make leiningen-core dirs visible when testing leiningen proper. 2012-03-01 15:30:50 -08:00
Phil Hagelberg
71874208f3 Move normalization out of defproject into top-level comp. 2012-03-01 11:17:40 -08:00
Phil Hagelberg
d0768feb11 Move prep-tasks out of atom into :default profile. 2012-02-24 15:55:55 -08:00
Phil Hagelberg
03aa94c661 Implement :middleware. 2012-02-24 15:38:10 -08:00
Chas Emerick
f0a17e3aad missed a test 2012-02-23 18:42:39 -05:00
Phil Hagelberg
ae37356845 Update tasks to use plural paths. Use :resource-paths instead of resources. 2012-02-22 16:43:17 -08:00
Phil Hagelberg
74c264fa59 Switch to "input" paths as plural keys. 2012-02-22 12:08:22 -08:00
Phil Hagelberg
7d8dca635d Use ordered maps for :dependencies and :repositories. Fixes #400. 2012-02-19 22:10:09 -08:00
Phil Hagelberg
1c41bf0d17 Expose :repository-auth from user profiles to pomegranate. 2012-02-19 21:18:12 -08:00
Phil Hagelberg
69b03bf327 Fix a few leiningen-core tests. 2012-02-19 15:36:05 -08:00
Julian Birch
7f58cbcee5 Added support for replacing/displacing profile values instead of merging. 2012-01-28 21:10:52 +00:00
Tim McCormack
ea91d3f1e9 Fix version comparison for multi-digit version segments (e.g. 1.273) 2012-01-23 20:45:38 -05:00