This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-16
Channels
- # admin-announcements (2)
- # bangalore-clj (3)
- # beginners (15)
- # boot (303)
- # carry (18)
- # cider (7)
- # cljs-dev (222)
- # cljsrn (103)
- # clojure (196)
- # clojure-czech (2)
- # clojure-russia (69)
- # clojure-spec (21)
- # clojure-uk (48)
- # clojurescript (68)
- # cursive (18)
- # datomic (185)
- # events (1)
- # hoplon (2)
- # lambdaisland (1)
- # leiningen (1)
- # mount (10)
- # off-topic (1)
- # om (14)
- # onyx (154)
- # parinfer (1)
- # pedestal (3)
- # planck (5)
- # protorepl (9)
- # re-frame (17)
- # reagent (27)
- # ring (2)
- # specter (58)
- # test-check (1)
- # testing (7)
- # untangled (59)
- # yada (35)
Is anyone pushing to clojars from circle ci? Do you have signing working?
@vikeri you can use the sift task to remove files from the file set, or you can make a .bootignore file
how do javac
classes get on the classpath for subsequent use, e.g. if I need them compiled before I load Clojure files?
@stuarthalloway: the class files are added to the fileset
and the fileset is automagically on the classpath for whatever I do next?
Got it, thanks. if I am using boot just to copy files around (e.g. making an application distro zip) are all those files on the classpath too, even through they are not even Java-related?
ah, I guess this is where assets come in
but there are files in the fileset that do not have the input role, like the asset-*
ones
got it, thanks!
I thought that util/dbug
should only be printed if I use boot -v my-task
, but it looks to be printed even without -v
never mind, I was looking in the wrong place
@pesterhazy: that's correct though, util/dbug
should only print when you have -v
, is that not what you're seeing?
@micha, right it's working as expected, it's just that the same log messages was printed in multiple places
my bad
that never worked for me
in macos + iterm2 + solarized-light
(deftask foo
[]
(u/warn "Warn\n")
(u/info "Info\n")
(u/dbug "Debug\n"))
that's all black on my machine
thought Warn and Info are printed in bold
I think it is because you might need to set xterm-256color
https://stackoverflow.com/questions/7278267/incorrect-colors-with-vim-in-iterm2-using-solarized
actually this: http://stackoverflow.com/a/7278548
yeah below looks right
it's strange.. I swear it works with all other tools, but boot is monochrome with solarized-light
ok so switching the theme to just about any fixes the colors 😞
alright so I'll switch *sigh*
I agree, such a shame that you still get so many terminal problems, even with popular emulators
I've always thought that it would be great to have a "companion browser window" that accompanies a clj repl
basically an additional window that you can output hiccup to
I'm at a windows shop and every other dev looks at me funny when I mention the console
buildings forms based on the task DSL, into it
ah yes, on that note i've been looking at the gradle server, looks like some good ideas can be found in there we could maybe use
i guess maybe that's the next frontier, developing a good API for IDEs and things like that to interact with boot
so cmd.exe does support unicode to a certain extend; you can use utf8 through codepage 65001, but it's rather buggy
you could try changing the codepage before running it, but in all likelyhood, the font probably don't contain those glyphs anyway
we'll reportedly get a fully functional bash shell, with all the unix tools that comes with it
i'd consider running windows if i could compute in linux and have the windows hardware support
@micha: Ubuntu on Windows was what I checked out the other day, still hanging in boot
@oahner: update to insider preview to get it now
bummer, i guess it was a networking issue? boot trying to download itself or something?
I think so, gonna run with -vv right now, and see what it does
@micha gets stuck at Running for first time… (blah)
I'm running both the Windows Subsystem for Linux and a Mint Linux VM right now. Both are working great.
Except I can't run Emacs in the Window subsystem. The console eats Ctrl-space and Ctrl-X.
@mtnygard: is boot working for you in Linux subsystem?
Maybe it's my win10 vm causing trouble
what is the idiomatic way to do separate tasks in a project that need totally disjoint filesets?
e.g. do you temporarily change the source, resource, and asset paths inside a single task?
uber kind of does that with the "mergers" epicycle
uber
task that is
so what is the idiom for building something like Clojure where you want to make the Clojure jar but also a zip that has the jar and other stuff in it?
yep, that is where I am right now, but all the other stuff that went into the jar is lying around and in the way
ooh, that looks cool
metadata on the fileset files isn't clojure metadata, it's just extra keys on the TmpFile records
ok, I am going to play around with that. Thanks!
@flyboarder: Hmm. Boot sat for a long time on "updating to latest" then segfaulted the JVM.
@mtnygard: yeah thats what I’m seeing
that could happen if it can't download boot.jar and it tries to add it to the classloader perhaps?
Super exciting discussion which makes me curious if the boot is considered for building https://github.com/clojure/clojure 🙂. Sorry for perhaps naive questions, but I feel to ask: q1) "but which one will control the actual JVM classpath?” can JVM classpath change during tasks execution q2) "how do you merge results?” why result has to merge, tasks could build a “tree” rather than a DAG
how can I turn this into a task:
boot wait serve -d target watch cljs target -d target
Is this correct:
(deftask dev []
(comp (wait)
(serve :dir "target")
(watch)
#_(cljs :dir "target")
(cljs :compiler-options {:foreign-libs [{:file "js-shaw/sha3.js" :provides ["js-sha3"]}]
:dir "target"})))
ok thanks: this works:
(deftask dev []
(comp (wait)
(serve)
(watch)
(cljs)
(target :dir #{"target"}))))
can’t get this to work though:
(cljs :compiler-options {:foreign-libs [{:file "src/cljs/js-shaw/sha3.js" :provides ["js-sha3"]}]}
main site http://cljsjs.github.io/
that file declares various names as external, so the google closure compiler won't munge them
your library probably only has a few functions in it, so we can make an externs file from scratch pretty easily if necessary
@happy.lisper: if you have a tree of tasks instead of a pipeline, and the fileset starts to diverge, which one would represent the JVM classpath?
I think I see what you mean. Since the final classpath is determined at the end if I understand correctly. And there would be many ends.
the java compiler takes java source that's on its classpath, and writes class files to a directory of your choosing
so the tasks that come before the javac
task in the pipeline could add things to the classpath that the java compiler could then compile
and likewise, after you've compiled your class files, the javac
task adds them to the fileset before passing it to the next task
but since it's shared by all of the things in the pod you can only manage it if you make it a pipeline of changes
it's pretty great that the classpath provides a layer of abstraction between the actual resource and the name that you access it with
so loading a class from a jar file, from a url on the internet, or from a file in the filesystem is all the same
@micha I got further with sudo boot but it’s throwing an error that i cant run as root, even with the env var set
@flyboarder: does the root account in the linux environment really have permission to write everywhere?
probably not 😛
it’s windows afterall
windows permissions dont apply inside linux
that article says the cmd.exe's permission level applies to the bash that's spawned from it
right but not to the linux env inside it, plus im already elevated
i think the issue is where boot wants to write it’s self is using the ubuntu user folder and not the mounted windows folder
digging for boot env vars
I think BOOT_HOME
is what needs to move, yes it does^
so i moved all the boot locations to the mounted windows location and still this
ok ill try that instead
boot.sh in the ubuntu world
had to install java into linux first
this is a long shot but... do env vars defined in the cmd.exe session carry over into the bash session?
boot.properties
seems to get noticed, but it hangs again….., will try with the other env vars moved in properties file when I get back
^NTFS is what the elevated powershell is for
otherwise possibly
im pointing things to windows mount to avoid linux permissions
depends, if ubuntu uses a different user account, it could not have NTFS write on that folder
since the file system is obviously restricted
ill play more soon 🙂
yeah just hangs some more, oh well nice attempt microsoft but i’m not holding my breath that this will work soon
or strace