Fork me on GitHub
#boot
<
2016-01-07
>
jethroksy00:01:01

@juhoteperi let me know if you need any help with that

adamfrey02:01:46

I was following along with the docker/boot blog post on the adzerk website (http://adzerk.com/blog/2015/03/using-docker-to-run-boot-from-anywhere/) and I tried to run the docker command in the post

docker run -i adzerk/boot-clj boot repl
but I got a No such task (boot) error. Changing the command to
docker run -i adzerk/boot-clj repl
fixes it.

adamfrey02:01:17

Looks like the docker image now has /usr/bin/boot as an entry point, so you should update the command in the blog post.

alandipert03:01:45

@adamfrey: fixed! thanks. altho it looks like the latest boot on docker is 2.4.2, maybe @dave can be convinced to update

dave04:01:01

should i use the "latest" release of boot-bin?

micha04:01:30

i think the latest real version

micha04:01:38

that "latest" tag is a hack

micha04:01:04

i have to delete and reset that tag each version so that there is a stable download url

micha04:01:21

you can always obtain the latest version from there

micha04:01:37

the docker image is built on dockerhub right?

micha04:01:50

like it's going to have some version of boot already packaged up in there?

dave04:01:14

the master branch = adzerk/boot-clj:latest docker image

dave04:01:23

and git tags become docker tags

micha04:01:55

ah ok yeah

micha04:01:09

"latest" tag for boot-bin is what you want i think

micha04:01:21

because that's a totally separate thing from boot itself

micha04:01:35

you don't really care which version number that is

micha04:01:41

you just want the latest one

micha04:01:52

they'll all be compatible with all the versions of boot

micha04:01:04

just the latest one may have some bug fixes

dave04:01:09

ah ok, that makes sense

micha04:01:17

we won't add features or anyhting

micha04:01:39

i mean it doesn't do much, so it would be hard to add a feature lol

dave04:01:00

😛

dave04:01:10

new docker image is building

dave04:01:19

using the "latest" release of boot-bin

micha04:01:47

💥

alandipert04:01:41

i am addicted to the parrot emoji

alandipert04:01:46

such a sassy lil guy

yaniv05:01:59

hey. new boot user and clojurian over here. so far so good

micha05:01:17

great, welcome!

yaniv05:01:32

thanks. love the composability of boot tasks. took a few hours to get productive but it mostly just works

yaniv05:01:00

do you know if there’s a task for post-css compilation?

micha05:01:07

thanks! that's good to hear

micha05:01:14

post-css?

micha05:01:32

like to minify and concatenate?

yaniv05:01:36

it’s the next gen version of CSS. is to CSS what ES6 is to javascript

yaniv05:01:46

replaces less / sass

micha05:01:47

hm, not that i know of

micha05:01:03

did you see the wiki?

micha05:01:15

yep that one

yaniv05:01:23

yeah it’s not there

micha05:01:36

hmm, you have a mission simple_smile

yaniv05:01:37

so someone would need to create one? calling into a command line tool?

micha05:01:55

sure you can look at the boot-sass task for an example

micha05:01:03

probably similar to what you want to do

yaniv05:01:11

cool thanks!

micha05:01:18

one sec i'll find something

micha05:01:17

that one has a lot of options and stuff

micha05:01:43

you could start with that as an modify it though

yaniv05:01:37

cool. i probably won’t jump on this right away since i’m doing my css in my js project with webpack but i’d like to contribute back and this looks simple enough so i’ll see if i can get it in

micha05:01:08

good luck, let us know if you run into problems

crisptrutski10:01:09

does boot support ssl certificates for repositories?

martinklepsch11:01:05

@yaniv: boot-autoprefixer uses the postcss npm package, maybe that will help as a baseline https://github.com/danielsz/boot-autoprefixer

jethroksy11:01:43

@juhoteperi: just so you know, when I got back to work correcting my sass task, both jsass and the sass gem were unable to compile my scss file, but sassc was able to, so I ended up using boot-sassc and sift to move it to the appropriate directory

jethroksy11:01:02

error was due to failing @imports in nested directories

jethroksy11:01:19

probably something out of your control, but yeah just fyi

jethroksy11:01:08

actually could be due to an older version of libsass being used

juhoteperi12:01:29

@jethroksy: Also good chance it is caused by custom imports code in sass4clj

jethroksy12:01:09

Same thing happened when I was using Scout.app

jethroksy12:01:14

But not Koala.app

danielgrosse14:01:57

Hello, is there something like lein ancient for boot?

martinklepsch15:01:29

@nha: @danielgrosse that works too but really all that's needed comes with boot already

danielgrosse15:01:50

Ah thank you both.

danielgrosse15:01:20

Is there a way to blacklist directories?

martinklepsch15:01:01

@danielgrosse: can you give an example what you mean?

nha15:01:12

boot show -u downloads both Clojure 1.8.0-RC4 and clojure-1.6.0 though (no big deal mind you)

danielgrosse15:01:41

I have the resource path, but there are folders in it, which aren't needed for the project, but for the website. I got (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() => (null) (-21) until I moved them put of the folder.

martinklepsch15:01:39

@danielgrosse: do you have a lot of directories in that folder?

micha15:01:23

i'd like to just hide those

martinklepsch15:01:25

filesystem watching mechanisms sometimes break when there are huge amounts of dirs

micha15:01:46

they don't mean anything i don't think, because boot already doesn't use the fsevents to know which files changed

micha15:01:59

since that never worked on any os especially osx

micha15:01:38

so i think the watching isn't broken, but that message is from somewhere deep in the barbary code somewhere

micha15:01:52

it would be cool to be able to suppress it

nha15:01:29

@micha not sure if you remember, I had a bug upgrading from 2.4.2 to 2.5.2 when running boot test. Using 2.5.5 and specifying the BOOT_EMIT_TARGET=no fixed the problem, so I did not open a github issue. (The exception was something like "could not find filesystem.clj").

micha15:01:51

@nha: this should be fixed in 2.6.-SNAPSHOT

micha15:01:59

2.6.0-SNAPSHOT

micha15:01:57

@martinklepsch: it seems like the expectation is for BOOT_EMIT_TARGET=no to be set automatically when the target task is used

micha15:01:11

do you think we should make that the behavior in 2.6.0?

micha15:01:31

i think it would probably not break anyone's builds, right?

micha15:01:45

@nha: would you agree?

martinklepsch15:01:33

@micha: it would be identical in behaviour right?

micha15:01:20

except when you expect both writing automatically to target-path and using target task at the same time

nha15:01:18

What is the idea behind BOOT_EMIT_TARGET=no ?

micha15:01:41

we don't want to make a breaking change, that env var enables the breaking behavior

micha15:01:05

(not automatically writing output files to :target-path, using the target task instead)

micha15:01:18

so we can just deprecate the old behavior

micha15:01:26

and not break anyone's builds

micha15:01:02

especially unattended builds like in travis or circleci

nha15:01:58

but so adding (target) may break other tasks that were working

micha15:01:51

not tasks, but if your build system is supposed to put artifacts in the :target-path dir, and you add the target task it won't anymore

micha15:01:16

the target stuff can't affect any tasks, because it's writing files outside of the fileset

martinklepsch15:01:25

@micha: if BOOT_EMIT_TARGET is not automatically set but the target task is used, would that mean that files are written to :target-path twice

micha15:01:27

so no tasks can see them anyway

micha15:01:50

@martinklepsch: yes that's true but the diffing algorithm is very efficient

micha15:01:57

it won't actually write them twice

micha15:01:28

i made some big improvements there in 2.6.0-SNAPSHOT

micha15:01:41

it'll add like 10ms to the build time

micha15:01:52

for a big uberjar with thousands of files

curtosis16:01:42

@magomimmo: working through the modern-cljs tutorial and really enjoying it. (Nice way to learn boot!) I'm getting an error on Tutorial 9 -- on the clj side, remotes.clj can't find shoreleave.handler.

curtosis16:01:05

Is this known, and/or would you like an issue filed?

curtosis16:01:12

thanks! totally brand-new to boot. (Well, ± 8 modern-cljs tutorials 😉 )

micha16:01:35

great! hope you enjoy simple_smile

curtosis16:01:00

but decided I need to give it a whirl -- I have a couple of moderately-complex lein projects with clj/cljs/java bits, uberjars, uberwars, etc. and am hopeful boot helps me keep it all a bit straighter in my head and on disk.

curtosis16:01:46

(after spending hours sorting out implied profiles in the uberjar/uberwar process...)

micha16:01:03

good luck, you know where to ask if you run into issues simple_smile

curtosis16:01:19

FWIW: I think it's supposed to be [compojure.handler :refer [site]], not shoreleave.handler. That change seems to work, anyway.

curtosis16:01:15

is it normal when working with the nrepl client to get RejectedExecutionException on the main boot thread when the client repl quits?

magomimmo16:01:12

@curtosis: did you tray the following?

git clone 
cd modern-cljs
git checkout se-tutorial-09
boot dev

curtosis16:01:37

I just checked that out (at the start of tutorial 10) and yep! it's right there. Looks like it's just in the tutorial text that it's wrong, then.

magomimmo16:01:26

@curtosis: you could eventually use git diff

curtosis16:01:28

tutorial-09.md, in the "Back to shoreleave" section, the last "here is the complete remotes.cljs" snippet.

magomimmo16:01:40

@curtosis: ok, I’ll take a look and let you know. give me 10 minutes, because I’m working on a different stuff at the moment

curtosis16:01:24

no worries! like I said, it looks like it's just in the text (and I deduced the right code so I could move ahead)

richiardiandrea16:01:02

I think boot is similar to gradle, in the way that you can code, which is very cool indeed

magomimmo17:01:16

@curtosis: yes, there were two typos….I’ll fix in a moment

magomimmo17:01:17

@curtosis: typos fixed. Thanks for the help

curtosis17:01:40

no problem. thanks for the tutorial! simple_smile

jaredly19:01:58

is there a way to have a dependency that is just a local folder that I have? or a git(hub) repo?

micha19:01:51

@jaredly: try boot checkout -h

micha19:01:55

i think that might be what you want

micha19:01:21

2.6.0-SNAPSHOT has a more advanced and comprehensive solution, you could try that, too

jaredly19:01:15

what’s the new solution?

micha19:01:33

boot --checkout foo/bar:1.2.3 ...

micha19:01:07

or add :checkouts '[[foo/bar "1.2.3"]] to your set-env! call where you add dependencies

micha19:01:29

you still will need to have that dependency in your :dependencies

jaredly19:01:43

but I don’t want to use maven :/// I just want to use this folder that I have as a dependency

micha19:01:54

ok so add it to your :source-paths?

micha19:01:13

it's not a dependency unless maven is involved

micha19:01:20

by definition

micha19:01:27

it's just a directory with files in it

jaredly19:01:44

ah. didn’t know the lingo

micha19:01:19

dependencies can have their own dependencies

micha19:01:22

and things like that

micha19:01:36

it would be unwise to not use maven for that

jaredly19:01:40

well yes. and I want this folder w/ stuff in it to have dependencies

micha19:01:54

yeah that's exactly what maven is for

micha19:01:06

you can install the jar in your local maven cache

micha19:01:12

you don't need to deploy it

jaredly19:01:24

these jars will be the death of me 😛

micha19:01:26

and you can have that going incrementally

micha19:01:34

so it will reinstall the jar when you change anything

micha19:01:44

takes like 25ms to do that

micha19:01:50

so it won't slow you down

richiardiandrea19:01:39

@jaredly: hi, I saw you PRed replumb 😉 Thanks!

frankiesardo22:01:03

I’m running a cordova app on web/android/ios and boot has been great so far

frankiesardo22:01:30

I’m trying to get boot reload automatically push to all three platforms as I’m developing

frankiesardo22:01:32

It works out of the box for web and ios but the javascript on the android client needs :.. to actually be

frankiesardo22:01:17

Can I set the reload ws hostname at runtime?

frankiesardo22:01:11

Or is there a simpler more obvious way that I’m not seeing to achieve the same goal?

alandipert22:01:29

@frankie: I think there's an open ticket? I recall @martinklepsch wanting to do the same

frankiesardo22:01:25

@alandipert: couldn’t find any similar open issue. Could you keep me in the loop if there is an existing discussion? This would be an awesome feature

curtosis22:01:17

@jaredly: I had to do that for a prior project; my solution was to install the necessary libs in a repository that happened to be a directory in the project (and so under source control) and tell the project maven config about it. Not a good general solution -- you really don't want special-case handling for any significant dependencies -- but for things like e.g. a 3rd-party jar you can't download, it was a lifesaver.

curtosis22:01:47

Of course, that was under lein. I'm too new to boot to be much use in translating.

martinklepsch22:01:00

@frankie: tried ws-host option of the reload task?

frankiesardo22:01:10

@martinklepsch: yes, but if I set the host to 10.0.2.2 then the ios reload doesn’t work. They need two separate values

frankiesardo22:01:03

So I was wondering if i can change that on the client with a switch-case on the OS

martinklepsch22:01:12

Ah, I see, that's what you meant with android.

martinklepsch22:01:18

Err, "at runtime"

martinklepsch23:01:37

Hm. I'd suggest opening an issue afair there has not been discussion about something like this before