This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2018-01-08
Channels
- # aleph (1)
- # architecture (4)
- # aws (5)
- # beginners (105)
- # boot (1)
- # boot-dev (72)
- # cider (5)
- # clara (15)
- # cljs-dev (51)
- # cljsrn (5)
- # clojure (155)
- # clojure-austin (3)
- # clojure-dusseldorf (2)
- # clojure-finland (1)
- # clojure-greece (37)
- # clojure-italy (17)
- # clojure-nl (1)
- # clojure-russia (6)
- # clojure-spec (23)
- # clojure-uk (6)
- # clojurescript (7)
- # community-development (1)
- # css (10)
- # cursive (15)
- # datomic (45)
- # defnpodcast (1)
- # duct (97)
- # emacs (5)
- # fulcro (46)
- # hoplon (8)
- # instaparse (25)
- # keechma (11)
- # leiningen (16)
- # off-topic (2)
- # onyx (9)
- # planck (2)
- # re-frame (5)
- # reagent (3)
- # reitit (2)
- # ring (6)
- # shadow-cljs (35)
- # spacemacs (9)
- # specter (9)
- # sql (18)
- # uncomplicate (4)
@bhagany I think you might be really onto something, I remember having this: https://github.com/pandeiro/boot-http/issues/70
It looks like I misinterpreted the problem and your explanation is probably what's happening
@richiardiandrea indeed, trying to use boot-http is also how I discovered it š
@bhagany so I will need to fix it too very soon cause now I remember why I ran into that perun
"misunderstanding" that you fixed. I tried to move the files back in resources
and puff...now boot-http
is broken because of the above Thanks for digging btw, I did not have time at the time.
@richiardiandrea interesting discovery: (sift :move {#"foo\.txt" "bar.txt"} :to-asset #{#"bar\.txt"})
sticks
oh I never ever use that feature
no I mean :to-asset
but it is a good point, I always assume that sift
does the right thing and uses the output roles...
maybe not?
I was wondering why when I do something like (-> fileset (boot/add-resource tmp) boot/commit!)
it'll stick, but sift
or mv
won't
and now I think it's because boot needs to know if it's a resource or asset or whatever
@bhagany from the code both :move
and :add-*
use boot.core/get-add-dir
digging more
sorry actually no, sift-action :move
uses another code branch
yeah that's tricky because sift-mv
is used there on top in those defmethod
maybe :move
should use the same code, sift-mv
, with a default role ?
I would default it to one that outputs
well 80% of the times you want to transform from an input role to an output role, or from a resource (which is output atm) to output
yeaaaaaaaaaaaaa
so I would default to asset
you are right boot
is compositional/transformational...so everything that is more than just one task will need :resource
-like role
notably only the last task has input->output
I am trying to use sift-mv in place of the current :move
implementation
yes somehow :dir
needs to be added in there
I was about to try, but ok, no I am taking back the attempt š
sooo @bhagany also sift
reduces over actions so basically if I understand correctly first :path
is modified then :dir
(maybe you've noticed already :D)
https://github.com/boot-clj/boot/blob/master/boot/core/src/boot/task/built_in.clj#L631
do you mean for something like (sift :move {#"foo\.txt" "bar.txt"} :to-asset #{#"bar\.txt"})
?
yes, so :move
is done before :to-asset
it seems
if you see the line above there is a reduce-kv
oh cool
another fix would be to compose the two, if this reduction theory is right š
possible, but I didn't really think that we would need both reductions over the same fileset
well yes actually don't want to slow you down if you have another working solution
well, fwiw, I am not terribly confident that this is the right thing to do. I feel like there might be some reason for the current behavior that I'm not seeing
hrm, probably worth an issue, possibly pinging Misha for some insight
yeah, I'll open an issue, and perhaps a maintainer or two will take the trouble to read this conversation š
Would be awesome, also to see if the current tests are passing (even if not very many)
Anyone comfortable with Java could have a good impact here: https://github.com/boot-clj/boot-bin/issues/6