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

Remove not required dependencies from Blue Ocean plugin

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Minor Minor
    • blueocean-plugin
    • None

      Current situation

      When e.g. installing the BlueOcean plugin the Bitbucket Pipeline for Blue Ocean is also always installed because it's a dependency of the former. The same situation exists e.g. for "GitHub Pipeline for Blue Ocean" and "Git Pipeline for Blue Ocean"

      As we are currently using GitLab, we don't require any of the above plugins.

      The problem likely originates here:
      https://github.com/jenkinsci/blueocean-plugin/blob/f295a17dbf15f06abc31964ac7dab08efebd1db7/blueocean/pom.xml#L78-L105

      What should be done

      Remove these plugins as dependencies.
      Why?

      • Comment in your code says "TODO: its here only for development, to be removed" - was written there ~7 years ago back in 2016
      • If you still need these dependencies for tests I recommend you set them to scope test or create a separate test module
      • Less dependencies
      • Less to download
      • Less to manage (in e.g. CasC)
      • Less possible attack vectors
      • ...

          [JENKINS-72348] Remove not required dependencies from Blue Ocean plugin

          Mark Waite added a comment -

          Thanks for the suggestion ab_xdev. The blue ocean documentation pages say:

          Blue Ocean status

          Blue Ocean will not receive further functionality updates. Blue Ocean will continue to provide easy-to-use Pipeline visualization, but it will not be enhanced further. It will only receive selective updates for significant security issues or functional defects.

          Alternative options for Pipeline visualization, such as the Pipeline: Stage View and Pipeline Graph View plugins, are available and offer some of the same functionality. While not complete replacements for Blue Ocean, contributions are encouraged from the community for continued development of these plugins.

          The Pipeline syntax snippet generator assists users as they define Pipeline steps with their arguments. It is the preferred tool for Jenkins Pipeline creation, as it provides online help for the Pipeline steps available in your Jenkins controller. It uses the plugins installed on your Jenkins controller to generate the Pipeline syntax. Refer to the Pipeline steps reference page for information on all available Pipeline steps.

          The simplest approach to address your concern is to adjust the plugins that you have installed so that they match your needs. Instead of installing the blue ocean aggregator plugin, install the individual blue ocean plugins that are needed for your use case. That will allow you to remove the plugins that you do not need. I did that in a series of changes to my plugin list. The history of those changes are on my lts-with-plugins branch.

          A more difficult approach would be to submit a pull request that proposes the change that you have suggested. However, that then requires you to persuade the plugin maintainer that the change you're proposing is a "selective update for a. functional defect".

          An even more difficult approach would be to become a maintainer of the blue ocean plugin, help the existing maintainer(s), and propose your change as a maintainer.

          Mark Waite added a comment - Thanks for the suggestion ab_xdev . The blue ocean documentation pages say: Blue Ocean status Blue Ocean will not receive further functionality updates. Blue Ocean will continue to provide easy-to-use Pipeline visualization, but it will not be enhanced further. It will only receive selective updates for significant security issues or functional defects. Alternative options for Pipeline visualization, such as the Pipeline: Stage View and Pipeline Graph View plugins, are available and offer some of the same functionality. While not complete replacements for Blue Ocean, contributions are encouraged from the community for continued development of these plugins. The Pipeline syntax snippet generator assists users as they define Pipeline steps with their arguments. It is the preferred tool for Jenkins Pipeline creation, as it provides online help for the Pipeline steps available in your Jenkins controller. It uses the plugins installed on your Jenkins controller to generate the Pipeline syntax. Refer to the Pipeline steps reference page for information on all available Pipeline steps. The simplest approach to address your concern is to adjust the plugins that you have installed so that they match your needs. Instead of installing the blue ocean aggregator plugin , install the individual blue ocean plugins that are needed for your use case. That will allow you to remove the plugins that you do not need. I did that in a series of changes to my plugin list . The history of those changes are on my lts-with-plugins branch . A more difficult approach would be to submit a pull request that proposes the change that you have suggested. However, that then requires you to persuade the plugin maintainer that the change you're proposing is a "selective update for a. functional defect". An even more difficult approach would be to become a maintainer of the blue ocean plugin, help the existing maintainer(s), and propose your change as a maintainer.

            Unassigned Unassigned
            ab_xdev Alex B
            Votes:
            1 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated: