This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-04-11
Channels
- # admin-announcements (2)
- # beginners (53)
- # boot (151)
- # cider (11)
- # cljs-dev (60)
- # cljsrn (36)
- # clojure (71)
- # clojure-austin (13)
- # clojure-berlin (2)
- # clojure-czech (11)
- # clojure-dev (35)
- # clojure-dusseldorf (2)
- # clojure-france (6)
- # clojure-japan (9)
- # clojure-russia (183)
- # clojure-uk (18)
- # clojurescript (155)
- # cursive (6)
- # datomic (25)
- # euroclojure (6)
- # funcool (6)
- # hoplon (229)
- # instaparse (10)
- # jobs (9)
- # leiningen (5)
- # off-topic (70)
- # om (29)
- # onyx (18)
- # planck (1)
- # proton (5)
- # re-frame (8)
- # reagent (32)
- # untangled (4)
this is so great!!! we found it!
I will open a PR and probably send a little nudge to #C06E3HYPR 😄
mmm...the build is stuck?
weird errors in the build...cannot retrieve org.clojure:clojure:pom:1.8.0
seems odd
also, when it gets to make test
everything should be installed
in .m2
so maybe there is no need to retrieve boot.sh
...
mmm...in my case 2 cores means 4 batches
sorry 4 threads
there are 10 tasks if i remember correctly, so it launches 4 threads, 4, 2
in any case as you know you can put :threads 1
but it is a pity
@micha: how does the boot repl -c launch so fast?
its like night and day difference from launching lein repl
even when you have two repls connected
yeah but you only have to do it once
its great
Travis is always a strange beast ... how can I test it?
@richiardiandrea: there is a link from the pull request
you can see it just couldn't find it in the clojars repo but it does find it in maven central
Yep but I think I cannot try unless I am allowed to ;)
Where does boot save all the dependency files? I need to cache that location for a docker container so they don't get downloaded on every run.
@tabrez: ~/.m2 just like lein/mvn
@martinklepsch: cheers, thanks.
@tabrez: there is a boot image on dockerhub with an example of how to do that kind caching in its Dockerfile
@micha The one that caches web and repl task dependencies? That's the official/adzerk one I think and I have decided to use that method for now.
Hi folks, I’m trying to use the "runtime require/resolve inside a task" trick on a macro, but that doesn’t work and I’m now wondering if that’s possible at all?
Which is expected, but I’m not sure how to handle cases where new bindings get introduced like say with the with-open
macro
@micha about the errors for not finding deps, I agree they should be at least warnings, they can be a lot
@richiardiandrea: it is finding them though
yes I noticed that locally too
so, talking about Travis, I still don't know what is the problem
ah ah yeah
does it work locally for you?
yeah I was thinking about that
but what can be the difference...the Java version? those are just Futures and CountDownLatches
yeah it makes sense
will work on that
I will start by adding -vv
, but a little bit later
@martinklepsch: confetti works like a charm now
very nice tool congrats, all I needed was:
(deftask deploy-s3
[]
(let [bucket (get (env/env) "AWS_BUCKET")]
(boot.util/info "Deploying on bucket %s...\n" bucket)
(sync-bucket #_:dry-run #_true
:bucket bucket
:access-key (get (env/env) "AWS_ACCESS_KEY")
:secret-key (get (env/env) "AWS_SECRET_KEY"))))
@richiardiandrea: great to hear. If you're using Cloudfront it can also create invalidations for you
still need to wrap my head around that 😄
@micha: boot isn't working offline, because its looking for github. Developers on trains everywhere are sad.
@dominicm: that must be a 2.6.0 thing, have been using 2.5.* on trains a lot 😛
Yeah, this is weird. Can't even get to the version, it's like boot isn't detecting offline mode
Hey has anyone been able to get foreign-libs
to work? I dont know what I’m doing wrong, but no matter what I get no such namespace
errors...
1) in build.boot declare :compiler-options {:foreign-libs [entry]
where an entry looks like
{:file “main/index.js” :provides [“theThing”] :module-type :commonjs }
2) place /main/index.js
underneather src/js/
3) index.js
looks like a simple module.exports = function theThing(args) { console.log(arg) }
4) from another cljs module (ns main.core (:require [theThing: as thing])
@lwhorton: foreign libs can't be required with :as
Am I putting the javascript src files in the wrong place? Am I doing something wrong with foreign-libs? I haven’t done any externs.js
file yet, but I’m not trying :advanced
at the moment.
(:require [theThing])
and then js/theThing
that said I'm not sure to what extend common js stuff is supported
Hmm, that commonjs could be it I suppose. I really don’t want to have to touch the original js modules (which are all commonjs) if I can help it.
If I strip out :module-type
and change main/index.js
to just be a simple function theThing(arg) {}
(no commonjs) it still barfs with namespace warnings, though.
Where should I nest the javascript source files, resource-paths or source-paths, or somewhere else?
@lwhorton: the path you provide under files needs to be relative to one of the paths you provided as source/resource-paths
if src
is in :source-paths
in your project you should try js/main/index.js
Yea, pretty sure i have it right then:
:source-paths #{"src/cljs" "src/js"}
:resource-paths #{"resources"}
with the cljs code in src/cljs/main/core.cljs
that is doing the requiring of [theThing]
where the js is src/js/main/index.js
not quite sure where else to go, I threw up an issue on the gh but I don’t see any other posts online where people are trying this explicitly with boot (usually just raw closure compiler)
@lwhorton: this isn't boot specific so I guess #C03S1L9DN might also be helpful
boot doesn't do any special handling with :foreign-libs
i have no idea what magic boot does under the covers, so I wasn’t sure where the root of the problem might be
that’s good to know, thanks for your help @martinklepsch
When I create a jar file with Boot I do not get an output in the target
dir. I have to hunt it down in the /.boot/cache/tmp/
dir. Is this just a Windows file system issue? Idk why I continue to use Windows with all the trouble that comes with developing in it...
@cork maybe try the target
task at the end of your pipeline?
for years boot emitted a target dir by default, but recently we deprecated and now complain about it. so the sure-fire way to get it to emit is by adding target
to your pipeline
i think you need to specify the output directory too right? like: (target :dir #{"target/"})
I have a boot.properties file with the line BOOT_EMIT_TARGET=no
, but then also have the ^ mentioned :dir “target”, but I don’t use windows
have you guys been able to get cider autocompletion to work in clojurescript mode with boot? when I use cider-connect and try to connect to the nrepl remotely i can only get clojure but not clojurescript completion
@micha: what's the convention behind the plusses in +last-commit+
?
@martinklepsch: sort of like here http://www.cliki.net/Naming+conventions
How could I exclude my main.out
dir from my jar file during build? My build pipeline runs advanced compiler mode on cljs code at the start, but I shouldn't need main.out
in production right?
if you are doing a compile with optimizations you don't necessarily need the output dir
@micha you were right about memory:
The main thread is going to wait for 2 task(s) to complete...
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:188)
at boot.App.runBoot(App.java:405)
at boot.parallel$fn__1107$fn__1108$fn__1115$fn__1116$fn__1117.invoke(parallel.clj:71)
at clojure.core$binding_conveyor_fn$fn__4676.invoke(core.clj:1938)
I will try to increase it a bit
ah no cannot do it myself
@richiardiandrea: is there a permissions problem?
probably the memory is too low yes
but I am not sure how to increase that
ah ah ok, but it is great for PRs and regressions 😄
no I was going to try that
apparently there was some still that was kind of half ported when I split boot test
in boot parallel
but that was not the issue
I will add:
language: java
jdk:
- oraclejdk8
i also added a timeout of 30 mins for parallel tasks
well it is a ^dynamic
var so everybody can set it up
I felt generous 😄
btw it works!!
all green
I did not even have to bump the memory
@micha ready to merge, does Travis also pushes a SNAPSHOT? I have a project depending on the latest sift
fix and I wanted to ask if you can push a SNAPSHOT to Clojars when you have time
thanks it would be awesome
oh well that's understandable yes
Does anyone know of a Boot task for cljfmt (https://github.com/weavejester/cljfmt)?