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
clojure: 1.8.0 -> 1.9.0.273, new tools! #32695
Conversation
ack, @yegortimoshenko I merged a different clojure PR! Would you like to rebase this against master? |
@orivej I'll do that! |
e6c9680
to
6b61f60
Compare
@orivej Done, check it out. It does not build actual Clojure from source, because it's only a dependency of Even if we do build Clojure from source, new tooling fetches all project dependencies from Maven at runtime, which includes Clojure. |
6b61f60
to
56a3319
Compare
@grahamc Rebased! |
That's dismaying, I'll see if I can fix it.
|
I also ended up concluding that the existing maven support in nix wasn't quite ready for primetime, and that |
@jerith666 I think it'd be very burdensome to maintain. Fixing double build isn't very important as Java projects build fast. Could be fixed by replacing project files with some dummies so that plugins would trigger and package a fake jar ( |
I'm not sure it's any more burdensome. In both cases, if any dependency changes, you have to re-run the build outside of nix and capture a new blob of data about the new dependencies -- in your approach, a combined checksum, in mine an exploded-out list of checksums. But either way you just drop in the new generated thing and move on. If you have a bunch of maven builds, though, my approach lets you share all their shared dependencies in the nix store. |
One can just invalidate
Most dependencies end up in uberjars. Also, Nix can dedupe these jars via Reimplementing native Maven fetcher is a bad idea: your fetcher won't handle classifiers, Maven repositories other than Central, exclusions, custom |
What if we move |
Motivation for this change
Instead of ad-hoc wrapper around Clojure jar, this uses new Clojure CLI, see: https://clojure.org/guides/deps_and_cli
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)