This can be painful when clojure-mode is used together with projectile and cider. For certain operations (like jack-in to the REPL) cider tries to find a project root dir via clojure-project-dir and in most scenarios it works. The problem however appears when project uses few other build tools at the same time.
Imagine following directory structure:
/proj
|-> build.boot
|-> subproject_1
|-> build.gradle
Projectile allows to customize a way how the project root dir is calculated and having build.gradle files ignored in this case it locates /proj root with build.boot inside correctly. Unfortunately, as clojure-project-dir doesn't use that "knowledge" it simply forces subproject_1 as a root dir (when called within this directory) and jack-in goes with gradle.
I prepared a simple PR which mitigates this problem. Please, take a look at it and accept if it makes sense.
This can be painful when clojure-mode is used together with projectile and cider. For certain operations (like jack-in to the REPL) cider tries to find a project root dir via
clojure-project-dirand in most scenarios it works. The problem however appears when project uses few other build tools at the same time.Imagine following directory structure:
Projectile allows to customize a way how the project root dir is calculated and having
build.gradlefiles ignored in this case it locates/projroot withbuild.bootinside correctly. Unfortunately, asclojure-project-dirdoesn't use that "knowledge" it simply forces subproject_1 as a root dir (when called within this directory) and jack-in goes with gradle.I prepared a simple PR which mitigates this problem. Please, take a look at it and accept if it makes sense.