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

Determine Dependencies between PluginManager.java on Jenkins Core

    • GSoC 2019. Coding Phase 1

      The goal of this task is to identify dependencies between the PluginManager class and Jenkins core to understand the effects of pulling plugin management out of the core into its own module.  

          [JENKINS-57672] Determine Dependencies between PluginManager.java on Jenkins Core

          Natasha Stopa created issue -
          Natasha Stopa made changes -
          Epic Link New: JENKINS-53767 [ 194275 ]
          Natasha Stopa made changes -
          Labels Original: gsoc-2019 New: gsoc-2019 plugin-manager
          Priority Original: Minor [ 4 ] New: Major [ 3 ]
          Natasha Stopa made changes -
          Description New: The goal of this task is to identify dependencies between the PluginManager class and Jenkins core to understand the effects of pulling plugin management out of the core into its own module.  
          Natasha Stopa made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Natasha Stopa added a comment -

          I started looking into splitting a separate module out from Jenkins core that would contain the plugin management class and its dependencies, but it appears that the number of dependencies will be quite large https://github.com/stopalopa/jenkins/tree/plugin-manager-dependencies.  Next I will look into mapping out and documenting the more direct dependencies of the plugin management to see if these can more easily be cut out from the core. 

          Natasha Stopa added a comment - I started looking into splitting a separate module out from Jenkins core that would contain the plugin management class and its dependencies, but it appears that the number of dependencies will be quite large  https://github.com/stopalopa/jenkins/tree/plugin-manager-dependencies .  Next I will look into mapping out and documenting the more direct dependencies of the plugin management to see if these can more easily be cut out from the core. 

          Natasha Stopa added a comment -

          I created a diagram showing some of the dependencies between the Plugin Manager and Jenkins Core. Black arrows represent a superclass/subclass or interface relationship; green arrows represent some other kind of relationship/dependency, and next to the methods in red are dependencies on Jenkins Core. Because of the intricacy of the dependencies on Jenkins core, on the mentor call today we talked about instead either trying to only pull out the part of Plugin Manager that does plugin installations or having the library be completely separate, but input from mentors to confirm this decision would be appreciated.  

          https://www.lucidchart.com/invitations/accept/f35d3b14-0d41-4dd8-a787-e765f4582de8

           

          kwhetstone, arnabcse28 batmat, oleg_nenashev, jnz_topdanmark

          Natasha Stopa added a comment - I created a diagram showing some of the dependencies between the Plugin Manager and Jenkins Core. Black arrows represent a superclass/subclass or interface relationship; green arrows represent some other kind of relationship/dependency, and next to the methods in red are dependencies on Jenkins Core. Because of the intricacy of the dependencies on Jenkins core, on the mentor call today we talked about instead either trying to only pull out the part of Plugin Manager that does plugin installations or having the library be completely separate, but input from mentors to confirm this decision would be appreciated.   https://www.lucidchart.com/invitations/accept/f35d3b14-0d41-4dd8-a787-e765f4582de8   kwhetstone , arnabcse28 batmat , oleg_nenashev , jnz_topdanmark
          Natasha Stopa made changes -
          Status Original: In Progress [ 3 ] New: In Review [ 10005 ]

          Jon Brohauge added a comment -

          In the essence of loosely coupled components playing nicely together, I personally would like it to be a separate component, but I fear that might be too big at task within the given timeframe.

          Jon Brohauge added a comment - In the essence of loosely coupled components playing nicely together, I personally would like it to be a separate component, but I fear that might be too big at task within the given timeframe.

          Natasha Stopa added a comment -

          jnz_topdanmark, I'd definitely like to do something that would be most beneficial to the Jenkins community, but I get kind of overwhelmed when I look at this and I'm not even really sure how to start.  I'd still be open to going that route, but I'd probably need a lot of active help. 

          Natasha Stopa added a comment - jnz_topdanmark , I'd definitely like to do something that would be most beneficial to the Jenkins community, but I get kind of overwhelmed when I look at this and I'm not even really sure how to start.  I'd still be open to going that route, but I'd probably need a lot of active help. 

            stopalopa Natasha Stopa
            stopalopa Natasha Stopa
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: