You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently bumped the Maven version in Nixpgks (NixOS/nixpkgs#238746) and ran into some small but annoying manual effort w.r.t. the this package. The issue is that this package is packaged using the double invocation method which unfortunately breaks if not all maven plugin versions are set explicitly.
We're extending the documentation to prevent this (NixOS/nixpkgs#238774), but I'm reaching out to fix the packages which have already been packaged. In this PR, we explicitly set the versions of a few plugins which hadn't had their versions set explicitly before and add a check with the enforcer plugin to make sure this won't accidentally break in the future.
Note that the exact versions of the plugins that you're using are not important to us and please do change them as you see fit. We only ask that you explicitly set the versions of all plugins so that downstream upgrades can run automatically.
Thank you.
(This was copy-pasta as I have a few repositories to go through. Please just ask if anything is unclear.)
Somebody packaged java-language-server for Nix. In Nix, everything is built from source and everything is supposed to be perfectly reproducible. Inputs and outputs of all steps are hashed to make sure that nothing changes on a rebuild and to allow caching. When working with Maven, the Maven dependencies are treated as additional sources which are derived from the original source code. This includes Maven plugins.
So when the versions of the used Maven plugins are not completely determined by the package (e.g. java-language-server) and we upgrade the Maven version in Nix, the "source" (the Maven dependencies part) of the package changes which adds manual labor for a process which would otherwise be completely automated. This is what I did in the PR linked above.
So setting the versions of all Maven plugins helps us out with package Maintenance :)
(And it's also best practice according to the first article that turned up when I googled "Maven best practices", but I'd rather you do it as a favor to us 😄)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi!
I recently bumped the Maven version in Nixpgks (NixOS/nixpkgs#238746) and ran into some small but annoying manual effort w.r.t. the this package. The issue is that this package is packaged using the double invocation method which unfortunately breaks if not all maven plugin versions are set explicitly.
We're extending the documentation to prevent this (NixOS/nixpkgs#238774), but I'm reaching out to fix the packages which have already been packaged. In this PR, we explicitly set the versions of a few plugins which hadn't had their versions set explicitly before and add a check with the enforcer plugin to make sure this won't accidentally break in the future.
Note that the exact versions of the plugins that you're using are not important to us and please do change them as you see fit. We only ask that you explicitly set the versions of all plugins so that downstream upgrades can run automatically.
Thank you.
(This was copy-pasta as I have a few repositories to go through. Please just ask if anything is unclear.)