-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Jackson version alignment with Gradle 6 #2726
Comments
Ok, merged Will next do |
Changed First, for My second question has to do with multi-project maven repos like |
This is not a problem. The versions do not all have to be the same. As long as there is always a BOM. If you depend on e.g.
Good question. At the moment it does not work as the plugin would try to publish metadata for the parent as well, which does not work. I am thinking about releasing a new version of the plugin, that does nothing for the parent(s) - projects with packaging=pom. Then you can also consider applying the plugin in |
That seems to work well. You can now apply the plugin in a parent (
The plugin now fails if the marker is missing in a module's pom file. So if you do the above in jackson-base, you can't miss any of the modules as all module builds still missing the marker will now fail, prompting you to add it. Hope that works for you. |
Ok just to make sure: for 3.0, there will be full versioning for So I guess my question is just on how binding would work for |
That setup is fine.
Yes |
@jjohannes Ok good, just wanted to clarify. |
@jjohannes Trying to make some more progress here, adding gmm for One more question: looking at what plug-in produces, I don't see changes in MANIFEST.MF, but there is new file |
Will also play with possibly auto-enabling plugin via |
Yes. This is the specification of the format: And this gives a quick overview: Let me know if I can be of help with anything. |
Thanks! I should be good, just need to roll out the changes, before 2.12.0-rc1. |
Oh. One thing I realized, about marker: I was wondering why XML processing instruction notation was not used for |
That was discussed when we introduced the marker for Gradle about a year ago. It is only there to allow tools that already downloaded the pom metadata to get the information about wether or not the In the end we decided that the least intrusive way is to use a comment. It is fine if tools that process the pom itself discard it. |
Right inclusion itself makes sense. Thanks for the link! |
Finally found time to add metadata to all official Jackson modules; will be in 2.12.0. I don't yet have a good way to validate goodness of metadata but am planning adding |
Now releasing 2.12.0-rc1 (first pre-release/release candidate). Everything going smooth, except for |
This is great news. Thanks @cowtowncoder. Can you share the error you are seeing with I also now saw that you went ahead with creating https://github.com/FasterXML/jackson-integration-tests. I'll have a look if I can contribute a test in a PR to that repo. |
@jjohannes hi there! I figured out how to invoke the plug-in processing, but went ahead by demoting plug-in invocation to sub-projects away from parent, just to get release done. I am not 100% sure if alignment would make sense for But I think the problem must come from processing done by shade plug-in, which will result in dropping of XML comment; not sure if it might be possible to change lifecycle binding for gmm plug-in to operate on earlier phase, or perhaps allow different marker. And yes, if you can think of useful tests for integration-tests package, that would be great! |
@cowtowncoder I think it makes sense to not add the "platform dependency" to the bom for I created FasterXML/jackson-integration-tests#3 to add the test to your integration test suite. There is only one issue: for some components there are no snapshots available; see comment in PR. Side note: |
@jjohannes it would be good if conflict could be flagged, although it'd be between |
@cowtowncoder thanks for the background. I might have a look at that and provide a PR if I can make it work. |
So far almost all FasterXML repos are on programme here: one exception is Scala module (due to its use of FasterXML/jackson-module-scala#478 to see if it could be modified to include necessary metadata as well. |
Consider publishing Gradle Module Metadata with a platform dependency to the Jackson BOM such that the BOM is automatically used to align versions of multiple Jackson components.
See this mailing list discussion and this blog post for details.
Ideally, all components that use jackson-base as parent should publish Gradle Module Metadata. I created one PR for jackson-base for the shared configuration (FasterXML/jackson-bom#33) and one for jackson-core to show what needs to be done in each POM that has jackson-base as parent (FasterXML/jackson-core#618). Ideally the same change would be done to all these POMs.
Please feel free to do these changes yourself and discard the PRs. I created them to demonstrate how it's done.
The text was updated successfully, but these errors were encountered: