Commit graph

1001 commits

Author SHA1 Message Date
Phil Hagelberg
809c7d33ea Document what causes insecure HTTP repository errors.
Fixes #2277.
2017-05-29 15:55:49 -07:00
Phil Hagelberg
3385971e65 Add tests from pedantic lib as well.
Fix HTTP-using jar test.
2017-05-26 11:32:59 -07:00
Phil Hagelberg
c968fa5068 Upgrade Aether via new pomegranate; merge pedantic into leiningen-core. 2017-05-26 11:04:41 -07:00
Phil Hagelberg
1a502050c7 Move plugin conflict warnings to only activate when :pedantic? is set. 2017-05-23 10:09:53 -07:00
Phil Hagelberg
8982e9c5dc Getting false from .mkdirs doesn't mean the directory doesn't exist.
This is such a dumb API.

Also, my key expiring doesn't need to fail the suite any more.
2017-05-18 17:08:14 -07:00
Phil Hagelberg
04d500103b Never use .mkdirs directly; it silently masks errors.
Use leiningen.core.utils/mkdirs so that problems will be found when
they happen.
2017-05-16 15:14:46 -07:00
Iván Perdomo
5e5aeebea9
[#2272] Catch read-string exceptions and print a nicer error
* This is change in behavior, we catch the clojure.core/read-string
  exception and we print it to stderr. The difference is that we
  let the process continue (e.g. `lein repl` starts) and the previous
  behavior was to die (due to the throwing the exception)
* We could mimic the previous behavior by exiting (System/exit 1) on
  this exception.
2017-05-11 08:57:53 +02:00
Iván Perdomo
ae9ae4825d
[#2272] Use clojure.edn/read-string to read profiles files
Using clojure.edn/read-string results in nil instead of an exception

    user=> (edn/read-string "")
    nil
    user=> (read-string "")
    RuntimeException EOF while reading  clojure.lang.Util.runtimeException (Util.java:221)
2017-05-09 05:58:06 +02:00
Phil Hagelberg
9b2792d249 Remove pedantic version warnings in leiningen-core.
[skip ci]
2017-05-05 15:47:45 -07:00
Phil Hagelberg
53fae3ab3e Update list of conflictable bootclasspath deps. 2017-04-26 07:58:22 -07:00
Phil Hagelberg
778a01e482 Merge pull request #2261 from technomancy/repl-outside-project
Make repls outside project run in Leiningen
2017-04-25 15:41:08 -07:00
Phil Hagelberg
aaa3ef161b Warn when trying to load plugins that can't be used.
This addresses the problems seen in #1900 and #1901. It doesn't fix
them because they can't be fixed without breaking other things,
(https://github.com/technomancy/grenchman/issues/34) but at least it
lets people know what is going on and suggests a workaround.
2017-03-28 12:11:49 -07:00
Phil Hagelberg
c1aea4d256 Merge pull request #2258 from firesofmay/catch-no-route-exception
Catch NoRouteToHostException exception
2017-03-23 14:46:32 -07:00
Phil Hagelberg
627d4448d4 Merge remote-tracking branch 'weavejester/smarter-target-profiles'
Conflicts:
	leiningen-core/src/leiningen/core/project.clj
2017-03-23 14:35:02 -07:00
James Reeves
1fe6dce707 Change profiles string to recursively normalize
Composite profiles that are made of other composite profiles should be
recursively normalized when creating the target path string.
2017-03-13 22:31:06 +00:00
Mayank Jain
1d996b378f Catch NoRouteToHostException exception
In case network is down while fetching dependencies and we get
NoRouteToHostException exception, fallback to `:offline? true`
behaviour.

Fixes #2054 issue.
2017-03-13 10:54:19 +05:30
Phil Hagelberg
178f99bf0d Fix misplaced docstring.
[ci skip]
2017-03-07 13:36:13 -08:00
Rovanion Luckey
a445f34fab Removed duplicate of alias clojure.string in leiningen-core's project.clj 2017-03-06 11:43:39 +01:00
James Reeves
5a4f9fca0b Change profiles string to match subseqs
Because order of profiles matters, subsequences rather than subsets
should be substituted for composites.
2017-03-03 19:56:15 +00:00
James Reeves
3981ea4971 Make profiles string in target path smarter
When generating a profile scope string for the target path, any subset
of active profiles that matches a composite profile are replaced with
the composite.

For example, the profiles [:base :system :user :provided :dev :foo]
would be represented as "default+foo", because the :default profile is a
composite of [:base :system :user :provided :dev].
2017-03-01 02:56:02 +00:00
Danielle Tomlinson
b22dc25b3b
Add note about fs permissions in get-deps error 2017-02-08 21:23:03 +01:00
Wes Morgan
8de742d231
Rename artifact-namespace & artifact-name
...to group-id and artifact-id
2017-02-01 19:24:45 -07:00
Wes Morgan
66cef075e8
Add support for string deps in project.clj
This is needed for rare cases where maven artifact-ids and/or group-ids
aren't valid symbols (e.g. they start with a number).

Test coverage added.
2017-02-01 18:45:34 -07:00
Jean Niklas L'orange
bbbead38b2 Bump http maven-wagon, fixes #1966 2017-01-31 11:16:35 +01:00
Phil Hagelberg
a76de08f0d Bump a few versions here and there. 2017-01-20 16:18:10 -08:00
Phil Hagelberg
f42a5cfec3 Bump tools.macro transitive dep. 2017-01-18 13:29:19 -08:00
Jean Niklas L'orange
d82f539d66 Merge pull request #2225 from tobias/new-clojars-repo-url
Use new clojars repo url
2016-12-14 00:59:32 +01:00
Toby Crawley
eb701d3eb2
Update to dynapath 0.2.5
This version addresses two Java 9 related issues:

* 0.2.4 would fail under Java 9 if AOT'd
* the latest Java 9 build (9-ea+148) broke dynapath's reflection to make
  URLClassLoader modifiable
2016-12-09 16:32:26 -05:00
Toby Crawley
21badb1503
Use new clojars repo url
This switches the default repo url (for resolving artifacts, not
deploying) to point to the CDN-fronted repo. Note that this repo won't
work with Java 6 - users of 6 will need to manually override the default
url to point to the old one (https://clojars.org/repo).
2016-11-30 09:32:45 -05:00
Emlyn Corrin
d5a66f7d35 Only warn about each exclusion once
In one of my projects, `lein deps :tree` produces output like the following, I think it would be clearer (and less daunting for the user) to only print out distinct exclusions.

```
Consider using these exclusions:
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-hive_2.11 "2.0.0" :exclusions [org.antlr/ST4 org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-sql_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.apache.spark/spark-core_2.11 "2.0.0" :exclusions [org.slf4j/slf4j-log4j12 org.slf4j/slf4j-api]]
[org.slf4j/slf4j-log4j12 "1.7.12" :exclusions [org.slf4j/slf4j-api]]
```
2016-10-20 00:39:16 +01:00
Chris Price
6c69f563f7 (#2216) Fix bug with managed deps in profiles w/:replace
Prior to this commit, profiles with `^:replace` on the dependencies
list would never end up having their dependencies vector normalized
so that it would have `nil` placeholders for the versions of
dependencies that were inheriting their version from `:managed-dependencies`.

This commit normalizes the dependencies vector of a profile during
initialization, to make sure that it will always be normalized.
2016-10-10 18:55:05 -07:00
Jean Niklas L'orange
abfa7f67ff Allow keyword dependency versions, fixes #2212 2016-09-28 13:32:29 +02:00
Jean Niklas L'orange
c06bc76959 Back to snapshot 2016-09-22 02:48:48 +02:00
Jean Niklas L'orange
150d98b7ae
Release 2.7.1 2016-09-22 01:04:59 +02:00
Jean Niklas L'orange
716d833f48 Let ns-exists? return true on generated namespaces
fixes #2204
2016-09-20 23:06:13 +02:00
Chris Price
1e5d1fd195 Change from concat to into, to ensure vector
Since pomegranate mentions that it likes vectors as inputs to its
functions, this commit changes the normalization function to use
`into` instead of `concat`, to make sure that we get a vector instead
of a sequence.
2016-09-18 10:19:53 -07:00
Chris Price
5bd091a2bf Don't require nil for version in managed deps - fixes #2195
Prior to this commit, if you wanted to use modifiers such as
`:exclusions` or `:classifier` for a dependency whose version you
were managing with `:managed-dependencies`, you would need to
explicitly pass a `nil` as the version string in the dependency
tuple.  This commit adds some logic to coerce the vectors before
they are processed, so that if the version string is simply
omitted instead of being set to `nil`, the `nil` will be implicitly
inserted and things will continue to work as before.

This provides a slightly nicer and more intuitive UX for the
managed-dependencies feature.
2016-09-18 09:21:04 -07:00
Jean Niklas L'orange
309abec275 Back to snapshot 2016-08-24 02:27:09 +02:00
Jean Niklas L'orange
c5d95b7190
Release 2.7.0 2016-08-24 02:18:10 +02:00
Jean Niklas L'orange
54bd09ba11 Merge PR #2159
Conflicts:
	test/leiningen/test/helper.clj
2016-08-21 20:35:15 +02:00
Jean Niklas L'orange
549e248b09 Merge PR #2152
Conflicts:
	leiningen-core/src/leiningen/core/eval.clj
2016-08-21 19:55:55 +02:00
Chris Price
41febc332c Merge pull request #2164 from cprice404/feature/master/support-reading-proj-from-reader
Add support for reading project from Reader instead of file
2016-07-18 10:35:01 -07:00
Toby Crawley
8fb87da2e7
Provide the current clojars certificate [#2170] 2016-07-12 15:32:56 -04:00
Chris Price
2a30d862f6 Add support for reading project from Reader instead of file
In certain cases (e.g. reading a project.clj file out of a jar,
rather than from a file on disk) it is useful for the `read`
and `read-raw` functions to support being passed a `Reader` object,
rather than a File or path.

This commit modifies the `read-raw` function to support being
passed a Reader.  It also modifies the `defproject` macro to
avoid the assumption that `*file*` will always have a non-nil
value, because that assumption causes an NPE in the case where
a Reader is the source of the project definition.
2016-06-23 09:31:20 -07:00
Chris Price
54fda200d7 (#2067) Improve test coverage for managed dependencies
This commit adds some additional dependencies to the test project
file for managed dependencies, and significantly increases the
coverage of the tests.
2016-06-22 14:24:38 -07:00
Chris Price
867b667601 (#2067) Improve comment about call to private pomegranate fn 2016-06-22 11:37:13 -07:00
Chris Price
dd824e572b (#2067) Deprecate 'resolve-dependencies', add managed deps to it
This commit deprecates the `resolve-dependencies` function in
favor of `resolve-managed-dependencies`.  It also conditionally adds
the `:managed-dependencies` key to the execution of the deprecated
function, in hopes of improving backward compatibility for cases
where people are still calling the deprecated version.

It also cleans up a few docstring "TODO"s and adds real docstrings.
2016-06-22 11:22:29 -07:00
Chris Price
27782edb2e (#2067) add support for managed-dependencies
This commit provides initial support for `managed-dependencies`,
where dependency version numbers may be specified in a separate
section called `managed-dependencies`, and those version numbers
will be used for any deps in the main `dependencies` section
that do not explicitly specify a version number.

This is a precursor to being able to specify a "parent" project
that could be used to consolidate version numbers of common
dependencies across a large number of libraries.
2016-06-22 11:20:38 -07:00
Jean Niklas L'orange
49abe11085 Merge pull request #2155 from 3duard0/fix-issue-2082
Fix for issue #2082
2016-06-19 15:41:13 +02:00
Eduardo Seabra Silva
674eb86498 Fix for issue #2156
Usage of with-out-str with eval/sh should be replaced by utils/with-system-out-str
as eval/sh is writing output to System/out.
2016-06-10 01:32:22 -03:00