Commit graph

2318 commits

Author SHA1 Message Date
Phil Hagelberg
bf50b253ec Mention other languages in mixed-projects. 2012-10-10 09:28:24 -07:00
Phil Hagelberg
67bbd4b97b There's nothing wrong with re-using :source-paths for java. 2012-10-10 09:26:44 -07:00
Michael S. Klishin
cf4c049970 New documentation guide: mixed Clojure/Java projects 2012-10-10 04:33:16 +04:00
Justin Balthrop
eda91bdf05 Merge pull request #810 from technomancy/last-wins
change with-profile from first-wins to last-wins
2012-10-09 13:10:26 -07:00
Justin Balthrop
5893c1406a keep track of :active-profiles when merging
This is a list of all named profiles that have been merged in, after
following composite profile. This is different from :included-profiles
which is the list of profiles before composite profiles have been
expanded.
2012-10-08 18:27:40 -07:00
Justin Balthrop
0e02ad7164 switch with-profile to last-wins
This patch switches with-profile so that the last profile specified
wins. This is more in line with the way clojure.core/merge works.

For more info, see:
http://librelist.com/browser/leiningen/2012/9/12/changing-with-profile-from-first-wins-to-last-wins/#ff32b118546fa95d0960f2247e190c18
2012-10-08 18:27:40 -07:00
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
Justin Balthrop
5b76a2eb6a add leiningen.core.project/make
Move some defproject logic out of the macro into project/make.
2012-10-08 16:45:35 -07:00
Justin Balthrop
11037d7ddb rename profile-key-merge to meta-merge 2012-10-08 16:10:38 -07:00
Justin Balthrop
d24e36a63b move hooke-injection closer to where it is used 2012-10-08 15:46:51 -07:00
Phil Hagelberg
fd759e6cc1 Merge pull request #807 from technomancy/mk-tutorial-improvements
Minor tutorial improvements
2012-10-06 15:48:30 -07:00
Michael S. Klishin
c5de124677 Minor tutorial improvements 2012-10-07 02:16:40 +04:00
Phil Hagelberg
7adb435ca7 Merge pull request #803 from tobias/help-for-subtasks
Support subtask specific help via 'lein help task subtask'
2012-10-05 14:53:54 -07:00
Tobias Crawley
6998dd6929 Support subtask specific help via 'lein help task subtask'
The help task will first look for static help under
'leiningen/help/task-subtask', then for a function name 'help-subtask' in the
subtask's namespace, then a docstring on the subtask function. For the latter
two options, the arglists are also printed.
2012-10-05 14:37:58 -04:00
Chas Emerick
102dcadf9f docs update for changes to resolution of repository credentials (gh-768) 2012-10-05 06:26:50 -04:00
Chas Emerick
b06a04593a re-add support for :creds :gpg, add warning for anyone using e.g. :username :gpg to get all creds for a repo (gh-768) 2012-10-05 06:14:13 -04: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
Phil Hagelberg
856207caf0 Load plugins in set-profiles. Fixes #772. 2012-10-04 16:24:36 -07:00
Phil Hagelberg
929b09c1ba Allow repl profile to be overridden from project.clj. Fixes #789. 2012-10-04 10:22:22 -07:00
Phil Hagelberg
ff0e95baf0 Debug output in apply-task. 2012-10-04 09:36:21 -07:00
Phil Hagelberg
b5dc41a682 Fix repl tests. 2012-10-04 09:26:14 -07:00
Phil Hagelberg
d23d9293fb Improve trampoline help. 2012-10-04 09:23:25 -07:00
Jeff Dik
c174a51163 project.clj: add exclusion for sisu-inject-plexus
Fixes:

Recalculating Leiningen's classpath.
Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.sonatype.sisu/sisu-inject-plexus "2.2.3"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.sonatype.sisu/sisu-inject-plexus]] to get [org.sonatype.sisu/sisu-inject-plexus "2.2.3"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.sonatype.sisu/sisu-inject-plexus]] to get [org.sonatype.sisu/sisu-inject-plexus "1.4.3"].Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"] -> [org.codehaus.plexus/plexus-utils "2.0.5"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.codehaus.plexus/plexus-utils "2.0.7"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.codehaus.plexus/plexus-utils]] to get [org.codehaus.plexus/plexus-utils "2.0.7"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.codehaus.plexus/plexus-utils]] to get [org.codehaus.plexus/plexus-utils "2.0.5"].Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"] -> [org.codehaus.plexus/plexus-classworlds "2.2.3"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.codehaus.plexus/plexus-classworlds "2.4"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.codehaus.plexus/plexus-classworlds]] to get [org.codehaus.plexus/plexus-classworlds "2.4"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.codehaus.plexus/plexus-classworlds]] to get [org.codehaus.plexus/plexus-classworlds "2.2.3"].
2012-10-03 10:01:33 -07:00
Phil Hagelberg
a2285f1194 Merge pull request #801 from jcrossley3/242
Include namespace metadata in test-selector predicates, fixes #242
2012-10-03 08:19:39 -07:00
Jim Crossley
e770d5e649 Include namespace metadata in test-selector predicates, fixes #242
More specific metadata wins, e.g. deftest trumps its namespace.

Also tweaked the tests a bit so that actual/expected results are now
shown in the output.
2012-10-02 19:38:35 -04:00
Phil Hagelberg
4f507a207e Reverting "project.clj: add exclusion for sisu-inject-plexus"
This reverts commit ca4cbbfa85.
2012-09-29 20:21:18 -07:00
Phil Hagelberg
7daaad27e2 Merge pull request #797 from jeffdik/master
Fix for dependency resolution conflict: sisu-inject-plexus 1.4.3 vs. 2.2.3
2012-09-29 14:30:34 -07:00
Jeff Dik
ca4cbbfa85 project.clj: add exclusion for sisu-inject-plexus
Fixes:

Recalculating Leiningen's classpath.
Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.sonatype.sisu/sisu-inject-plexus "2.2.3"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.sonatype.sisu/sisu-inject-plexus]] to get [org.sonatype.sisu/sisu-inject-plexus "2.2.3"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.sonatype.sisu/sisu-inject-plexus]] to get [org.sonatype.sisu/sisu-inject-plexus "1.4.3"].Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"] -> [org.codehaus.plexus/plexus-utils "2.0.5"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.codehaus.plexus/plexus-utils "2.0.7"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.codehaus.plexus/plexus-utils]] to get [org.codehaus.plexus/plexus-utils "2.0.7"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.codehaus.plexus/plexus-utils]] to get [org.codehaus.plexus/plexus-utils "2.0.5"].Failing dependency resolution because
[org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]]] -> [org.sonatype.sisu/sisu-inject-plexus "1.4.3"] -> [org.codehaus.plexus/plexus-classworlds "2.2.3"]
is overrulling
[leiningen-core "2.0.0-SNAPSHOT"] -> [com.cemerick/pomegranate "0.0.13" :exclusions [[org.slf4j/slf4j-api]]] -> [org.sonatype.aether/aether-connector-wagon "1.13.1"] -> [org.codehaus.plexus/plexus-classworlds "2.4"]
Please use [org.apache.maven.indexer/indexer-core "4.1.3" :exclusions [[org.apache.maven/maven-model] [org.sonatype.aether/aether-api] [org.sonatype.aether/aether-util]] :exclusions [org.codehaus.plexus/plexus-classworlds]] to get [org.codehaus.plexus/plexus-classworlds "2.4"] or use [leiningen-core "2.0.0-SNAPSHOT" :exclusions [org.codehaus.plexus/plexus-classworlds]] to get [org.codehaus.plexus/plexus-classworlds "2.2.3"].
2012-09-29 19:44:29 +00:00
Justin Balthrop
80ec48e9b6 Print message when installing jar locally. 2012-09-27 14:01:12 -07:00
Justin Balthrop
123b929ec7 Fix environment passing to project JVM.
Runtime#exec takes an array of strings of the form "key=val", but we
were previously passing an array of interspersed keys and vals.
2012-09-27 13:46:35 -07:00
Justin Balthrop
c369447c8b support :os and :arch options in project map
Use :arch option to provide -d32 or -d64 option to project JVM.
2012-09-27 13:44:11 -07:00
Justin Balthrop
b7b61e9655 always extract native deps from snapshot jars
- fixes #796
- also add token param to when-stale, because otherwise multiple callers
  of with-stale can contaminate each other's results
2012-09-27 13:23:34 -07:00
Justin Balthrop
48bea66ea0 use -classpath instead of -cp so that jdb can be used for :java-cmd 2012-09-27 11:22:03 -07:00
Justin Balthrop
52d33ef15e ignore things like .leinrc too 2012-09-27 11:18:36 -07:00
Michael Klishin
307ac9d628 Merge pull request #795 from juergenhoetzel/master
Reworked classpath setup: bin/lein
2012-09-26 12:24:14 -07:00
Juergen Hoetzel
8f9c246f14 code reuse: context specific CLASSPATH is used checkout and non-checkout 2012-09-26 20:34:27 +02:00
Juergen Hoetzel
26af2db2b7 use bash helper function add_path to setup classpath
instead of conditionally (cywin/unix) constructing the classpath using
bash assignment.
2012-09-26 20:14:41 +02:00
Juergen Hoetzel
e0398e0819 Add bash function add_path for (class)path setup 2012-09-26 19:48:17 +02:00
Michael S. Klishin
b86095c61b Handle the default field case 2012-09-22 04:42:59 +04:00
Michael S. Klishin
e732c9f3ff Fail if the field we are searching over is unsupported
This is not a very user-friendly way of failing but OK for now
2012-09-22 04:41:57 +04:00
Michael S. Klishin
3675690ade Print which field we are searching over 2012-09-22 04:37:47 +04:00
Michael S. Klishin
9c4c5c780c Allow searching over fields other than artifact id, fixes #243
Examples:

# searches over artifact id (the default field)
$ lein search clojure
$ lein search "Riak client"

# search for artifacts in a specific group
$ lein search group:clojurewerkz
$ lein search g:clojurewerkz

# search over description
$ lein search d:clojurewerkz
$ lein search description:clojurewerkz
2012-09-22 04:25:18 +04:00
Michael S. Klishin
e06bd2e66c Ignore all .lein\* files 2012-09-22 03:29:05 +04:00
Michael S. Klishin
14ccb65e3e Display a message before we update the search index
Otherwise it looks as if `lein search` has locked up for minutes or is in
an infinite loop.
2012-09-22 03:26:27 +04:00
Phil Hagelberg
80fa726879 Merge pull request #790 from technomancy/per_project_repl_history
Add default REPL history file locations, per-project and globally
2012-09-18 17:01:05 -07:00
Michael S. Klishin
51936c03d4 Add default REPL history file locations, per-project and globally
When lein repl is launched in a directory with project.clj ("in project"), the
location is ./.lein-repl-history.

When lein repl is running in a directory without project.clj ("globally"), the
location is ~/.lein/repl-history.

Fixes #751
2012-09-19 03:57:44 +04:00
Phil Hagelberg
2c2f13283b Merge pull request #786 from technomancy/global-offline-flag
If LEIN_OFFLINE env var is set, assume offline mode by default
2012-09-18 16:18:46 -07:00
Michael S. Klishin
dc9fd48376 Make LEIN_OFFLINE take precedence over what's in project.clj
Per discussion with @technomancy
2012-09-19 03:16:18 +04:00
Colin Jones
51b4bade31 Bump clojure-complete dependency 2012-09-18 08:33:34 -05:00
Michael S. Klishin
387e624838 If LEIN_OFFLINE env var is set, assume offline mode by default. References #678. 2012-09-18 13:00:29 +04:00