Ensures `-XX:-OmitStackTraceInFastThrow` is always included by default
regardless of user's LEIN_JVM_OPTS. This setting can be overridden in
other profiles by the user.
Aliases are higher order, but also attempts to keep track of tasks via
:arglists metadata. The :arglists update function assumed all tasks
would start with a project arg. However, this isn't necessary: A task
may e.g. have the form [& args] and destructure the project arg inside
the function. This caused lein to incorrectly assume that appending more
arguments to the tasks was an error. (The only tasks I know of right now
that does this is mine, so I should probably take the hint)
I also decided to clean up the drop-partial-args function a bit to make
it more readable.
When we expand composite profiles, we may end up with multiple identical
profiles in the resulting list. However, we should only merge a profile
at most once. To fix this, we dedupe the list and retain the _last_
profile mentioned. We retain the last instead of the first as this
prioritises the last profile merges, which is somewhat important for
tasks like repl, uberjar, and to some extent `with-profile +foo`.
It might be interesting to see if we can get away from this in 3.0.0,
for example by saying that
(= (merge-profiles project [:a]) (merge-profiles project [:a :a])).
Fixes#1824 and fixes#2001.
This isn't a perfect solution to error messages, as GPG bypasses the
stdin and sends data directly to the terminal. As such, things from
"stdin" is printed immediately, whereas stderr is printed through the
JVM. As a consequence, it's almost always the case that the stdin lines
are printed before the stderr lines, even though GPG usually sends them
in the opposite order. But it should give you a better indication when
something bad has happened.
Issue #1904 may accidentally be solved as well, as we now have a
shutdown hook on GPG.
Because on Cygwin JAVA_CMD will be set to an UNIX path. This will result
in a "File not found" exception when the native Leiningen JAVA process
will execute JAVA_CMD.
Checked upgrade command. Condition was wrong and self-modifying batch code
is just ugly.
Testing:
- Remove 2.5.3 JAR file. This will be re-loaded by calling self-install
on the loaded batch file.
- Execute "bin\lein.bat upgrade 2.5.3".
- The batch file will be reverted to the 2.5.3 state and JAR file loaded.
Checked on Windows 7 and Windows 8, with Java Oracle 1.8.0_65.
Improved error detection, especially for downloads. Script
returns non-zero exit code on problems now.
Updated wget link. The original URL does not work any longer.
Supplied a known clean download location, including VirusTotal link.
The slightly re-written structure makes this code work with TCC, too,
so this commit should solve #2019, too.
Quoting has been amended so the code works on Leiningen folders that
contain space characters.
nREPL 0.2.11 added an extremely important source-tracking feature, which is leveraged by CIDER (and probably some other tools). 0.2.12 fixed a critical bug introduced in 0.2.11.
return nil instead of the empty list from parse-github-url. Otherwise
we end up with broken connection and developerConnection params in pom
files when not using github, like in:
<scm>
<connection>scmgit://github.com//.git</connection>
<developerConnection>scmssh://git@github.com//.git</developerConnection>
<tag>03299434f4af53bde0fd4f4000174ae7a7ee0818
</tag>
<url>https://github.com//</url>
</scm>
With this change, the scm section for non-github URLs looks like:
<scm>
<tag>03299434f4af53bde0fd4f4000174ae7a7ee0818
</tag>
<url/>
</scm>
Some wagons can find their own authentication. For example, the S3 wagon can
use IAM roles if it's running on an EC2 instance. For these wagons, all we need
to do is get out of the way.