This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-08-18
Channels
- # admin-announcements (59)
- # beginners (5)
- # boot (99)
- # cider (9)
- # clojure (207)
- # clojure-czech (1)
- # clojure-dev (28)
- # clojure-france (3)
- # clojure-italy (1)
- # clojure-japan (22)
- # clojurescript (234)
- # core-async (12)
- # datascript (1)
- # datomic (60)
- # funcool (137)
- # hoplon (18)
- # instaparse (2)
- # jobs (2)
- # ldnclj (42)
- # ldnproclodo (3)
- # liberator (13)
- # off-topic (21)
- # onyx (2)
- # re-frame (5)
- # reagent (12)
- # ring-swagger (5)
- # testing (17)
Compiling ClojureScript...
• about-us/index.html.js
...
• videos/index.html.js
Retrieving ns-tracker-0.3.0.jar from
Retrieving ns-tracker-0.3.0.jar from
Retrieving clojurescript-1.7.48.jar from
Retrieving google-closure-library-third-party-0.0-20150805-acd8b553.jar from
Retrieving closure-compiler-v20150729.jar from
Retrieving google-closure-library-0.0-20150805-acd8b553.jar from
Retrieving closure-compiler-externs-v20150729.jar from
Retrieving ns-tracker-0.3.0.jar from
Retrieving closure-compiler-externs-v20150729.jar from
Retrieving closure-compiler-v20150729.jar from
Retrieving clojurescript-1.7.48.jar from
...
Looks like it's not a good idea to download dependencies during runtime, especially not in parallel the same deps...When I looked into one of the boot-* "plugins" I saw it was also acquiring certain dependencies during runtime. While it's quite convenient from a development perspective, it's not very resilient during operation. I would prefer to gather all deps upfront, during the deployment process. In fact with NixOS I kinda have to do it anyway, because it won't allow my app to write just anywhere during runtime...
it's not really possible to know for sure what dependencies you need until you run the program
here is an example of the "problematic" approach im talking about: https://github.com/Deraen/boot-less/blob/master/src/deraen/boot_less.clj#L11
well, im trying to say that such logic should not be the part of the application whenever it's possible
it was just running on a t2.medium instance which has low network bandwidth so i too unnecessarily long download the same things 10+ times
(deftask prime []
(set-env! source-pathes #{src/one/page.cljs.hl})
(comp (hoplon) (cljs)))
interesting idea... it would solve the long bootup time too to have something like this, since we often only need to work on 1 page...
i wonder if we could make a boot task that adds a caching proxy in front of the maven stuff?
@micha: you want to watch this episode about TDD: http://cleancoders.com/episode/clean-code-episode-6-p2/show
this was the most enlightening demonstration i've seen so far. the previous part also worth watching, tho that's a simpler example: http://cleancoders.com/episode/clean-code-episode-6-p1/show
alandipert: In boot/worker/project.clj I've updated the dep to [mvxcvi/clj-pgp "0.8.2"] but it doesn't seem to take.
micha: I'm so excited about this. I've removed a lot of code. It's much simpler now. I can't claim victory just yet because I'm still testing. Will report here soon.
micha: OK, it compiles! Now I need to test with bootlaces. How do I build and install bootlaces locally? (boot pom install)? I forgot.
With the new implementation, bootlaces doesn't need to check for credentials, so I did this change, but I forgot how to install my updated bootlaces in my local mvn repo.
I've successfully deployed a release on clojars with the new implementation. Woohooo!
neat, looking forward to checking it out!
Could you add me to adzerk-oss so I can push bootlaces changes. I forgot to fork it.
All in all, there might be things that I overlooked, but this was a massive refactoring as far as I'm concerned, and I wanted to share as soon as possible.
@alandipert @micha the biggest joy is to remove code, simplify function signatures, and aggregate concerns as close as possible to the callee site.
@tel: in case your question isn’t answered yet: yes, download script, chmod, and potentially cache if possible.