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

Convert modules to plugins

    XMLWordPrintable

    Details

    • Similar Issues:

      Description

      None of the currently bundled jenkins-module packages actually look like they need to be modules: they do not appear to need to be loaded in the same class loader as jenkins-core.jar, nor to have extensions/services registered early in the startup sequence. As such, they could be made into regular plugins (hpi packaging), and the usual split-plugins.txt registry used to retain compatibility for existing plugins which happen to refer to their classes (InstanceIdentity and SshCommandFactory are the main examples).

      As an aside refiled as JENKINS-57023.

        Attachments

          Issue Links

            Activity

            jglick Jesse Glick created issue -
            jglick Jesse Glick made changes -
            Field Original Value New Value
            Assignee Jesse Glick [ jglick ]
            jglick Jesse Glick made changes -
            Status Open [ 1 ] In Progress [ 3 ]
            jglick Jesse Glick made changes -
            Description None of the [currently bundled {{jenkins-module}} packages|https://github.com/jenkinsci/jenkins/blob/6d2eb679a6fccc53d32708cc23c5927201953248/war/pom.xml#L95-L134] actually look like they need to be modules: they do not appear to need to be loaded in the same class loader as {{jenkins-core.jar}}, nor to have extensions/services registered [early in the startup sequence|https://javadoc.jenkins.io/jenkins/security/ConfidentialStore.html]. As such, they could be made into regular plugins ({{hpi}} packaging), and the usual {{split-plugins.txt}} registry used to retain compatibility for existing plugins which happen to refer to their classes ({{InstanceIdentity}} and {{SshCommandFactory}} are the main examples).

            As an aside, in the case of {{sshd}} / {{git-server}} this would allow the older and deprecated half of {{workflow-cps-global-lib}} to be split into its own plugin so that the {{org.jenkinsci.plugins.workflow.libs}} package can be used without reference to existing modules. This would lighten its footprint and simplify some functional test configuration.
            None of the [currently bundled {{jenkins-module}} packages|https://github.com/jenkinsci/jenkins/blob/6d2eb679a6fccc53d32708cc23c5927201953248/war/pom.xml#L95-L134] actually look like they need to be modules: they do not appear to need to be loaded in the same class loader as {{jenkins-core.jar}}, nor to have extensions/services registered [early in the startup sequence|https://javadoc.jenkins.io/jenkins/security/ConfidentialStore.html]. As such, they could be made into regular plugins ({{hpi}} packaging), and the usual {{split-plugins.txt}} registry used to retain compatibility for existing plugins which happen to refer to their classes ({{InstanceIdentity}} and {{SshCommandFactory}} are the main examples).

            -As an aside- _refiled as JENKINS-57023._
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-44100 [ JENKINS-44100 ]
            jglick Jesse Glick made changes -
            Link This issue relates to JENKINS-41987 [ JENKINS-41987 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "instance-identity #17 (Web Link)" [ 22602 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "ssh-cli-auth #9 (Web Link)" [ 22603 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "slave-installer #5 (Web Link)" [ 22604 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "jenkins #3988 (Web Link)" [ 22700 ]
            jglick Jesse Glick made changes -
            Status In Progress [ 3 ] In Review [ 10005 ]
            jglick Jesse Glick made changes -
            Link This issue is blocked by JENKINS-57071 [ JENKINS-57071 ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is related to JENKINS-57528 [ JENKINS-57528 ]
            oleg_nenashev Oleg Nenashev made changes -
            Link This issue is related to WEBSITE-642 [ WEBSITE-642 ]
            jglick Jesse Glick made changes -
            Labels split-plugins-from-core split-plugins-from-core stalled-pr
            ifernandezcalvo Ivan Fernandez Calvo made changes -
            Link This issue is blocking JENKINS-64104 [ JENKINS-64104 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "jep #326 (Web Link)" [ 26207 ]
            ifernandezcalvo Ivan Fernandez Calvo made changes -
            Link This issue causes JENKINS-64107 [ JENKINS-64107 ]
            jglick Jesse Glick made changes -
            Remote Link This issue links to "JEP-230 (Web Link)" [ 26599 ]

              People

              Assignee:
              jglick Jesse Glick
              Reporter:
              jglick Jesse Glick
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Dates

                Created:
                Updated: