Giter VIP home page Giter VIP logo

Comments (5)

cowtowncoder avatar cowtowncoder commented on July 21, 2024

Jackson parent is not designed to follow the numbering scheme; it is not meant to be version synchronized. It is likely that a different minor version will be released across Jackson releases, but even that may not be necessary. Parent pom is not meant to be publicly used for components other than direct Jackson extensions; and for these explicit version number seems more useful than forced generation of unchanging parent pom versions.

If you feel this is an important change feel free to bring it up on jackson-dev mailing list, but there are no current plans to change this.

from jackson-parent.

rnc avatar rnc commented on July 21, 2024

Thanks for the reply. The same problem exists in jackson-core e.g. the release is 2.6.3 but then depends upon a release of jackson-parent 2.6.1. I have also seen other related issues in the jackson projects (e.g. FasterXML/jackson-databind#927, FasterXML/jackson-databind#714)
Releases surely should be using one consistent set of versions. This makes rebuilding in a controlled environment much harder than normal maven projects - i.e. we then have to end up building multiple versions of jackson rather than just 2.6.3. Take for example Drools (https://github.com/droolsjbpm) ; when they release that is synchronised across the relevant projects.

from jackson-parent.

cowtowncoder avatar cowtowncoder commented on July 21, 2024

No, I don't think you were reading what I said. jackson-parent is not a publicly available artifact, or something that was meant for anything that core Jackson components to rely on. Your build system should not need it -- jackson components explicitly specify parent version they need, not anyone else.
This is not an ovesight but decision: parent pom changes rarely, and there is no benefit from forcing artificially differing versions for the same parent pom.

All parent pom defines are baseline settings for actual poms by components: there is no code, interfaces, nothing else. There is no requirement that same versions of jackson components use same parent. There is no strict requirement that they would even have to use same parent pom, or any parent pom. It is just for convenience, for reducing complexity of child poms.

from jackson-parent.

rnc avatar rnc commented on July 21, 2024

With all due respect, jackson parent is a publicly available artifact : https://repo1.maven.org/maven2/com/fasterxml/jackson/jackson-parent/

Even if the issue with the parent is ignored, there are still multiple version inconsistencies throughout Jackson - are there any plans to fix those to bring it inline with Maven best practices?

Without consistent versions jackson-databind is depending on a different version of jackson-annotations. This means companies attempting to rebuild jackson in a controlled environment find that jackson is a more problematic artifact to use.

from jackson-parent.

cowtowncoder avatar cowtowncoder commented on July 21, 2024

For annotations, all patch versions of given minor version are identical. There is no version mismatch whatsoever. The only reason -- and one I seem to get to regret now, thanks you requests like this -- to ever even publishing patch versions has been to help users simplify their version references. So that they can indeed refer to same PATCH version of annotation as core, databind and others despite it NOT being necesssary: 2.6.2 is identical, content-wise, to 2.6.0.
Annotations is EXPLICITLY kept identical in that no signature differences are allowed.

As to parent pom, it DOES NOT HAVE TO MATCH BETWEEN COMPONENTS. There is absolutely no reason or requirement for parent pom version to need to match component version; or parent poms of sibling jackson components to use parent pom version. No need at all.

As to not being public obviously it has to be accessible from public Maven repository to be able to build components, but it is not MEANT to be public artifact relied on by anything outside of Jackson modules.

This is the last comment where I explain the same thing over and over: you are free to disagree all you want, but I see no problem to fix here.

from jackson-parent.

Related Issues (10)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.