This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-11-10
Channels
- # aws (45)
- # bangalore-clj (16)
- # beginners (109)
- # boot (137)
- # cider (7)
- # cljs-dev (54)
- # cljsrn (22)
- # clojure (77)
- # clojure-conj (1)
- # clojure-greece (2)
- # clojure-nl (5)
- # clojure-russia (36)
- # clojure-spec (15)
- # clojure-uk (54)
- # clojurescript (118)
- # cursive (7)
- # datomic (25)
- # emacs (33)
- # hoplon (276)
- # klipse (38)
- # lein-figwheel (1)
- # leiningen (9)
- # melbourne (1)
- # off-topic (18)
- # om (98)
- # onyx (6)
- # pedestal (1)
- # perun (24)
- # re-frame (46)
- # reagent (6)
- # ring-swagger (3)
- # spacemacs (67)
- # specter (15)
- # untangled (33)
- # vim (6)
you can override that in the :repositories
setting by adding :update :always
to the repository vector
no, the :repositories
key in the env, where you configure the maven repos boot will use to get deps from
(set-env!
:repositories
[["clojars" {:url " " :update :always}]
["maven-central" {:url ""}]])
once it's in the cache it can get the jar from there without needing to consult remote repositories
it can be extremely slow if you needed to check every dependency every time with the remote repo
Okay got it. We’ve been having this problem lately where SNAPSHOT versions from our S3 maven repo are overriding a locally built SNAPSHOT (e.g. boot pom jar install
). This can cause some seriously confusing results 😛
Often the only solution is to delete the “infected” part of our local maven and install the artifact again
Do you have a replacement for SNAPSHOT? -alpha
or something? It seems like some sort of suffix is necessary to denote that a build is not final and probably unstable.
That makes sense to me. The snapshot thing always has been a little hairy - as you said, best to just avoid it
version ranges, another thing to avoid
particularly because don't play nice when you do the alpha
/`rc ` thing
Oh yeah totally. Never really liked that anyways. Builds should be consistent and having version ranges opens up room for inconsistency.
@micha Last week you said you were going to try and cut a new release of boot. Any progress on that? 🙂 I really want https://github.com/boot-clj/boot/issues/471. It’s still plaguing me 😩
when I do boot pom
it outputs a pom.xml, but how do I persist that? I want to use it to edit some Java in my project by IntelliJ
@borkdude probably the target task needs a more aggressive warning about removing what is in the destination path.
the output pom.xml only has the dependencies, it’s not what I can use for IntelliJ in this project. I’ll just write my own.
I’m seeing some behavior from boot that I can’t explain. I have a pretty simple build.boot - it defines one task that works. Just adding the dependency [circleci/clj-yaml "0.5.5" :scope “test”]
to build.boot makes the task ceases to work. Specifically, the fileset mysteriously empties mid-task. Again, the only change is the addition of a dependency in set-env!
. I’m not sure how to begin attacking this, and I would appreciate any insight. I can provide full details if that would be helpful, but I don’t want to flood the channel (like I did in #perun… sorry).
boot \
pom \
sift --include 'pom.xml$' \
sift --move '(pom.xml)$:$1' \
target --no-clean -d .
Hello, I have (I guess) a simple question: what is the preferred way to setup boot project with cljs using npm modules?
I saw boot-npm but it’s lacking documentation and it’s not clear for me if will “manage” npm deps for my cljs code (e.g. npm deps will be available on my cljs “classpath”)
Is there a boot project example or template showing a hello world cljs app targeted for node using npm deps?
@micha okay, thanks:
(set-env!
:source-paths #{"src" "content"}
:resource-paths #{"resources"}
:dependencies '[[pandeiro/boot-http "0.7.0"]
[adzerk/boot-cljs "1.7.228-2" :scope "test"]
[adzerk/boot-reload "0.4.12" :scope "test"]
[hiccup "1.0.5"]
[perun "0.3.0" :scope "test"]
#_[circleci/clj-yaml "0.5.5" :scope "test"]
[org.pegdown/pegdown "1.6.0" :scope "test"]])
(require '[adzerk.boot-cljs :refer [cljs]]
'[pandeiro.boot-http :refer [serve]]
'[adzerk.boot-reload :refer [reload]]
'[io.perun :as p])
(deftask dev
[]
(comp (serve :resource-root "public/")
(watch)
(p/markdown)
(p/render :renderer 'nicerthantriton.core/dev-page)
(reload :asset-path "/public")
(cljs)
(p/print-meta)))
this is the working version. Uncommenting the clj-yaml
line makes it the not-working version.
I’m compiling some Java code at the start of a task. This works fine. Also the imported code works fine from Clojure. But when I start developing, I see all sorts of Java error messages, about unresolved imports
Like this:
dre/infixsuggester/Term.java:3: error: package org.apache.lucene.search.suggest does not exist
import org.apache.lucene.search.suggest.Lookup;
I have no idea, because the code is already compiled and works fine...i would make a cat
task and use it like boot pom cat -f pom.xml > pom.xml
Any ideas on the weird java compilation problem? I think I’m going to move the Java code to a separate project
@borkdude what do you mean by "start developing?"
cool. a separate project isn't a bad idea, java and repl don't mix esp. well by default
yeah - or do the checkouts
thing
continuously recompile and install in another terminal, then use checkouts from your application to bring it in
not sure if that makes the repl aspect better or worse though
see boot -h... it's a way to depend on a locally installed project in an automatically-refreshing way
to serve the case of working on an app and a library at the same time
https://github.com/ztellman/virgil might have pointers
he reloads the clj nses after adding new classes to classpath, maybe that's the missing piece in boot world
yeah i thought it required hooking up 'instrumentation' like jrebel, but he's doing it somehow, don't know if his approach is lein specific or what
aha, i see a bunch of javastar code in there
wow that file is filled with incredible clj hacks
wow did not know about virgil
, I might need that soon actually
yeah i think it can
the code is mostly the same as our javac, as both are derived from javastar
just need to add the modify-the-classcache trick
and add the ns reloading thing, maybe optionally
i think because import
if the import code doesn't run again, the clj classloader serves stale class entries
altho, i'm not sure if that's material, or just to suppress warnings, or what
Does boot have any equivalent to the existing private repos on s3 via s3-wagon for gcloud?
i.e. I’m not using AWS and I want to push/pull from some artifact server hosted on a gcloud compute instance, and in trying to figure out which to use (artifactory, nexus, etc) I wanted to see what/if boot already supports.
@lwhorton https://clojars.org/gcloud-wagon-private looks promising, never seen it used with boot tho. or used gcloud
'gcloud wagon' is the google fu
thanks @alandipert ill take a look
hey… guys… how do I run a task that includes cljs compilation and then (start-repl)
AFTER it’s done compiling?
so if I do this (boot (dev)(start-repl))
it seems to be “choking up”. If I wrap dev into a future
like this:
(deftask start []
(future (boot (dev)))
identity)
and the run (boot (start)(start-repl)
- it tries to jump into repl prematurely. So how do I do it?