• jackson2-api 2.12.6.20220326-1

      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)

          [JENKINS-50202] include jackson-dataformat-yaml in the plugin

          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.

          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.

          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

          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

          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.

          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.

          Vincent Latombe added a comment - - edited

          This proposal can probably be resurrected now that snakeyaml is being pulled through an api plugin.

          Vincent Latombe added a comment - - edited This proposal can probably be resurrected now that snakeyaml is being pulled through an api plugin.

            vlatombe Vincent Latombe
            teilo James Nord
            Votes:
            1 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: