This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2017-07-17
Channels
- # bangalore-clj (2)
- # beginners (51)
- # boot (20)
- # cider (14)
- # clara (1)
- # cljs-dev (14)
- # cljsrn (50)
- # clojure (140)
- # clojure-dev (5)
- # clojure-france (1)
- # clojure-gamedev (3)
- # clojure-italy (4)
- # clojure-poland (3)
- # clojure-russia (8)
- # clojure-sg (1)
- # clojure-spec (64)
- # clojure-uk (51)
- # clojurescript (54)
- # core-typed (1)
- # data-science (2)
- # datomic (61)
- # docker (1)
- # emacs (6)
- # events (1)
- # graphql (1)
- # hoplon (14)
- # leiningen (8)
- # luminus (3)
- # mount (6)
- # off-topic (18)
- # om (17)
- # parinfer (34)
- # pedestal (47)
- # play-clj (1)
- # protorepl (1)
- # re-frame (56)
- # reagent (11)
- # ring-swagger (5)
- # rum (6)
- # sql (1)
- # uncomplicate (2)
- # vim (3)
- # yada (31)
@dimovich you can get debugging output by passing the -v
and -vv
arguments to boot. Ex. boot -vv cljs
I'm working with a boot repl and boot refresh (https://github.com/samestep/boot-refresh), however when I add a new function refresh doesn't add it to the repl (after I've called use
). If I change the code within an existing function it works fine. Is there any fix for this
Also (use 'namespace :reload)
also fails, with a "symbol already refers to symbol in namespace 'boot.user" error
Hi. I tried to find some documentation and best practices for how to publish artifacts in a local Artifactory or Nexus, but failed so far. Any other pointers than the very generic https://github.com/boot-clj/boot/wiki/Repository-Credentials-and-Deploying ? I'd like to push snapshots to a different repo than releases, I build in Jenkins without any plug-ins.
@ska what do you find lacking from that wiki page? is the problem solely pushing snapshots to a different repo?
@martinklepsch I'd love to see a real-world example build script with best (or known to work) practices. Do I write my own task and then call different options of the push script? How do I call this in Jenkins? How do I add my repo URL and credentials from Jenkins? Should I write something like https://github.com/adzerk-oss/bootlaces/blob/master/src/adzerk/bootlaces.clj#L76 myself but focusing on a local Artifactory instead of Clojars... Something like that. Makes sense?
(deftask push-things
(comp (pom)
(jar)
(push :repo “your-artifactory”) ; or
;; (push :repo-map {:url (System/getenv “REPO_URL”)
;; :username (System/getenv “REPO_USERNAME”)
;; :password (System/getenv “REPO_PASSWORD”)})
))
then you’d just make Jenkins run boot push-things
Hope this makes sense, I’m not sure I fully understand the issues surrounding jenkins
@martinklepsch Yeah, I understood things so far. But how would one use :ensure-release
or :ensure-snapshot
there? How set a different :url
depending on whether it is a release or a snapshot?
(def version "0.0.1-SNAPSHOT")
(deftask push-things
(comp (pom)
(jar)
(push :repo (if (.endswith version "SNAPSHOT") "snapshot-channel" "release-channel")) ; or
;; (push :repo-map {:url (System/getenv "REPO_URL")
;; :username (System/getenv "REPO_USERNAME")
;; :password (System/getenv "REPO_PASSWORD")})
))
@ska it’s just a program 🙂So, I'll re-create something like https://github.com/adzerk-oss/bootlaces/blob/master/src/adzerk/bootlaces.clj#L76 with a suitable wrapper (`deftask push`) around it, which calls the appropriate backend. It feels kinda backwards, though, that I'll test for snapshot first only to then have the push task ensuring it again.
@ska the push task does nothing else than (.endsWith v "-SNAPSHOT")
so you can skip that step if you’re taking care of it yourself
@martinklepsch I know. For lack of other docs I already read the source. 🙂 Anyhow, I think, I'll figure it out eventually. Thanks for your help.
@ska let me know what you come up with and then we can improve that wiki page 🙂
It'll take a few days. Extremely busy. Maybe we can have a chat on this during euroclojure end of the week.
@ska sure, looking forward to catching up 🙂
What’s the boot
equivalent of Lein’s :java-source-paths
?
I came across boot-java-task-example
but it seems to be doing more than what I need: include Java source files that are AOT compiled.
https://github.com/alandipert/boot-java-task-example/blob/master/build.boot
Hey, I’m trying to have a task move files and then run another compile task, but it doesn’t seem to work because the move-task changes the fileset.
If I wrap the move-task in with-pass-thru
or with-post-wrap
the compile task works but no files are being moved..
If I wrap it in with-pre-wrap
I get an error that the task-handler must return a fileset..
What am I missing here?
https://gist.github.com/freakinruben/6e117f7d6703b7f513cf612695ea5cf1
I now changed mv-generated-files
to:
(deftask mv-generated-files []
(with-pre-wrap fileset
(let [generated-dirs (->> fileset
ls
(by-meta #{::generated}))
(map tmp-dir)
(into #{}))]
(apply sync! generated-dir generated-dirs)
fileset))
Which seems to work! But what is a good use-case for sift
then..?