Adds :leaky and :pom-scope metadata for profiles. The :dev, :test,
:base and :provided profiles are implemented in terms of these.
Profiles with :leaky metadata affect the pom and jar creation.
Profiles with a :pom-scope metadata of :test or :provided also affect
the dependencies of a pom.
We need to revisit this in a way that doesn't involve hard-coding
profile names into the jar and pom tasks. The question of whether the
profile should be visible to downstream consumers should be determined
by data that's part of the profile (or metadata).
Unmerge expanded its profiles based on the profiles in the project
map (which don't include :default), rather than profiles in the
:profiles metadata.
The :default keys were also hard coded in the pom generation, so ignored
any additions.
This is in support of https://github.com/lynaghk/cljx/pull/48
This basically works like in curl, you specify @filename and then the
contents of the file are literally used as if written on the CLI.
@TODO this will not work:
lein repl :connect @./some/file
because there is no realpath resolution
but this works:
lein repl :connect @/full/path
and this as well:
lein repl :connect @some/file
# 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.