A Clojure namespace dependency analyzer.
Add [com.fabiodomingues/clj-depend "0.1.0"]
to :plugins
.
$ lein clj-depend
In case any cyclic dependency is found the analysis will fail with the error message: Circular dependency between "foo" and "bar"
.
To let clj-depend know the existing layers in your application and the allowed dependencies between these layers, create a .clj-depend
directory at the root of the project and inside it a config.edn
file.
Diagram to exemplify the dependency between layers:
graph TD
A[foo.controller] --> B[foo.logic]
A --> C[foo.model]
B --> C
Configuration file (.clj-depend/config.edn
) for diagram above:
{:layers {:controller {:defined-by ".*\\.controller\\..*"
:accessed-by-layers #{}}
:logic {:defined-by ".*\\.logic\\..*"
:accessed-by-layers #{:controller}}
:model {:defined-by ".*\\.model\\..*"
:accessed-by-layers #{:logic :controller}}}}
Can you improve this documentation?Edit on GitHub
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close