Fork me on GitHub
#boot
<
2016-12-09
>
mattly00:12:51

has anyone successfully gotten junit test metadata from boot-test working with CircleCI ?

ba00:12:00

hey guys I don't like the anthropomorphizing of software into clothing items, should I open an issue on github or can you just laugh at me here?

micha00:12:04

take a stand, your voice will not be suppressed

ba00:12:27

it causes issues for dutch clojure users, cloggs up their entire system

micha00:12:30

yeah, it's a slippery slope for sure

alandipert02:12:27

i'm thinkin 2.7.0-rc1 tomorrow! i like the idea of an RC, makes it easier for people to test without cloning/building

alandipert02:12:31

we're in pretty good shape i think, this is gonna be an epic release

alandipert02:12:35

@tcrawley did you do any testing w/ the new dynapath under java 9?

alandipert02:12:41

of boot, that is

tcrawley02:12:39

@alandipert: I wasn't able to use boot under 1.9 due to https://github.com/boot-clj/boot/issues/525

tcrawley02:12:53

so wasn't able to test with boot specifically, no

tcrawley03:12:40

@alandipert: it may work to create a new URLClassLoader in Boot.java, I'll play with that

mikeyr08:12:53

I'm new to boot. I'm looking at a hoplon castra example project. I can run it by typing "boot dev" But if I try "boot repl" followed by (dev) it doesn't seem to run (browsing to http://localhost:8000/ results in ERR_CONNECTION_REFUSED). Is there something I can type at the boot repl that will work?

mikeyr09:12:57

Ok - I figured it out: Need to do (boot (dev)) instead of just (dev)

xifi13:12:32

can I use boot-cljs-repl for nodejs?

xifi13:12:06

just adding it to the task pipeline with (cljs-repl) and calling boot repl -c and inside that (start-repl) I get stuck on waiting for a websocket connection, which doesn't seem right for a node project I guess 🙂

tcrawley14:12:22

@alandipert @micha: looks like I may have a bug in dynapath 0.2.4 under java 9, but only when AOT'd(?). Looking at that now

tcrawley14:12:53

also fixing other boot issues under Java 9, but we should discuss once I have a PR to make sure I'm not breaking things

tcrawley14:12:27

also also I'd like to have boot 2.7.0 switch to using the CDN-fronted repo for clojars, I'll PR that today as well

alandipert15:12:30

all sounds great, thanks

alandipert15:12:01

do you have a favorite way to experiment w/ java 9 btw? like a vm or docker or something else?

tcrawley15:12:03

I just install it locally on macos, and use https://gist.github.com/71be640975b19a5d92f8b1b01be7f2e0 to switch between jdk versions

tcrawley15:12:32

The following is now illegal under the latest java 9 build (9-ea+148) without adding java-9 specific command line options to the java call:

(-> URLClassLoader
         (.getDeclaredMethod "addURL" (into-array Class [URL]))
         (doto (.setAccessible true))
         (.invoke cl (into-array URL [url])))

tcrawley15:12:49

because calling .setAccessible is now illegal on private methods in packages that haven't been 'opened' to the app's module

alandipert15:12:30

is there an alternative for injecting jars? or is that process in general what they want to make impossible

tcrawley15:12:33

java.lang.reflect.InaccessibleObjectException: Unable to make protected void java.net.URLClassLoader.addURL(java.net.URL) accessible: module java.base does not "opens " to unnamed module

tcrawley15:12:07

it's really .setAccessible that they are taking away, not URLClassLoader features specifically

tcrawley15:12:17

I think this is workaroundable in boot (at least for URLClassLoader), but will break lots of people's code that reflects

alexmiller16:12:54

@tcrawley I thought their release announcement was kind of snarky :)

tcrawley16:12:53

@micha: why is Boot.class not in a package?

tcrawley16:12:09

are you opposed to moving it to one?

micha16:12:04

not at all

micha16:12:21

@tcrawley is that a faux pas?

micha16:12:36

frowned upon generally?

tcrawley17:12:51

A class not in a package can't be called by a class in a package. And to fix CL issues under Java 9, I believe I need to introduce a ClassLoader class next to Boot.class that is used as the top-level CL.

tcrawley17:12:05

and I'll need to be able to seal it from pod.clj, so need to access it.

tcrawley17:12:26

but I could leave Boot.class alone, and add a package to boot-bin just for the CL

tcrawley17:12:45

I'll play with it and see

micha17:12:40

i don't think it would be a big deal to put Boot.class in a package

micha17:12:58

it's only used for the bootstrapping

micha17:12:10

nothing useful to user code in there

richiardiandrea19:12:42

@xifi I am not sure but I think there must be something missing for that in node, see also here https://specious.github.io/blog/2016/12/07/Starting-a-NodeJS-app-with-ClojureScript-and-Boot/

talexxx21:12:34

Has anyone done a boot heroku process yet? Something with post-receive hooks, maybe?

xifi21:12:11

@richiardiandrea thanks for that link, actually I got all of that working and I managed to get a node repl to start based on the cljs quick start wiki page with (cljs.repl/repl (cljs.repl.node/repl-env)) which was enough to start

xifi21:12:03

I want to check out what would it be like to write some CLI app with it

richiardiandrea21:12:07

maybe there is a lein template somewhere

xifi21:12:54

but I see this is a bit of an uncharted territory. Like I'm not sure how would I add npm dependencies to a boot project, I tried boot-npm which failed with some weird error

richiardiandrea21:12:04

@xifi what was the error in boot-cljs-repl?

xifi21:12:16

@richiardiandrea no error, it started listening on a websocket and was waiting for a connection 🙂

richiardiandrea21:12:39

yes so it looks like the client part is missing

richiardiandrea21:12:55

so boot-reload provides the client if web

richiardiandrea21:12:49

@xifi no sorry scratch that

richiardiandrea21:12:25

I will try so that I can understand what is going on

xifi21:12:30

I think most of the tooling is built around the web since the server side is well solved with clojure and the JVM. However the CLI part is intriguing for me

xifi21:12:15

an advance-optimized script spits out a 90kB script that can be run directly via nodejs and has great startup time

richiardiandrea21:12:35

yes that's definitely true

richiardiandrea21:12:28

the thing is, unless you need to connect to a repl through cider, you don't need boot-cljs-repl, cljs CLI is fine. Of course boot also gives you tasks, immutable fileset et al...so..

talexxx21:12:05

For the record, answering my own question: https://github.com/upworthy/heroku-buildpack-boot