Clojure support relies on the presence of one of the following:
- A
project.clj
file. lein
in order to retrieve a list of installed dependencies.
Run fossa init
to detect all clojure directories that contain project.clj
.
Add a module with type: clojure
, target
set to the project file and dir
set to the root of the Clojure project.
See Options for an in depth look at all of the available options for a Clojure module.
analyze:
modules:
- name: test/clojure
type: clojure
target: project.clj
dir: clojure/project
options:
strategy: lein
Option | Type | Name | Common Use Case |
---|---|---|---|
strategy |
string | Strategy | Specify a Clojure analysis strategy. |
lein |
string | Lein | Specify the Leiningen command to use |
Manually specify the Clojure analysis strategy to be used. Supported options:
project.clj
: Parseproject.clj
to find all dependencies used.lein
: Runlein deps :tree
to find an accurate dependency graph.
Manually specify the Leiningen command to run for analysis.
The analysis strategy selected determines how analysis is completed for the Clojure analyzer. By default the fossa-cli will follow this list of fallbacks
lein
: This strategy attempts to runlein deps :tree
to retrieve a dependency graph. This strategy is the most accurate and should always be the first choice. It is currently the only way to determine the full list of deep dependencies.project.clj
: This strategy attempts to parse a clojure project file, by defaultproject.clj
, to determine dependencies. This method is robust at determining user specified dependencies which are often only direct dependencies.