Eastwood is a Clojure lint tool that uses the tools.analyzer and tools.analyzer.jvm libraries to inspect namespaces and report possible problems.
Patterns to include in reports.
Note: The input patterns are not applied when running Eastwood in order to follow the source and test paths of each Leiningen project. Therefore, some of the files excluded by the patterns may be processed and you may even see logs related to the excluded files in the job console. However, Inspecode eventually ignores any issues detected on the excluded files when generating job reports.
Patterns to exclude from reports.
Note: Just like
input:, the ignore patterns are not applied when running Eastwood.
Amount of CPU. The default machine has
0.25 CPU with
960 MiB RAM.
Inspecode configures the maximum heap size (
-Xmx) of the Java virtual machine (JVM) by applying a custom profile with
:jvm-opts according to this value.
240 MiB RAM for system, and makes the rest of RAM available to JVM for heap allocation.
-Xmx720m is specified by default (for
-Xmx5520m is specified for
Note: The incremental analysis cannot be supported for Eastwood. This is because Eastwood can only finish linting a file if Clojure itself can compile the file and the results on unchanged files can be affected by changed files. See https://github.com/jonase/eastwood/tree/eastwood-0.2.3#installation--quick-usage for more details.
With default options:
inspecode: eastwood: default
inspecode: eastwood: machine: cpu: 1.5 # 1.5 CPU, 5760 MiB RAM
If there are multiple Leiningen projects (
project.clj files) in single repository, Inspecode detects them and then runs
eastwood for each project.
The dependencies are resolved in the same manner as
lein test. See the
lein test page for the details.