boot

:boot-clj: https://boot-clj.github.io/ — build tooling for Clojure. Dev chat in #boot-dev
kuwze 2018-05-04T19:33:35.000108Z

does anyone know how I might get help for this issue?: https://gist.github.com/kuwze/5f569f3767ac70363afa762960fe17a3

seancorfield 2018-05-04T19:49:15.000485Z

@kuwze Looks like you're running on Java 9? You'll need to update some libraries/versions I think to get that working.

seancorfield 2018-05-04T19:49:24.000569Z

Java 9 broke a lot of stuff 😞

2018-05-04T19:50:25.000602Z

@kuwze if you don't want to upgrade libs yet, you could also try BOOT_JVM_OPTIONS="--add-modules java.xml.bind" boot cljs

seancorfield 2018-05-04T19:50:59.000008Z

@alandipert Is it possible that @kuwze is using an older boot-bin?

seancorfield 2018-05-04T19:51:31.000597Z

I thought the basic dynapath stuff got fixed as of Boot 2.7.0, but needed the entry point app updated too?

2018-05-04T19:52:49.000471Z

i thought it was fixed also but i've seen the xml error

2018-05-04T19:53:21.000229Z

i hope to do release rituals soon, i'll investigate

kuwze 2018-05-04T20:05:55.000373Z

oh I fixed it

kuwze 2018-05-04T20:05:59.000479Z

sorry to bother you guys

seancorfield 2018-05-04T20:06:26.000107Z

@kuwze what did you do to fix it?

kuwze 2018-05-04T20:07:21.000009Z

I added [org.clojure/clojurescript "1.10.238"] before [adzerk/boot-cljs "2.1.4"] in :dependencies

kuwze 2018-05-04T20:07:37.000007Z

my reply is at the bottom

seancorfield 2018-05-04T20:09:26.000247Z

boot-cljs uses an older version of ClojureScript that doesn't run on Java 9 I guess. Adding that explicit dependency overrides the transitive dependency in boot-cljs (the order doesn't actually matter).

seancorfield 2018-05-04T20:11:49.000298Z

Looks like boot-cljs relies on a pretty old version of ClojureScript by default https://github.com/boot-clj/boot-cljs/blob/master/build.boot#L7 -- I think it's always a good idea to specify an explicit dependency on ClojureScript in your project, so you can control which version you're using.

👍 1
kuwze 2018-05-04T20:25:16.000312Z

well it looks like my trick only works once... https://gist.github.com/kuwze/dda566438366f8bf7d054f3b5d8be70d

kuwze 2018-05-04T20:28:07.000623Z

it seems to be from using boot-reload https://github.com/adzerk-oss/boot-reload

seancorfield 2018-05-04T20:28:20.000600Z

Does Clojure 1.8 run on Java 9? I would change that in your boot.properties file.

seancorfield 2018-05-04T20:28:52.000234Z

But, yeah, there may be all sorts of dependencies in your setup that cause problems with Java 9...

seancorfield 2018-05-04T20:29:26.000055Z

You will probably need to add an explicit dependency on a recent version of dynapath too.

kuwze 2018-05-04T20:29:48.000239Z

wait what should I add to boot.properties?

kuwze 2018-05-04T20:30:01.000096Z

also, where should I be looking to figure out this stuff myself?

kuwze 2018-05-04T20:31:06.000446Z

wait no it was obvious in boot.properties

kuwze 2018-05-04T20:31:18.000430Z

but after changing it to 1.9.0 I still get the same error...

seancorfield 2018-05-04T20:31:39.000263Z

Just wanted to eliminate that as a potential cause.

seancorfield 2018-05-04T20:32:10.000387Z

Add this dependency in your build.boot file: [org.tcrawley/dynapath "1.0.0"]

kuwze 2018-05-04T20:32:14.000232Z

the classpath conflict line is gone though

seancorfield 2018-05-04T20:32:28.000153Z

That should ensure you're not picking up an older version from anywhere.

kuwze 2018-05-04T20:33:22.000481Z

same error. and it didn't download anything, so I am assuming I already had that version.

seancorfield 2018-05-04T20:42:30.000031Z

Sorry, I'm out of suggestions at this point... other than "use Java 8 instead?" ¯\(ツ)

kuwze 2018-05-04T20:44:46.000339Z

how would I go about telling boot to use java 8?

kuwze 2018-05-04T20:53:45.000483Z

I figured it out; I just had to add a more modern version of http-kit to my dependencies like this: [http-kit "2.3.0"]

2018-05-04T21:19:56.000212Z

@kuwze good to hear, out of curiousity did the BOOT_JVM_OPTIONS way fix it for you?

kuwze 2018-05-04T21:42:42.000361Z

@alandipert no... the BOOT_JVM_OPTIONS didn't work. Only adding http-kit as an explicit dependency fixed it.