Use git CLI for version metadata#2709
Conversation
There was a problem hiding this comment.
Code Review
This pull request replaces the grgit library with direct Git command execution using Gradle's providers.exec to retrieve versioning metadata. The changes include removing the gradle-git dependency and refactoring version.gradle to use a new gitOutput helper. A review comment identifies a potential issue where jmeBranchName could be overwritten with an empty string if Git commands fail, suggesting a fallback to the default 'unknown' value.
be27733 to
63c4913
Compare
|
Ready for review |
|
🖼️ Screenshot tests have failed. The purpose of these tests is to ensure that changes introduced in this PR don't break visual features. They are visual unit tests. 📄 Where to find the report:
✅ If you did mean to change things: ✨ If you are creating entirely new tests: Note; it is very important that the committed reference images are created on the build pipeline, locally created images are not reliable. Similarly tests will fail locally but you can look at the report to check they are "visually similar". See https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-screenshot-tests/README.md for more information Contact @richardTingle (aka richtea) for guidance if required |
|
@richardTingle it seems like the screenshot tests are very flaky recently. |
|
@gemini-code-assist review |
There was a problem hiding this comment.
Code Review
This pull request replaces the grgit library with direct Git command execution using Gradle's providers.exec to retrieve versioning information, effectively removing the gradle-git dependency. The logic for determining the revision, branch name, and tags has been refactored to use shell commands. Review feedback suggests improving the robustness of the version tag extraction and adjusting the regex for matching Git hashes to account for potential length variations in git describe output.
2c25661 to
2b4999f
Compare
|
@riccardobl should be good now |
c6d9433 to
caf1a1d
Compare
The author of the gradle plugin we use (that uses jgit) has abandoned it, saying it's easy to just use git cli from gradle directly: https://andrewoberstar.com/posts/2024-04-02-dont-commit-to-grgit/
I ran into a broken version info when trying to speed up the gradle builds, because I use git worktrees to get work done, and jgit doesn't seem to support git worktrees. So this enables new AI native functionality: many git worktrees for different workstreams in parallel, too.
Split out from #2701