-
-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Restrict or remove usages of add-classpath!
#113
Comments
Indeed. And we don't really use this for adding depedencies at runtime, so you can argue we've got just one use-case in practice. On top of this - it seems our use case causes problems for many people, as you've already noted, that's why I'm leaning more and more towards:
Yeah, that's true - but if our solution doesn't work I guess we're still inviting them to do something else. ;-) There's also the part about Orchard aiming to have 0 runtime deps and |
Yeah, that's regrettable, but it's also a reflection for how little time we've all been able to dedicate to Orchard and related libraries recently. :-( This doesn't change the fact that it's probably one of the most important problems to address, given how many people are affected by it. |
Thanks for the thoughts! SGTM. I can provide a PR removing dynapath entirely, if that helps. Also good to hear that the Lein plugin approach would be welcome as well. I was waiting to see how these They are a stone's throw away so it's safe to assume they'll be available in a couple weeks :) |
Let’s do this in two steps. You can first make this opt-in, I’ll cut a new
release and then we’ll remove it completely 1-2 more releases down the
road. I think this will make the transition less painful for people who are
okay with the current approach. I don’t want to remove this completely
without having an alternative we can suggest. Not that the current approach
works for me. 😂It would also be great to add some instructions about your
Lein plugin to CIDER’s docs.
On Sun, 11 Apr 2021 at 9:44, vemv ***@***.***> wrote:
Thanks for the thoughts!
SGTM. I can provide a PR removing dynapath entirely, if that helps.
Also good to hear that the Lein plugin approach would be welcome as well.
I was waiting to see how theseclojure-emacs issues would develop before
implementing further features (JDK sources, tools.deps compat).
They are a stone's throw away so it's safe to assume they'll be available
in a couple weeks :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#113 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAZLSWT7JHEHK4SKYST7T3TIFAMBANCNFSM42XIYWLQ>
.
--
Best Regards,
Bozhidar Batsov
|
👍 Perfect! Doing |
Context
There's a number of issues indicating that the use of
orchard.java/add-classpath!
creates issues that end users can experience:#112
#103
#105
Some time has passed since those were reported (especially for clojure-emacs/cider-nrepl#668 - more than a year) so it seems a good idea to take action.
Proposal
Any of these would seem sensible:
add-classpath!
opt-outadd-classpath!
opt-inadd-classpath!
entirely.How
For the two first alternatives:
[org.tcrawley/dynapath "1.1.0"]
a :provided dependency, and within orchard, onlyrequire
it dynamically via a try/catchadd-classpath!
under a "feature flag"Other considerations
It's worth reminding that add-classpath! has essentially (afaict) two big use cases:
For the former, that is a problem to which I happen to have found a robust solution, free of classloader intricacies. See clojure-emacs/cider-nrepl#64 (comment)
This is to say, for 50% of the use cases there's a real alternative that can be used today. The other 50% is not unimportant, but likely it doesn't justify introducing buggy behavior that can affect unrelated 3rd-party libraries.
The text was updated successfully, but these errors were encountered: