Sender | Message | Time |
---|---|---|
13 Sep 2024 | ||
The ecosystem is just fundamentally centered around downloading dependencies using build tools, which in the case of Java, can be non-trivial to analyze ahead of time | 15:07:17 | |
Yeah I'm just working with an incredibly complex gradle project and I'm wondering if I rewrote everything how I would make my life easier on the nix side. | 15:09:19 | |
Ideally someone would make a PR to gradle that makes lockfiles a thing, But the likelihood of that is slim lol | 15:10:07 | |
the lockfiles are just so useless in our case because there are dependencies that are fetched at build time. It's honestly very difficult for me to wrap my head around. | 15:11:36 | |
sorry just ranting a bit | 15:11:55 | |
Nah I get it, I work on Minecraft mods and it's gradle all the way down lmao | 15:15:23 | |
(Honestly one of the few things I don't build with Nix because it's really annoying) | 15:17:12 | |
(For those unfamiliar, Minecraft modding has a lineage of gradle plugins for handling the process, including downloading dependencies, decompiling and deobfuscating/remapping sources, and then stitching everything back up together) | 15:18:29 | |
Just got my first job out of college and I was very excited to bring Nix into my work but I got really unlucky getting stuck on this gradle based project. I can solve many of the problems that we're having using Nix but gradle is such a blocker. Our security team wants hashes for everything and a clear lineage between dependencies and Nix would be perfect for this but because I can't use Nix, I'm writing some jank version of nix's phases in our CICD pipelines and it's sooooooo painful. | 15:21:05 | |
14 Sep 2024 | ||
11:38:02 | ||
16 Sep 2024 | ||
19:56:28 | ||
18 Sep 2024 | ||
23:00:42 | ||
19 Sep 2024 | ||
01:52:12 | ||
02:02:21 | ||
02:02:27 | ||
21:37:51 | ||
21 Sep 2024 | ||
05:43:41 | ||
24 Sep 2024 | ||
tad: Any updates on gradle2nix v2? Don't mean to pressure you. Just curious. | 14:12:12 | |
18:12:28 | ||
hi there, I'm working on the JDK 22 EOL / JDK 23 update. I have some questions about the state of JDKs in Nixpkgs, especially after seeing Infinidoge 🏳️⚧️'s PR working on some of the cleanup | 18:13:09 | |
by my count, we ship from-source builds of OpenJDK (bootstrapped through Temurin), and binary distributions of Zulu, Temurin, Semeru, and Amazon Corretto | 18:13:57 | |
I guess my big question is "why" :) we need a binary distribution for bootstrap so Temurin makes sense, Semeru has OpenJ9 instead of HotSpot which makes sense, I believe Zulu might have some kind of optimizations or something and we ship it for Darwin (I guess because source builds don't work? but why not Temurin as we use for the bootstrap?), but Amazon Corretto makes zero sense to me | 18:14:50 | |
it would be nice to deduplicate some of these definitions – OpenJDK versions are all copy-pasted from each other, Temurin and Semeru are copy-pasted from each other and the Linux and Darwin derivations of those are also copy-pasted from each other, etc. – but it seems a little absurd that we're shipping 5 different JDK options and I'd like to understand better which ones people actually care about | 18:15:39 | |
it's also not clear to me if we need to be shipping so many LTS versions – for instance Debian has dropped JDK 8 | 18:16:14 | |
(if I had to make a concrete proposal it'd be OpenJDK source build, one of Temurin or Zulu, and Semeru, and shipping latest LTS, maybe latest stable version, and whatever minimum number of LTSes we can get away with (just 17? 11 too?) – but I'm not the expert here) | 18:41:18 | |
In reply to @emilazy:matrix.orgWe ship Zulu as the source build for Darwin, itself bootstrapped off of Temurin, is my understanding Not sure about Corretto, but I think it's a specific production-focused JDK | 19:20:45 | |
That said, my PR for cleanup was specifically about versions that are broken and long-disused, I don't want to go down the route of just purging JDK versions because they aren't used very much, since ideally Nixpkgs would package everything | 19:21:18 | |
Those versions were purged because they made OpenJDK unmaintainable :) | 19:21:27 | |
I think the only major thing that needs to be done for cleanup is deduplicating between the source builds, as that is a big mess so far | 19:21:59 | |
In reply to @emilazy:matrix.org IMO we should keep all currently-supported LTS versions. Not sur ewhere you got Debian dropping JDK 8 from, I can see it in the Debian package list, even in sid | 19:23:00 |