# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
1. Reorganise tests a bit so loading property still checked.
2. Add explicit exception if unexpected type to `collapse-function`
3. Unrelated addition of test to show leading `:` ignored in nested paths
Failure must have something to do with namespace state that
changes between running tests in REPL and running the full suite.
Test is not an important property, so just commenting out.
Not sure what you think of creating this kind of coupling in the tests.
This were useful tests for driving the previous commits, but happy to
delete them now.
One wart to notice is that argument order is switched between
`bump-version-map` and `bump-version`. This is because the `lein.change`
semantics enforce that version-string is the first argument.
Have not added tests for this function, do you think we should?
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
1. Look up functions based on "run-*" pattern
2. Support consistent argument passing scheme
3. Crude bump-version task
4. Some refactoring
Not great at structuring Clojure code, so open to tips to organise
this namespace better!
Adds a member to each testcase vector that represents the original version
string minus the quantifier, or just the original version string itself in the
case of the version string being an invalid maven version.
Signed-off-by: Wayne <wayne@puppetlabs.com>
parse-maven-version is a modified copy of the same function found in
relaynetwork/lein-release. Also began working on unit tests.
Signed-off-by: Wayne <wayne@puppetlabs.com>
It used to be we would merge a bunch of profiles into the project, and
then trim out dupes based on group/artifact/version, which was totally
wrong; it ignores classifiers and extensions.
Still get a couple warnings... We don't really care about the
unlimited-use warnings from clojure.test, and there are a couple
warnings we get stemming from bugs/limitations in Eastwood.
closes#1469
`lein run` currently has some special error handling around
FileNotFoundException which helps it decide what exactly it should
do. Unfortunately if the actual running of the given main function
itself throws a FileNotFoundException this is currently caught by
Leiningen and assumed to be a require error.
The simple solution is to run the main method outside of that error
handling block.
Regression test provided.
Also made unit tests safer and faster using with-redefs to mock out
calls to delete-file-recursively.
Better error messages when a path is being protected.
It was a bit janky and hard to extend. This is maybe still janky, but
very extensible. Win?
We can now easily add new options to this command. I took some pains to
maintain backwards compatibility, even with the undocumented ability to
pass arguments on to templates. The full extent of this syntax isn't
documented in the docstring yet, but I'll expand that once we support
options that expose its darker corners.
connect-string now verifies that the string ends with a port after the
string is fully formed, aborting if no port is found. This also
includes improvements to the repl help text, and more test coverage
for connect-string.
According to the [jar file specification](http://docs.oracle.com/javase/7/docs/technotes/guides/jar/jar.html)
> For resource files with non-empty directory prefixes, mappings are also
> recorded at the directory level. Only for classes with null package
> name, and resource files which reside in the root directory, will the
> mapping be recorded at the individual file level.
If needed, directory entries may be excluded using `:jar-exclusions`
regex like `#"^.*/$"`.
The old method skipped tests by adding a hook to
clojure.test/test-var, the problem being that :each fixtures
associated with the test have already run at that point, which is
unideal.
This change skips test by removing their :test metadata before running
the tests at all, which causes clojure.test to not see it as a test.
We use ns-interns to enumerate the vars, the same way clojure.test
does.
Projects created by "lein new" are meant to be licensed under the EPL as noted
in project.clj and README.md. One requirement of the EPL is, however, that "a
copy of this Agreement [the EPL] must be included with each copy of the
Program." [0].
This means that projects created by leiningen cannot be legally distributed if
the author fails to add the LICENSE him/herself. This patch fixes this issue
by creating a LICENSE file with a plain text copy of the EPL 1.0 (cf. [0]) by
default for new projects.
[0] http://www.eclipse.org/legal/epl-v10.html → 3. REQUIREMENTS
Ref #1260, all uberjars generated without any specific profile
additions/deletions are now put in the folder `target/uberjar+provided`.
That's not intentional, right?
We want missing namespaces in :aot to not be silently ignored.
Implemented by removing the file-existence check from the function
that determines which namespaces need to be compiled.
This means we won't get the error if you compile an existing namespace
and subsequently delete the *.clj file. Oh well.
Despite the documentation on java.util.jar.Manifest [1], the Manifest class
seems to require an endline in its input. If not, it drops the last line (on my
system, version [2], anyway).
[1] http://docs.oracle.com/javase/6/docs/technotes/guides/jar/jar.html
[2] $ java -version
java version "1.7.0_21"
OpenJDK Runtime Environment (IcedTea 2.3.9) (7u21-2.3.9-0ubuntu0.12.04.1)
OpenJDK 64-Bit Server VM (build 23.7-b01, mixed mode)
lein run tries to support invoking static methods on classes by
swallowing FileNotFoundExceptions when requiring the namespace to run,
which can obscure the real error when there's a real issue loading a
namespace.
Phil said he wasn't interested in keeping the (undocumented) feature
around, so the easiest fix to the error message problem was to remove
that feature.
Added a test as well.
merged all commits to date which required adding "dev-resources" so a
test wouldn't fail
`bin\lein test` tested under windows (currently 2 failures and 1 error)