Fork me on GitHub
#duct
<
2018-06-04
>
scaturr13:06:06

Does duct have any peculiarities when using records with extend-protocol? I was trying to use a boundary in a similar to duct.database.sql.Boundary

scaturr13:06:23

i.e (defrecord MyRadService [spec])

scaturr13:06:58

And in another namespace: (extend-protocol MyProtocol slack_api.boundary.MyRadService)

scaturr13:06:11

This works in the repl - but when I lein uberjar I get the classic ClassNotFoundException

jahson13:06:32

Do you have [slack_api.boundary] in (:require )?

scaturr13:06:15

in the namespace that is using extend-protocol yes

weavejester13:06:17

Duct doesn’t do anything special to protocols. duct.database.sql.Boundary is a normal record.

weavejester13:06:37

Maybe try cleaning your target directory (`lein clean`)?

scaturr13:06:13

lein clean seems to have done the trick

scaturr13:06:24

I got confused when the repl was working and build was not

jahson13:06:22

Note about strange behavior and lein clean should be meant somewhere 🙂

jahson13:06:27

I’ve got bitten by this a few times.

scaturr13:06:53

Yeah. It’s hit me outside of duct projects a time or two as well