Fork me on GitHub
#leiningen
<
2019-03-27
>
ok08:03:09

why lein run & does not run in background? it will not start to listen for ports unless I run fg later - weird because if I run simple bash script this way it will run in background.

victorb09:03:09

@twaima hm? Are you running lein run then doing CTRL+Z or something? As that would pause the execution of the process

victorb09:03:30

huh, interesting. Learned something new today

hjrnunes10:03:08

Hi, I'm using immutant messaging in my luminus project with figwheel. Long short, HornetQ starts itself during lein figwheel and either hangs waiting for a lock if my dev REPL is started first (thus HornetQ is already started) or prevents my REPL from starting if fighweel is started first. Is there an easy way of removing the immutant messaging dependency from the lein fighweel task? Or do I just have to start fighweel from my dev REPL?

gfredericks13:03:24

is there documentation somewhere on what the alternative to "implicit hooks" is?

gfredericks13:03:08

maybe I need to focus on what the hooks are trying to do 😕

mikerod14:03:57

@gfredericks I thought that hooks were like a monkey-patch that tried to revert the monkey patch when done

mikerod14:03:09

that was what I thought it could be summarized as at least hah

mikerod14:03:19

Perhaps it’s more like an intercepter pattern over functions you don’t control.. .anyways: https://github.com/technomancy/leiningen/blob/master/doc/FAQ.md has this

Q: I'm getting warnings for implicit hooks or implicit middleware.
A: Hooks are a deprecated feature where plugins can modify the behavior of built-in Leiningen functionality; they result in situations which can be very difficult to debug and usually point to situations in which the original API is not flexible enough.

Leiningen also has a deprecated feature for implicitly loading middleware. Middleware is not deprecated but should now be declared using :middleware instead of being auto-detected from plugins.

Adding :implicits false to project.clj will disable all implicit features.

mikerod14:03:07

To me, it is a bit concerning how it will be worked around in some plugins though. I think some do the hooks since the API isn’t exposed enough to do what they do. So I’m not sure what they will do instead. I can’t remember any concrete examples of plugins facing this without looking though.

gfredericks15:03:19

yeah I think I found both of those

gfredericks15:03:44

I guess I was hoping there was something called "explicit hooks" that I could easily switch to, but it seems like that's not the case

4
yefoakira16:03:18

Can leiningen support dependencies that are only pom files? Adding [software.amazon.awssdk/services "2.5.17"] doesn't seem to be enough.

mikerod16:03:48

@yefoakira add :extension "pom" perhaps

mikerod16:03:05

but not sure what you expect to happen when this dependency is pulled to the classpath?

mikerod16:03:41

[software.amazon.awssdk/services "2.5.17" :extension "pom"]

yefoakira16:03:20

Well, that does seem to do the work. Is that documented anywhere?

mikerod16:03:52

however, it is missing from the tutorial doc I noticed

👍 4
mikerod16:03:31

that example mentions “what is supported by pomegranate“, which the lib dependencies info is passed through for resolution

mikerod16:03:02

In that libs github, I actually don’t see the dependency coordinate structure documented directly, but in it’s actual source comments, you can see https://github.com/cemerick/pomegranate/blob/pomegranate-1.0.0/src/main/clojure/cemerick/pomegranate/aether.clj#L707