Fork me on GitHub

OK, 0.2.0 is up on Clojars! It uses the latest (0.5.342) tools.deps.alpha and supports Git and Local deps as well as Maven deps. It no longer updates Boot's :dependencies by default (but there's an option to do that) -- it updates the classpath directly. Like clj it can accept a final deps as an EDN string via the command line. It runs the tools.deps logic inside a pod.

Petrus Theron17:01:27

@seancorfield I'm getting Assert failed: The :source-paths, :resource-paths, and :asset-paths must not overlap. .. (empty? (set/intersection paths parents)) with :source-paths #{"src/cljc" "src/clj" "test/cljc" "test/clj" "env/dev"} and :resource-paths #{"resources"}. Is boot-tools-deps injecting something perhaps?


@petrus it might be updating source paths based on your deps.edn


@petrus also I think there’s a default to include src I believe 🤔

Petrus Theron17:01:11

fixed by setting {:paths [] :deps { ...}} explicitly in deps.edn

Petrus Theron17:01:50

should I move my boot :source-paths into :paths? From reading the deps.edn docs, it seems that :paths is for "resources"? and extra-paths is for source?

Petrus Theron17:01:48

Getting this warning when running my dev task which has (comp (deps) (watch) (cljs) ...):

Compiling ClojureScript...
WARNING: No ClojureScript in project dependencies but ClojureScript was found in classpath. Adding direct dependency is advised.

Petrus Theron17:01:41

I'm guessing adzerk.boot-cljs is checking the boot :dependencies. Would one expect deps task to update the environment?

Petrus Theron17:01:16

Getting this as well after moving to deps.edn:

java.lang.IllegalAccessError: warning-enabled? does not exist
clojure.lang.Compiler$CompilerException: java.lang.IllegalAccessError: warning-enabled? does not exist, compiling:(adzerk/boot_cljs/impl.clj:1:1)


Hi, wondering if I can sift files in an :asset-path directory to another location, like with files on :resource-paths?


What Boot calls :source-paths is taken from :extra-paths and means "source that you don't want in your artifacts"; :resource-paths is taken from :paths and means "source/resources that you do want in your artifacts". boot-tools-deps will also add directories to :source-paths that it finds on the classpath (constructed by tools.deps) that arean't already in :resource-paths or :source-paths. At least, that's what I intended it to do.


The point of boot-tools-deps is to replace build.boot if it's just paths and dependencies, or at least replace the :resource-paths, :source-paths, and :dependencies parts if your build file is more complex.


Per the README in boot-tools-deps, if you're using it with tasks that rely on :dependencies being updated, you need to specify -B (`--overwrite-boot-deps`).


Hope that helps?

Petrus Theron21:01:27

yes, thank you 🙂. I managed to get past the boot-cljs warning-enabled? error, with (deps :overwrite-boot-deps true), but now my testing deps from build.boot are overwritten. How should I use aliases or some other scoping to get them back for development? Specifically, I had [metosin/boot-alt-test "0.3.2" :scope "test"].

Petrus Theron22:01:29

Ah, nevermind: I see there is an :aliases argument 🙂 Will try that


@petrus Glad you got it up and running. The README has an example of using :aliases inside a task. Happy to improve the docs based on any suggestions you have.


With the cljs tool chain and boot-tools-deps, be aware of issue #7...


@seancorfield Are you planning on using :local and load-file in your monorepo?


@dominicm Not sure yet. We're pretty attached to the automation we have in dependency analysis in our current build.boot file so I'm not sure that we'd want to go to a manually-managed setup.


So, I was thinking it would be useful if tools.deps exposed a list of directories where manifests were found. They could be searched for other files then (e.g. a build.boot!)


But I haven't really explored too far with that idea yet.


Hi all, is it possible to bundle scss files alongside clojure source in a jar, and use them in another project?