Skip to content
Ben Sima edited this page Aug 15, 2016 · 5 revisions

Boot Frequently Asked Questions

  1. What does BOOT_EMIT_TARGET mean?

    This Java environment variable controls automatic (implicit) synchronization of fileset to target path. This synchronization occurs automatically upon completion of pipeline processing, but it is deprecated. The preferred way to synchronize is to explicitly add the target task to the pipeline. (See "Target is a Task" in Boot 2.5: Slow is smooth, smooth is fast.) In future, the default will be to not synchronize automatically on pipeline completion; in the meantime, BOOT_EMIT_TARGET can be used to turn automatic synchronization off. To make this the default for all of your projects, put BOOT_EMIT_TARGET=no in ~/.boot/boot.properties.

    For example, with BOOT_EMIT_TARGET=no, the command boot aot -a will aot-compile Clojure files, but it will not write them to the target path. To get that, append the target task to the pipeline: boot aot -a target -d "build/classes".

  2. What does "Implicit target dir is deprecated, please use the target task instead." mean?

    You'll get this message when you run boot if you have not set BOOT_EMIT_TARGET=no. See FAQ 1, "What does BOOT_EMIT_TARGET mean?"

  3. My target directory structure does not match my input (source/resource/assets) directory structure. How can I munge my paths, especially if I'm supposed to work with this funny Fileset thingie instead of real file system objects?!

    boot sift -h

  4. How can I copy my source files instead of compiling them?

    You have to put your source directories in the :resource-paths list in build.boot.

  5. What's the relation between input/output roles and the env keys :source-paths, :resource-paths, :asset-paths?

    Tasks that compile or build things should always operate on files with input role. Whether a file is in :source-paths or :resource-paths is not relevant to a build task, because both add the input role. The difference between :source-paths and :resource-paths is that only :resource-paths has the output role. Packaging tasks, unlike build tasks, operate on files with the output role. (from https://github.com/boot-clj/boot/pull/231)

Clone this wiki locally