-
-
Notifications
You must be signed in to change notification settings - Fork 22
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
Ignore alias option #54
Conversation
87e8633
to
0bc3b72
Compare
0bc3b72
to
c0f0e7f
Compare
Thanks for this PR, that's the direction I want to go. My plan was to re-implement the CLI to be more granular about dependencies. My idea is to have the following flags:
Without include/exclude options, we include everything. I'd like to hear your toughs about the flags. Anything to add or change? I also thought about adding a library like tools.cli or babashka.cli, but maybe the way you are implementing it with I'm answering your other questions separately. My question is how you want to proceed. As an initial implementation, it's good, but I want to add more functionality. For me, it's ok if you want to work on it. Depending on how much time you want to invest, you could implement it and get it merged to main, or we could merge a subset of the functionality into a branch, and I can take it from there. |
Thanks to how flakes do, I'm already putting this to work for my project, and so I've got no problem if you feel like taking over. I'm also happy to help with implementing after we nail down the details.
I'm wondering about the ergonomics of wildcards: Usually, wildcards would be expanded by the shell, so in order to pass them to OTOH, if the interface was designed around shell wildcard expansion, it would also result in non-standard interface: Though does clj-nix really need wildcard support? What use cases are there, given that the deps-lock invokation could easily be generated by nix into a command for the flake using clj-nix?
Using a library seems like a good idea to me. Standard interface with generated help and all ... |
Ok, you convinced me about wildcard support, let's leave it out. Anyways projects don't have that many deps files, so probably it's going to cause trouble for almost no benefit.
Any suggestion? I'm not familiar with any clojure CLI library, I like tools.cli or babashka.cli because don't have any dependencies, but I'm open to suggestions. |
I haven't formed an opinion on CLI libs so far either. Maybe go with tools.cli by default? Try with both and compare outcomes? |
I'm thinking about merging this PR, and continuing working on the CLI on another PR, any objections? Regarding CLI options, we can have:
No wildcards, Something I forgot to mention, in the current version we also have some other flags, like About the CLI libraries, I played a bit with both, no strong opinions, but I'm liking |
No objections.
LGTM
"all deps.edn" as in the current behavior? All files named
Your proposals seem fine to me. |
Yes, as in the current behavior, all |
Locking all aliases may not be desirable for every project,
e.g. for development-only aliases with local paths, and such.
This PR adds the ability to ignore aliases, similar to ignoring deps files.
For some use cases, the existing ignore-deps capability might be used to achive the same result as with ignored aliases, but with some tools, that's inconvenient. E.g. shadow-cljs doesn't seem to implement support for multiple overlaid deps files.
I'm still working out how to test this and add some error handling to the options parser, but wanted to get some feedback in the meantime about the options interface and if you want this PR at all.