This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2016-08-17
Channels
- # admin-announcements (1)
- # aleph (1)
- # architecture (1)
- # bangalore-clj (14)
- # beginners (15)
- # boot (89)
- # braveandtrue (1)
- # cider (1)
- # cljs-dev (33)
- # cljsjs (1)
- # cljsrn (147)
- # clojure (149)
- # clojure-quebec (1)
- # clojure-russia (82)
- # clojure-spec (18)
- # clojure-taiwan (2)
- # clojure-uk (15)
- # clojurescript (97)
- # cursive (11)
- # datomic (22)
- # funcool (2)
- # hoplon (53)
- # immutant (16)
- # jobs-rus (8)
- # lambdaisland (1)
- # off-topic (13)
- # om (7)
- # onyx (58)
- # parinfer (6)
- # planck (19)
- # protorepl (2)
- # re-frame (17)
- # reagent (201)
- # rum (6)
- # specter (9)
- # test-check (68)
- # untangled (47)
- # yada (94)
@alandipert: omg I ran strace
what am I looking at đ
discovered (thanks to strace
đ ) that the ubuntu linux subsystem installs 14.04 LTS, this only has java7 when you install the bundled version, installing java8 right now
no change
sometimes I run boot, boot is downloading something like this:
Retrieving maven-metadata.xml from (1k)
Retrieving maven-metadata.xml from (1k)
what does it mean?@doglooksgood it's downloading some info from the clojars maven repository
@micha But my dependencies has already been fetched. is that using SNAPSHOT version cause it?
@doglooksgood: It's likely, yes. SNASPHOTs are checked daily to see if there is a new version. That's done by downloading the maven-metadata.xml
for the SNAPSHOT and checking it for a newer one
ok, it I got this far with my deploy task for deploying to cljsjs:
(deftask package []
(comp
(download :url (format "" +lib-version+)
:unzip true)
(sift :move {#"^js-sha3-*/src/sha3\.js" "cljsjs/sha3.inc.js"})
))
but somethings not working right. how do I begin to debug this?@doglooksgood: i dont think boot cares about the settings.xml
unfortunately
how does one use https://github.com/adzerk-oss/boot-test without getting test files added to fileset (and then later included in jar)?
@stuarthalloway: add your test directory to source-paths
and then the test files don't have output role
alternatively you could sift them out
if I am AOT-compilling is sift the only option?
@stuarthalloway: you can have a custom test boot task which modifies the source-paths
before running the task provided by boot-test
hm, another option is specifying your aot namespaces instead of compiling all of them, aot has a namespaces arg
@onetom but that affects every subsequent task as well, right?
it would - i tend to avoid doing that myself, but it depends what your personal conventions for calling tasks are
I keep struggling with the ânonlocal impactsâ of having only one fileset.
I want to do X but not have X have cascading impact on other things
have you explored multiboot yet?
and i know that feeling đ
but don't worry after a few years your mind will take a new shape, fitted to sift
it's an experimental way of doing parallel builds that came out of andrea richiardi's building of a test setup for us
donât know multiboot, failing at googling it
sift is cool by I immediately found myself cutting against the grain there too
I have an existing directory structure that I cannot change, and want to superimpose boot over it
which leads to âtake directory âfooâ from filesystem and add it to assets role of fileset under the name bar/bazâ
where I could not figure how to make sift do the âunder the name bar/bazâ part
https://github.com/boot-clj/boot/blob/master/boot/core/src/boot/test.clj#L225 is the entrypoint for learning about multiboot
i have yet to explore myself, i believe mike nygard made some inroads
@stuarthalloway: are you trying to solve your current issue with boot because with lein it was too complicated / fragile / non-elegant?
also boot-in-boot is apparently what we're actually calling it
@stuarthalloway: i see, that's a conundrum. maybe manage a symlink in your build.boot? e.g. mkdir test-parent && ln -s test test-parent/test
basic idea there is change the directory in your build.boot with clojure code before adding any sources
another thought is looking into how add-sources work, and see if you can do it yourself but also add metadata to the added files. then you could sift them out by metadata later instead of by path
@alandipert: I started down the road of writing my own add-at
task, using sift-add
as a model, but ran into undocumented private helpers fns and eventually an exception that I did not understand. Is there a conceptual reason that sift
could not transform the paths on the way in?
@onetom finding the things to move is the problem, adding a dir puts them at the top of the fileset commingled with everything else
then you need global knowledge to write a regex â not composable
had another thought. do you have java sources in this project?
ah bummer. i was thinking you could identify the test files by diffing output files and input files
btw, here is add-at: https://gist.github.com/stuarthalloway/072cf989c509dc78b4d08463fc4975f3
@stuarthalloway: while i can't help with your problem, i've noticed datomic in the error message. are you aware of https://github.com/tailrecursion/boot-datomic ?
@stuarthalloway: me and micha cooked this up - https://gist.github.com/alandipert/2ef0a4b3708e96c11432f09ea7584e8e
it looks out to the filesystem to build a list of paths to remove from the fileset
we talked about adding a thing to sift, that adds metadata to whatever files were matched
then you could use that new option in concert with sift --add-source to add the tests to the fileset, and then later peel them off by filtering by metadata
there's already --add-meta but it needs a regex, which doesn't make sense for this case
@alandipert thanks! on a call but will look at this and respond later today
no prob
@alandipert: I think making sift have a few more primitive capabilities would be great
one thing we realized is that when you add sources with sift, if you have an upstream watch
, it won't reload
but yeah sift is basically our CL loop
more insanity, the merrier
that said, I well understand the benefit of proceeding slowly, making better choices, and not having to support something ugly forever. None of this stuff is blocking me atm
the more fundamental thing to me is âlosingâ my filesystem paths when adding to the fileset, i.e. if I add directory âfooâ I get the contents of âfooâ, not âfooâ itself
^^ is that fundamental to the model in a way that prevents something like my add-at
from being workable?
looking at your code in depth now - looks pretty close to sift, gonna play with it
@stuarthalloway: Iâve got around that limitation with:
(add-resource (io/file ".") :include #{#â^foo/"})
that adds foo
and not just its contents
add-source
and add-asset
are also a thing and support :include
too
@anmonteiro: that's sweet
trying that now!
credits to @micha, actually
he pointed me towards this originally
hm, how to I get a fileset to test that without putting it into a task?
boot -B sift --add-resource . --include "^test/" show -f
is a way
the thing about it is the files go in with the test prefix which would mess up require
so this would need to be a prelude to marking them with metadata and renaming
yea, multiple threads here
I woud not be doing this with test stuff, probably with assets
yet another workaround which comes to mind, which i don't think would work until next release
is to create a new directory with a symlink inside it, that points to ../test
then you add the new directory to sources
this wouldn't work right now because boot doesn't follow symlinks yet
eg
.
âââ my-test
â  âââ test -> ../test/
âââ test
âââ foo
@seancorfield: how do I build a boot-new
generator that can make functions with a body as well?
In the defn
generator it outputs a string, could that be any edn?
@flyboarder: a generator can do whatever it wants in terms of manipulating files.