• 2.357

      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.

          [JENKINS-55582] Convert modules to plugins

          Jesse Glick created issue -
          Jesse Glick made changes -
          Assignee New: Jesse Glick [ jglick ]
          Jesse Glick made changes -
          Status Original: Open [ 1 ] New: In Progress [ 3 ]

          Jesse Glick added a comment -

          Started off by making sure they all at least have up-to-date build metadata, which should make things easier.

          Jesse Glick added a comment - Started off by making sure they all at least have up-to-date build metadata, which should make things easier.
          Jesse Glick made changes -
          Description Original: 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.
          New: 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._
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-44100 [ JENKINS-44100 ]

          Jesse Glick added a comment -

          JENKINS-44100 would be useful here too.

          Jesse Glick added a comment - JENKINS-44100 would be useful here too.
          Jesse Glick made changes -
          Link New: This issue relates to JENKINS-41987 [ JENKINS-41987 ]

          Daniel Beck added a comment -

          Why though?

          Daniel Beck added a comment - Why though?
          Jesse Glick made changes -
          Remote Link New: This issue links to "instance-identity #17 (Web Link)" [ 22602 ]

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

              Created:
              Updated:
              Resolved: