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

Plugins are not installed in right order in case of optional dependency

      Example from failing ATH test:

      checkstyle plugin has optional dependency on dashboard view plugin. In this case are both plugin required in the same time from UI. According to right order of dependency, jenkins should install dashboard view first (since checkstyle is dependent on it). In case that dashboard is installed before checkstyle, extensions points in checkstyle plugin which are optional is not loaded and checkstyle dashboard view portlets are not available.

      Everything is loaded properly when Jenkins is restarted.

      I believe this can be fixed by including optional dependencies into process which determine installation order for plugins. 

      There several tests in ATH which fail because of it:

      plugins.CheckStylePluginTest.should_show_warnings_in_folder

      plugins.CheckStylePluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_results

      plugins.AnalysisCollectorPluginTest.should_aggregate_warnings_in_dashboard_portlet

      plugins.AnalysisCollectorPluginTest.should_show_warnings_in_folder

      plugins.AnalysisCollectorPluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_result

      plugins.AnalysisCollectorPluginTest.should_open_links_in_folder_dashboard_and_nested_views

      It is not so easy to catch it because other plugins or other dependencies can influence order. But in with these plugins alone and jenkins-2.89.3, it is easy to reproduce:

      dashboard-view 2.9.11

      analysis-core 1.93

      checkstyle 3.49

       

      I load screen shot of ath tests for documentation.

        1. after-installation-without-restart.png
          78 kB
          Lucie Votypkova
        2. plugin-installation.png
          151 kB
          Lucie Votypkova
        3. installation-with-restart.png
          48 kB
          Lucie Votypkova

          [JENKINS-49026] Plugins are not installed in right order in case of optional dependency

          Lucie Votypkova created issue -
          Lucie Votypkova made changes -
          Link New: This issue is related to JENKINS-19736 [ JENKINS-19736 ]
          Lucie Votypkova made changes -
          Link Original: This issue is related to JENKINS-19736 [ JENKINS-19736 ]
          Lucie Votypkova made changes -
          Link New: This issue is related to JENKINS-14392 [ JENKINS-14392 ]
          Lucie Votypkova made changes -
          Link New: This issue is related to JENKINS-39504 [ JENKINS-39504 ]
          Lucie Votypkova made changes -
          Description Original: Example from failing ATH test:

          checkstyle plugin has optional dependency on dashboard view plugin. In this case are both plugin require in the same time form UI. According to right order of dependency, jenkins should install dashboard view first (since checkstyle is dependent on it). In case that dashboard is installed before checkstyle, extensions points in checkstyle plugin which are options is not loaded and checkstyle dashboard view portlets are not available.

          Everything is loaded properly when Jenkins is restarted.

          I believe this can be fixed by including optional dependencies into process which determine installation order for plugins. 

          There several tests in ATH who fail because of it:

          plugins.CheckStylePluginTest.should_show_warnings_in_folder

          plugins.CheckStylePluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_results

          plugins.AnalysisCollectorPluginTest.should_aggregate_warnings_in_dashboard_portlet

          plugins.AnalysisCollectorPluginTest.should_show_warnings_in_folder

          plugins.AnalysisCollectorPluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_result

          plugins.AnalysisCollectorPluginTest.should_open_links_in_folder_dashboard_and_nested_views

          It is not so easy to catch it because other plugins or other dependencies can influence order. But in with these plugins alone and jenkins-2.89.3, it is easy to reproduce:

          dashboard-view 2.9.11

          analysis-core 1.93

          checkstyle 3.49

           

          I load screen shot of ath tests for documentation.
          New: Example from failing ATH test:

          checkstyle plugin has optional dependency on dashboard view plugin. In this case are both plugin require in the same time form UI. According to right order of dependency, jenkins should install dashboard view first (since checkstyle is dependent on it). In case that dashboard is installed before checkstyle, extensions points in checkstyle plugin which are options is not loaded and checkstyle dashboard view portlets are not available.

          Everything is loaded properly when Jenkins is restarted.

          I believe this can be fixed by including optional dependencies into process which determine installation order for plugins. 

          There several tests in ATH which fail because of it:

          plugins.CheckStylePluginTest.should_show_warnings_in_folder

          plugins.CheckStylePluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_results

          plugins.AnalysisCollectorPluginTest.should_aggregate_warnings_in_dashboard_portlet

          plugins.AnalysisCollectorPluginTest.should_show_warnings_in_folder

          plugins.AnalysisCollectorPluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_result

          plugins.AnalysisCollectorPluginTest.should_open_links_in_folder_dashboard_and_nested_views

          It is not so easy to catch it because other plugins or other dependencies can influence order. But in with these plugins alone and jenkins-2.89.3, it is easy to reproduce:

          dashboard-view 2.9.11

          analysis-core 1.93

          checkstyle 3.49

           

          I load screen shot of ath tests for documentation.
          Lucie Votypkova made changes -
          Description Original: Example from failing ATH test:

          checkstyle plugin has optional dependency on dashboard view plugin. In this case are both plugin require in the same time form UI. According to right order of dependency, jenkins should install dashboard view first (since checkstyle is dependent on it). In case that dashboard is installed before checkstyle, extensions points in checkstyle plugin which are options is not loaded and checkstyle dashboard view portlets are not available.

          Everything is loaded properly when Jenkins is restarted.

          I believe this can be fixed by including optional dependencies into process which determine installation order for plugins. 

          There several tests in ATH which fail because of it:

          plugins.CheckStylePluginTest.should_show_warnings_in_folder

          plugins.CheckStylePluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_results

          plugins.AnalysisCollectorPluginTest.should_aggregate_warnings_in_dashboard_portlet

          plugins.AnalysisCollectorPluginTest.should_show_warnings_in_folder

          plugins.AnalysisCollectorPluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_result

          plugins.AnalysisCollectorPluginTest.should_open_links_in_folder_dashboard_and_nested_views

          It is not so easy to catch it because other plugins or other dependencies can influence order. But in with these plugins alone and jenkins-2.89.3, it is easy to reproduce:

          dashboard-view 2.9.11

          analysis-core 1.93

          checkstyle 3.49

           

          I load screen shot of ath tests for documentation.
          New: Example from failing ATH test:

          checkstyle plugin has optional dependency on dashboard view plugin. In this case are both plugin required in the same time from UI. According to right order of dependency, jenkins should install dashboard view first (since checkstyle is dependent on it). In case that dashboard is installed before checkstyle, extensions points in checkstyle plugin which are optional is not loaded and checkstyle dashboard view portlets are not available.

          Everything is loaded properly when Jenkins is restarted.

          I believe this can be fixed by including optional dependencies into process which determine installation order for plugins. 

          There several tests in ATH which fail because of it:

          plugins.CheckStylePluginTest.should_show_warnings_in_folder

          plugins.CheckStylePluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_results

          plugins.AnalysisCollectorPluginTest.should_aggregate_warnings_in_dashboard_portlet

          plugins.AnalysisCollectorPluginTest.should_show_warnings_in_folder

          plugins.AnalysisCollectorPluginTest.should_show_warning_totals_in_dashboard_portlet_with_link_to_result

          plugins.AnalysisCollectorPluginTest.should_open_links_in_folder_dashboard_and_nested_views

          It is not so easy to catch it because other plugins or other dependencies can influence order. But in with these plugins alone and jenkins-2.89.3, it is easy to reproduce:

          dashboard-view 2.9.11

          analysis-core 1.93

          checkstyle 3.49

           

          I load screen shot of ath tests for documentation.
          Lucie Votypkova made changes -
          Assignee Original: Oliver Gondža [ olivergondza ]
          Vincent Latombe made changes -
          Summary Original: Pluigns are not installed in right order in case of optional dependency New: Plugins are not installed in right order in case of optional dependency
          Vincent Latombe made changes -
          Link New: This issue relates to JENKINS-50336 [ JENKINS-50336 ]
          Daniel Beck made changes -
          Link New: This issue is duplicated by JENKINS-57681 [ JENKINS-57681 ]

            Unassigned Unassigned
            lvotypkova Lucie Votypkova
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: