My project.clj looked something like:
(defproject my-project "1.0.0-SNAPSHOT"
:aliases
{"bikeshed" ["with-profile" "+bikeshed" "bikeshed"]}
:bikeshed
{:plugins [[lein-bikeshed "0.4.1"]]})
and I was super confused when Bikeshed started failing after I added a :source-paths ["test"] to a completely unrelated profile in my project.clj:
(defproject my-project "1.0.0-SNAPSHOT"
:aliases
{"bikeshed" ["with-profile" "+bikeshed" "bikeshed"]}
:bikeshed
{:plugins [[lein-bikeshed "0.4.1"]]}
:with-tests-in-source
{:source-paths ["test"]})
I tried changing adding :source-paths ^:replace ["src"] to the :bikeshed profile but that didn't fix it either:
(defproject my-project "1.0.0-SNAPSHOT"
:aliases
{"bikeshed" ["with-profile" "+bikeshed" "bikeshed"]}
:bikeshed
{:plugins [[lein-bikeshed "0.4.1"]]
:source-paths ^:replace ["src"]}
:with-tests-in-source
{:source-paths ["test"]})
I ended up having to go thru the lein-bikeshed source to work out what was going on and fixed it by adding --exclude-profiles to the alias.
I have a couple questions:
- Is this expected behavior? It seems like it must be, because the
--exclude-profiles option exists, but it seems sort of weird and unlike every other Leiningen plugin I can think of.
- If it's not expected behavior (or it doesn't make sense anymore) I'm happy to submit a PR to fix it
- If it is expected behavior, it would be nice to merge the
opts and lein-opts map so you can specify :bikeshed {:exclude-profiles [...]} in project.clj instead of having to pass the exclusions list via a command-line arg. I can PR for this as well.
My
project.cljlooked something like:and I was super confused when Bikeshed started failing after I added a
:source-paths ["test"]to a completely unrelated profile in myproject.clj:I tried changing adding
:source-paths ^:replace ["src"]to the:bikeshedprofile but that didn't fix it either:I ended up having to go thru the
lein-bikeshedsource to work out what was going on and fixed it by adding--exclude-profilesto the alias.I have a couple questions:
--exclude-profilesoption exists, but it seems sort of weird and unlike every other Leiningen plugin I can think of.optsandlein-optsmap so you can specify:bikeshed {:exclude-profiles [...]}inproject.cljinstead of having to pass the exclusions list via a command-line arg. I can PR for this as well.