anchor.diff:  
   = Basis and classpath
   
  -The core of the tools.deps library is a process to take a merged deps.edn file, arg maps for the resolve-deps and make-classpath steps, and produce the "runtime basis", or "basis" for short. The basis is a superset of the deps.edn file also containing those args, the lib map, and the classpath map.
  +The core of the tools.deps library is a process to take a merged deps.edn file, arg maps for the resolve-deps and make-classpath-map steps, and produce the "runtime basis", or "basis" for short. The basis is a superset of the deps.edn file also containing those args, the lib map, and the classpath map.
   
   The JVM classpath consists of a series of roots, either directory paths or the path to a jar file. Classes (and Clojure files) map via package or namespace to a path relative to a classpath root. For example, the `java.lang.String` class can be found at path `java/lang/String.class` and the `clojure.set` Clojure namespace may be found at paths `clojure/set.class` (for AOT), `clojure/set.clj`, or `clojure/set.cljc`. When the JVM needs to load one of these files it searches each root for the relative path and loads it when found.
   
  -We divide the process of building a classpath into two primary operations: `resolve-deps` and `make-classpath`.
  +We divide the process of building a classpath into two primary operations: `resolve-deps` and `make-classpath-map`.
   
   == resolve-deps
   
  
positive.code: ** `:extra-deps` - map of lib to coords that should be added to the root deps
  ** `:override-deps` - map of lib to coords that should *replace* deps in the root deps
  ** `:default-deps` - map of lib to coords that should be used if the coord is nil in root or transitive deps
  * make-classpath
  ** `:extra-paths` - vector of string paths (or keyword aliases to same) to add to base paths
  ** `:classpath-overrides` - map of lib to string path to replace lib on classpath
  * jvm opts
  
negative.code: Files cached (if needed):
  
  * `<hash>.libs` - a `::lib-map` in the https://github.com/clojure/tools.deps.alpha/blob/master/src/main/clojure/clojure/tools/deps/alpha/specs.clj[specs], the output of running `resolve-deps`
  * `<hash>.cp` - a classpath string, the output of `make-classpath-map`
  * `<hash>.jvm` - jvm options for main execution
  * `<hash>.main` - main options for main execution
  * `<hash>.basis` - the runtime basis, passed to the program
  