This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-09-02
Channels
- # beginners (61)
- # boot (84)
- # cider (43)
- # cljsrn (2)
- # clojure (99)
- # clojure-android (3)
- # clojure-austin (2)
- # clojure-italy (5)
- # clojure-russia (43)
- # clojure-spec (93)
- # clojure-uk (41)
- # clojurescript (94)
- # clojutre (1)
- # cloverage (8)
- # core-async (31)
- # cursive (3)
- # datomic (14)
- # defnpodcast (1)
- # editors-rus (7)
- # events (1)
- # hoplon (15)
- # leiningen (3)
- # luminus (6)
- # om (142)
- # onyx (86)
- # other-languages (4)
- # pedestal (1)
- # planck (1)
- # portland-or (5)
- # re-frame (96)
- # reagent (16)
- # ring-swagger (17)
- # rum (73)
- # specter (25)
- # untangled (14)
- # yada (142)
hi all, I currently trying to use boot instead of leiningen. But cannot find out something like 'release-tasks' in leiningen which help to do release like 'taging', inc version...may I know what is the current workflow for releasing a project using boot?
That's an open question at the moment but I believe a few folks have prototypes working for that.
Part of the issue is that with Boot, how you maintain the version is basically up to you, since it's really just a parameter to a task.
I think most people def
the version into a variable, and use that in task options as needed to produce the JAR file.
@albert.lai so whatever workflow you would adopt for versioning and releasing your library needs to work with however you decide to structure your build.boot
file.
Thanks for pointing the direction! Finally, notice that the push
task had done most of the job.
are :init-fns
inside the cljs.edn
file intentionally called on each reload (not just the initial load)?
I’d like to only run the bootstrapping in my client’s main method once, not every time the client is hot reloaded. Is there anyway to do this besides not providing :init-fns
and calling the main method directly in the index.html?
well the main fn (in my core )namespace depends on every other namespace so it will always be run
right so there’s value to have a function that only runs on hotreload and a function that only runs the first time the app is loaded, because there’s not reason to run bootstrapping in the client everytime a change is made
hmm, maybe I’m being dense, but since a main namespace depends on the rest of the app, won’t it need to reload whenever its dependents do?
hi @micha i work w/@uwo - just wanted to point out another detail: what’s happening in our case is not only that the main ns is reloading, but that the boot/cljs/main34656.js
ns that boot-cljs
generates for us is also reloaded, and that contains a call to invoke the init-fn
.
question - if I have created a file in my project and I can see it in (boot (show “-f”))
, should I expect that file to be in the classpath of the boot.user
ns?
I’m trying to figure out what slf4j-factory
is doing with a logback.xml
file, so I put it in src/
and I just …want to be sure that it “should” be “on the classpath” when I call, say, (.get-logger (slf4j-factory) “root”)
@chris_johnson for the most part, yes
there are 4 permutations, which correspond to :source-paths
, :resource-paths
, :asset-paths
, and cache dirs
so the tl;dr of the above is that things in :source-paths
and :resource-paths
will be on the classpath and will show up in show -f
but you can test if something is on the classpath by doing (
for example
@micha https://github.com/juxt/edge/issues/18 I've reproduced the error on my girlfriend's laptop. 1st run gives an exception:
18:03:26.994 [clojure-agent-send-off-pool-0] INFO edge.web-server - Started web-server on port 3000
clojure.lang.ExceptionInfo: C:\Users\Name\.boot\cache\tmp\Users\Name\Downloads\edge-master\edge-master\czc\-rcsl8f\edge\system.clj: The process cannot access the file because it is being used by another process.
data: {:file
"C:\\Users\\NAME-~1\\AppData\\Local\\Temp\\boot.user1914636167023374358.clj",
:line 31}
java.nio.file.FileSystemException: C:\Users\Name\.boot\cache\tmp\Users\Name\Downloads\edge-master\edge-master\czc\-rcsl8f\edge\system.clj: The process cannot access the file because it is being used by another process.
file: "C:\\Users\\Name\\.boot\\cache\\tmp\\Users\\Name\\Downloads\\edge-master\\edge-master\\czc\\-rcsl8f\\edge\\system.clj"
reason: "The process cannot access the file because it is being used by another process.\r\n"
sun.nio.fs.WindowsException.translateToIOException
sun.nio.fs.WindowsException.rethrowAsIOException
sun.nio.fs.WindowsException.rethrowAsIOException
sun.nio.fs.WindowsFileSystemProvider.implDelete
sun.nio.fs.AbstractFileSystemProvider.deleteIfExists
...
boot.file/hard-link file.clj: 146
boot.tmpdir.TmpFileSet/fn tmpdir.clj: 263
boot.tmpdir.TmpFileSet/commit! tmpdir.clj: 249
boot.core/commit! core.clj: 451
boot.core/run-tasks core.clj: 937
boot.core/boot/fn core.clj: 948
clojure.core/binding-conveyor-fn/fn core.clj: 1916
...
Deleting the cache, and re-running first gave me a 404, but second run worked with asset compilation. I've not yet been able to remove whatever boot built in that first run to make it work on subsequent runs, wondered if you might know the cause? I didn't see anything on the boot issue tracker that stuck out to me.how can I list the boot classpath?
boot show -d
doesn’t seem like it’s giving me the correct deps
specifically I’m getting a ClojureScript 0.0-3308
pulled from god knows where
it must be coming from a pod
boot show -p
doesn’t list that dep
the thing is I don’t know which pods really exist 🙂
the dep is getting pulled when I run boot-cljs-test
where do I go from here?
@micha and how can I exclude that dep if it’s coming from a pod?
this is where it’s coming from https://github.com/bensu/doo/blob/6439b0562e408286a13437c138e2a1e6cb73944d/plugin/project.clj#L26
solved by adding doo as an explicit dep and adding the exclusion
thanks for help!