-
-
Notifications
You must be signed in to change notification settings - Fork 268
Add support for pinning snapshots in gradle resolver #1412
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
base: master
Are you sure you want to change the base?
Conversation
String pomName = String.format("%s-%s.pom", coords.getArtifactId(), coords.getVersion()); | ||
String pom = Paths.get(originalTarget).getParent().resolve(pomName).toString(); | ||
|
||
String pom = coords.setExtension("pom").toRepoPath(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure why the special handling of POM files above 🤔
d2b0d98
to
7a13a1d
Compare
"jar": "79abe7953803b20d1deb5f36283d4d640c7aacbdb1ddd7601aae369b1633e903" | ||
}, | ||
"version": "999.0.0-HEAD-jre-SNAPSHOT", | ||
"version_revision": "999.0.0-HEAD-jre-20250623.150948-114" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here is how the snapshot version pinning looks like, including the timestamp
Thank you for the PR. I think there's a couple of things that I think about as I read this:
You are correct that some maven repos do write snapshots versions like this, and that's what makes things tricky. I suspect that the correct fix will be to:
What do you think? |
Thanks for the feedback. Let me ask for some more context to understand a bit better your thoughts 😄
By "version", do you mean "timestamp"? If yes, is there maybe a public snapshot you could share that does not have timestamp, that I could use during development and to add tests?
What do you mean here, that snapshots should be handled by all resolvers? If yes, I agree. I was planning to look into the other resolvers after merging this PR. Is that okey, or would you prefer to do it differently?
Let me expand a bit on my comment here. How would this work in bazel?
Integrating snapshots without timestamps goes against bazel fundamentals + it is deprecated from maven 3. This is what makes me question wether this ruleset wants/needs to support it. Wdyt? |
1f1457a
to
e16bd7b
Compare
@shs96c let me know 🙏 |
Hi 👋
This PR adds support for snapshot dependencies in the gradle resolver. It uses the repository timestamp of the snapshot as a version. I added this information in a new field with a generic name
VersionRevision
.Related: #974