Pull out the range transformer into its own project to be used in other places with pomegranate. Extend it to also warn for when dependencies are 1) top level and ignored (due to version range) 2) transative and ignored due to a lower version earlier in the chain Currently this does not provide any instruction of how to change the project.clj to remove the warnings.
Some dependendency graphs can have cycles, and we need to break out. In this case, we'll just check the list of nodes so far on this path for the current node. If its found then we have a cycle, so we can stop checking for version ranges in children. Fixed #1127
Use the new :repository-session-fn keyword for pomegranate to add a DependencyChainFilter that checks for version ranges. We store them in an atom because this might happen on another thread, and we need to allow all of the ranges to be found. Fixes #734
For "important" events, aether gives us enough info to figure out which repo it is happening from. Lets use it instead of trying to match from project data. Previously matching from the project data would be incorrect and output failures or not output anything for transative repos.
Showing every failed repo lookup is bad for users. They see the failure and get confused. Hook up a custom listener that has the following behavior: 1. success -> print out artifact name, size, and repository name 2. failure -> ignore unless it is the last repo, then print out failure message with artifact name. Fixes #610.
Also remove global exclusion handling in pom generation, otherwise it would generate 2 exclusion tags.
1) add java-source-paths; #474. 2) make some good tests 3) remove :test :dev and :default profiles for maven info 4) use :test, :dev, :default profiles for test info
Take some code from depot Take the git scm code from lein 1.x Update sample.project.clj with multiple source/test directories and extensions Creates a similiar pom for sample.project.clj as lein 1.x Use build-helper-maven-plugin for multiple source directories
The classpath was changed to use absolute paths for the checkout dependencies. They were pointing to the wrong directory since the working directory would be the leiningen project instead of the test project. This adds the absolute paths for test projects back, as just changing the classpath does not help for the other tasks.
The test.helper needed to change the project map for the test projects because eval-in-project uses get-classpath, which will return the relative paths for some directories. This breaks in this case since the working directory is not the root of the test project.