allow using test directory; lein2 support; wait for all output before exiting
It is possible for the first future to finish quicker than the others. At which point calling shutdown-agents causes some pieces not to print. A similiar thing can happen with the exit call on error. Process all futures before calling shutdown-agents. Instead of immediately exiting on error, save an exit code to use at the end. Include an await to make sure the agent finishes processing all reports.
Use resolve to load all namespace dependencies. This is the standard way to check and load whats needed from the either lein1 or lein2. This ended up changing most of the function signatures.
Stop adding :generative-path "generative" to the project before running the specs. Then "test" will become the default directory as in the readme. Use (:test-path project) to allow standard lein customizations, like using "src/test/clojure" as the test directory.
Updates for use in :plugins
lein 1.7.0 and lein 2.0.0-previews use :plugins for leiningen plugins. Previously :dev-dependencies represented both plugins and dev-deps. Adding dependencies is now done with changing the project before eval-in-project. See the leiningen plugins doc and lein-swank for more details.
…hat tracks the test.gen version with an additional field tracking the lein-gen version within.