Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-50202

include jackson-dataformat-yaml in the plugin

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      The jackson-dataformat-yaml module is somewhat tied to the lifecycle of jackson and as such should ideally be provided in the plugin.

      Hence please include it in the plugin.

        <groupId>com.fasterxml.jackson.dataformat</groupId>
        <artifactId>jackson-dataformat-yaml</artifactId>
      

      https://github.com/FasterXML/jackson-dataformats-text / https://github.com/FasterXML/jackson-dataformat-yaml (older versions)

        Attachments

          Issue Links

            Activity

            Hide
            dnusbaum Devin Nusbaum added a comment -

            dataformat-yaml has a compile scope dependency on snakeyaml. Given that many plugins depend on different versions of snakeyaml (pipeline-utility-steps even shades it directly into the source), it might be a good idea to go ahead and create a snakeyaml-api plugin before adding this.

            Show
            dnusbaum Devin Nusbaum added a comment - dataformat-yaml has a compile scope dependency on snakeyaml . Given that many plugins depend on different versions of snakeyaml ( pipeline-utility-steps even shades it directly into the source ), it might be a good idea to go ahead and create a snakeyaml-api plugin before adding this.
            Hide
            vlatombe Vincent Latombe added a comment -

            I compiled a non-exhaustive list of where SnakeYAML is being pulled and the version being used. One problem is that version 1.20 has breaking changes (https://bitbucket.org/asomov/snakeyaml/wiki/Changes)

            Current version of jackson2-api pulls jackson 2.8.11, and jackson-dataformat:2.8.11 pulls SnakeYAML 1.17.

            Higher versions have reported performance issues (https://github.com/FasterXML/jackson-dataformats-text/issues/67) and 1.20 breaks API compatibility.

            Direct dependencies:

            • configuration-as-code: 1.18
            • radargun: 1.15
            • yaml-project: 1.10
            • puppet: 1.13
            • saltstack: 1.16
            • openstack-heat: 1.15
            • simple-travis-runner: 1.13
            • cloudfoundry: 1.18
            • plumber: 1.17
            • liquibase-runner: 1.13
            • literate-api: 1.12
            • pipeline-aws: 1.20
            • kubernetes-ci: 1.17

            Transitive dependencies:

            • support-core -> javafaker:0.15 -> 1.20
            • docker-swarm -> jackson-dataformat-yaml:2.9.0 -> 1.17
            • azure-acs -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • kubernetes-cd -> kubernetes-client:3.1.10 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • azure-container-agents -> kubernetes-client:2.3.1 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • jx-resources -> kubernetes-client:3.1.10 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • jx-pipelines -> kubernetes-client:2.6.3 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • kubernetes-credentials-provider -> kubernetes-client:3.1.8 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • kubernetes-pipeline -> kubernetes-client:3.1.0 -> jackson-dataformat-yaml:2.7.7 -> 1.15
            • kubernetes -> kubernetes-client:3.2.0 -> jackson-dataformat-yaml:2.7.7 -> 1.15

            Shaded:

            • pipeline-utility-steps
            Show
            vlatombe Vincent Latombe added a comment - I compiled a non-exhaustive list of where SnakeYAML is being pulled and the version being used. One problem is that version 1.20 has breaking changes ( https://bitbucket.org/asomov/snakeyaml/wiki/Changes) Current version of jackson2-api pulls jackson 2.8.11, and jackson-dataformat:2.8.11 pulls SnakeYAML 1.17. Higher versions have reported performance issues ( https://github.com/FasterXML/jackson-dataformats-text/issues/67)  and 1.20 breaks API compatibility. Direct dependencies: configuration-as-code: 1.18 radargun: 1.15 yaml-project: 1.10 puppet: 1.13 saltstack: 1.16 openstack-heat: 1.15 simple-travis-runner: 1.13 cloudfoundry: 1.18 plumber: 1.17 liquibase-runner: 1.13 literate-api: 1.12 pipeline-aws: 1.20 kubernetes-ci: 1.17 Transitive dependencies: support-core -> javafaker:0.15 -> 1.20 docker-swarm -> jackson-dataformat-yaml:2.9.0 -> 1.17 azure-acs -> jackson-dataformat-yaml:2.7.7 -> 1.15 kubernetes-cd -> kubernetes-client:3.1.10 -> jackson-dataformat-yaml:2.7.7 -> 1.15 azure-container-agents -> kubernetes-client:2.3.1 -> jackson-dataformat-yaml:2.7.7 -> 1.15 jx-resources -> kubernetes-client:3.1.10 -> jackson-dataformat-yaml:2.7.7 -> 1.15 jx-pipelines -> kubernetes-client:2.6.3 -> jackson-dataformat-yaml:2.7.7 -> 1.15 kubernetes-credentials-provider -> kubernetes-client:3.1.8 -> jackson-dataformat-yaml:2.7.7 -> 1.15 kubernetes-pipeline -> kubernetes-client:3.1.0 -> jackson-dataformat-yaml:2.7.7 -> 1.15 kubernetes -> kubernetes-client:3.2.0 -> jackson-dataformat-yaml:2.7.7 -> 1.15 Shaded: pipeline-utility-steps
            Hide
            dnusbaum Devin Nusbaum added a comment -

            Given the API compatibility issues with snakeyaml 1.20, it doesn't seem like snakeyaml is stable enough for an API plugin to make sense. I guess the only safe option right now is for plugins to shade the exact version they were built against.

            Show
            dnusbaum Devin Nusbaum added a comment - Given the API compatibility issues with snakeyaml 1.20, it doesn't seem like snakeyaml is stable enough for an API plugin to make sense. I guess the only safe option right now is for plugins to shade the exact version they were built against.

              People

              • Assignee:
                Unassigned
                Reporter:
                teilo James Nord
              • Votes:
                1 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated: