-
-
Notifications
You must be signed in to change notification settings - Fork 179
Setting Clojure version
There are two ways to set which Clojure version Boot is using:
- Globally using
BOOT_CLOJURE_VERSION
environment variable - Per project using
boot.properties
file
This sets the Clojure version for core pod (build.boot context). It is used e.g. for REPL.
Additionally in your application you should also add a dependency to the same
Clojure version. Otherwise it is possible that your dependencies have transitive dependency to Clojure causing that version to be used instead of one defined by BOOT_CLOJURE_VERSION
for pods created by tasks.
(set-env!
:dependencies [[org.clojure/clojure "1.7.0"]])
Libraries (including Boot tasks) shouldn't depend directly on a Clojure version. Instead, they should use :scope "provided"
qualifier with a Clojure dependency. This qualifier makes the dependency non-transitive. Then the dependency works as a documentation about required Clojure version.
The earliest version of Clojure supported by Boot is 1.6.0.
You can create the boot.properties
file using following command:
$ boot -V > boot.properties
And then editting the file to contain proper Clojure version:
#https://github.com/boot-clj/boot
#Sat Jun 13 17:56:35 EEST 2015
BOOT_CLOJURE_VERSION=1.7.0
BOOT_VERSION=2.1.2
Note: When using boot.properties
file you have to also pin the project to specific Boot version as the file must specify both variables.
You can find other developers and users in the #hoplon
channel on freenode IRC or the boot slack channel.
If you have questions or need help, please visit the Discourse site.
- Environments
- Boot environment
- Java environment
- Tasks
- Built-ins
- Third-party
- Tasks Options
- Filesets
- Target Directory
- Pods
- Boot Exceptions
- Configuring Boot
- Updating Boot
- Setting Clojure version
- JVM Options
- S3 Repositories
- Scripts
- Task Writer's Guide
- Require inside Tasks
- Boot for Leiningen Users
- Boot in Leiningen Projects
- Repl reloading
- Repository Credentials and Deploying
- Snippets
- Troubleshooting
- FAQ
- API docs
- Core
- Pod
- Util