immutant 2017-06-21

@donyorm what is webjars-locator-jboss-vfs? And are your dependency trees the same for boot and lein?

can you share the output of lein deps :tree and the equivalent in boot (I think it is boot show -d maybe?)

@tcrawley lein deps :tree outputs:

@tcrawley the dependencies should be the same. webjars-locator-jboss-vfs is a (possibly optional) dependency of immuntant as far as I know. It's part of a luminus project

yogthos sent me here with this question

@donyorm webjars-locator-jboss-vfs isn't a dep from immutant, I don't know where it comes from. And you should only need it when deploying an Immutant app to WildFly, as that's the only place where vfs will exist.

can you share the app where you see this problem? and when does the error manifest?

@tcrawley the app is a standard luminus project (created with lein new luminus app-name) but I'm trying to make it run under boot. The error only manifests when I run the app with boot. I'll try and get the project on github

obviously build.boot and project.clj contain the most relevant items

you can run the project under boot with boot dev run

cool, thanks. I'll take a look

thanks for helping me with this. It's a weird (and frustrating) issue

are you trying to get a specific Luminus app working with boot, or just trying to solve the case generally? If it's the former, a quick solution is to remove that dependency if you aren't going to be deploying to WildFly. I think the proper answer is only include that dep when building an Immutant war file. I think we have provisions for that in the plugins.

But that doesn't identify why you see the error with one tool and not the other

I'm trying to get luminus working with boot

so I need to figure out how to solve the issue with the dependncy in place

I don't think the dependency should be there though - it should only be in a profile that gets applied when you are building an immutant war file, because it has no value outside of WildFly

so I think luminus itself needs to change there

I'll ask on that channel

give me a sec to ask, I'm in the middle of something

sure, no problem. I'll just observe at first :)

Ah, yeah. That code is using ServiceLoader to search the classpath for UrlProtocolHandler service definitions, which finds the one in webjars-locator-jboss-vfs, which triggers registration of it

but I have no idea why that code doesn't get triggered under lein

it's definetely weird

welp, I figured out that error

for some reason, [org.webjars/webjars-locator-core "0.27"] was causing issues. When I excluded it from a different dependency it kind started working. Now I have another error 🙂